package database import ( "time" "gorm.io/datatypes" ) type MediaType string const ( Unspecified MediaType = "unspecified" Video MediaType = "video" Presentation MediaType = "presentation" Internet MediaType = "internet" ) type State struct { ID int `gorm:"primaryKey"` // unspecified // video // presentation // internet URL MediaType MediaType `gorm:"type:varchar(20);not null"` // Must specify what kind of file it is Targets datatypes.JSON Location string // Must be the location where the file is downloadable on the API UpdatedAt time.Time } type Device struct { ID int `gorm:"primaryKey"` DeviceType string Hostname string RemoteAddress string Alive bool Compliant bool CreatedAt time.Time UpdatedAt time.Time } type File struct { ID int `gorm:"primaryKey"` MediaType MediaType `gorm:"type:varchar(20);not null;"` MetaName string FileName string FilePath string Checksum string `gorm:"uniqueIndex"` // hex encoded sha512 checksum CreatedAt time.Time UpdatedAt time.Time }