diff options
| -rw-r--r-- | backend/api/generated.go | 5 | ||||
| -rw-r--r-- | backend/game/hub.go | 5 | ||||
| -rw-r--r-- | backend/go.mod | 1 | ||||
| -rw-r--r-- | backend/go.sum | 2 | ||||
| -rw-r--r-- | backend/oapi-codegen.yaml | 1 |
5 files changed, 10 insertions, 4 deletions
diff --git a/backend/api/generated.go b/backend/api/generated.go index 2873ad2..a6a5f1e 100644 --- a/backend/api/generated.go +++ b/backend/api/generated.go @@ -17,6 +17,7 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/labstack/echo/v4" + "github.com/oapi-codegen/nullable" "github.com/oapi-codegen/runtime" strictecho "github.com/oapi-codegen/runtime/strictmiddleware/echo" ) @@ -99,7 +100,7 @@ type GamePlayerMessageS2CExecResult struct { // GamePlayerMessageS2CExecResultPayload defines model for GamePlayerMessageS2CExecResultPayload. type GamePlayerMessageS2CExecResultPayload struct { - Score *int `json:"score"` + Score nullable.Nullable[int] `json:"score"` Status GamePlayerMessageS2CExecResultPayloadStatus `json:"status"` } @@ -159,7 +160,7 @@ type GameWatcherMessageS2CExecResult struct { // GameWatcherMessageS2CExecResultPayload defines model for GameWatcherMessageS2CExecResultPayload. type GameWatcherMessageS2CExecResultPayload struct { PlayerId int `json:"player_id"` - Score *int `json:"score"` + Score nullable.Nullable[int] `json:"score"` Status GameWatcherMessageS2CExecResultPayloadStatus `json:"status"` Stderr string `json:"stderr"` Stdout string `json:"stdout"` diff --git a/backend/game/hub.go b/backend/game/hub.go index f857ec5..de3da14 100644 --- a/backend/game/hub.go +++ b/backend/game/hub.go @@ -6,6 +6,7 @@ import ( "time" "github.com/jackc/pgx/v5/pgtype" + "github.com/oapi-codegen/nullable" "github.com/nsfisis/iosdc-2024-albatross/backend/api" "github.com/nsfisis/iosdc-2024-albatross/backend/db" @@ -158,7 +159,7 @@ func (hub *gameHub) run() { message.client.s2cMessages <- &playerMessageS2CExecResult{ Type: playerMessageTypeS2CExecResult, Data: playerMessageS2CExecResultPayload{ - Score: &score, + Score: nullable.NewNullableWithValue(score), Status: api.GamePlayerMessageS2CExecResultPayloadStatusSuccess, }, } @@ -174,7 +175,7 @@ func (hub *gameHub) run() { Type: watcherMessageTypeS2CExecResult, Data: watcherMessageS2CExecResultPayload{ PlayerId: message.client.playerID, - Score: &score, + Score: nullable.NewNullableWithValue(score), Stdout: "", Stderr: "", }, diff --git a/backend/go.mod b/backend/go.mod index eba1726..6e4a34a 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -9,6 +9,7 @@ require ( github.com/jackc/pgx/v5 v5.5.5 github.com/labstack/echo/v4 v4.12.0 github.com/oapi-codegen/echo-middleware v1.0.2 + github.com/oapi-codegen/nullable v1.1.0 github.com/oapi-codegen/oapi-codegen/v2 v2.3.0 github.com/oapi-codegen/runtime v1.1.1 github.com/sqlc-dev/sqlc v1.26.0 diff --git a/backend/go.sum b/backend/go.sum index bc38c89..b35e204 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -95,6 +95,8 @@ github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdh github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= github.com/oapi-codegen/echo-middleware v1.0.2 h1:oNBqiE7jd/9bfGNk/bpbX2nqWrtPc+LL4Boya8Wl81U= github.com/oapi-codegen/echo-middleware v1.0.2/go.mod h1:5J6MFcGqrpWLXpbKGZtRPZViLIHyyyUHlkqg6dT2R4E= +github.com/oapi-codegen/nullable v1.1.0 h1:eAh8JVc5430VtYVnq00Hrbpag9PFRGWLjxR1/3KntMs= +github.com/oapi-codegen/nullable v1.1.0/go.mod h1:KUZ3vUzkmEKY90ksAmit2+5juDIhIZhfDl+0PwOQlFY= github.com/oapi-codegen/oapi-codegen/v2 v2.3.0 h1:rICjNsHbPP1LttefanBPnwsSwl09SqhCO7Ee623qR84= github.com/oapi-codegen/oapi-codegen/v2 v2.3.0/go.mod h1:4k+cJeSq5ntkwlcpQSxLxICCxQzCL772o30PxdibRt4= github.com/oapi-codegen/runtime v1.1.1 h1:EXLHh0DXIJnWhdRPN2w4MXAzFyE4CskzhNLUmtpMYro= diff --git a/backend/oapi-codegen.yaml b/backend/oapi-codegen.yaml index 715fbc4..65cf079 100644 --- a/backend/oapi-codegen.yaml +++ b/backend/oapi-codegen.yaml @@ -7,3 +7,4 @@ generate: output: api/generated.go output-options: skip-prune: true + nullable-type: true |
