aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--backend/api/generated.go5
-rw-r--r--backend/game/hub.go5
-rw-r--r--backend/go.mod1
-rw-r--r--backend/go.sum2
-rw-r--r--backend/oapi-codegen.yaml1
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