From dbbbf887c8a2a7b196c9706c2a0ef2f443a5d918 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 11 Aug 2024 20:44:02 +0900 Subject: feat(backend): always include `problem` property in `Game` object in APIs --- backend/api/generated.go | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'backend/api/generated.go') diff --git a/backend/api/generated.go b/backend/api/generated.go index f7fd7e4..d93953f 100644 --- a/backend/api/generated.go +++ b/backend/api/generated.go @@ -81,7 +81,7 @@ type Game struct { GameID int `json:"game_id"` GameType GameGameType `json:"game_type"` Players []User `json:"players"` - Problem *Problem `json:"problem,omitempty"` + Problem Problem `json:"problem"` StartedAt *int `json:"started_at,omitempty"` State GameState `json:"state"` VerificationSteps []VerificationStep `json:"verification_steps"` @@ -1218,26 +1218,26 @@ var swaggerSpec = []string{ "xTnX0ZoKiBiNhSN39nwYNogfospm2i493bnQfP2AgOap8uv0TgFJ80QShRa48rCEah43cJqlGh6RkIq2", "dH4UBoJVhDnHa62Hs1kCaZv4tV2m0i0xlxBPsXQc/uX8+fMX5y+G3ggJiaXjdJQwAeqAWWEiCV1MgUqu", "0lZ+o+0ghRAyzAFZy8p/HUnzx5xQIpYQu0Hbqm/E7Q44mdsdMRUSsu4h/KsiOpGQNcNZY2x5jJaJ38Qi", - "dNnpIV6ZYy/qXdvgWgv9Ue44RuHPORp/2u9cQ3QyukRFeKDQ5WiCihsfEvXkeDCXo8krKvn6KETvAcfH", - "SV6yGI4SnOSzlMjdodCKm+cVlq3H8i5t13idMByXnNRlQNVeS6NxNBLjSNltO2gtTzWaTiyrQWj4FVlv", - "y/2ZcULlj89+gyRhYbBiPIm/e/ZTKzKtqCskQ5gGmD3RAS3RKTxdQRjuHQKCa4leQVg29sY3o68b44Sx", - "/RScc2F8DaxTZ+ajTtxrW+sOPnMmo8uJrpfHSL66h+g9iDzZdWK5a/rhkaOznUtiFI3hHiJuMPTOJy+c", - "hqciYtwl1alqeGieJHimPppbkr8BykW1AxJ5FIFQxX2OSZLrBkeSFFiuvFOinOJkCrqjDvXVkSSw/bzi", - "jC6mmIpVvWEsFe8PkYUUWqe6RmlD0d5YYBV2o0DZDPaf/xqQhoOHtso1SBvxrnDMfu4tzFpdtyBvOu/+", - "Q+yAaO4u9fSAe0WT0EZ8F5q/sYyWR/bGrqxujm+8ag+uAQ3x7gd5Q7Rzw9o0ajvWY2Sr9eN42/UK5Hfu", - "6P3gVbdnP6zMer0hemub94LosYPZ3B07/CpRP6W2cuH+xmcfC/pLUqcWoZqqnnuEDoCadaJr6Pe3BU6F", - "r/YGPKfqw7YVaOkVujUHCksMnLt827FO4XDWOYT0CUkQMsLC9zNZW/O0h6BVrWGloTEIty51Tu4jS65f", - "X0fi9ld098P4n6tuWWp6DHPbfdSJc38X0hYgjzkYMg4JSQnFfD3dcek4YJ80tR3oUu/nelXtQYl7yrPd", - "B+rbON33cMOC9AXpurzw1NJeHQhV68CHJREBEQEONrcdX2tiHnUKoSQyqfVAFpVvfOO/cdlaoTW5wyyf", - "03pQcsAo6Xe2pMGvDHyekojRqR6tOiIDkuIFiMEtW9KT22zhFRVTHKfEje8cJ6KskDPGEsB68JgLDyVH", - "Z76IqqVNLxSU1nhurFSUNMYYW9y+2DYmKI04J3gGSY1TIGSgqrx/YNdfZ+F2EwZJ0wslReic6Z9xDTvR", - "RTLDkjMhgs1uDVYwCy6u35jZjTCT0+HJ6clQYWYZUJwRNEZnJ8OTITJDeR2AwQKnJhQL0Aeuio4O2JsY", - "jdEVyCu9IHReH9hxzSyXDLyvFxQ3tZn9aDg8aIDsJm8LvdM4Tc9su4zQxI4suGPpt0TIgM0DI1GE6Hx4", - "ugvC1ueBO8xWQmftQpWZvzrl8zTFfL2BYO0XoU3l4MGOAYu2pPaU07BVznkD5Ak40C3znkx3SvSFDvEX", - "y7CSOG+X2L764VLiCmSALWBFiYQtzJmeMeFhwjUT8q1eYoIDQr5kZoB0ZD4yLMSK8bj2O4L99nR05jtT", - "OSyIkHYeLdk/UCvz97V/Ph2PrDN0syEsfD8z3NeTil6ZvMvvk8r/7X2oVtKF1hPTu83zJFkHirJApYK6", - "Ye3BVHd4qLqawJBP83Dr3K4D6YNe8DVWmW8qL+Z8EEvG5c8JuYM4wNpcYAAWRVH8FwAA//9jcKI8NygA", - "AA==", + "dNnpIV6ZmzLbXvy7NsS1Fvqj3HuMwp9zNP60382G6GR0iYrwQKHL0QQVNz4k6snxYC5Hk1dU8vVRiN4D", + "jo+TvGQxHCU4yWcpkbtDoRU3Ty4sWw/oXdqu8TphOC7ZqQuCqsKWRuNoJMaRstt25FrGajSdWFaD0PAr", + "st6WOzXjhMofn/0GScLCYMV4En/37KdWZFpRV0iGMA0we6IDWqJTeLqCMNw7BATXEr2CsGzsjW9GXzfG", + "CWP7KTjnwvgaWKfOzEeduNe26h185kxGlxNdOY+RfHUP0XsQebLrxHLX9MMjR2c7l8QoGsM9RNxg6J1P", + "XjgNT0XEuEuqU9X60DxJ8Ex9NPclfyuUi2ovJPIoAqGK+xyTJNetjiQpsFx5p0Q5xckUdG8d6kskSWD7", + "ecUZXUwxFat661gq3h8iCym0TnWN0oaivbHAKuxGgbIt7D//NSANBw9tmmuQNuJd4Zj93FuYtbpuQd70", + "4P2H2AHR3F3q6QE3jCahjfguNH9jGS2P7I1dWd0c33jVHlwDGuLdD/KGaOeGtWnUdqzHyFbrx/G26xXI", + "79zR+8Grbs9+WJn1ekP01jbvBdFjB7O5O3b4faJ+Sm3lwv2Nzz4W9JekTi1CNVU99wgdADXrRNfQ728L", + "nApf7Q14TtWHbSvQ0it0aw4Ulhg4d/m2Y53C4axzCOkTkiBkhIXvB7O25mkPQataw0pDYxBuXeqc3EeW", + "XL++jsTtr+juh/E/V92y1PQY5rb7qBPn/i6kLUAeczBkHBKSEor5errj0nHAPmlqO9Cl3s/1qtqDEveU", + "Z7sP1Ldxuu/hhgXpC9J1eeGppb06GqrWgQ9LIgIiAhyUv2I3WxPzqFMIJZFJrQeyqHyDHP+Ny9YKrckd", + "a/mc1iOTA4ZKv7MlDX5l4POURIxO9ZDVERmQFC9ADG7Zkp7cZguvqJjiOCVufOc4EWWFnDGWANYjyFx4", + "KDk680VULW16oaC0xnNjpaKkMdDY4vbFtjFLacQ5wTNIapwCIQNV5f2ju/46C7ebMEiaXigpQudM/4xr", + "2IkukhmWnAkRbHZrsIJZcHH9xsxuhJmhDk9OT4YKM8uA4oygMTo7GZ4MkRnP6wAMFjg1oViAPnBVdHTA", + "3sRojK5AXukFofMiwY5rZrlk4H3RoLipTe9Hw+FBo2Q3eVvonQZrenrbZZgmdmTBHVC/JUIGbB4YiSJE", + "58PTXRC2Pg/csbYSOmsXqkz/1Smfpynm6w0Ea78IbSoHD3YgWLQltaechq1yzrsgT8CBbpn3ZLpToi90", + "iL9YhpXEebvE9iUQlxJXIANsAStKJGxhzvSMCQ8TrpmQb/USExwQ8iUzA6Qj85FhIVaMx7XfEey3p6Mz", + "35nKYUGEtJNpyf6BWpm/r/3z6XhknaGbDWHh+5nhvqhU9MrkXX6fVP5v70O1ki60npjebZ4nyTpQlAUq", + "FdQNaw+musND1dUEhnyah1vndh1IH/SCr7HKfFN5MeeDWDIuf07IHcQB1uYCA7AoiuK/AAAA//8G1YBf", + "QSgAAA==", } // GetSwagger returns the content of the embedded swagger specification file -- cgit v1.2.3-70-g09d2 From 0c448f5d403a084389acb0b3d215f8728a599302 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 11 Aug 2024 20:50:11 +0900 Subject: feat(backend): remove `prepare` message's payload --- Makefile | 2 +- backend/api/generated.go | 65 ++++++++++++++++-------------------- backend/game/hub.go | 7 ---- backend/game/message.go | 1 - frontend/app/.server/api/schema.d.ts | 4 --- openapi/api-server.yaml | 10 ------ 6 files changed, 30 insertions(+), 59 deletions(-) (limited to 'backend/api/generated.go') diff --git a/Makefile b/Makefile index b9320bd..5cda0b3 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ DOCKER_COMPOSE := docker compose -f compose.local.yaml all: down build reset up reset: - echo "UPDATE games SET state = 'waiting_entries', started_at = NULL WHERE game_id = 1;" | make psql-query + echo "UPDATE games SET state = 'waiting_entries', started_at = NULL WHERE game_id = 7;" | make psql-query .PHONY: build build: diff --git a/backend/api/generated.go b/backend/api/generated.go index d93953f..a68b13b 100644 --- a/backend/api/generated.go +++ b/backend/api/generated.go @@ -157,13 +157,7 @@ type GamePlayerMessageS2CExecResultPayloadStatus string // GamePlayerMessageS2CPrepare defines model for GamePlayerMessageS2CPrepare. type GamePlayerMessageS2CPrepare struct { - Data GamePlayerMessageS2CPreparePayload `json:"data"` - Type string `json:"type"` -} - -// GamePlayerMessageS2CPreparePayload defines model for GamePlayerMessageS2CPreparePayload. -type GamePlayerMessageS2CPreparePayload struct { - Problem Problem `json:"problem"` + Type string `json:"type"` } // GamePlayerMessageS2CStart defines model for GamePlayerMessageS2CStart. @@ -1209,35 +1203,34 @@ func (sh *strictHandler) GetToken(ctx echo.Context, params GetTokenParams) error // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "H4sIAAAAAAAC/9xaX2/bNhD/Kho3oBugxY4TFJ3f0qzNOnRdULfbQxEYtHS2mUmkSlJxvEDffeAfW6JE", - "W7KjdEX7UMQW7+53dz/yjj49oIilGaNApUDjB5RhjlOQwPWnJeAY+BTncsk4+RdLwqj6nlA0tg9RiChO", - "AY3RhbMqRBw+54RDjMaS5xAiES0hxUpcrjMlICQndIGKIkQZlsvpAqcwJfHWgPqyVL952kExoRIWwFGh", - "VHMQGaMCtEMvcfwePucgpPoUMSqB6j9xliUk0tAHt8J4Wer9gcMcjdH3gzJYA/NUDF5xzqypGETESWai", - "pGwF3BorQvSa8RmJY6BPb7k0VYToHZOvWU7jpzf7jslgrk0VIfpIN6yBL2DasaYeWwml0AgpbnOWAZfE", - "UCEFIfAC1J9wj9MsUcx5Q+9wQsq8hR6ulvT7tFVys13IZrcQ6YRfad7WzcZEZAleT6l9WtpW64PTpskQ", - "xTnX0ZoKiBiNhSN39nwYNogfospm2i493bnQfP2AgOap8uv0TgFJ80QShRa48rCEah43cJqlGh6RkIq2", - "dH4UBoJVhDnHa62Hs1kCaZv4tV2m0i0xlxBPsXQc/uX8+fMX5y+G3ggJiaXjdJQwAeqAWWEiCV1MgUqu", - "0lZ+o+0ghRAyzAFZy8p/HUnzx5xQIpYQu0Hbqm/E7Q44mdsdMRUSsu4h/KsiOpGQNcNZY2x5jJaJ38Qi", - "dNnpIV6ZmzLbXvy7NsS1Fvqj3HuMwp9zNP60382G6GR0iYrwQKHL0QQVNz4k6snxYC5Hk1dU8vVRiN4D", - "jo+TvGQxHCU4yWcpkbtDoRU3Ty4sWw/oXdqu8TphOC7ZqQuCqsKWRuNoJMaRstt25FrGajSdWFaD0PAr", - "st6WOzXjhMofn/0GScLCYMV4En/37KdWZFpRV0iGMA0we6IDWqJTeLqCMNw7BATXEr2CsGzsjW9GXzfG", - "CWP7KTjnwvgaWKfOzEeduNe26h185kxGlxNdOY+RfHUP0XsQebLrxHLX9MMjR2c7l8QoGsM9RNxg6J1P", - "XjgNT0XEuEuqU9X60DxJ8Ex9NPclfyuUi2ovJPIoAqGK+xyTJNetjiQpsFx5p0Q5xckUdG8d6kskSWD7", - "ecUZXUwxFat661gq3h8iCym0TnWN0oaivbHAKuxGgbIt7D//NSANBw9tmmuQNuJd4Zj93FuYtbpuQd70", - "4P2H2AHR3F3q6QE3jCahjfguNH9jGS2P7I1dWd0c33jVHlwDGuLdD/KGaOeGtWnUdqzHyFbrx/G26xXI", - "79zR+8Grbs9+WJn1ekP01jbvBdFjB7O5O3b4faJ+Sm3lwv2Nzz4W9JekTi1CNVU99wgdADXrRNfQ728L", - "nApf7Q14TtWHbSvQ0it0aw4Ulhg4d/m2Y53C4axzCOkTkiBkhIXvB7O25mkPQataw0pDYxBuXeqc3EeW", - "XL++jsTtr+juh/E/V92y1PQY5rb7qBPn/i6kLUAeczBkHBKSEor5errj0nHAPmlqO9Cl3s/1qtqDEveU", - "Z7sP1Ldxuu/hhgXpC9J1eeGppb06GqrWgQ9LIgIiAhyUv2I3WxPzqFMIJZFJrQeyqHyDHP+Ny9YKrckd", - "a/mc1iOTA4ZKv7MlDX5l4POURIxO9ZDVERmQFC9ADG7Zkp7cZguvqJjiOCVufOc4EWWFnDGWANYjyFx4", - "KDk680VULW16oaC0xnNjpaKkMdDY4vbFtjFLacQ5wTNIapwCIQNV5f2ju/46C7ebMEiaXigpQudM/4xr", - "2IkukhmWnAkRbHZrsIJZcHH9xsxuhJmhDk9OT4YKM8uA4oygMTo7GZ4MkRnP6wAMFjg1oViAPnBVdHTA", - "3sRojK5AXukFofMiwY5rZrlk4H3RoLipTe9Hw+FBo2Q3eVvonQZrenrbZZgmdmTBHVC/JUIGbB4YiSJE", - "58PTXRC2Pg/csbYSOmsXqkz/1Smfpynm6w0Ea78IbSoHD3YgWLQltaechq1yzrsgT8CBbpn3ZLpToi90", - "iL9YhpXEebvE9iUQlxJXIANsAStKJGxhzvSMCQ8TrpmQb/USExwQ8iUzA6Qj85FhIVaMx7XfEey3p6Mz", - "35nKYUGEtJNpyf6BWpm/r/3z6XhknaGbDWHh+5nhvqhU9MrkXX6fVP5v70O1ki60npjebZ4nyTpQlAUq", - "FdQNaw+musND1dUEhnyah1vndh1IH/SCr7HKfFN5MeeDWDIuf07IHcQB1uYCA7AoiuK/AAAA//8G1YBf", - "QSgAAA==", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/backend/game/hub.go b/backend/game/hub.go index 23fdd0d..b454bb5 100644 --- a/backend/game/hub.go +++ b/backend/game/hub.go @@ -611,13 +611,6 @@ func (hub *gameHub) startGame() error { for player := range hub.players { player.s2cMessages <- &playerMessageS2CPrepare{ Type: playerMessageTypeS2CPrepare, - Data: playerMessageS2CPreparePayload{ - Problem: api.Problem{ - ProblemID: 1, - Title: "the answer", - Description: "print 42", - }, - }, } } diff --git a/backend/game/message.go b/backend/game/message.go index 1fb30cb..2895119 100644 --- a/backend/game/message.go +++ b/backend/game/message.go @@ -24,7 +24,6 @@ type playerMessageC2SWithClient struct { type playerMessageS2C = interface{} type playerMessageS2CPrepare = api.GamePlayerMessageS2CPrepare -type playerMessageS2CPreparePayload = api.GamePlayerMessageS2CPreparePayload type playerMessageS2CStart = api.GamePlayerMessageS2CStart type playerMessageS2CStartPayload = api.GamePlayerMessageS2CStartPayload type playerMessageS2CExecResult = api.GamePlayerMessageS2CExecResult diff --git a/frontend/app/.server/api/schema.d.ts b/frontend/app/.server/api/schema.d.ts index f387715..93385f2 100644 --- a/frontend/app/.server/api/schema.d.ts +++ b/frontend/app/.server/api/schema.d.ts @@ -134,10 +134,6 @@ export interface components { GamePlayerMessageS2CPrepare: { /** @constant */ type: "player:s2c:prepare"; - data: components["schemas"]["GamePlayerMessageS2CPreparePayload"]; - }; - GamePlayerMessageS2CPreparePayload: { - problem: components["schemas"]["Problem"]; }; GamePlayerMessageS2CStart: { /** @constant */ diff --git a/openapi/api-server.yaml b/openapi/api-server.yaml index 1785b54..16dd7c5 100644 --- a/openapi/api-server.yaml +++ b/openapi/api-server.yaml @@ -277,18 +277,8 @@ components: type: type: string const: "player:s2c:prepare" - data: - $ref: '#/components/schemas/GamePlayerMessageS2CPreparePayload' required: - type - - data - GamePlayerMessageS2CPreparePayload: - type: object - properties: - problem: - $ref: '#/components/schemas/Problem' - required: - - problem GamePlayerMessageS2CStart: type: object properties: -- cgit v1.2.3-70-g09d2