37 lines
1.4 KiB
Go
37 lines
1.4 KiB
Go
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"`
|
|
}
|