Created
November 4, 2020 19:33
-
-
Save h3ku/c0ee11bf9b5fd53916041da881215211 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"schemes": [], | |
"swagger": "2.0", | |
"info": { | |
"description": "This is the sconwar API documentation.", | |
"title": "Sconwar API", | |
"contact": {}, | |
"license": {"name":"Apache 2.0", | |
"url":"http://www.apache.org/licenses/LICENSE-2.0.html"}, | |
"version": "1.0" | |
}, | |
"host": "api.sconwar.com", | |
"basePath": "/api", | |
"paths": { | |
"/action/attack": { | |
"post": { | |
"description": "Attack's an entity at x, y, assuming it's in range", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Action" | |
], | |
"summary": "Attack an entity", | |
"parameters": [ | |
{ | |
"description": "ActionAttackRequest Request", | |
"name": "data", | |
"in": "body", | |
"required": true, | |
"schema": { | |
"$ref": "#/definitions/api.ActionAttackRequest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.StatusResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/action/move": { | |
"post": { | |
"description": "Move's a player in a game to a new co-ordinate", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Action" | |
], | |
"summary": "Move a player in a game", | |
"parameters": [ | |
{ | |
"description": "ActionMoveRequest Request", | |
"name": "data", | |
"in": "body", | |
"required": true, | |
"schema": { | |
"$ref": "#/definitions/api.ActionMoveRequest" | |
} | |
} | |
], | |
"responses": { | |
"201": { | |
"description": "Created", | |
"schema": { | |
"$ref": "#/definitions/api.StatusResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/action/pickup": { | |
"post": { | |
"description": "Pick's an item up and places it in the players inventory", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Action" | |
], | |
"summary": "Pick up an item", | |
"parameters": [ | |
{ | |
"description": "ActionPickupRequest Request", | |
"name": "data", | |
"in": "body", | |
"required": true, | |
"schema": { | |
"$ref": "#/definitions/api.ActionPickupRequest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.StatusResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/action/use": { | |
"post": { | |
"description": "Uses's a powerup and activates it buff", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Action" | |
], | |
"summary": "Use a powerup", | |
"parameters": [ | |
{ | |
"description": "ActionUseRequest Request", | |
"name": "data", | |
"in": "body", | |
"required": true, | |
"schema": { | |
"$ref": "#/definitions/api.ActionUseRequest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.StatusResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/game/": { | |
"get": { | |
"description": "Get's a list of all of the games that are running", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Game" | |
], | |
"summary": "List all games", | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.AllGamesResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/game/detail/{game_id}": { | |
"get": { | |
"security": [ | |
{ | |
"ApiKeyAuth": [] | |
} | |
], | |
"description": "Get's the details for a game defined by UUID", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Game" | |
], | |
"summary": "Get game details", | |
"parameters": [ | |
{ | |
"type": "string", | |
"description": "game uuid", | |
"name": "game_id", | |
"in": "path", | |
"required": true | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.GameDetailResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/game/events/{game_id}": { | |
"get": { | |
"description": "Get's the events for a game defined by UUID", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Game" | |
], | |
"summary": "Get game events", | |
"parameters": [ | |
{ | |
"type": "string", | |
"description": "game uuid", | |
"name": "game_id", | |
"in": "path", | |
"required": true | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.GameEventsResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/game/info/{game_id}": { | |
"get": { | |
"description": "Get's the information for a game defined by UUID", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Game" | |
], | |
"summary": "Get game information", | |
"parameters": [ | |
{ | |
"type": "string", | |
"description": "game uuid", | |
"name": "game_id", | |
"in": "path", | |
"required": true | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.GameInfoResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/game/join": { | |
"post": { | |
"description": "Joins a player to an existing game", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Game" | |
], | |
"summary": "Join a player to a game", | |
"parameters": [ | |
{ | |
"description": "Join Request", | |
"name": "data", | |
"in": "body", | |
"required": true, | |
"schema": { | |
"$ref": "#/definitions/api.JoinPlayerRequest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.StatusResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
}, | |
"403": { | |
"description": "Forbidden", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/game/new": { | |
"post": { | |
"description": "Registers the start of a new game, returning the game id", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Game" | |
], | |
"summary": "Register a new game", | |
"parameters": [ | |
{ | |
"description": "NewGameRequest", | |
"name": "data", | |
"in": "body", | |
"required": true, | |
"schema": { | |
"$ref": "#/definitions/api.NewGameRequest" | |
} | |
} | |
], | |
"responses": { | |
"201": { | |
"description": "Created", | |
"schema": { | |
"$ref": "#/definitions/api.NewGameResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/game/scores/{game_id}": { | |
"get": { | |
"description": "Get's the scores for a game defined by UUID", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Game" | |
], | |
"summary": "Get game scores", | |
"parameters": [ | |
{ | |
"type": "string", | |
"description": "game uuid", | |
"name": "game_id", | |
"in": "path", | |
"required": true | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.GameScoresResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/game/start/{game_id}": { | |
"put": { | |
"description": "Starts a game", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Game" | |
], | |
"summary": "Start a game", | |
"parameters": [ | |
{ | |
"type": "string", | |
"description": "game uuid", | |
"name": "game_id", | |
"in": "path", | |
"required": true | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.StatusResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/game/stop/{game_id}": { | |
"put": { | |
"security": [ | |
{ | |
"ApiKeyAuth": [] | |
} | |
], | |
"description": "Stop a game", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Game" | |
], | |
"summary": "Stop a game", | |
"parameters": [ | |
{ | |
"type": "string", | |
"description": "game uuid", | |
"name": "game_id", | |
"in": "path", | |
"required": true | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.StatusResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/meta/leaderboard/": { | |
"get": { | |
"description": "Get's the leader board for this game server", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Meta" | |
], | |
"summary": "Get the leader board", | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.PlayerLeaderBoardResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/meta/scores/": { | |
"get": { | |
"description": "Get's total scores for everyone for every game that has been played", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Meta" | |
], | |
"summary": "Get the total scores for everyone", | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.MetaTotalScoresResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/meta/types/": { | |
"get": { | |
"description": "Get's information about types \u0026 enumerations in the game", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Meta" | |
], | |
"summary": "Get game type information", | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.MetaTypesResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/player/": { | |
"post": { | |
"description": "Get's information about a player by UUID", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Player" | |
], | |
"summary": "Get player information", | |
"parameters": [ | |
{ | |
"description": "PlayerRequest Request", | |
"name": "data", | |
"in": "body", | |
"required": true, | |
"schema": { | |
"$ref": "#/definitions/api.PlayerRequest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/storage.Player" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
}, | |
"403": { | |
"description": "Forbidden", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/player/register": { | |
"post": { | |
"security": [ | |
{ | |
"ApiKeyAuth": [] | |
} | |
], | |
"description": "Registers a new player that can join games. The returned UUID is the secret too!", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Player" | |
], | |
"summary": "Register a new player", | |
"parameters": [ | |
{ | |
"description": "RegisterPlayerRequest Request", | |
"name": "data", | |
"in": "body", | |
"required": true, | |
"schema": { | |
"$ref": "#/definitions/api.RegisterPlayerRequest" | |
} | |
} | |
], | |
"responses": { | |
"201": { | |
"description": "Created", | |
"schema": { | |
"$ref": "#/definitions/api.NewPlayerResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
}, | |
"403": { | |
"description": "Forbidden", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/player/status": { | |
"post": { | |
"description": "Get's the player status in a game", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Player" | |
], | |
"summary": "Get Player status in a game", | |
"parameters": [ | |
{ | |
"description": "PlayerGameRequest Request", | |
"name": "data", | |
"in": "body", | |
"required": true, | |
"schema": { | |
"$ref": "#/definitions/api.PlayerGameRequest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.PlayerStatusResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
}, | |
"/player/surroundings": { | |
"post": { | |
"description": "Get's the surroundings of a player in a game, outside of fog of war", | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"tags": [ | |
"Player" | |
], | |
"summary": "Get a player's surroundings", | |
"parameters": [ | |
{ | |
"description": "PlayerGameRequest Request", | |
"name": "data", | |
"in": "body", | |
"required": true, | |
"schema": { | |
"$ref": "#/definitions/api.PlayerGameRequest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"schema": { | |
"$ref": "#/definitions/api.PlayerSurroundingResponse" | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"schema": { | |
"$ref": "#/definitions/api.ErrorResponse" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"definitions": { | |
"api.ActionAttackRequest": { | |
"type": "object", | |
"required": [ | |
"game_player_id", | |
"x", | |
"y" | |
], | |
"properties": { | |
"game_player_id": { | |
"type": "object", | |
"$ref": "#/definitions/api.ActionGamePlayerRequest" | |
}, | |
"x": { | |
"type": "integer", | |
"example": 10 | |
}, | |
"y": { | |
"type": "integer", | |
"example": 9 | |
} | |
} | |
}, | |
"api.ActionGamePlayerRequest": { | |
"type": "object", | |
"required": [ | |
"game_id", | |
"player_id" | |
], | |
"properties": { | |
"game_id": { | |
"type": "string", | |
"example": "1df69d53-3468-43df-a43b-a9c674240cab" | |
}, | |
"player_id": { | |
"type": "string", | |
"example": "6d950e36-b82b-4253-93d7-faa63d3a0e63" | |
} | |
} | |
}, | |
"api.ActionMoveRequest": { | |
"type": "object", | |
"required": [ | |
"game_player_id", | |
"x", | |
"y" | |
], | |
"properties": { | |
"game_player_id": { | |
"type": "object", | |
"$ref": "#/definitions/api.ActionGamePlayerRequest" | |
}, | |
"x": { | |
"type": "integer", | |
"example": 10 | |
}, | |
"y": { | |
"type": "integer", | |
"example": 9 | |
} | |
} | |
}, | |
"api.ActionPickupRequest": { | |
"type": "object", | |
"required": [ | |
"game_player_id", | |
"x", | |
"y" | |
], | |
"properties": { | |
"game_player_id": { | |
"type": "object", | |
"$ref": "#/definitions/api.ActionGamePlayerRequest" | |
}, | |
"x": { | |
"type": "integer", | |
"example": 10 | |
}, | |
"y": { | |
"type": "integer", | |
"example": 9 | |
} | |
} | |
}, | |
"api.ActionUseRequest": { | |
"type": "object", | |
"required": [ | |
"game_player_id", | |
"powerup_id" | |
], | |
"properties": { | |
"game_player_id": { | |
"type": "object", | |
"$ref": "#/definitions/api.ActionGamePlayerRequest" | |
}, | |
"powerup_id": { | |
"type": "string", | |
"example": "6d950e36-b82b-4253-93d7-faa63d3a0e63" | |
} | |
} | |
}, | |
"api.AllGamesGame": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"status": { | |
"type": "integer" | |
} | |
} | |
}, | |
"api.AllGamesResponse": { | |
"type": "object", | |
"properties": { | |
"games": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/api.AllGamesGame" | |
} | |
} | |
} | |
}, | |
"api.BoardStatuses": { | |
"type": "object", | |
"properties": { | |
"finished": { | |
"type": "integer" | |
}, | |
"new": { | |
"type": "integer" | |
}, | |
"running": { | |
"type": "integer" | |
} | |
} | |
}, | |
"api.ErrorResponse": { | |
"type": "object", | |
"properties": { | |
"error_detail": { | |
"type": "string" | |
}, | |
"message": { | |
"type": "string" | |
} | |
} | |
}, | |
"api.GameDetailResponse": { | |
"type": "object", | |
"properties": { | |
"game": { | |
"type": "object", | |
"$ref": "#/definitions/game.Board" | |
} | |
} | |
}, | |
"api.GameEntities": { | |
"type": "object", | |
"properties": { | |
"creep": { | |
"type": "integer" | |
}, | |
"player": { | |
"type": "integer" | |
}, | |
"powerup": { | |
"type": "integer" | |
} | |
} | |
}, | |
"api.GameEntitiesResponse": { | |
"type": "object", | |
"properties": { | |
"alive_creep": { | |
"type": "integer" | |
}, | |
"alive_players": { | |
"type": "integer" | |
}, | |
"powerups": { | |
"type": "integer" | |
} | |
} | |
}, | |
"api.GameEventsResponse": { | |
"type": "object", | |
"properties": { | |
"events": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/storage.Event" | |
} | |
} | |
} | |
}, | |
"api.GameInfoResponse": { | |
"type": "object", | |
"properties": { | |
"created": { | |
"type": "string" | |
}, | |
"current_player": { | |
"type": "string" | |
}, | |
"fow": { | |
"type": "number" | |
}, | |
"game_entities": { | |
"type": "object", | |
"$ref": "#/definitions/api.GameEntitiesResponse" | |
}, | |
"game_options": { | |
"type": "object", | |
"$ref": "#/definitions/api.GameOptionsResponse" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"size_x": { | |
"type": "integer" | |
}, | |
"size_y": { | |
"type": "integer" | |
}, | |
"started": { | |
"type": "string" | |
}, | |
"status": { | |
"type": "integer" | |
} | |
} | |
}, | |
"api.GameOptionsResponse": { | |
"type": "object", | |
"properties": { | |
"fow_percent": { | |
"type": "integer" | |
}, | |
"player_attack_range": { | |
"type": "integer" | |
}, | |
"player_max_move_range": { | |
"type": "integer" | |
}, | |
"player_round_moves": { | |
"type": "integer" | |
}, | |
"player_round_seconds": { | |
"type": "integer" | |
}, | |
"powerup_max": { | |
"type": "integer" | |
} | |
} | |
}, | |
"api.GameScoresResponse": { | |
"type": "object", | |
"properties": { | |
"scores": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/api.PlayerScore" | |
} | |
} | |
} | |
}, | |
"api.JoinPlayerRequest": { | |
"type": "object", | |
"required": [ | |
"game_id", | |
"player_id" | |
], | |
"properties": { | |
"game_id": { | |
"type": "string", | |
"example": "1df69d53-3468-43df-a43b-a9c674240cab" | |
}, | |
"player_id": { | |
"type": "string", | |
"example": "6d950e36-b82b-4253-93d7-faa63d3a0e63" | |
} | |
} | |
}, | |
"api.MetaTotalScoresResponse": { | |
"type": "object", | |
"properties": { | |
"players": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/api.PlayerTotalScore" | |
} | |
} | |
} | |
}, | |
"api.MetaTypesResponse": { | |
"type": "object", | |
"properties": { | |
"board_statuses": { | |
"type": "object", | |
"$ref": "#/definitions/api.BoardStatuses" | |
}, | |
"game_entities": { | |
"type": "object", | |
"$ref": "#/definitions/api.GameEntities" | |
}, | |
"player_actions": { | |
"type": "object", | |
"$ref": "#/definitions/api.PlayerActions" | |
}, | |
"powerup_types": { | |
"type": "object", | |
"$ref": "#/definitions/api.PowerupTypes" | |
} | |
} | |
}, | |
"api.NewGameRequest": { | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "pew pew" | |
} | |
} | |
}, | |
"api.NewGameResponse": { | |
"type": "object", | |
"properties": { | |
"created": { | |
"type": "boolean" | |
}, | |
"uuid": { | |
"type": "string" | |
} | |
} | |
}, | |
"api.NewPlayerResponse": { | |
"type": "object", | |
"properties": { | |
"created": { | |
"type": "boolean" | |
}, | |
"uuid": { | |
"type": "string" | |
} | |
} | |
}, | |
"api.PlayerActions": { | |
"type": "object", | |
"properties": { | |
"attack": { | |
"type": "integer" | |
}, | |
"move": { | |
"type": "integer" | |
}, | |
"nothing": { | |
"type": "integer" | |
}, | |
"pickup": { | |
"type": "integer" | |
} | |
} | |
}, | |
"api.PlayerGameRequest": { | |
"type": "object", | |
"required": [ | |
"game_id", | |
"player_id" | |
], | |
"properties": { | |
"game_id": { | |
"type": "string", | |
"example": "1df69d53-3468-43df-a43b-a9c674240cab" | |
}, | |
"player_id": { | |
"type": "string", | |
"example": "6d950e36-b82b-4253-93d7-faa63d3a0e63" | |
} | |
} | |
}, | |
"api.PlayerLeaderBoardResponse": { | |
"type": "object", | |
"properties": { | |
"scores": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/api.PlayerLeaderboardScore" | |
} | |
} | |
} | |
}, | |
"api.PlayerLeaderboardScore": { | |
"type": "object", | |
"properties": { | |
"creep_kills": { | |
"type": "integer" | |
}, | |
"damage_dealt": { | |
"type": "integer" | |
}, | |
"damage_taken": { | |
"type": "integer" | |
}, | |
"game_id": { | |
"type": "string" | |
}, | |
"game_name": { | |
"type": "string" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"player_kills": { | |
"type": "integer" | |
}, | |
"position": { | |
"type": "integer" | |
}, | |
"score": { | |
"type": "integer" | |
} | |
} | |
}, | |
"api.PlayerRequest": { | |
"type": "object", | |
"required": [ | |
"player_id" | |
], | |
"properties": { | |
"player_id": { | |
"type": "string", | |
"example": "6d950e36-b82b-4253-93d7-faa63d3a0e63" | |
} | |
} | |
}, | |
"api.PlayerScore": { | |
"type": "object", | |
"properties": { | |
"damage_dealt": { | |
"type": "integer" | |
}, | |
"damage_taken": { | |
"type": "integer" | |
}, | |
"killed_creep": { | |
"type": "integer" | |
}, | |
"killed_players": { | |
"type": "integer" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"score": { | |
"type": "integer" | |
} | |
} | |
}, | |
"api.PlayerStatusResponse": { | |
"type": "object", | |
"properties": { | |
"player": { | |
"type": "object", | |
"$ref": "#/definitions/game.Player" | |
} | |
} | |
}, | |
"api.PlayerSurroundingResponse": { | |
"type": "object", | |
"properties": { | |
"creep": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/game.Creep" | |
} | |
}, | |
"fow_enabled": { | |
"type": "boolean" | |
}, | |
"players": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/game.Player" | |
} | |
}, | |
"powerups": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/game.PowerUp" | |
} | |
} | |
} | |
}, | |
"api.PlayerTotalScore": { | |
"type": "object", | |
"properties": { | |
"average_position": { | |
"type": "integer" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"total_creep_kills": { | |
"type": "integer" | |
}, | |
"total_damage_dealt": { | |
"type": "integer" | |
}, | |
"total_damage_taken": { | |
"type": "integer" | |
}, | |
"total_player_kills": { | |
"type": "integer" | |
}, | |
"total_score": { | |
"type": "integer" | |
} | |
} | |
}, | |
"api.PowerupTypes": { | |
"type": "object", | |
"properties": { | |
"double_damage": { | |
"type": "integer" | |
}, | |
"health": { | |
"type": "integer" | |
}, | |
"teleport": { | |
"type": "integer" | |
} | |
} | |
}, | |
"api.RegisterPlayerRequest": { | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "my name" | |
} | |
} | |
}, | |
"api.StatusResponse": { | |
"type": "object", | |
"properties": { | |
"success": { | |
"type": "boolean" | |
} | |
} | |
}, | |
"game.Board": { | |
"type": "object", | |
"properties": { | |
"created": { | |
"type": "string" | |
}, | |
"creeps": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/game.Creep" | |
} | |
}, | |
"current_player": { | |
"type": "string" | |
}, | |
"events": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/storage.Event" | |
} | |
}, | |
"fow_distance": { | |
"type": "number" | |
}, | |
"id": { | |
"type": "string" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"players": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/game.Player" | |
} | |
}, | |
"powerups": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/game.PowerUp" | |
} | |
}, | |
"size_x": { | |
"type": "integer" | |
}, | |
"size_y": { | |
"type": "integer" | |
}, | |
"started": { | |
"type": "string" | |
}, | |
"status": { | |
"type": "integer" | |
} | |
} | |
}, | |
"game.Creep": { | |
"type": "object", | |
"properties": { | |
"health": { | |
"type": "integer" | |
}, | |
"id": { | |
"type": "string" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"position": { | |
"type": "object", | |
"$ref": "#/definitions/game.Position" | |
} | |
} | |
}, | |
"game.Player": { | |
"type": "object", | |
"properties": { | |
"action_count": { | |
"type": "integer" | |
}, | |
"buffs": { | |
"type": "array", | |
"items": { | |
"type": "integer" | |
} | |
}, | |
"damage_dealt": { | |
"type": "integer" | |
}, | |
"damage_taken": { | |
"type": "integer" | |
}, | |
"health": { | |
"type": "integer" | |
}, | |
"killed_creep": { | |
"type": "integer" | |
}, | |
"killed_players": { | |
"type": "integer" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"position": { | |
"type": "object", | |
"$ref": "#/definitions/game.Position" | |
}, | |
"powerups": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/game.PowerUp" | |
} | |
}, | |
"score": { | |
"type": "integer" | |
} | |
} | |
}, | |
"game.Position": { | |
"type": "object", | |
"properties": { | |
"x": { | |
"type": "integer" | |
}, | |
"y": { | |
"type": "integer" | |
} | |
} | |
}, | |
"game.PowerUp": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string" | |
}, | |
"position": { | |
"type": "object", | |
"$ref": "#/definitions/game.Position" | |
}, | |
"type": { | |
"type": "integer" | |
} | |
} | |
}, | |
"storage.Board": { | |
"type": "object", | |
"properties": { | |
"created": { | |
"type": "string" | |
}, | |
"ended": { | |
"type": "string" | |
}, | |
"events": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/storage.Event" | |
} | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"started": { | |
"type": "string" | |
}, | |
"status": { | |
"type": "integer" | |
}, | |
"uuid": { | |
"type": "string" | |
} | |
} | |
}, | |
"storage.Event": { | |
"type": "object", | |
"properties": { | |
"action": { | |
"type": "integer" | |
}, | |
"board_id": { | |
"type": "integer" | |
}, | |
"date_created": { | |
"type": "string" | |
}, | |
"dst_entity": { | |
"type": "integer" | |
}, | |
"dst_pos": { | |
"type": "integer" | |
}, | |
"msg": { | |
"type": "string" | |
}, | |
"src_entity": { | |
"type": "integer" | |
}, | |
"src_pos": { | |
"type": "integer" | |
} | |
} | |
}, | |
"storage.Player": { | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"scores": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/storage.PlayerGameScore" | |
} | |
}, | |
"uuid": { | |
"type": "string" | |
} | |
} | |
}, | |
"storage.PlayerGameScore": { | |
"type": "object", | |
"properties": { | |
"board_id": { | |
"type": "string" | |
}, | |
"damage_dealt": { | |
"type": "integer" | |
}, | |
"damage_taken": { | |
"type": "integer" | |
}, | |
"killed_creep": { | |
"type": "integer" | |
}, | |
"killed_players": { | |
"type": "integer" | |
}, | |
"position": { | |
"type": "integer" | |
}, | |
"score": { | |
"type": "integer" | |
} | |
} | |
} | |
}, | |
"securityDefinitions": { | |
"ApiKeyAuth": { | |
"type": "apiKey", | |
"name": "token", | |
"in": "header" | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment