diff options
| -rw-r--r-- | internal/api/lobbies.go | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/internal/api/lobbies.go b/internal/api/lobbies.go index 2a4ec93..3bfd5a1 100644 --- a/internal/api/lobbies.go +++ b/internal/api/lobbies.go @@ -32,8 +32,8 @@ type Lobby struct { FirstPlayer string `json:"first_player"` HostUUID string `json:"host_uuid"` - PINEnabled bool `json:"pin_enabled"` - PIN *string `json:"pin"` + PINEnabled bool `json:"pin_enabled"` + PIN string `json:"pin"` RequestOnJoinEnabled bool `json:"request_on_join_enabled"` @@ -56,7 +56,7 @@ func NewLobbyManager() *LobbyManager { } } -func NewLobby(lobby_uuid string, lobby_name string, host_uuid string, pin *string, request_on_join_enabled bool) Lobby { +func NewLobby(lobby_uuid string, lobby_name string, host_uuid string, pin string, request_on_join_enabled bool) Lobby { return Lobby{ UUID: lobby_uuid, Name: lobby_name, @@ -66,7 +66,7 @@ func NewLobby(lobby_uuid string, lobby_name string, host_uuid string, pin *strin FirstPlayer: host_uuid, HostUUID: host_uuid, - PINEnabled: pin != nil, + PINEnabled: pin != "", PIN: pin, RequestOnJoinEnabled: request_on_join_enabled, @@ -229,6 +229,7 @@ type CreateLobbyRequest struct { type CreateLobbyResponse struct { UUID string `json:"uuid"` + PIN string `json:"pin,omitempty"` } func create_lobby(lobby_manager *LobbyManager) gin.HandlerFunc { @@ -247,7 +248,7 @@ func create_lobby(lobby_manager *LobbyManager) gin.HandlerFunc { lobby_uuid := uuid.New().String() host_player_uuid := uuid.New().String() - var pin *string = nil + pin := "" if req_body.PINEnabled { pin = generatePIN() @@ -267,14 +268,18 @@ func create_lobby(lobby_manager *LobbyManager) gin.HandlerFunc { UUID: lobby_uuid, } + if req_body.PINEnabled { + response.PIN = pin + } + c.IndentedJSON(http.StatusCreated, response) } } -func generatePIN() *string { +func generatePIN() string { random_number := rand.IntN(10000) random_number_string := fmt.Sprintf("%04d", random_number) - return &random_number_string + return random_number_string } |
