498 lines
No EOL
17 KiB
JSON
498 lines
No EOL
17 KiB
JSON
{
|
||
"swagger": "2.0",
|
||
"info": {
|
||
"title": "Merch Parser",
|
||
"contact": {},
|
||
"version": "2.0.0-alpha"
|
||
},
|
||
"basePath": "/api/v2",
|
||
"paths": {
|
||
"/merch": {
|
||
"post": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Добавить новый мерч",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"Merch"
|
||
],
|
||
"summary": "Добавить новый мерч",
|
||
"parameters": [
|
||
{
|
||
"description": "новый мерч",
|
||
"name": "body",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/merch.MerchDTO"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK"
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse400"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse500"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/user": {
|
||
"get": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Получает информацию о пользователе по его uuid из токена",
|
||
"tags": [
|
||
"Users"
|
||
],
|
||
"summary": "Получить информацию о пользователе",
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/user.Info"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse400"
|
||
}
|
||
},
|
||
"401": {
|
||
"description": "Unauthorized",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse401"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse500"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Обновить информацию о пользователе по его uuid из токена",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"Users"
|
||
],
|
||
"summary": "Обновить информацию о пользователе",
|
||
"parameters": [
|
||
{
|
||
"description": "изменения",
|
||
"name": "body",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/user.Update"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK"
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse400"
|
||
}
|
||
},
|
||
"401": {
|
||
"description": "Unauthorized",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse401"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse500"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"post": {
|
||
"description": "Регистрация нового пользователя",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"Users"
|
||
],
|
||
"summary": "Регистрация нового пользователя",
|
||
"parameters": [
|
||
{
|
||
"description": "новый пользователь",
|
||
"name": "body",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/user.Register"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK"
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse400"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse500"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"delete": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Помечает пользователя как удаленного по его uuid из токена",
|
||
"tags": [
|
||
"Users"
|
||
],
|
||
"summary": "Удалить пользователя",
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK"
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse400"
|
||
}
|
||
},
|
||
"401": {
|
||
"description": "Unauthorized",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse401"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse500"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/user/auth/current-session": {
|
||
"get": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Возвращает информацию о текущей сессии пользователя",
|
||
"tags": [
|
||
"Users"
|
||
],
|
||
"summary": "Возвращает информацию о текущей сессии пользователя",
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/shared.CurrentSession"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse400"
|
||
}
|
||
},
|
||
"401": {
|
||
"description": "Unauthorized",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse401"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse500"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/user/auth/login": {
|
||
"post": {
|
||
"description": "Логин",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"Users - auth"
|
||
],
|
||
"summary": "Логин",
|
||
"parameters": [
|
||
{
|
||
"description": "логин",
|
||
"name": "body",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/user.Login"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/user.LoginResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse400"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse500"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/user/auth/logout": {
|
||
"post": {
|
||
"description": "Логаут. Для логаута надо передать refresh token, он будет инвалидирован.",
|
||
"tags": [
|
||
"Users - auth"
|
||
],
|
||
"summary": "Логаут",
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK"
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse400"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse500"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/user/auth/refresh": {
|
||
"post": {
|
||
"description": "Принимает рефреш токен в http only куки",
|
||
"tags": [
|
||
"Users - auth"
|
||
],
|
||
"summary": "Обновление аксесс токена по рефреш токену.",
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/user.LoginResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse400"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/responses.ErrorResponse500"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"definitions": {
|
||
"merch.MandarakeDTO": {
|
||
"type": "object",
|
||
"properties": {
|
||
"link": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"merch.MerchDTO": {
|
||
"type": "object",
|
||
"properties": {
|
||
"merch_uuid": {
|
||
"type": "string"
|
||
},
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"origin_mandarake": {
|
||
"$ref": "#/definitions/merch.MandarakeDTO"
|
||
},
|
||
"origin_surugaya": {
|
||
"$ref": "#/definitions/merch.SurugayaDTO"
|
||
}
|
||
}
|
||
},
|
||
"merch.SurugayaDTO": {
|
||
"type": "object",
|
||
"properties": {
|
||
"cookie_values": {
|
||
"type": "string"
|
||
},
|
||
"link": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"responses.ErrorResponse400": {
|
||
"type": "object",
|
||
"properties": {
|
||
"error": {
|
||
"type": "string",
|
||
"example": "Bad Request"
|
||
}
|
||
}
|
||
},
|
||
"responses.ErrorResponse401": {
|
||
"type": "object",
|
||
"properties": {
|
||
"error": {
|
||
"type": "string",
|
||
"example": "Unauthorized"
|
||
}
|
||
}
|
||
},
|
||
"responses.ErrorResponse500": {
|
||
"type": "object",
|
||
"properties": {
|
||
"error": {
|
||
"type": "string",
|
||
"example": "Internal Server Error"
|
||
}
|
||
}
|
||
},
|
||
"shared.CurrentSession": {
|
||
"type": "object",
|
||
"properties": {
|
||
"expires": {
|
||
"type": "string"
|
||
},
|
||
"uuid": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"user.Info": {
|
||
"type": "object",
|
||
"properties": {
|
||
"created_at": {
|
||
"type": "string"
|
||
},
|
||
"email": {
|
||
"type": "string"
|
||
},
|
||
"username": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"user.Login": {
|
||
"type": "object",
|
||
"properties": {
|
||
"email": {
|
||
"type": "string"
|
||
},
|
||
"password": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"user.LoginResponse": {
|
||
"type": "object",
|
||
"properties": {
|
||
"access_token": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"user.Register": {
|
||
"type": "object",
|
||
"properties": {
|
||
"email": {
|
||
"type": "string"
|
||
},
|
||
"password": {
|
||
"type": "string"
|
||
},
|
||
"username": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"user.Update": {
|
||
"type": "object",
|
||
"properties": {
|
||
"email": {
|
||
"type": "string"
|
||
},
|
||
"username": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"securityDefinitions": {
|
||
"BearerAuth": {
|
||
"description": "Введите \"Bearer {your_token}\" для аутентификации",
|
||
"type": "apiKey",
|
||
"name": "Authorization",
|
||
"in": "header"
|
||
}
|
||
}
|
||
} |