aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/api/lobbies.go19
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
}