From b35829071ab0d0f3479021eac151b90e49a2fca5 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Thu, 24 Apr 2025 13:53:54 +0200 Subject: Play co-op 2 vs 2 --- internal/api/database/models.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'internal/api/database/models.go') 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"` -- cgit v1.2.3-18-g5258