2023-05-17 03:39:29 +00:00
|
|
|
|
// Package swagger provides primitives to interact with the openapi HTTP API.
|
2023-05-16 04:01:55 +00:00
|
|
|
|
//
|
|
|
|
|
// Code generated by github.com/deepmap/oapi-codegen version v1.12.4 DO NOT EDIT.
|
|
|
|
|
package swagger
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"bytes"
|
|
|
|
|
"compress/gzip"
|
|
|
|
|
"encoding/base64"
|
|
|
|
|
"fmt"
|
|
|
|
|
"net/http"
|
|
|
|
|
"net/url"
|
|
|
|
|
"path"
|
|
|
|
|
"strings"
|
|
|
|
|
|
|
|
|
|
"github.com/deepmap/oapi-codegen/pkg/runtime"
|
|
|
|
|
"github.com/getkin/kin-openapi/openapi3"
|
|
|
|
|
"github.com/labstack/echo/v4"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// ServerInterface represents all server handlers.
|
|
|
|
|
type ServerInterface interface {
|
|
|
|
|
// удалить собственный аккаунт
|
|
|
|
|
// (DELETE /account)
|
|
|
|
|
DeleteAccount(ctx echo.Context) error
|
|
|
|
|
// Получение текущего аккаунта юзера
|
|
|
|
|
// (GET /account)
|
|
|
|
|
GetAccount(ctx echo.Context) error
|
2023-05-30 13:20:52 +00:00
|
|
|
|
// Отредактировать аккаунт
|
|
|
|
|
// (PATCH /account)
|
|
|
|
|
ChangeAccount(ctx echo.Context) error
|
2023-05-17 03:39:29 +00:00
|
|
|
|
// Создать новый аккаунт
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// (POST /account)
|
|
|
|
|
AddAccount(ctx echo.Context) error
|
2023-05-17 03:39:29 +00:00
|
|
|
|
// Удалить аккаунт по айди
|
2023-05-17 20:27:09 +00:00
|
|
|
|
// (DELETE /account/{userId})
|
|
|
|
|
DeleteDirectAccount(ctx echo.Context, userId string) error
|
|
|
|
|
// Получить аккаунт по ID пользователя системы единой авторизации
|
|
|
|
|
// (GET /account/{userId})
|
|
|
|
|
GetDirectAccount(ctx echo.Context, userId string) error
|
2023-05-30 13:38:56 +00:00
|
|
|
|
// Выставление статуса верификации
|
|
|
|
|
// (PATCH /account/{userId})
|
2023-06-15 12:31:34 +00:00
|
|
|
|
SetAccountVerificationStatus(ctx echo.Context, userId string) error
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// списко аккаунтов с пагинацией
|
|
|
|
|
// (GET /accounts)
|
|
|
|
|
PaginationAccounts(ctx echo.Context, params PaginationAccountsParams) error
|
2023-05-17 03:39:29 +00:00
|
|
|
|
// Удаляем из корзины тариф
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// (DELETE /cart)
|
|
|
|
|
RemoveFromCart(ctx echo.Context, params RemoveFromCartParams) error
|
2023-05-17 03:39:29 +00:00
|
|
|
|
// Добавляем в корзину тариф
|
|
|
|
|
// (PATCH /cart)
|
2023-05-19 09:08:15 +00:00
|
|
|
|
Add2cart(ctx echo.Context, params Add2cartParams) error
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// оплатить козину
|
|
|
|
|
// (POST /cart/pay)
|
|
|
|
|
PayCart(ctx echo.Context) error
|
|
|
|
|
// получить список одобренных валют
|
|
|
|
|
// (GET /currencies)
|
|
|
|
|
GetCurrencies(ctx echo.Context) error
|
|
|
|
|
// обновляет список одобренных валют
|
2023-05-17 03:39:29 +00:00
|
|
|
|
// (PUT /currencies)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
UpdateCurrencies(ctx echo.Context) error
|
2023-05-17 03:39:29 +00:00
|
|
|
|
// Получение лога событий связанных с аккаунтом
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// (GET /history)
|
|
|
|
|
GetHistory(ctx echo.Context, params GetHistoryParams) error
|
2023-05-17 03:39:29 +00:00
|
|
|
|
// Изменить валюту кошелька
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// (PATCH /wallet)
|
|
|
|
|
ChangeCurrency(ctx echo.Context) error
|
2023-06-14 17:28:43 +00:00
|
|
|
|
// Запрос на получение ссылки на оплату
|
|
|
|
|
// (POST /wallet)
|
|
|
|
|
RequestMoney(ctx echo.Context) error
|
2023-05-16 04:01:55 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ServerInterfaceWrapper converts echo contexts to parameters.
|
|
|
|
|
type ServerInterfaceWrapper struct {
|
|
|
|
|
Handler ServerInterface
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// DeleteAccount converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) DeleteAccount(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
|
|
|
|
err = w.Handler.DeleteAccount(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GetAccount converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) GetAccount(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
|
|
|
|
err = w.Handler.GetAccount(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-30 13:20:52 +00:00
|
|
|
|
// ChangeAccount converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) ChangeAccount(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
|
|
|
|
err = w.Handler.ChangeAccount(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// AddAccount converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) AddAccount(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
|
|
|
|
err = w.Handler.AddAccount(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// DeleteDirectAccount converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) DeleteDirectAccount(ctx echo.Context) error {
|
|
|
|
|
var err error
|
2023-05-17 20:27:09 +00:00
|
|
|
|
// ------------- Path parameter "userId" -------------
|
|
|
|
|
var userId string
|
2023-05-16 04:01:55 +00:00
|
|
|
|
|
2023-05-17 20:27:09 +00:00
|
|
|
|
err = runtime.BindStyledParameterWithLocation("simple", false, "userId", runtime.ParamLocationPath, ctx.Param("userId"), &userId)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
if err != nil {
|
2023-05-17 20:27:09 +00:00
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter userId: %s", err))
|
2023-05-16 04:01:55 +00:00
|
|
|
|
}
|
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
2023-05-17 20:27:09 +00:00
|
|
|
|
err = w.Handler.DeleteDirectAccount(ctx, userId)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GetDirectAccount converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) GetDirectAccount(ctx echo.Context) error {
|
|
|
|
|
var err error
|
2023-05-17 20:27:09 +00:00
|
|
|
|
// ------------- Path parameter "userId" -------------
|
|
|
|
|
var userId string
|
2023-05-16 04:01:55 +00:00
|
|
|
|
|
2023-05-17 20:27:09 +00:00
|
|
|
|
err = runtime.BindStyledParameterWithLocation("simple", false, "userId", runtime.ParamLocationPath, ctx.Param("userId"), &userId)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
if err != nil {
|
2023-05-17 20:27:09 +00:00
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter userId: %s", err))
|
2023-05-16 04:01:55 +00:00
|
|
|
|
}
|
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
2023-05-17 20:27:09 +00:00
|
|
|
|
err = w.Handler.GetDirectAccount(ctx, userId)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-15 12:31:34 +00:00
|
|
|
|
// SetAccountVerificationStatus converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) SetAccountVerificationStatus(ctx echo.Context) error {
|
2023-05-30 13:38:56 +00:00
|
|
|
|
var err error
|
|
|
|
|
// ------------- Path parameter "userId" -------------
|
|
|
|
|
var userId string
|
|
|
|
|
|
|
|
|
|
err = runtime.BindStyledParameterWithLocation("simple", false, "userId", runtime.ParamLocationPath, ctx.Param("userId"), &userId)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter userId: %s", err))
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-15 12:31:34 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
2023-05-30 13:38:56 +00:00
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
2023-06-15 12:31:34 +00:00
|
|
|
|
err = w.Handler.SetAccountVerificationStatus(ctx, userId)
|
2023-05-30 13:38:56 +00:00
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// PaginationAccounts converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) PaginationAccounts(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
|
var params PaginationAccountsParams
|
2023-05-17 03:39:29 +00:00
|
|
|
|
// ------------- Optional query parameter "page" -------------
|
2023-05-16 04:01:55 +00:00
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
err = runtime.BindQueryParameter("form", false, false, "page", ctx.QueryParams(), ¶ms.Page)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
if err != nil {
|
2023-05-17 03:39:29 +00:00
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter page: %s", err))
|
2023-05-16 04:01:55 +00:00
|
|
|
|
}
|
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
// ------------- Optional query parameter "limit" -------------
|
2023-05-16 04:01:55 +00:00
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
err = runtime.BindQueryParameter("form", false, false, "limit", ctx.QueryParams(), ¶ms.Limit)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
if err != nil {
|
2023-05-17 03:39:29 +00:00
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter limit: %s", err))
|
2023-05-16 04:01:55 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
|
|
|
|
err = w.Handler.PaginationAccounts(ctx, params)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// RemoveFromCart converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) RemoveFromCart(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
|
var params RemoveFromCartParams
|
|
|
|
|
// ------------- Required query parameter "id" -------------
|
|
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "id", ctx.QueryParams(), ¶ms.Id)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
|
|
|
|
err = w.Handler.RemoveFromCart(ctx, params)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Add2cart converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) Add2cart(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
2023-05-19 09:08:15 +00:00
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
|
var params Add2cartParams
|
|
|
|
|
// ------------- Required query parameter "id" -------------
|
|
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "id", ctx.QueryParams(), ¶ms.Id)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
2023-05-19 09:08:15 +00:00
|
|
|
|
err = w.Handler.Add2cart(ctx, params)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// PayCart converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) PayCart(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
|
|
|
|
err = w.Handler.PayCart(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GetCurrencies converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) GetCurrencies(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
|
|
|
|
err = w.Handler.GetCurrencies(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// UpdateCurrencies converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) UpdateCurrencies(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-05-17 20:27:09 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
|
|
|
|
err = w.Handler.UpdateCurrencies(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GetHistory converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) GetHistory(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
|
var params GetHistoryParams
|
2023-05-17 20:27:09 +00:00
|
|
|
|
// ------------- Optional query parameter "page" -------------
|
2023-05-16 04:01:55 +00:00
|
|
|
|
|
2023-05-17 20:27:09 +00:00
|
|
|
|
err = runtime.BindQueryParameter("form", false, false, "page", ctx.QueryParams(), ¶ms.Page)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
if err != nil {
|
2023-05-17 20:27:09 +00:00
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter page: %s", err))
|
2023-05-16 04:01:55 +00:00
|
|
|
|
}
|
|
|
|
|
|
2023-05-17 20:27:09 +00:00
|
|
|
|
// ------------- Optional query parameter "limit" -------------
|
2023-05-16 04:01:55 +00:00
|
|
|
|
|
2023-05-17 20:27:09 +00:00
|
|
|
|
err = runtime.BindQueryParameter("form", false, false, "limit", ctx.QueryParams(), ¶ms.Limit)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
if err != nil {
|
2023-05-17 20:27:09 +00:00
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter limit: %s", err))
|
2023-05-16 04:01:55 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
|
|
|
|
err = w.Handler.GetHistory(ctx, params)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-14 17:28:43 +00:00
|
|
|
|
// ChangeCurrency converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) ChangeCurrency(ctx echo.Context) error {
|
2023-05-16 04:01:55 +00:00
|
|
|
|
var err error
|
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
2023-06-14 17:28:43 +00:00
|
|
|
|
err = w.Handler.ChangeCurrency(ctx)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-14 17:28:43 +00:00
|
|
|
|
// RequestMoney converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) RequestMoney(ctx echo.Context) error {
|
2023-05-16 04:01:55 +00:00
|
|
|
|
var err error
|
|
|
|
|
|
2023-05-17 03:39:29 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{""})
|
|
|
|
|
|
2023-05-16 04:01:55 +00:00
|
|
|
|
// Invoke the callback with all the unmarshalled arguments
|
2023-06-14 17:28:43 +00:00
|
|
|
|
err = w.Handler.RequestMoney(ctx)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// This is a simple interface which specifies echo.Route addition functions which
|
|
|
|
|
// are present on both echo.Echo and echo.Group, since we want to allow using
|
|
|
|
|
// either of them for path registration
|
|
|
|
|
type EchoRouter interface {
|
|
|
|
|
CONNECT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
|
|
|
|
|
DELETE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
|
|
|
|
|
GET(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
|
|
|
|
|
HEAD(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
|
|
|
|
|
OPTIONS(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
|
|
|
|
|
PATCH(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
|
|
|
|
|
POST(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
|
|
|
|
|
PUT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
|
|
|
|
|
TRACE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// RegisterHandlers adds each server route to the EchoRouter.
|
|
|
|
|
func RegisterHandlers(router EchoRouter, si ServerInterface) {
|
|
|
|
|
RegisterHandlersWithBaseURL(router, si, "")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Registers handlers, and prepends BaseURL to the paths, so that the paths
|
|
|
|
|
// can be served under a prefix.
|
|
|
|
|
func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string) {
|
|
|
|
|
|
|
|
|
|
wrapper := ServerInterfaceWrapper{
|
|
|
|
|
Handler: si,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
router.DELETE(baseURL+"/account", wrapper.DeleteAccount)
|
|
|
|
|
router.GET(baseURL+"/account", wrapper.GetAccount)
|
2023-05-30 13:20:52 +00:00
|
|
|
|
router.PATCH(baseURL+"/account", wrapper.ChangeAccount)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
router.POST(baseURL+"/account", wrapper.AddAccount)
|
2023-05-17 20:27:09 +00:00
|
|
|
|
router.DELETE(baseURL+"/account/:userId", wrapper.DeleteDirectAccount)
|
|
|
|
|
router.GET(baseURL+"/account/:userId", wrapper.GetDirectAccount)
|
2023-06-15 12:31:34 +00:00
|
|
|
|
router.PATCH(baseURL+"/account/:userId", wrapper.SetAccountVerificationStatus)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
router.GET(baseURL+"/accounts", wrapper.PaginationAccounts)
|
|
|
|
|
router.DELETE(baseURL+"/cart", wrapper.RemoveFromCart)
|
2023-05-17 03:39:29 +00:00
|
|
|
|
router.PATCH(baseURL+"/cart", wrapper.Add2cart)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
router.POST(baseURL+"/cart/pay", wrapper.PayCart)
|
|
|
|
|
router.GET(baseURL+"/currencies", wrapper.GetCurrencies)
|
2023-05-17 03:39:29 +00:00
|
|
|
|
router.PUT(baseURL+"/currencies", wrapper.UpdateCurrencies)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
router.GET(baseURL+"/history", wrapper.GetHistory)
|
|
|
|
|
router.PATCH(baseURL+"/wallet", wrapper.ChangeCurrency)
|
2023-06-14 17:28:43 +00:00
|
|
|
|
router.POST(baseURL+"/wallet", wrapper.RequestMoney)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Base64 encoded, gzipped, json marshaled Swagger object
|
|
|
|
|
var swaggerSpec = []string{
|
|
|
|
|
|
2023-06-16 10:14:06 +00:00
|
|
|
|
"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",
|
|
|
|
|
"BwAA///Ok5KNskYAAA==",
|
2023-05-16 04:01:55 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GetSwagger returns the content of the embedded swagger specification file
|
|
|
|
|
// or error if failed to decode
|
|
|
|
|
func decodeSpec() ([]byte, error) {
|
|
|
|
|
zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, ""))
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, fmt.Errorf("error base64 decoding spec: %s", err)
|
|
|
|
|
}
|
|
|
|
|
zr, err := gzip.NewReader(bytes.NewReader(zipped))
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, fmt.Errorf("error decompressing spec: %s", err)
|
|
|
|
|
}
|
|
|
|
|
var buf bytes.Buffer
|
|
|
|
|
_, err = buf.ReadFrom(zr)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, fmt.Errorf("error decompressing spec: %s", err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return buf.Bytes(), nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var rawSpec = decodeSpecCached()
|
|
|
|
|
|
|
|
|
|
// a naive cached of a decoded swagger spec
|
|
|
|
|
func decodeSpecCached() func() ([]byte, error) {
|
|
|
|
|
data, err := decodeSpec()
|
|
|
|
|
return func() ([]byte, error) {
|
|
|
|
|
return data, err
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
|
|
|
|
|
func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) {
|
|
|
|
|
var res = make(map[string]func() ([]byte, error))
|
|
|
|
|
if len(pathToFile) > 0 {
|
|
|
|
|
res[pathToFile] = rawSpec
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return res
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GetSwagger returns the Swagger specification corresponding to the generated code
|
|
|
|
|
// in this file. The external references of Swagger specification are resolved.
|
|
|
|
|
// The logic of resolving external references is tightly connected to "import-mapping" feature.
|
|
|
|
|
// Externally referenced files must be embedded in the corresponding golang packages.
|
|
|
|
|
// Urls can be supported but this task was out of the scope.
|
|
|
|
|
func GetSwagger() (swagger *openapi3.T, err error) {
|
|
|
|
|
var resolvePath = PathToRawSpec("")
|
|
|
|
|
|
|
|
|
|
loader := openapi3.NewLoader()
|
|
|
|
|
loader.IsExternalRefsAllowed = true
|
|
|
|
|
loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
|
|
|
|
|
var pathToFile = url.String()
|
|
|
|
|
pathToFile = path.Clean(pathToFile)
|
|
|
|
|
getSpec, ok := resolvePath[pathToFile]
|
|
|
|
|
if !ok {
|
|
|
|
|
err1 := fmt.Errorf("path not found: %s", pathToFile)
|
|
|
|
|
return nil, err1
|
|
|
|
|
}
|
|
|
|
|
return getSpec()
|
|
|
|
|
}
|
|
|
|
|
var specData []byte
|
|
|
|
|
specData, err = rawSpec()
|
|
|
|
|
if err != nil {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
swagger, err = loader.LoadFromData(specData)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
}
|