api/docs/docs.go

784 lines
26 KiB
Go
Raw Normal View History

2025-07-06 22:29:48 +03:00
// Package docs Code generated by swaggo/swag. DO NOT EDIT
package docs
import "github.com/swaggo/swag"
const docTemplate = `{
"schemes": {{ marshal .Schemes }},
"swagger": "2.0",
"info": {
"description": "{{escape .Description}}",
"title": "{{.Title}}",
"contact": {},
"version": "{{.Version}}"
},
"host": "{{.Host}}",
"basePath": "{{.BasePath}}",
"paths": {
2025-09-15 15:13:56 +03:00
"/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"
}
}
}
}
},
2025-09-18 17:24:06 +03:00
"/merch/": {
2025-09-18 17:09:58 +03:00
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Получить все записи мерча",
"tags": [
"Merch"
],
"summary": "Получить все записи мерча",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/merch.ListResponse"
}
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/responses.ErrorResponse400"
}
},
2025-09-18 17:24:06 +03:00
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/responses.ErrorResponse500"
}
}
}
}
},
"/merch/{uuid}": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Получить всю информацию про мерч по его uuid",
"tags": [
"Merch"
],
"summary": "Получить всю информацию про мерч",
"parameters": [
{
"type": "string",
"description": "merch_uuid",
"name": "uuid",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/merch.MerchDTO"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/responses.ErrorResponse400"
}
},
2025-09-18 17:09:58 +03:00
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/responses.ErrorResponse500"
}
}
}
},
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Обновить информацию про мерч по его uuid в json-е",
"tags": [
"Merch"
],
"summary": "Обновить информацию про мерч",
"parameters": [
{
"description": "merch_uuid",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/merch.MerchDTO"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/merch.MerchDTO"
}
},
"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": [
"Merch"
],
"summary": "Пометить мерч как удаленный",
"parameters": [
{
"type": "string",
"description": "merch_uuid",
"name": "uuid",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/merch.MerchDTO"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/responses.ErrorResponse400"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/responses.ErrorResponse500"
}
}
}
}
},
2025-09-24 20:28:49 +03:00
"/prices": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Получить цены мерча за период",
"tags": [
"Merch"
],
"summary": "Получить цены мерча за период",
"parameters": [
{
"type": "string",
"description": "merch_uuid",
"name": "days",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/merch.PricesResponse"
}
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/responses.ErrorResponse400"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/responses.ErrorResponse500"
}
}
}
}
},
2025-07-06 22:29:48 +03:00
"/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"
}
}
}
}
2025-07-07 17:49:34 +03:00
},
2025-09-14 19:34:06 +03:00
"/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"
}
}
}
}
},
2025-09-12 23:54:56 +03:00
"/user/auth/login": {
2025-07-07 17:49:34 +03:00
"post": {
"description": "Логин",
"consumes": [
"application/json"
],
"tags": [
"Users - auth"
],
"summary": "Логин",
"parameters": [
{
"description": "логин",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/user.Login"
}
}
],
"responses": {
"200": {
2025-09-12 23:54:56 +03:00
"description": "OK",
"schema": {
"$ref": "#/definitions/user.LoginResponse"
}
2025-07-07 17:49:34 +03:00
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/responses.ErrorResponse400"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/responses.ErrorResponse500"
}
}
}
}
},
2025-09-12 23:54:56 +03:00
"/user/auth/logout": {
2025-07-07 17:49:34 +03:00
"post": {
2025-09-12 23:54:56 +03:00
"description": "Логаут. Для логаута надо передать refresh token, он будет инвалидирован.",
2025-07-07 17:49:34 +03:00
"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"
}
}
}
}
},
2025-09-12 23:54:56 +03:00
"/user/auth/refresh": {
2025-07-07 17:49:34 +03:00
"post": {
2025-09-14 16:23:01 +03:00
"description": "Принимает рефреш токен в http only куки",
2025-07-07 17:49:34 +03:00
"tags": [
"Users - auth"
],
"summary": "Обновление аксесс токена по рефреш токену.",
"responses": {
"200": {
2025-09-12 23:54:56 +03:00
"description": "OK",
"schema": {
"$ref": "#/definitions/user.LoginResponse"
}
2025-07-07 17:49:34 +03:00
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/responses.ErrorResponse400"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/responses.ErrorResponse500"
}
}
}
}
2025-07-06 22:29:48 +03:00
}
},
"definitions": {
2025-09-18 17:09:58 +03:00
"merch.ListResponse": {
"type": "object",
"properties": {
"merch_uuid": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
2025-09-15 15:13:56 +03:00
"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"
}
}
},
2025-09-24 20:28:49 +03:00
"merch.OriginWithPrices": {
"type": "object",
"properties": {
"origin": {
"type": "integer"
},
"prices": {
"type": "array",
"items": {
"$ref": "#/definitions/merch.PriceEntry"
}
}
}
},
"merch.PriceEntry": {
"type": "object",
"properties": {
"created_at": {
"type": "string"
},
"value": {
"type": "integer"
}
}
},
"merch.PricesResponse": {
2025-09-15 15:13:56 +03:00
"type": "object",
"properties": {
2025-09-24 20:28:49 +03:00
"merch_uuid": {
"type": "string"
},
"name": {
2025-09-15 15:13:56 +03:00
"type": "string"
},
2025-09-24 20:28:49 +03:00
"origins": {
"type": "array",
"items": {
"$ref": "#/definitions/merch.OriginWithPrices"
}
}
}
},
"merch.SurugayaDTO": {
"type": "object",
"properties": {
2025-09-15 15:13:56 +03:00
"link": {
"type": "string"
}
}
},
2025-07-06 22:29:48 +03:00
"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"
}
}
},
2025-09-14 19:34:06 +03:00
"shared.CurrentSession": {
"type": "object",
"properties": {
"expires": {
"type": "string"
},
"uuid": {
"type": "string"
}
}
},
2025-07-06 22:29:48 +03:00
"user.Info": {
"type": "object",
"properties": {
"created_at": {
"type": "string"
},
"email": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
2025-07-07 17:49:34 +03:00
"user.Login": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"password": {
"type": "string"
}
}
},
2025-09-12 23:54:56 +03:00
"user.LoginResponse": {
"type": "object",
"properties": {
"access_token": {
"type": "string"
}
}
},
2025-07-06 22:29:48 +03:00
"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"
}
}
}`
// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
Version: "2.0.0-alpha",
Host: "",
BasePath: "/api/v2",
Schemes: []string{},
Title: "Merch Parser",
Description: "",
InfoInstanceName: "swagger",
SwaggerTemplate: docTemplate,
LeftDelim: "{{",
RightDelim: "}}",
}
func init() {
swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}