feat: initialise project structure with core encoding queue, database models, and web management API
Build / Build and Push (push) Successful in 50s

This commit is contained in:
2026-06-05 19:53:31 +01:00
parent dceba72891
commit 07aa8e5ffe
33 changed files with 2911 additions and 1 deletions
+45
View File
@@ -0,0 +1,45 @@
package db
import (
"time"
)
type WatchFolder struct {
ID int `json:"id"`
FolderPath string `json:"folder_path"`
MediaType string `json:"media_type"`
TargetResolution string `json:"target_resolution"`
CustomFFmpegFlags string `json:"custom_ffmpeg_flags"`
Enabled bool `json:"enabled"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type Job struct {
ID int `json:"id"`
FilePath string `json:"file_path"`
MediaType string `json:"media_type"`
Status string `json:"status"` // pending, processing, failed
Priority int `json:"priority"`
OriginalSize int64 `json:"original_size"`
TargetResolution string `json:"target_resolution"`
FFmpegFlags string `json:"ffmpeg_flags"`
ErrorMessage string `json:"error_message"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type JobReport struct {
ID int `json:"id"`
FilePath string `json:"file_path"`
MediaType string `json:"media_type"`
Status string `json:"status"` // success, failed, skipped
OriginalSize int64 `json:"original_size"`
EncodedSize int64 `json:"encoded_size"`
SizeSaved int64 `json:"size_saved"`
ProcessingTime float64 `json:"processing_time"`
TargetResolution string `json:"target_resolution"`
FFmpegFlags string `json:"ffmpeg_flags"`
ErrorMessage string `json:"error_message"`
CreatedAt time.Time `json:"created_at"`
}