Add models for game, cache and settings.

This commit is contained in:
MaxJa4
2024-01-17 18:38:35 +01:00
parent 7e3c02e37e
commit 5af0f437b0
6 changed files with 245 additions and 3 deletions

11
models/cache.go Normal file
View File

@@ -0,0 +1,11 @@
package models
import "time"
type PlayerCache struct {
CacheID uint `json:"cache_id" gorm:"primary_key"`
PlayerID uint `json:"player_id"`
CacheDate time.Time `json:"date"`
Score float32 `json:"score" gorm:"default:-1.0"`
Game string `json:"game"`
}

16
models/game.go Normal file
View File

@@ -0,0 +1,16 @@
package models
type Game struct {
ID uint `json:"id" gorm:"primary_key"`
Name string `json:"name" binding:"required"`
Tag string `json:"tag" binding:"required"`
Settings []GameSetting `json:"settings" gorm:"foreignKey:GameID"`
}
type GameSetting struct {
ID uint `json:"id" gorm:"primary_key"`
GameID uint `json:"game_id"`
Name string `json:"name" binding:"required"`
WeaponCategory string `json:"weapon_category"`
Value float64 `json:"value" binding:"required"`
}

9
models/metric_setting.go Normal file
View File

@@ -0,0 +1,9 @@
package models
type MetricSetting struct {
ID uint `json:"id" gorm:"primary_key"`
Name string `json:"name" binding:"required"`
WeaponCategory string `json:"weapon_category" binding:"required"`
Value float64 `json:"value" binding:"required"`
Game string `json:"game" binding:"required"`
}

View File

@@ -29,7 +29,10 @@ func ConnectDatabase() {
if err != nil {
log.Fatal(err)
}
//database.AutoMigrate(&PlayerCache{})
err = database.AutoMigrate(&PlayerCache{})
if err != nil {
log.Fatal(err)
}
err = database.AutoMigrate(&User{})
if err != nil {
log.Fatal(err)
@@ -45,8 +48,14 @@ func ConnectDatabase() {
log.Println("Created first activation code: " + firstCode)
}
}
//database.AutoMigrate(&Game{})
//database.AutoMigrate(&MetricSettings{})
err = database.AutoMigrate(&Game{})
if err != nil {
log.Fatal(err)
}
err = database.AutoMigrate(&MetricSetting{})
if err != nil {
log.Fatal(err)
}
DB = database
}