1479 lines
48 KiB
Go
1479 lines
48 KiB
Go
// Package docs GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
|
||
// This file was generated by swaggo/swag
|
||
package docs
|
||
|
||
import (
|
||
"bytes"
|
||
"encoding/json"
|
||
"strings"
|
||
"text/template"
|
||
|
||
"github.com/swaggo/swag"
|
||
)
|
||
|
||
var doc = `{
|
||
"schemes": {{ marshal .Schemes }},
|
||
"swagger": "2.0",
|
||
"info": {
|
||
"description": "{{escape .Description}}",
|
||
"title": "{{.Title}}",
|
||
"contact": {},
|
||
"license": {
|
||
"name": "Apache 2.0",
|
||
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
||
},
|
||
"version": "{{.Version}}"
|
||
},
|
||
"host": "{{.Host}}",
|
||
"basePath": "{{.BasePath}}",
|
||
"paths": {
|
||
"/auth/login": {
|
||
"post": {
|
||
"description": "Аутентифицирует пользователя и выдает JWT токены",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"auth"
|
||
],
|
||
"summary": "Вход пользователя",
|
||
"parameters": [
|
||
{
|
||
"description": "Учетные данные пользователя",
|
||
"name": "credentials",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/entities.LoginRequest"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
},
|
||
"401": {
|
||
"description": "Unauthorized",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/auth/refresh": {
|
||
"post": {
|
||
"description": "Обновляет JWT токены с помощью refresh токена",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"auth"
|
||
],
|
||
"summary": "Обновление токенов",
|
||
"parameters": [
|
||
{
|
||
"description": "Refresh токен",
|
||
"name": "refreshToken",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/entities.TokenRequest"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
},
|
||
"401": {
|
||
"description": "Unauthorized",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/auth/register": {
|
||
"post": {
|
||
"description": "Регистрирует нового пользователя и выдает JWT токены",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"auth"
|
||
],
|
||
"summary": "Регистрация пользователя",
|
||
"parameters": [
|
||
{
|
||
"description": "Данные нового пользователя",
|
||
"name": "user",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/entities.RegisterRequest"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
},
|
||
"409": {
|
||
"description": "Conflict",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/auth/telegram": {
|
||
"post": {
|
||
"description": "Аутентифицирует пользователя через Telegram и выдает JWT токены",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"auth"
|
||
],
|
||
"summary": "Вход пользователя через Telegram",
|
||
"parameters": [
|
||
{
|
||
"description": "Данные аутентификации Telegram",
|
||
"name": "credentials",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/entities.TelegramAuthRequest"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
},
|
||
"401": {
|
||
"description": "Unauthorized",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.AuthResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/users": {
|
||
"get": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Возвращает список всех пользователей в системе",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"users"
|
||
],
|
||
"summary": "Получить всех пользователей",
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UsersResponse"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Обновляет информацию о существующем пользователе",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"users"
|
||
],
|
||
"summary": "Обновить пользователя",
|
||
"parameters": [
|
||
{
|
||
"description": "Информация о пользователе для обновления",
|
||
"name": "user",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/entities.User"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"post": {
|
||
"description": "Создает нового пользователя в системе",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"users"
|
||
],
|
||
"summary": "Добавить нового пользователя",
|
||
"parameters": [
|
||
{
|
||
"description": "Информация о пользователе",
|
||
"name": "user",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/entities.User"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"delete": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Удаляет пользователя из системы по ID",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"users"
|
||
],
|
||
"summary": "Удалить пользователя",
|
||
"parameters": [
|
||
{
|
||
"description": "ID пользователя для удаления",
|
||
"name": "request",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/entities.DeleteUserRequest"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/users/email/{email}": {
|
||
"get": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Возвращает информацию о пользователе по его Email",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"users"
|
||
],
|
||
"summary": "Получить пользователя по Email",
|
||
"parameters": [
|
||
{
|
||
"type": "string",
|
||
"description": "Email пользователя",
|
||
"name": "email",
|
||
"in": "path",
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/users/{id}": {
|
||
"get": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Возвращает информацию о пользователе по его ID",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"users"
|
||
],
|
||
"summary": "Получить пользователя по ID",
|
||
"parameters": [
|
||
{
|
||
"type": "string",
|
||
"description": "ID пользователя",
|
||
"name": "id",
|
||
"in": "path",
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "Internal Server Error",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.UserResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/wishlist": {
|
||
"post": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Create a new wishlist for the authenticated user",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"wishlist"
|
||
],
|
||
"summary": "Create a new wishlist",
|
||
"parameters": [
|
||
{
|
||
"type": "string",
|
||
"description": "Bearer token",
|
||
"name": "Authorization",
|
||
"in": "header",
|
||
"required": true
|
||
},
|
||
{
|
||
"description": "Wishlist data",
|
||
"name": "wishlist",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/entities.WishList"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Created",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListResponse"
|
||
}
|
||
},
|
||
"401": {
|
||
"description": "Unauthorized",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/wishlist/item": {
|
||
"post": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Create a new item for a wishlist",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"wishlist-items"
|
||
],
|
||
"summary": "Create a wishlist item",
|
||
"parameters": [
|
||
{
|
||
"type": "string",
|
||
"description": "Bearer token",
|
||
"name": "Authorization",
|
||
"in": "header",
|
||
"required": true
|
||
},
|
||
{
|
||
"description": "Wishlist item data",
|
||
"name": "item",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/entities.WishListItem"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Created",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemResponse"
|
||
}
|
||
},
|
||
"401": {
|
||
"description": "Unauthorized",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/wishlist/item/{id}": {
|
||
"get": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Get a wishlist item by its ID",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"wishlist-items"
|
||
],
|
||
"summary": "Get a wishlist item",
|
||
"parameters": [
|
||
{
|
||
"type": "string",
|
||
"description": "Item ID",
|
||
"name": "id",
|
||
"in": "path",
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemResponse"
|
||
}
|
||
},
|
||
"404": {
|
||
"description": "Not Found",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Update an existing wishlist item",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"wishlist-items"
|
||
],
|
||
"summary": "Update a wishlist item",
|
||
"parameters": [
|
||
{
|
||
"type": "string",
|
||
"description": "Bearer token",
|
||
"name": "Authorization",
|
||
"in": "header",
|
||
"required": true
|
||
},
|
||
{
|
||
"type": "string",
|
||
"description": "Item ID",
|
||
"name": "id",
|
||
"in": "path",
|
||
"required": true
|
||
},
|
||
{
|
||
"description": "Updated item data",
|
||
"name": "item",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/entities.WishListItem"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemResponse"
|
||
}
|
||
},
|
||
"401": {
|
||
"description": "Unauthorized",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemResponse"
|
||
}
|
||
},
|
||
"404": {
|
||
"description": "Not Found",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"delete": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Delete a wishlist item",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"wishlist-items"
|
||
],
|
||
"summary": "Delete a wishlist item",
|
||
"parameters": [
|
||
{
|
||
"type": "string",
|
||
"description": "Bearer token",
|
||
"name": "Authorization",
|
||
"in": "header",
|
||
"required": true
|
||
},
|
||
{
|
||
"type": "string",
|
||
"description": "Item ID",
|
||
"name": "id",
|
||
"in": "path",
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemResponse"
|
||
}
|
||
},
|
||
"401": {
|
||
"description": "Unauthorized",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemResponse"
|
||
}
|
||
},
|
||
"404": {
|
||
"description": "Not Found",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/wishlist/user/{userId}": {
|
||
"get": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Get all wishlists for a specific user",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"wishlist"
|
||
],
|
||
"summary": "Get user wishlists",
|
||
"parameters": [
|
||
{
|
||
"type": "string",
|
||
"description": "User ID",
|
||
"name": "userId",
|
||
"in": "path",
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListsResponse"
|
||
}
|
||
},
|
||
"404": {
|
||
"description": "Not Found",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/wishlist/{id}": {
|
||
"get": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Get a wishlist by its ID",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"wishlist"
|
||
],
|
||
"summary": "Get a wishlist",
|
||
"parameters": [
|
||
{
|
||
"type": "string",
|
||
"description": "Wishlist ID",
|
||
"name": "id",
|
||
"in": "path",
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListResponse"
|
||
}
|
||
},
|
||
"404": {
|
||
"description": "Not Found",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Update an existing wishlist",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"wishlist"
|
||
],
|
||
"summary": "Update a wishlist",
|
||
"parameters": [
|
||
{
|
||
"type": "string",
|
||
"description": "Bearer token",
|
||
"name": "Authorization",
|
||
"in": "header",
|
||
"required": true
|
||
},
|
||
{
|
||
"type": "string",
|
||
"description": "Wishlist ID",
|
||
"name": "id",
|
||
"in": "path",
|
||
"required": true
|
||
},
|
||
{
|
||
"description": "Updated wishlist data",
|
||
"name": "wishlist",
|
||
"in": "body",
|
||
"required": true,
|
||
"schema": {
|
||
"$ref": "#/definitions/entities.WishList"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListResponse"
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "Bad Request",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListResponse"
|
||
}
|
||
},
|
||
"401": {
|
||
"description": "Unauthorized",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListResponse"
|
||
}
|
||
},
|
||
"404": {
|
||
"description": "Not Found",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"delete": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Delete a wishlist and all its items",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"wishlist"
|
||
],
|
||
"summary": "Delete a wishlist",
|
||
"parameters": [
|
||
{
|
||
"type": "string",
|
||
"description": "Bearer token",
|
||
"name": "Authorization",
|
||
"in": "header",
|
||
"required": true
|
||
},
|
||
{
|
||
"type": "string",
|
||
"description": "Wishlist ID",
|
||
"name": "id",
|
||
"in": "path",
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListResponse"
|
||
}
|
||
},
|
||
"401": {
|
||
"description": "Unauthorized",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListResponse"
|
||
}
|
||
},
|
||
"404": {
|
||
"description": "Not Found",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/wishlist/{wishlistId}/items": {
|
||
"get": {
|
||
"security": [
|
||
{
|
||
"BearerAuth": []
|
||
}
|
||
],
|
||
"description": "Get all items in a wishlist",
|
||
"consumes": [
|
||
"application/json"
|
||
],
|
||
"produces": [
|
||
"application/json"
|
||
],
|
||
"tags": [
|
||
"wishlist-items"
|
||
],
|
||
"summary": "Get wishlist items",
|
||
"parameters": [
|
||
{
|
||
"type": "string",
|
||
"description": "Wishlist ID",
|
||
"name": "wishlistId",
|
||
"in": "path",
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "OK",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemsResponse"
|
||
}
|
||
},
|
||
"404": {
|
||
"description": "Not Found",
|
||
"schema": {
|
||
"$ref": "#/definitions/presenter.WishListItemsResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"definitions": {
|
||
"entities.DeleteUserRequest": {
|
||
"type": "object",
|
||
"properties": {
|
||
"id": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"entities.LoginRequest": {
|
||
"type": "object",
|
||
"properties": {
|
||
"email": {
|
||
"type": "string"
|
||
},
|
||
"password": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"entities.RegisterRequest": {
|
||
"type": "object",
|
||
"properties": {
|
||
"email": {
|
||
"type": "string"
|
||
},
|
||
"password": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"entities.TelegramAuthRequest": {
|
||
"type": "object",
|
||
"properties": {
|
||
"access_token": {
|
||
"type": "string"
|
||
},
|
||
"auth_date": {
|
||
"type": "integer"
|
||
},
|
||
"first_name": {
|
||
"type": "string"
|
||
},
|
||
"hash": {
|
||
"type": "string"
|
||
},
|
||
"last_name": {
|
||
"type": "string"
|
||
},
|
||
"photo_url": {
|
||
"type": "string"
|
||
},
|
||
"refresh_token": {
|
||
"type": "string"
|
||
},
|
||
"telegram_id": {
|
||
"type": "integer"
|
||
},
|
||
"username": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"entities.TokenPair": {
|
||
"type": "object",
|
||
"properties": {
|
||
"access_token": {
|
||
"type": "string"
|
||
},
|
||
"refresh_token": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"entities.TokenRequest": {
|
||
"type": "object",
|
||
"properties": {
|
||
"refresh_token": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"entities.User": {
|
||
"type": "object",
|
||
"properties": {
|
||
"created_at": {
|
||
"type": "string"
|
||
},
|
||
"email": {
|
||
"type": "string"
|
||
},
|
||
"first_name": {
|
||
"type": "string"
|
||
},
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"last_login_date": {
|
||
"type": "string"
|
||
},
|
||
"last_name": {
|
||
"type": "string"
|
||
},
|
||
"password": {
|
||
"type": "string"
|
||
},
|
||
"photo_url": {
|
||
"type": "string"
|
||
},
|
||
"telegram_id": {
|
||
"type": "integer"
|
||
},
|
||
"telegram_username": {
|
||
"type": "string"
|
||
},
|
||
"updated_at": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"entities.WishList": {
|
||
"type": "object",
|
||
"properties": {
|
||
"created_at": {
|
||
"type": "string"
|
||
},
|
||
"description": {
|
||
"type": "string"
|
||
},
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"is_public": {
|
||
"type": "boolean"
|
||
},
|
||
"photo_url": {
|
||
"type": "string"
|
||
},
|
||
"title": {
|
||
"type": "string"
|
||
},
|
||
"updated_at": {
|
||
"type": "string"
|
||
},
|
||
"user_id": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"entities.WishListItem": {
|
||
"type": "object",
|
||
"properties": {
|
||
"cost": {
|
||
"type": "number"
|
||
},
|
||
"created_at": {
|
||
"type": "string"
|
||
},
|
||
"description": {
|
||
"type": "string"
|
||
},
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"photo_url": {
|
||
"type": "string"
|
||
},
|
||
"title": {
|
||
"type": "string"
|
||
},
|
||
"updated_at": {
|
||
"type": "string"
|
||
},
|
||
"url": {
|
||
"type": "string"
|
||
},
|
||
"wish_list_id": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"presenter.AuthResponse": {
|
||
"type": "object",
|
||
"properties": {
|
||
"data": {
|
||
"$ref": "#/definitions/entities.TokenPair"
|
||
},
|
||
"error": {
|
||
"type": "string"
|
||
},
|
||
"status": {
|
||
"type": "boolean"
|
||
},
|
||
"user": {
|
||
"$ref": "#/definitions/presenter.User"
|
||
}
|
||
}
|
||
},
|
||
"presenter.User": {
|
||
"type": "object",
|
||
"properties": {
|
||
"created_at": {
|
||
"type": "string"
|
||
},
|
||
"email": {
|
||
"type": "string"
|
||
},
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"updated_at": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"presenter.UserResponse": {
|
||
"type": "object",
|
||
"properties": {
|
||
"data": {
|
||
"$ref": "#/definitions/presenter.User"
|
||
},
|
||
"error": {
|
||
"type": "string"
|
||
},
|
||
"status": {
|
||
"type": "boolean"
|
||
}
|
||
}
|
||
},
|
||
"presenter.UsersResponse": {
|
||
"type": "object",
|
||
"properties": {
|
||
"data": {
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/definitions/presenter.User"
|
||
}
|
||
},
|
||
"error": {
|
||
"type": "string"
|
||
},
|
||
"status": {
|
||
"type": "boolean"
|
||
}
|
||
}
|
||
},
|
||
"presenter.WishList": {
|
||
"type": "object",
|
||
"properties": {
|
||
"created_at": {
|
||
"type": "string"
|
||
},
|
||
"description": {
|
||
"type": "string"
|
||
},
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"is_public": {
|
||
"type": "boolean"
|
||
},
|
||
"photo_url": {
|
||
"type": "string"
|
||
},
|
||
"title": {
|
||
"type": "string"
|
||
},
|
||
"updated_at": {
|
||
"type": "string"
|
||
},
|
||
"user_id": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"presenter.WishListItem": {
|
||
"type": "object",
|
||
"properties": {
|
||
"cost": {
|
||
"type": "number"
|
||
},
|
||
"created_at": {
|
||
"type": "string"
|
||
},
|
||
"description": {
|
||
"type": "string"
|
||
},
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"photo_url": {
|
||
"type": "string"
|
||
},
|
||
"title": {
|
||
"type": "string"
|
||
},
|
||
"updated_at": {
|
||
"type": "string"
|
||
},
|
||
"url": {
|
||
"type": "string"
|
||
},
|
||
"wish_list_id": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"presenter.WishListItemResponse": {
|
||
"type": "object",
|
||
"properties": {
|
||
"data": {
|
||
"$ref": "#/definitions/presenter.WishListItem"
|
||
},
|
||
"error": {
|
||
"type": "string"
|
||
},
|
||
"status": {
|
||
"type": "boolean"
|
||
}
|
||
}
|
||
},
|
||
"presenter.WishListItemsResponse": {
|
||
"type": "object",
|
||
"properties": {
|
||
"data": {
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/definitions/presenter.WishListItem"
|
||
}
|
||
},
|
||
"error": {
|
||
"type": "string"
|
||
},
|
||
"status": {
|
||
"type": "boolean"
|
||
}
|
||
}
|
||
},
|
||
"presenter.WishListResponse": {
|
||
"type": "object",
|
||
"properties": {
|
||
"data": {
|
||
"$ref": "#/definitions/presenter.WishList"
|
||
},
|
||
"error": {
|
||
"type": "string"
|
||
},
|
||
"status": {
|
||
"type": "boolean"
|
||
}
|
||
}
|
||
},
|
||
"presenter.WishListsResponse": {
|
||
"type": "object",
|
||
"properties": {
|
||
"data": {
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/definitions/presenter.WishList"
|
||
}
|
||
},
|
||
"error": {
|
||
"type": "string"
|
||
},
|
||
"status": {
|
||
"type": "boolean"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"securityDefinitions": {
|
||
"BearerAuth": {
|
||
"type": "apiKey",
|
||
"name": "Authorization",
|
||
"in": "header"
|
||
}
|
||
}
|
||
}`
|
||
|
||
type swaggerInfo struct {
|
||
Version string
|
||
Host string
|
||
BasePath string
|
||
Schemes []string
|
||
Title string
|
||
Description string
|
||
}
|
||
|
||
// SwaggerInfo holds exported Swagger Info so clients can modify it
|
||
var SwaggerInfo = swaggerInfo{
|
||
Version: "1.0",
|
||
Host: "localhost:8080",
|
||
BasePath: "/api",
|
||
Schemes: []string{},
|
||
Title: "Wish List API",
|
||
Description: "API-сервер для приложения списка желаний",
|
||
}
|
||
|
||
type s struct{}
|
||
|
||
func (s *s) ReadDoc() string {
|
||
sInfo := SwaggerInfo
|
||
sInfo.Description = strings.Replace(sInfo.Description, "\n", "\\n", -1)
|
||
|
||
t, err := template.New("swagger_info").Funcs(template.FuncMap{
|
||
"marshal": func(v interface{}) string {
|
||
a, _ := json.Marshal(v)
|
||
return string(a)
|
||
},
|
||
"escape": func(v interface{}) string {
|
||
// escape tabs
|
||
str := strings.Replace(v.(string), "\t", "\\t", -1)
|
||
// replace " with \", and if that results in \\", replace that with \\\"
|
||
str = strings.Replace(str, "\"", "\\\"", -1)
|
||
return strings.Replace(str, "\\\\\"", "\\\\\\\"", -1)
|
||
},
|
||
}).Parse(doc)
|
||
if err != nil {
|
||
return doc
|
||
}
|
||
|
||
var tpl bytes.Buffer
|
||
if err := t.Execute(&tpl, sInfo); err != nil {
|
||
return doc
|
||
}
|
||
|
||
return tpl.String()
|
||
}
|
||
|
||
func init() {
|
||
swag.Register("swagger", &s{})
|
||
}
|