diff options
Diffstat (limited to 'internal/api/database')
-rw-r--r-- | internal/api/database/models.go | 14 |
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"` |