You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
1.2 KiB
Go

package model
// PublicUser is the "public" version of the "User" struct, this excludes private information
type PublicUser struct {
Username string `json:"username"`
}
// User represents a user in the database
type User struct {
Username string `json:"username"`
PasswordBCrypt []byte `json:"passwordBCrypt"`
}
func (u User) PublicUser() PublicUser {
return PublicUser{
Username: u.Username,
}
}
type PartitaConfig struct {
NumeroGiocatori int `json:"numeroGiocatori"` // NumeroGiocatori indica il numero totale di giocatori (per capire quanto tutti sono entrati nella partita)
NumeroPerRuolo map[string]int `json:"numeroPerRuolo"` // NumeroPerRuolo indica quanti giocatori di un certo ruolo ci dovrebbero essere
}
type Partita struct {
Uid string `json:"uid"`
OwnerUid string `json:"ownerUid"` // OwnerUid è l'uid dell'utente che ha creato la partita.
Config PartitaConfig `json:"config"` // Config è la configurazione iniziale della partita.
Players []string `json:"players"` // Players è la lista di giocatori che sono entrati fino ad ora nella partita.
Iniziata bool `json:"iniziata"` // Iniziata indica se la partita è iniziata, quando lo è c'è una tabella corrispondente.
}