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. }