package models import "time" const ( FileStatusFailed = "failed" FileStatusReady = "complete" FileStatusWait = "pending" FileStatusWork = "uploading" ) const ( ThumbnailStatusFailed = "failed" ThumbnailStatusProcessing = "processing" ThumbnailStatusReady = "ready" ThumbnailStatusUnsupported = "unsupported" ) type RetentionOption struct { Key string `json:"key"` Label string `json:"label"` Seconds int64 `json:"seconds"` } type BoxFile struct { ID string `json:"id"` Name string `json:"name"` Size int64 `json:"size"` SizeLabel string `json:"size_label"` MimeType string `json:"mime_type"` Status string `json:"status"` StatusLabel string `json:"status_label"` Title string `json:"title"` IconPath string `json:"icon_path"` ThumbnailPath *string `json:"thumbnail_path"` ThumbnailStatus string `json:"thumbnail_status,omitempty"` ThumbnailURL string `json:"-"` DownloadPath string `json:"download_path"` UploadPath string `json:"upload_path"` IsComplete bool `json:"is_complete"` } type BoxManifest struct { Files []BoxFile `json:"files"` CreatedAt time.Time `json:"created_at"` ExpiresAt time.Time `json:"expires_at"` RetentionKey string `json:"retention_key"` RetentionLabel string `json:"retention_label"` RetentionSecs int64 `json:"retention_seconds"` PasswordSalt string `json:"password_salt,omitempty"` PasswordHash string `json:"password_hash,omitempty"` PasswordHashAlg string `json:"password_hash_alg,omitempty"` AuthToken string `json:"auth_token,omitempty"` DisableZip bool `json:"disable_zip,omitempty"` OneTimeDownload bool `json:"one_time_download,omitempty"` } type BoxSummary struct { ID string FileCount int TotalSize int64 TotalSizeLabel string CreatedAt time.Time ExpiresAt time.Time Expired bool OneTimeDownload bool PasswordProtected bool } type CreateBoxRequest struct { Files []CreateBoxFileRequest `json:"files"` RetentionKey string `json:"retention_key"` Password string `json:"password"` AllowZip *bool `json:"allow_zip"` } type CreateBoxFileRequest struct { Name string `json:"name"` Size int64 `json:"size"` } type UpdateFileStatusRequest struct { Status string `json:"status"` }