Snoweuph
d15ab33a62
Some checks failed
Quality Check / Validate OAS (push) Successful in 40s
Build Application / build (push) Successful in 1m30s
Build Application / build-docker (push) Failing after 11s
Build Application / release (push) Has been skipped
Quality Check / Linting (push) Successful in 59s
Quality Check / Testing (push) Successful in 45s
Quality Check / Static Analysis (push) Successful in 53s
110 lines
No EOL
3 KiB
YAML
110 lines
No EOL
3 KiB
YAML
openapi: 3.0.0
|
|
info:
|
|
title: Tower Defence Server
|
|
description: An API for talking to the Tower Defence Server
|
|
version: 0.0.1
|
|
servers:
|
|
- url: /api/v1
|
|
- url: http://localhost:8080/api/v1
|
|
security:
|
|
- JWTAuth: []
|
|
|
|
components:
|
|
securitySchemes:
|
|
JWTAuth:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: JWT
|
|
schemas:
|
|
#############################################
|
|
# UUID #
|
|
#############################################
|
|
UUID:
|
|
description: Unique identifier compatible with [RFC9562](https://datatracker.ietf.org/doc/html/rfc9562)
|
|
type: string
|
|
format: uuid
|
|
example: f0981749-f550-46cd-b9ce-b6ca7cd0251f
|
|
#############################################
|
|
# AdminAuthInfo #
|
|
#############################################
|
|
ServerHealth:
|
|
type: object
|
|
properties:
|
|
okay:
|
|
type: boolean
|
|
required:
|
|
- okay
|
|
#############################################
|
|
# AdminAuthInfo #
|
|
#############################################
|
|
AdminAuthInfo:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
required:
|
|
- username
|
|
responses:
|
|
401Unauthorized:
|
|
description: "401 - Unauthorized"
|
|
404NotFound:
|
|
description: "Not Found"
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
409Conflict:
|
|
description: "409 - Conflict"
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
500InternalError:
|
|
description: "500 - Internal Server Error"
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
503ServiceUnavailable:
|
|
description: "503 - Service Unavailable"
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
paths:
|
|
/server/health:
|
|
get:
|
|
operationId: "ServerGetHealthcheck"
|
|
tags:
|
|
- server
|
|
description: "Endpoint for doing a Healthcheck of the Server"
|
|
responses:
|
|
200:
|
|
description: "A Health-Report of the server"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ServerHealth"
|
|
500:
|
|
$ref: "#/components/responses/500InternalError"
|
|
503:
|
|
$ref: "#/components/responses/503ServiceUnavailable"
|
|
/admin/authenticated:
|
|
get:
|
|
operationId: "AdminGetAuthenticated"
|
|
tags:
|
|
- admin
|
|
description: "Endpoint for Checking if you're authenticated as an admin"
|
|
responses:
|
|
200:
|
|
description: "A Minimal Admin Info for testing if the admin is logged in"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AdminAuthInfo"
|
|
401:
|
|
$ref: "#/components/responses/401Unauthorized"
|
|
500:
|
|
$ref: "#/components/responses/500InternalError"
|
|
503:
|
|
$ref: "#/components/responses/503ServiceUnavailable" |