veza/veza-backend-api/internal/models/track_status.go
2025-12-03 20:29:37 +01:00

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"`
}