Add initial API documentation
This commit is contained in:
parent
fae6bc2a5e
commit
6676e1cdff
|
@ -0,0 +1,174 @@
|
|||
openapi: 3.1.0
|
||||
info:
|
||||
title: PVV Ozai
|
||||
description: PVV Ozai
|
||||
version: 1.0.0
|
||||
servers:
|
||||
- url: https://ozai.pvv.ntnu.no
|
||||
paths:
|
||||
/{gameId}:
|
||||
get:
|
||||
summary: Find pet by ID
|
||||
description: Returns a single pet
|
||||
operationId: getGameById
|
||||
parameters:
|
||||
- name: gameId
|
||||
in: path
|
||||
description: ID of game
|
||||
required: true
|
||||
schema:
|
||||
type: integer
|
||||
format: int64
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/GameState'
|
||||
application/xml:
|
||||
schema:
|
||||
$ref: '#/components/schemas/GameState'
|
||||
'400':
|
||||
description: Invalid ID supplied
|
||||
'404':
|
||||
description: Game not found
|
||||
put:
|
||||
summary: Submit move
|
||||
description: ''
|
||||
operationId: submitMove
|
||||
parameters:
|
||||
- name: gameId
|
||||
in: path
|
||||
description: ID of pet that needs to be updated
|
||||
required: true
|
||||
schema:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: move
|
||||
in: query
|
||||
description: Mov
|
||||
schema:
|
||||
type: string
|
||||
- name: status
|
||||
in: query
|
||||
description: Status of pet that needs to be updated
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
'400':
|
||||
description: Invalid input
|
||||
components:
|
||||
schemas:
|
||||
GameState:
|
||||
type: object
|
||||
properties:
|
||||
currentPlayer:
|
||||
type: integer
|
||||
format: int32
|
||||
bag:
|
||||
$ref: '#/components/schemas/TileSet'
|
||||
lid:
|
||||
$ref: '#/components/schemas/TileSet'
|
||||
factories:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/TileSet'
|
||||
market:
|
||||
$ref: '#/components/schemas/TileSetWithStart'
|
||||
players:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/Player'
|
||||
TileSet:
|
||||
type: object
|
||||
properties:
|
||||
blue:
|
||||
type: integer
|
||||
format: int32
|
||||
yellow:
|
||||
type: integer
|
||||
format: int32
|
||||
red:
|
||||
type: integer
|
||||
format: int32
|
||||
black:
|
||||
type: integer
|
||||
format: int32
|
||||
white:
|
||||
type: integer
|
||||
format: int32
|
||||
TileSetWithStart:
|
||||
type: object
|
||||
properties:
|
||||
start:
|
||||
type: integer
|
||||
format: int32
|
||||
blue:
|
||||
type: integer
|
||||
format: int32
|
||||
yellow:
|
||||
type: integer
|
||||
format: int32
|
||||
red:
|
||||
type: integer
|
||||
format: int32
|
||||
black:
|
||||
type: integer
|
||||
format: int32
|
||||
white:
|
||||
type: integer
|
||||
format: int32
|
||||
Player:
|
||||
type: object
|
||||
properties:
|
||||
points:
|
||||
type: integer
|
||||
format: int32
|
||||
patternLines:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/PatternLine'
|
||||
wall:
|
||||
$ref: '#/components/schemas/Wall'
|
||||
floor:
|
||||
$ref: '#/components/schemas/TileSetWithStart'
|
||||
PatternLine:
|
||||
type: object
|
||||
properties:
|
||||
color:
|
||||
$ref: '#/components/schemas/Color'
|
||||
number:
|
||||
type: integer
|
||||
format: int32
|
||||
Color:
|
||||
enum: ["blue", "yellow", "red", "black", "white"]
|
||||
Wall:
|
||||
type: object
|
||||
properties:
|
||||
blue:
|
||||
type: boolean
|
||||
yellow:
|
||||
type: boolean
|
||||
red:
|
||||
type: boolean
|
||||
black:
|
||||
type: boolean
|
||||
white:
|
||||
type: boolean
|
||||
Move:
|
||||
type: object
|
||||
properties:
|
||||
player:
|
||||
type: integer
|
||||
format: int32
|
||||
market:
|
||||
type: boolean
|
||||
factory:
|
||||
type: integer
|
||||
format: int32
|
||||
color:
|
||||
$ref: '#/components/schemas/Color'
|
||||
patternLine:
|
||||
type: integer
|
||||
format: int32
|
Loading…
Reference in New Issue