package domain import ( "brunel/fastmap" "time" ) type PackagesCount struct { Stale int `json:"stale"` Missing int `json:"missing"` Current int `json:"built"` Error int `json:"error"` Queued int `json:"queued"` Building int `json:"building"` } type BuildQueue *fastmap.Fastmap[string, BuildQueueItem] type BuildQueueItem struct { Source SourcePackage Status BuildStatus Patch bool LTO bool Rebuild bool BuildNumber int BuildVersion string I386 bool } type SourcePackage struct { Name string `gorm:"primarykey"` Packages *fastmap.Fastmap[string, PackageInfo] `gorm:"foreignKey:PackageInfo;references:PackageName"` } type SourcePackageDTO struct { Name string `gorm:"primarykey"` Packages []PackageInfo `gorm:"foreignKey:PackageName"` } type PackageInfo struct { PackageName string `gorm:"primarykey"` Version string Source string Architecture string Description string Status PackageStatus NewVersion string LastBuildStatus PackageStatus } type PackageStatus string type BuildStatus string const ( // Package is built Built PackageStatus = "Built" // Package is stale Stale PackageStatus = "Stale" // Package build errored out Error PackageStatus = "Error" // Package is being missing Missing PackageStatus = "Missing" // Package is upto date Current PackageStatus = "Current" // Package is queued for building Queued BuildStatus = "Queued" // Package is being built Building BuildStatus = "Building" ) type TimeContainer struct { ID string Time time.Time }