package models import ( "github.com/google/uuid" ) // TrackStatus représente le statut d'un track lors de l'upload et du traitement type TrackStatus string const ( // TrackStatusUploading indique que le fichier est en cours d'upload TrackStatusUploading TrackStatus = "uploading" // TrackStatusProcessing indique que le fichier est en cours de traitement (extraction métadonnées, génération waveform, etc.) TrackStatusProcessing TrackStatus = "processing" // TrackStatusCompleted indique que le track est prêt et disponible TrackStatusCompleted TrackStatus = "completed" // TrackStatusFailed indique que l'upload ou le traitement a échoué TrackStatusFailed TrackStatus = "failed" ) // StreamStatus constants const ( StreamStatusPending = "pending" StreamStatusProcessing = "processing" StreamStatusReady = "ready" StreamStatusError = "error" ) // UploadProgress représente la progression d'un upload de track type UploadProgress struct { TrackID uuid.UUID `json:"track_id" db:"track_id"` // Changed to uuid.UUID Status TrackStatus `json:"status" db:"status"` Progress int `json:"progress" db:"progress"` // 0-100 Message string `json:"message,omitempty" db:"message"` StreamStatus string `json:"stream_status,omitempty" db:"stream_status"` StreamManifestURL string `json:"stream_manifest_url,omitempty" db:"stream_manifest_url"` }