// schema.go defines the database schema for the GORM models. package db import "gorm.io/gorm" type AppConfig struct { gorm.Model DataDir string AssetsDir string EmailAddress string LicenseKey string SystemLevel string // BASIC, ADVANCED, ELITE, COMMERCIAL SelectedAudioDevice string // Raw SDL audio device name from enumeration; empty string = system default. Humanized for display via mixer.HumanizeDeviceName InitialFontSize int // How large to create the font atlas StandardFontSize int // The font size used for most text rendering LinePattern string // "fibonacci" AudioEnabled bool DynamicAudio bool // When true, scroller switches audio per-proclamation frequency SavedVolume float64 // In-app volume as a 0.0–1.0 fraction of the OS audio sink (kiosk pins the sink to 100%, so this is the effective output level) FirstRun bool // Is this the first time the application has been run? } type Log struct { gorm.Model Timestamp int64 Level string Message string } type Proclamation struct { ID string `gorm:"primaryKey"` Name string Content string SolfeggioFrequencyID int CategoryID int Selected bool Available bool Price float64 } type ProclamationCategory struct { ID int `gorm:"primaryKey"` Name string ParentId int } type SolfeggioFrequency struct { ID int `gorm:"primaryKey"` Name string Value int } type AudioTrack struct { ID int `gorm:"primaryKey"` Filename string Name string AssignedFrequency int MD5 string Selected bool Order int }