{ "swagger": "2.0", "info": { "title": "Merch Parser", "contact": {}, "version": "2.0.0-alpha" }, "basePath": "/api/v2", "paths": { "/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/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": { "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" } } }, "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" } } }