216 lines
11 KiB
JSON
216 lines
11 KiB
JSON
{
|
|
"openapi": "3.1.0",
|
|
"info": {
|
|
"version": "9.6.1",
|
|
"title": "@fastify/swagger"
|
|
},
|
|
"components": {
|
|
"schemas": {}
|
|
},
|
|
"paths": {
|
|
"/api/ttt/history/{user}": {
|
|
"get": {
|
|
"operationId": "tttHistory",
|
|
"parameters": [
|
|
{
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"in": "path",
|
|
"name": "user",
|
|
"required": true,
|
|
"description": "'me' | <userid>"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"kind",
|
|
"msg",
|
|
"payload"
|
|
],
|
|
"properties": {
|
|
"kind": {
|
|
"enum": [
|
|
"success"
|
|
]
|
|
},
|
|
"msg": {
|
|
"enum": [
|
|
"ttthistory.success"
|
|
]
|
|
},
|
|
"payload": {
|
|
"type": "object",
|
|
"required": [
|
|
"data"
|
|
],
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"gameId",
|
|
"playerX",
|
|
"playerO",
|
|
"date",
|
|
"outcome"
|
|
],
|
|
"properties": {
|
|
"gameId": {
|
|
"type": "string",
|
|
"description": "gameId"
|
|
},
|
|
"playerX": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"playerO": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"date": {
|
|
"type": "string"
|
|
},
|
|
"outcome": {
|
|
"enum": [
|
|
"winX",
|
|
"winO",
|
|
"other",
|
|
"draw"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"kind",
|
|
"msg"
|
|
],
|
|
"properties": {
|
|
"kind": {
|
|
"enum": [
|
|
"notLoggedIn"
|
|
]
|
|
},
|
|
"msg": {
|
|
"enum": [
|
|
"auth.noCookie",
|
|
"auth.invalidKind",
|
|
"auth.noUser",
|
|
"auth.invalid"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"kind",
|
|
"msg"
|
|
],
|
|
"properties": {
|
|
"kind": {
|
|
"enum": [
|
|
"notLoggedIn"
|
|
]
|
|
},
|
|
"msg": {
|
|
"enum": [
|
|
"auth.noCookie",
|
|
"auth.invalidKind",
|
|
"auth.noUser",
|
|
"auth.invalid"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"kind",
|
|
"msg"
|
|
],
|
|
"properties": {
|
|
"kind": {
|
|
"enum": [
|
|
"failure"
|
|
]
|
|
},
|
|
"msg": {
|
|
"enum": [
|
|
"ttthistory.failure.notfound"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "https://local.maix.me:8888",
|
|
"description": "direct from docker"
|
|
},
|
|
{
|
|
"url": "https://local.maix.me:8000",
|
|
"description": "using fnginx"
|
|
}
|
|
]
|
|
}
|