package store import ( "fmt" "time" "gorm.io/datatypes" "gorm.io/gorm" ) var models = []any{ &Player{}, &QuizCategory{}, &QuizEntry{}, &QuizTurn{}, } type Player struct { gorm.Model Name string UserEmail string `gorm:"index"` UserProvider string `gorm:"index"` Score int PlayedAt time.Time SelectedEntry *uint SelectedTurn *uint SelectedAt time.Time SelectedAnswer *int } type QuizTurn struct { gorm.Model StartedAt time.Time `gorm:"index"` EndedAt time.Time `gorm:"index"` Entries []*QuizEntry `gorm:"many2many:quiz_turn_entries;"` } type QuizCategory struct { gorm.Model Name string `gorm:"index"` Theme string `gorm:"index"` Description string } type QuizEntry struct { gorm.Model Category *QuizCategory CategoryID uint Provider string `gorm:"index"` ProviderID string `gorm:"index"` Question string Propositions datatypes.JSONSlice[string] Answer string Level uint `gorm:"index"` Anecdote string } func DifficultyLevel(level uint) string { switch level { case 0: return "Débutant" case 1: return "Confirmé" case 2: return "Expert" default: return fmt.Sprintf("Hors catégorie (%d)", level) } }