Files

44 lines
1.0 KiB
Go
Raw Permalink Normal View History

2026-01-25 22:23:33 +01:00
package models
2026-01-25 22:41:20 +01:00
import "bamort/database"
2026-01-25 22:23:33 +01:00
type GameSystem struct {
ID uint `gorm:"primaryKey"`
Code string `gorm:"uniqueIndex;size:100;not null"`
Name string `gorm:"size:255;not null"`
Description string `gorm:"type:text"`
IsActive bool `gorm:"default:true;not null"`
CreatedAt int64 `gorm:"autoCreateTime"`
ModifiedAt int64 `gorm:"autoUpdateTime"`
}
// TableName sets the table name for SchemaVersion
func (GameSystem) TableName() string {
return "game_systems"
}
2026-01-25 22:41:20 +01:00
2026-01-27 08:19:18 +01:00
func (gs *GameSystem) GetDefault() error {
return database.DB.First(gs, "code = ?", "M5").Error
2026-01-25 22:41:20 +01:00
}
2026-01-27 08:19:18 +01:00
func (gs *GameSystem) FirstByCode(code string) error {
if code == "" {
return gs.GetDefault()
}
return database.DB.First(gs, "code = ?", code).Error
2026-01-25 22:41:20 +01:00
}
func (gs *GameSystem) FirstByName(name string) error {
2026-01-27 08:19:18 +01:00
if name == "" {
return gs.GetDefault()
}
2026-01-25 22:41:20 +01:00
return database.DB.First(gs, "name = ?", name).Error
}
2026-01-28 05:39:51 +01:00
func (gs *GameSystem) FirstByID(id uint) error {
if id == 0 {
return gs.GetDefault()
}
return database.DB.First(gs, "id = ?", id).Error
}