{ "openapi": "3.0.1", "info": { "title": "LaDOSE.Api | v1", "version": "1.0.0" }, "servers": [ { "url": "http://localhost:5000/" } ], "paths": { "/api/BotEvent/ResultBotEvent": { "post": { "tags": [ "BotEvent" ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/BotEventSendDTO" } }, "application/json": { "schema": { "$ref": "#/components/schemas/BotEventSendDTO" } }, "text/json": { "schema": { "$ref": "#/components/schemas/BotEventSendDTO" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/BotEventSendDTO" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "boolean" } } } } } } }, "/api/BotEvent": { "post": { "tags": [ "BotEvent" ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/BotEventDTO" } }, "application/json": { "schema": { "$ref": "#/components/schemas/BotEventDTO" } }, "text/json": { "schema": { "$ref": "#/components/schemas/BotEventDTO" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/BotEventDTO" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BotEventDTO" } } } } } }, "get": { "tags": [ "BotEvent" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/BotEventDTO" } } } } } } } }, "/api/BotEvent/{id}": { "get": { "tags": [ "BotEvent" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BotEventDTO" } } } } } }, "delete": { "tags": [ "BotEvent" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { } } } } } }, "/api/Event": { "get": { "tags": [ "Event" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EventDTO" } } } } } } }, "post": { "tags": [ "Event" ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/EventDTO" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EventDTO" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EventDTO" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/EventDTO" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventDTO" } } } } } } }, "/api/Event/{id}": { "get": { "tags": [ "Event" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventDTO" } } } } } }, "delete": { "tags": [ "Event" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { } } } } } }, "/api/Game/smash/{name}": { "get": { "tags": [ "Game" ], "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GameDTO" } } } } } } } }, "/api/Game": { "post": { "tags": [ "Game" ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/GameDTO" } }, "application/json": { "schema": { "$ref": "#/components/schemas/GameDTO" } }, "text/json": { "schema": { "$ref": "#/components/schemas/GameDTO" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/GameDTO" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GameDTO" } } } } } }, "get": { "tags": [ "Game" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GameDTO" } } } } } } } }, "/api/Game/{id}": { "get": { "tags": [ "Game" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GameDTO" } } } } } }, "delete": { "tags": [ "Game" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { } } } } } }, "/api/Statistics/Matches": { "post": { "tags": [ "Statistics" ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "type": "array", "items": { "type": "integer", "format": "int32" } } }, "application/json": { "schema": { "type": "array", "items": { "type": "integer", "format": "int32" } } }, "text/json": { "schema": { "type": "array", "items": { "type": "integer", "format": "int32" } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "integer", "format": "int32" } } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchStatsDTO" } } } } } } }, "/api/Todo": { "post": { "tags": [ "Todo" ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/TodoDTO" } }, "application/json": { "schema": { "$ref": "#/components/schemas/TodoDTO" } }, "text/json": { "schema": { "$ref": "#/components/schemas/TodoDTO" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/TodoDTO" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TodoDTO" } } } } } }, "get": { "tags": [ "Todo" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TodoDTO" } } } } } } } }, "/api/Todo/{id}": { "get": { "tags": [ "Todo" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TodoDTO" } } } } } }, "delete": { "tags": [ "Todo" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { } } } } } }, "/api/Tournament/GetTournaments": { "post": { "tags": [ "Tournament" ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/TimeRangeDTO" } }, "application/json": { "schema": { "$ref": "#/components/schemas/TimeRangeDTO" } }, "text/json": { "schema": { "$ref": "#/components/schemas/TimeRangeDTO" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/TimeRangeDTO" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TournamentDTO" } } } } } } } }, "/api/Tournament/GetResults": { "post": { "tags": [ "Tournament" ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "type": "array", "items": { "type": "integer", "format": "int32" } } }, "application/json": { "schema": { "type": "array", "items": { "type": "integer", "format": "int32" } } }, "text/json": { "schema": { "type": "array", "items": { "type": "integer", "format": "int32" } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "integer", "format": "int32" } } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TournamentsResultDTO" } } } } } } }, "/api/Tournament/ParseSmash/{tournamentSlug}": { "get": { "tags": [ "Tournament" ], "parameters": [ { "name": "tournamentSlug", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "boolean" } } } } } } }, "/api/Tournament/ParseChallonge": { "post": { "tags": [ "Tournament" ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "type": "array", "items": { "type": "integer", "format": "int32" } } }, "application/json": { "schema": { "type": "array", "items": { "type": "integer", "format": "int32" } } }, "text/json": { "schema": { "type": "array", "items": { "type": "integer", "format": "int32" } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "integer", "format": "int32" } } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "boolean" } } } } } } }, "/api/Tournament/GetPlayers/{slug}": { "get": { "tags": [ "Tournament" ], "parameters": [ { "name": "slug", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/Users/auth": { "post": { "tags": [ "Users" ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ApplicationUserDTO" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationUserDTO" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ApplicationUserDTO" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ApplicationUserDTO" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationUserDTO" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { } } } } } }, "/Users": { "get": { "tags": [ "Users" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ApplicationUserDTO" } } } } } } } }, "/Users/Roles": { "get": { "tags": [ "Users" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/Users/AddUser": { "post": { "tags": [ "Users" ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ApplicationUserDTO" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationUserDTO" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ApplicationUserDTO" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ApplicationUserDTO" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationUserDTO" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { } } } } } }, "/Users/{id}": { "delete": { "tags": [ "Users" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "204": { "description": "No Content", "content": { "application/json": { } } }, "400": { "description": "Bad Request", "content": { "application/json": { } } }, "404": { "description": "Not Found", "content": { "application/json": { } } } } } }, "/api/WordPress/WPEvent": { "get": { "tags": [ "WordPress" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WPEventDTO" } } } } } } } }, "/api/WordPress/NextEvent": { "get": { "tags": [ "WordPress" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WPEventDTO" } } } } } } }, "/api/WordPress/GetUsers/{wpEventId}/{gameId}": { "get": { "tags": [ "WordPress" ], "parameters": [ { "name": "wpEventId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "gameId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WPUserDTO2" } } } } } } } }, "/api/WordPress/GetUsersOptions/{wpEventId}/{gameId}": { "get": { "tags": [ "WordPress" ], "parameters": [ { "name": "wpEventId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "gameId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WPUserDTO2" } } } } } } } }, "/api/WordPress/UpdateDb": { "get": { "tags": [ "WordPress" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "boolean" } } } } } } }, "/api/WordPress/CreateChallonge/{gameId}/{wpEventId}": { "get": { "tags": [ "WordPress" ], "parameters": [ { "name": "gameId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "wpEventId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "string" } } } } } }, "post": { "tags": [ "WordPress" ], "parameters": [ { "name": "gameId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "wpEventId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WPUser" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WPUser" } } }, "text/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WPUser" } } }, "application/*+json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WPUser" } } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "string" } } } } } } } }, "components": { "schemas": { "ApplicationUserDTO": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "roles": { "type": "array", "items": { "type": "string" }, "nullable": true }, "token": { "type": "string", "nullable": true }, "expire": { "type": "string", "format": "date-time" } } }, "BotEventDTO": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": "string", "nullable": true }, "date": { "type": "string", "format": "date-time" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/BotEventResultDTO" }, "nullable": true } } }, "BotEventResultDTO": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": "string", "nullable": true }, "discordId": { "type": "string", "nullable": true }, "result": { "type": "boolean" } } }, "BotEventSendDTO": { "type": "object", "properties": { "discordId": { "type": "string", "nullable": true }, "discordName": { "type": "string", "nullable": true }, "present": { "type": "boolean" } } }, "EventDTO": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": "string", "nullable": true }, "date": { "type": "string", "format": "date-time" } } }, "GameDTO": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": "string", "nullable": true }, "longName": { "type": "string", "nullable": true }, "order": { "type": "integer", "format": "int32" }, "imgUrl": { "type": "string", "nullable": true }, "wordPressTag": { "type": "string", "nullable": true }, "wordPressTagOs": { "type": "string", "nullable": true }, "smashId": { "type": "integer", "format": "int32", "nullable": true } } }, "HeadToHeadDTO": { "type": "object", "properties": { "playerAId": { "type": "integer", "format": "int32" }, "playerA": { "type": "string", "nullable": true }, "playerBId": { "type": "integer", "format": "int32" }, "playerB": { "type": "string", "nullable": true }, "winsA": { "type": "integer", "format": "int32" }, "winsB": { "type": "integer", "format": "int32" } } }, "MatchCoverageDTO": { "type": "object", "properties": { "events": { "type": "integer", "format": "int32" }, "brackets": { "type": "integer", "format": "int32" }, "bracketsWithSets": { "type": "integer", "format": "int32" }, "sets": { "type": "integer", "format": "int32" }, "decidedSets": { "type": "integer", "format": "int32" } }, "nullable": true }, "MatchStatsDTO": { "type": "object", "properties": { "coverage": { "$ref": "#/components/schemas/MatchCoverageDTO" }, "players": { "type": "array", "items": { "$ref": "#/components/schemas/PlayerMatchStatsDTO" }, "nullable": true }, "headToHead": { "type": "array", "items": { "$ref": "#/components/schemas/HeadToHeadDTO" }, "nullable": true } } }, "ParticipentDTO": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "challongeId": { "type": "integer", "format": "int32" }, "name": { "type": "string", "nullable": true }, "rank": { "type": "integer", "format": "int32" }, "isMember": { "type": "boolean", "nullable": true } } }, "PlayerMatchStatsDTO": { "type": "object", "properties": { "playerId": { "type": "integer", "format": "int32" }, "player": { "type": "string", "nullable": true }, "sets": { "type": "integer", "format": "int32" }, "wins": { "type": "integer", "format": "int32" }, "losses": { "type": "integer", "format": "int32" }, "gamesWon": { "type": "integer", "format": "int32" }, "gamesLost": { "type": "integer", "format": "int32" } } }, "ResultDTO": { "type": "object", "properties": { "gameId": { "type": "integer", "format": "int32" }, "player": { "type": "string", "nullable": true }, "point": { "type": "integer", "format": "int32" }, "tournamendId": { "type": "integer", "format": "int32" }, "tournamentUrl": { "type": "string", "nullable": true }, "rank": { "type": "integer", "format": "int32" } } }, "TimeRangeDTO": { "type": "object", "properties": { "from": { "type": "string", "format": "date-time", "nullable": true }, "to": { "type": "string", "format": "date-time", "nullable": true } } }, "TodoDTO": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "user": { "type": "string", "nullable": true }, "task": { "type": "string", "nullable": true }, "done": { "type": "boolean" }, "created": { "type": "string", "format": "date-time" }, "deleted": { "type": "string", "format": "date-time", "nullable": true } } }, "TournamentDTO": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "challongeId": { "type": "integer", "format": "int32" }, "name": { "type": "string", "nullable": true }, "game": { "type": "string", "nullable": true }, "participents": { "type": "array", "items": { "$ref": "#/components/schemas/ParticipentDTO" }, "nullable": true } } }, "TournamentsResultDTO": { "type": "object", "properties": { "participents": { "type": "array", "items": { "$ref": "#/components/schemas/ParticipentDTO" }, "nullable": true }, "games": { "type": "array", "items": { "$ref": "#/components/schemas/GameDTO" }, "nullable": true }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/ResultDTO" }, "nullable": true }, "slug": { "type": "string", "nullable": true } } }, "WPBooking": { "type": "object", "properties": { "wpEventId": { "type": "integer", "format": "int32" }, "wpEvent": { "$ref": "#/components/schemas/WPEvent" }, "wpUserId": { "type": "integer", "format": "int32" }, "wpUser": { "$ref": "#/components/schemas/WPUser2" }, "message": { "type": "string", "nullable": true }, "meta": { "type": "string", "nullable": true } } }, "WPBookingDTO": { "type": "object", "properties": { "wpUser": { "$ref": "#/components/schemas/WPUserDTO" }, "message": { "type": "string", "nullable": true }, "meta": { "type": "string", "nullable": true } } }, "WPEvent": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": "string", "nullable": true }, "slug": { "type": "string", "nullable": true }, "date": { "type": "string", "format": "date-time", "nullable": true }, "wpBookings": { "type": "array", "items": { }, "nullable": true } }, "nullable": true }, "WPEventDTO": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": "string", "nullable": true }, "slug": { "type": "string", "nullable": true }, "date": { "type": "string", "format": "date-time", "nullable": true }, "wpBookings": { "type": "array", "items": { "$ref": "#/components/schemas/WPBookingDTO" }, "nullable": true } } }, "WPUser": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": "string", "nullable": true }, "wpUserLogin": { "type": "string", "nullable": true }, "wpMail": { "type": "string", "nullable": true }, "wpBookings": { "type": "array", "items": { "$ref": "#/components/schemas/WPBooking" }, "nullable": true } } }, "WPUser2": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": "string", "nullable": true }, "wpUserLogin": { "type": "string", "nullable": true }, "wpMail": { "type": "string", "nullable": true }, "wpBookings": { "type": "array", "items": { "$ref": "#/components/schemas/WPBooking" }, "nullable": true } }, "nullable": true }, "WPUserDTO": { "type": "object", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true } }, "nullable": true }, "WPUserDTO2": { "type": "object", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true } } } } }, "tags": [ { "name": "BotEvent" }, { "name": "Event" }, { "name": "Game" }, { "name": "Statistics" }, { "name": "Todo" }, { "name": "Tournament" }, { "name": "Users" }, { "name": "WordPress" } ] }