302 lines
10 KiB
JSON
302 lines
10 KiB
JSON
{
|
|
"schemes": [
|
|
"https",
|
|
"http"
|
|
],
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"description": "This is a sample server for History API.",
|
|
"title": "History API",
|
|
"termsOfService": "http://swagger.io/terms/",
|
|
"contact": {
|
|
"name": "API Support",
|
|
"url": "http://www.swagger.io/support",
|
|
"email": "support@swagger.io"
|
|
},
|
|
"license": {
|
|
"name": "Apache 2.0",
|
|
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
|
},
|
|
"version": "1.0"
|
|
},
|
|
"host": "history-api.kain.id.vn",
|
|
"basePath": "/",
|
|
"paths": {
|
|
"/auth/refresh": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Get a new access token using the user's current session/refresh token",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "Refresh access token",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/signin": {
|
|
"post": {
|
|
"description": "Authenticate user and return token data",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "Sign in an existing user",
|
|
"parameters": [
|
|
{
|
|
"description": "Sign In request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.SignInDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/signup": {
|
|
"post": {
|
|
"description": "Create a new user account",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "Sign up a new user",
|
|
"parameters": [
|
|
{
|
|
"description": "Sign Up request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.SignUpDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/tiles/metadata": {
|
|
"get": {
|
|
"description": "Retrieve map metadata",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Tile"
|
|
],
|
|
"summary": "Get tile metadata",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/tiles/{z}/{x}/{y}": {
|
|
"get": {
|
|
"description": "Fetch vector or raster map tile data by Z, X, Y coordinates",
|
|
"produces": [
|
|
"application/octet-stream"
|
|
],
|
|
"tags": [
|
|
"Tile"
|
|
],
|
|
"summary": "Get a map tile",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Zoom level (0-22)",
|
|
"name": "z",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "X coordinate",
|
|
"name": "x",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Y coordinate",
|
|
"name": "y",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "file"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"history-api_internal_dtos_request.SignInDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"email",
|
|
"password"
|
|
],
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 5
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"maxLength": 64,
|
|
"minLength": 8
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.SignUpDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"display_name",
|
|
"email",
|
|
"password"
|
|
],
|
|
"properties": {
|
|
"display_name": {
|
|
"type": "string",
|
|
"maxLength": 50,
|
|
"minLength": 2
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 5
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"maxLength": 64,
|
|
"minLength": 8
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_response.CommonResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"securityDefinitions": {
|
|
"BearerAuth": {
|
|
"description": "Type \"Bearer \" followed by a space and JWT token.",
|
|
"type": "apiKey",
|
|
"name": "Authorization",
|
|
"in": "header"
|
|
}
|
|
}
|
|
} |