summaryrefslogtreecommitdiff
path: root/internal/api/database
diff options
context:
space:
mode:
Diffstat (limited to 'internal/api/database')
-rw-r--r--internal/api/database/models.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/internal/api/database/models.go b/internal/api/database/models.go
index 4acbca5..f065a8c 100644
--- a/internal/api/database/models.go
+++ b/internal/api/database/models.go
@@ -10,15 +10,29 @@ type User struct {
UpdatedAt time.Time `json:"updated_at"`
}
+type GameType string
+
+const (
+ SingleGameType GameType = "single"
+ PairGameType GameType = "pair"
+)
+
type Game struct {
ID int `json:"id"`
+ Type GameType `json:"type"`
Player1ID int `json:"-"`
Player1 User `gorm:"foreignKey:Player1ID" json:"player1"`
Player2ID *int `json:"-"`
Player2 *User `gorm:"foreignKey:Player2ID;null" json:"player2"`
+ Player3ID *int `json:"-"`
+ Player3 *User `gorm:"foreignKey:Player3ID;null" json:"player3"`
+ Player4ID *int `json:"-"`
+ Player4 *User `gorm:"foreignKey:Player4ID;null" json:"player4"`
Name string `json:"name"`
IP1 string `json:"ip1"`
IP2 string `json:"ip2"`
+ IP3 string `json:"ip3"`
+ IP4 string `json:"ip4"`
Outcome string `json:"outcome"`
LastPlayer int `json:"last_player"` // Last player entered in game
CreatedAt time.Time `json:"created_at"`