feat: initial commit

This commit is contained in:
2025-06-13 16:55:46 +02:00
parent 1fb753469e
commit 85f0bc1024
23 changed files with 11758 additions and 45 deletions

View File

@ -1,15 +1,61 @@
package store
import (
"time"
"gorm.io/datatypes"
"gorm.io/gorm"
)
var models = []any{
&Player{},
&QuizCategory{},
&QuizEntry{},
&QuizTurn{},
}
type Player struct {
gorm.Model
Name string
UserID string `gorm:"index"`
UserProvider string `gorm:"index"`
Score int
PlayedAt time.Time
}
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
}