58 lines
2.3 KiB
Go
58 lines
2.3 KiB
Go
package main
|
|
|
|
import "time"
|
|
|
|
type Task struct {
|
|
ID uint `gorm:"primaryKey" json:"id"`
|
|
UserID uint `gorm:"uniqueIndex:idx_tasks_user_source_rid_quality" json:"userId"`
|
|
AssetID uint `gorm:"index" json:"assetId,omitempty"`
|
|
CreditReservationID uint `gorm:"index" json:"creditReservationId,omitempty"`
|
|
Source string `gorm:"uniqueIndex:idx_tasks_user_source_rid_quality" json:"source"`
|
|
RID string `gorm:"uniqueIndex:idx_tasks_user_source_rid_quality" json:"rid"`
|
|
Title string `json:"title"`
|
|
Artist string `json:"artist"`
|
|
Album string `json:"album"`
|
|
Pic string `json:"pic"`
|
|
Quality string `gorm:"uniqueIndex:idx_tasks_user_source_rid_quality" json:"quality"`
|
|
ResolvedQuality string `json:"resolvedQuality,omitempty"`
|
|
ActualQuality string `json:"actualQuality,omitempty"`
|
|
Format string `json:"format"`
|
|
Status string `json:"status"`
|
|
Error string `json:"error,omitempty"`
|
|
LocalPath string `json:"localPath,omitempty"`
|
|
RemotePath string `json:"remotePath,omitempty"`
|
|
TotalBytes int64 `json:"totalBytes"`
|
|
DownloadedBytes int64 `json:"downloadedBytes"`
|
|
Progress float64 `json:"progress"`
|
|
CreatedAt time.Time `json:"createdAt"`
|
|
UpdatedAt time.Time `json:"updatedAt"`
|
|
}
|
|
|
|
type Setting struct {
|
|
ID uint `gorm:"primaryKey"`
|
|
Key string `gorm:"uniqueIndex"`
|
|
Value string
|
|
}
|
|
|
|
type SongRequest struct {
|
|
Source string `json:"source"`
|
|
RID string `json:"rid"`
|
|
Title string `json:"title"`
|
|
Artist string `json:"artist"`
|
|
Album string `json:"album"`
|
|
Pic string `json:"pic"`
|
|
Quality string `json:"quality"`
|
|
}
|
|
|
|
type Config struct {
|
|
AMAPI, DownloadDir, WebDAVURL, WebDAVUser, WebDAVPass, WebDAVPath, DefaultQuality, WebDAVVersionPolicy, LocalFilePolicy string
|
|
WorkerCount int
|
|
}
|
|
|
|
type playInfo struct {
|
|
URL string `json:"url"`
|
|
Level string `json:"level"`
|
|
Format string `json:"format"`
|
|
Headers map[string]string `json:"headers"`
|
|
}
|