2023-06-22 09:36:43 +00:00
|
|
|
|
// Package swagger provides primitives to interact with the openapi HTTP API.
|
|
|
|
|
//
|
2023-11-23 18:55:22 +00:00
|
|
|
|
// Code generated by github.com/deepmap/oapi-codegen/v2 version v2.0.0 DO NOT EDIT.
|
2023-06-22 09:36:43 +00:00
|
|
|
|
package swagger
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"bytes"
|
|
|
|
|
"compress/gzip"
|
|
|
|
|
"encoding/base64"
|
|
|
|
|
"fmt"
|
|
|
|
|
"net/http"
|
|
|
|
|
"net/url"
|
|
|
|
|
"path"
|
|
|
|
|
"strings"
|
|
|
|
|
|
|
|
|
|
"github.com/getkin/kin-openapi/openapi3"
|
|
|
|
|
"github.com/labstack/echo/v4"
|
2023-09-14 10:07:28 +00:00
|
|
|
|
"github.com/oapi-codegen/runtime"
|
2023-06-22 09:36:43 +00:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// ServerInterface represents all server handlers.
|
|
|
|
|
type ServerInterface interface {
|
|
|
|
|
// удалить собственный аккаунт
|
|
|
|
|
// (DELETE /account)
|
|
|
|
|
DeleteAccount(ctx echo.Context) error
|
|
|
|
|
// Получение текущего аккаунта юзера
|
|
|
|
|
// (GET /account)
|
|
|
|
|
GetAccount(ctx echo.Context) error
|
|
|
|
|
// Отредактировать аккаунт
|
|
|
|
|
// (PATCH /account)
|
|
|
|
|
ChangeAccount(ctx echo.Context) error
|
|
|
|
|
// Создать новый аккаунт
|
|
|
|
|
// (POST /account)
|
|
|
|
|
AddAccount(ctx echo.Context) error
|
|
|
|
|
// Удалить аккаунт по айди
|
|
|
|
|
// (DELETE /account/{userId})
|
|
|
|
|
DeleteDirectAccount(ctx echo.Context, userId string) error
|
|
|
|
|
// Получить аккаунт по ID пользователя системы единой авторизации
|
|
|
|
|
// (GET /account/{userId})
|
|
|
|
|
GetDirectAccount(ctx echo.Context, userId string) error
|
|
|
|
|
// Выставление статуса верификации
|
|
|
|
|
// (PATCH /account/{userId})
|
|
|
|
|
SetAccountVerificationStatus(ctx echo.Context, userId string) error
|
|
|
|
|
// списко аккаунтов с пагинацией
|
|
|
|
|
// (GET /accounts)
|
|
|
|
|
PaginationAccounts(ctx echo.Context, params PaginationAccountsParams) error
|
|
|
|
|
// Удаляем из корзины тариф
|
|
|
|
|
// (DELETE /cart)
|
|
|
|
|
RemoveFromCart(ctx echo.Context, params RemoveFromCartParams) error
|
|
|
|
|
// Добавляем в корзину тариф
|
|
|
|
|
// (PATCH /cart)
|
|
|
|
|
Add2cart(ctx echo.Context, params Add2cartParams) error
|
|
|
|
|
// оплатить козину
|
|
|
|
|
// (POST /cart/pay)
|
|
|
|
|
PayCart(ctx echo.Context) error
|
|
|
|
|
// получить список одобренных валют
|
|
|
|
|
// (GET /currencies)
|
|
|
|
|
GetCurrencies(ctx echo.Context) error
|
|
|
|
|
// обновляет список одобренных валют
|
|
|
|
|
// (PUT /currencies)
|
|
|
|
|
UpdateCurrencies(ctx echo.Context) error
|
|
|
|
|
// Получение лога событий связанных с аккаунтом
|
|
|
|
|
// (GET /history)
|
|
|
|
|
GetHistory(ctx echo.Context, params GetHistoryParams) error
|
2023-12-22 15:12:43 +00:00
|
|
|
|
// Расчет среднего времени жизни платящего клиента (LTV)
|
|
|
|
|
// (POST /history/ltv)
|
|
|
|
|
CalculateLTV(ctx echo.Context) error
|
2023-11-23 18:55:22 +00:00
|
|
|
|
// Получение недавних тарифов
|
|
|
|
|
// (GET /recent)
|
|
|
|
|
GetRecentTariffs(ctx echo.Context) error
|
2023-11-02 10:01:18 +00:00
|
|
|
|
// отправить акт проделанных работ на почту
|
|
|
|
|
// (POST /sendReport)
|
|
|
|
|
SendReport(ctx echo.Context) error
|
2023-06-22 09:36:43 +00:00
|
|
|
|
// Изменить валюту кошелька
|
|
|
|
|
// (PATCH /wallet)
|
|
|
|
|
ChangeCurrency(ctx echo.Context) error
|
|
|
|
|
// Запрос на получение ссылки на оплату
|
|
|
|
|
// (POST /wallet)
|
|
|
|
|
RequestMoney(ctx echo.Context) error
|
2024-02-04 19:30:57 +00:00
|
|
|
|
// Обработка запроса RSPay
|
|
|
|
|
// (POST /wallet/rspay)
|
|
|
|
|
PostWalletRspay(ctx echo.Context) error
|
2023-06-22 09:36:43 +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-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
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-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
err = w.Handler.GetAccount(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ChangeAccount converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) ChangeAccount(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
err = w.Handler.ChangeAccount(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// AddAccount converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) AddAccount(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
err = w.Handler.AddAccount(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// DeleteDirectAccount converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) DeleteDirectAccount(ctx echo.Context) error {
|
|
|
|
|
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-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
err = w.Handler.DeleteDirectAccount(ctx, userId)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GetDirectAccount converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) GetDirectAccount(ctx echo.Context) error {
|
|
|
|
|
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-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
err = w.Handler.GetDirectAccount(ctx, userId)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// SetAccountVerificationStatus converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) SetAccountVerificationStatus(ctx echo.Context) error {
|
|
|
|
|
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-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
err = w.Handler.SetAccountVerificationStatus(ctx, userId)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 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
|
|
|
|
|
// ------------- Optional query parameter "page" -------------
|
|
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", false, false, "page", ctx.QueryParams(), ¶ms.Page)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter page: %s", err))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ------------- Optional query parameter "limit" -------------
|
|
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", false, false, "limit", ctx.QueryParams(), ¶ms.Limit)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter limit: %s", err))
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
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-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +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))
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
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-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +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-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
err = w.Handler.Add2cart(ctx, params)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// PayCart converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) PayCart(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
err = w.Handler.PayCart(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GetCurrencies converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) GetCurrencies(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
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-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
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-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
|
var params GetHistoryParams
|
|
|
|
|
// ------------- Optional query parameter "page" -------------
|
|
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", false, false, "page", ctx.QueryParams(), ¶ms.Page)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter page: %s", err))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ------------- Optional query parameter "limit" -------------
|
|
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", false, false, "limit", ctx.QueryParams(), ¶ms.Limit)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter limit: %s", err))
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// ------------- Optional query parameter "type" -------------
|
|
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", false, false, "type", ctx.QueryParams(), ¶ms.Type)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter type: %s", err))
|
|
|
|
|
}
|
|
|
|
|
|
2023-12-20 12:42:41 +00:00
|
|
|
|
// ------------- Optional query parameter "accountID" -------------
|
|
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", false, false, "accountID", ctx.QueryParams(), ¶ms.AccountID)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter accountID: %s", err))
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
err = w.Handler.GetHistory(ctx, params)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2023-12-22 15:12:43 +00:00
|
|
|
|
// CalculateLTV converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) CalculateLTV(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
|
|
|
|
|
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
|
|
|
|
err = w.Handler.CalculateLTV(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2023-11-23 18:55:22 +00:00
|
|
|
|
// GetRecentTariffs converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) GetRecentTariffs(ctx echo.Context) error {
|
2023-11-25 18:28:26 +00:00
|
|
|
|
var err error
|
|
|
|
|
|
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
|
|
|
|
|
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
|
|
|
|
err = w.Handler.GetRecentTariffs(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2023-11-02 10:01:18 +00:00
|
|
|
|
// SendReport converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) SendReport(ctx echo.Context) error {
|
2023-11-23 18:55:22 +00:00
|
|
|
|
var err error
|
|
|
|
|
|
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
|
|
|
|
|
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-11-02 10:01:18 +00:00
|
|
|
|
err = w.Handler.SendReport(ctx)
|
2023-11-23 18:55:22 +00:00
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-22 09:36:43 +00:00
|
|
|
|
// ChangeCurrency converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) ChangeCurrency(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
err = w.Handler.ChangeCurrency(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// RequestMoney converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) RequestMoney(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-08-02 14:28:31 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
2023-09-14 10:07:28 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-22 09:36:43 +00:00
|
|
|
|
err = w.Handler.RequestMoney(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2024-02-04 19:30:57 +00:00
|
|
|
|
// PostWalletRspay converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) PostWalletRspay(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
|
|
|
|
err = w.Handler.PostWalletRspay(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-22 09:36:43 +00:00
|
|
|
|
// 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)
|
|
|
|
|
router.PATCH(baseURL+"/account", wrapper.ChangeAccount)
|
|
|
|
|
router.POST(baseURL+"/account", wrapper.AddAccount)
|
|
|
|
|
router.DELETE(baseURL+"/account/:userId", wrapper.DeleteDirectAccount)
|
|
|
|
|
router.GET(baseURL+"/account/:userId", wrapper.GetDirectAccount)
|
|
|
|
|
router.PATCH(baseURL+"/account/:userId", wrapper.SetAccountVerificationStatus)
|
|
|
|
|
router.GET(baseURL+"/accounts", wrapper.PaginationAccounts)
|
|
|
|
|
router.DELETE(baseURL+"/cart", wrapper.RemoveFromCart)
|
|
|
|
|
router.PATCH(baseURL+"/cart", wrapper.Add2cart)
|
|
|
|
|
router.POST(baseURL+"/cart/pay", wrapper.PayCart)
|
|
|
|
|
router.GET(baseURL+"/currencies", wrapper.GetCurrencies)
|
|
|
|
|
router.PUT(baseURL+"/currencies", wrapper.UpdateCurrencies)
|
|
|
|
|
router.GET(baseURL+"/history", wrapper.GetHistory)
|
2023-12-22 15:12:43 +00:00
|
|
|
|
router.POST(baseURL+"/history/ltv", wrapper.CalculateLTV)
|
2023-11-23 18:55:22 +00:00
|
|
|
|
router.GET(baseURL+"/recent", wrapper.GetRecentTariffs)
|
2023-11-02 10:01:18 +00:00
|
|
|
|
router.POST(baseURL+"/sendReport", wrapper.SendReport)
|
2023-06-22 09:36:43 +00:00
|
|
|
|
router.PATCH(baseURL+"/wallet", wrapper.ChangeCurrency)
|
|
|
|
|
router.POST(baseURL+"/wallet", wrapper.RequestMoney)
|
2024-02-04 19:30:57 +00:00
|
|
|
|
router.POST(baseURL+"/wallet/rspay", wrapper.PostWalletRspay)
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Base64 encoded, gzipped, json marshaled Swagger object
|
|
|
|
|
var swaggerSpec = []string{
|
|
|
|
|
|
2024-02-04 19:30:57 +00:00
|
|
|
|
"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",
|
2023-06-22 09:36:43 +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 {
|
2023-09-14 10:07:28 +00:00
|
|
|
|
return nil, fmt.Errorf("error base64 decoding spec: %w", err)
|
2023-06-22 09:36:43 +00:00
|
|
|
|
}
|
|
|
|
|
zr, err := gzip.NewReader(bytes.NewReader(zipped))
|
|
|
|
|
if err != nil {
|
2023-09-14 10:07:28 +00:00
|
|
|
|
return nil, fmt.Errorf("error decompressing spec: %w", err)
|
2023-06-22 09:36:43 +00:00
|
|
|
|
}
|
|
|
|
|
var buf bytes.Buffer
|
|
|
|
|
_, err = buf.ReadFrom(zr)
|
|
|
|
|
if err != nil {
|
2023-09-14 10:07:28 +00:00
|
|
|
|
return nil, fmt.Errorf("error decompressing spec: %w", err)
|
2023-06-22 09:36:43 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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) {
|
2023-09-14 10:07:28 +00:00
|
|
|
|
res := make(map[string]func() ([]byte, error))
|
2023-06-22 09:36:43 +00:00
|
|
|
|
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) {
|
2023-09-14 10:07:28 +00:00
|
|
|
|
resolvePath := PathToRawSpec("")
|
2023-06-22 09:36:43 +00:00
|
|
|
|
|
|
|
|
|
loader := openapi3.NewLoader()
|
|
|
|
|
loader.IsExternalRefsAllowed = true
|
|
|
|
|
loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
|
2023-09-14 10:07:28 +00:00
|
|
|
|
pathToFile := url.String()
|
2023-06-22 09:36:43 +00:00
|
|
|
|
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
|
|
|
|
|
}
|