| 1234567891011121314151617181920212223242526272829303132 |
- package models
- import (
- "time"
- )
- // SyncSetting represents user sync configurations and cloud storage allocation
- type SyncSetting struct {
- UserID string `gorm:"type:uuid;primaryKey" json:"userId"`
- AutoSyncWiFi bool `gorm:"default:true" json:"autoSyncWiFi"`
- SyncPhotos bool `gorm:"default:true" json:"syncPhotos"`
- SyncAudio bool `gorm:"default:true" json:"syncAudio"`
- AudioQuality string `gorm:"size:20;default:'HD'" json:"audioQuality"` // Standard, HD, Lossless
- CloudStorageMaxMB int64 `gorm:"default:5120" json:"cloudStorageMaxMB"` // 5 GB default
- CloudStorageUsedMB int64 `gorm:"default:0" json:"cloudStorageUsedMB"`
- LastSyncedAt *time.Time `json:"lastSyncedAt,omitempty"`
- UpdatedAt time.Time `gorm:"autoUpdateTime" json:"updatedAt"`
- }
- type UpdateSyncSettingRequest struct {
- AutoSyncWiFi *bool `json:"autoSyncWiFi,omitempty"`
- SyncPhotos *bool `json:"syncPhotos,omitempty"`
- SyncAudio *bool `json:"syncAudio,omitempty"`
- AudioQuality *string `json:"audioQuality,omitempty"`
- }
- type SyncSummary struct {
- DeviceCount int64 `json:"deviceCount"`
- SessionCount int64 `json:"sessionCount"`
- TotalDurationMs int64 `json:"totalDurationMs"`
- Storage SyncSetting `json:"storage"`
- }
|