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
|
|
|
|
//
|
2024-02-22 23:53:53 +00:00
|
|
|
|
// Code generated by github.com/deepmap/oapi-codegen/v2 version v2.1.0 DO NOT EDIT.
|
2023-05-16 04:01:55 +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:02:32 +00:00
|
|
|
|
"github.com/oapi-codegen/runtime"
|
2023-05-16 04:01:55 +00:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// 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-12-22 15:12:43 +00:00
|
|
|
|
// Расчет среднего времени жизни платящего клиента (LTV)
|
|
|
|
|
// (POST /history/ltv)
|
|
|
|
|
CalculateLTV(ctx echo.Context) error
|
2024-04-25 16:47:17 +00:00
|
|
|
|
// статистика по промокодам в разрезе регистраций и оплат
|
|
|
|
|
// (POST /promocode/ltv)
|
|
|
|
|
PromocodeLTV(ctx echo.Context) error
|
2024-04-15 09:27:00 +00:00
|
|
|
|
// статистика пользователей, перешедших по логотипу в опросах
|
|
|
|
|
// (POST /quizlogo/stat)
|
|
|
|
|
QuizLogoStat(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-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
|
2024-02-04 19:30:57 +00:00
|
|
|
|
// Обработка запроса RSPay
|
|
|
|
|
// (POST /wallet/rspay)
|
|
|
|
|
PostWalletRspay(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-08-02 14:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-05-17 03:39:29 +00:00
|
|
|
|
|
2023-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-05-16 04:01:55 +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:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-05-17 03:39:29 +00:00
|
|
|
|
|
2023-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-05-16 04:01:55 +00:00
|
|
|
|
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
|
|
|
|
|
|
2023-08-02 14:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-05-30 13:20:52 +00:00
|
|
|
|
|
2023-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-05-30 13:20:52 +00:00
|
|
|
|
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-08-02 14:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-05-17 03:39:29 +00:00
|
|
|
|
|
2023-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-05-16 04:01:55 +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
|
2023-05-17 20:27:09 +00:00
|
|
|
|
// ------------- Path parameter "userId" -------------
|
|
|
|
|
var userId string
|
2023-05-16 04:01:55 +00:00
|
|
|
|
|
2024-02-22 23:53:53 +00:00
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "userId", ctx.Param("userId"), &userId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
|
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-08-02 14:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-05-17 03:39:29 +00:00
|
|
|
|
|
2023-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled 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
|
|
|
|
|
2024-02-22 23:53:53 +00:00
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "userId", ctx.Param("userId"), &userId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
|
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-08-02 14:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-05-17 03:39:29 +00:00
|
|
|
|
|
2023-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled 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
|
|
|
|
|
|
2024-02-22 23:53:53 +00:00
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "userId", ctx.Param("userId"), &userId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
|
2023-05-30 13:38:56 +00:00
|
|
|
|
if err != nil {
|
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter userId: %s", err))
|
|
|
|
|
}
|
|
|
|
|
|
2023-08-02 14:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-06-15 12:31:34 +00:00
|
|
|
|
|
2023-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled 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
|
|
|
|
}
|
|
|
|
|
|
2023-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-05-16 04:01:55 +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:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-05-17 03:39:29 +00:00
|
|
|
|
|
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))
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-05-16 04:01:55 +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:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-05-17 03:39:29 +00:00
|
|
|
|
|
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-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled 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-08-02 14:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-05-17 03:39:29 +00:00
|
|
|
|
|
2023-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-05-16 04:01:55 +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:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-05-16 04:01:55 +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:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-05-17 20:27:09 +00:00
|
|
|
|
|
2023-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-05-16 04:01:55 +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:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-05-17 03:39:29 +00:00
|
|
|
|
|
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
|
|
|
|
}
|
|
|
|
|
|
2023-09-14 10:02:32 +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:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-05-16 04:01:55 +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
|
|
|
|
|
}
|
|
|
|
|
|
2024-04-25 16:47:17 +00:00
|
|
|
|
// PromocodeLTV converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) PromocodeLTV(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
|
|
|
|
|
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
|
|
|
|
err = w.Handler.PromocodeLTV(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2024-04-15 09:27:00 +00:00
|
|
|
|
// QuizLogoStat converts echo context to params.
|
|
|
|
|
func (w *ServerInterfaceWrapper) QuizLogoStat(ctx echo.Context) error {
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
|
|
|
|
|
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
|
|
|
|
err = w.Handler.QuizLogoStat(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-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-08-02 14:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-05-17 03:39:29 +00:00
|
|
|
|
|
2023-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled 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-08-02 14:22:50 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
2023-05-17 03:39:29 +00:00
|
|
|
|
|
2023-09-14 10:02:32 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
2023-06-14 17:28:43 +00:00
|
|
|
|
err = w.Handler.RequestMoney(ctx)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
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
|
|
|
|
|
|
2024-02-05 12:24:56 +00:00
|
|
|
|
ctx.Set(BearerScopes, []string{})
|
|
|
|
|
|
2024-02-04 19:30:57 +00:00
|
|
|
|
// Invoke the callback with all the unmarshaled arguments
|
|
|
|
|
err = w.Handler.PostWalletRspay(ctx)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-16 04:01:55 +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,
|
|
|
|
|
}
|
|
|
|
|
|
2024-02-02 09:56:33 +00:00
|
|
|
|
router.DELETE(baseURL+"/account", wrapper.DeleteAccount)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
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)
|
2024-02-02 09:56:33 +00:00
|
|
|
|
router.DELETE(baseURL+"/account/:userId", wrapper.DeleteDirectAccount)
|
2023-05-17 20:27:09 +00:00
|
|
|
|
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)
|
2024-02-02 09:56:33 +00:00
|
|
|
|
router.DELETE(baseURL+"/cart", wrapper.RemoveFromCart)
|
|
|
|
|
router.PATCH(baseURL+"/cart", wrapper.Add2cart)
|
|
|
|
|
router.POST(baseURL+"/cart/pay", wrapper.PayCart)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
router.GET(baseURL+"/currencies", wrapper.GetCurrencies)
|
2024-02-02 09:56:33 +00:00
|
|
|
|
router.PUT(baseURL+"/currencies", wrapper.UpdateCurrencies)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
router.GET(baseURL+"/history", wrapper.GetHistory)
|
2023-12-22 15:12:43 +00:00
|
|
|
|
router.POST(baseURL+"/history/ltv", wrapper.CalculateLTV)
|
2024-04-25 16:47:17 +00:00
|
|
|
|
router.POST(baseURL+"/promocode/ltv", wrapper.PromocodeLTV)
|
2024-04-15 09:27:00 +00:00
|
|
|
|
router.POST(baseURL+"/quizlogo/stat", wrapper.QuizLogoStat)
|
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-05-16 04:01:55 +00:00
|
|
|
|
router.PATCH(baseURL+"/wallet", wrapper.ChangeCurrency)
|
2023-06-14 17:28:43 +00:00
|
|
|
|
router.POST(baseURL+"/wallet", wrapper.RequestMoney)
|
2024-02-04 19:30:57 +00:00
|
|
|
|
router.POST(baseURL+"/wallet/rspay", wrapper.PostWalletRspay)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Base64 encoded, gzipped, json marshaled Swagger object
|
|
|
|
|
var swaggerSpec = []string{
|
|
|
|
|
|
2024-04-25 16:47:17 +00:00
|
|
|
|
"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",
|
2024-04-26 16:00:22 +00:00
|
|
|
|
"oHLEdnSDXLn4dOcCNejIWn0UYrbknh8PGYfU0serbg+SidSl31GUWnzzhclLJO3wbgbde8nuhqzUPeVS",
|
|
|
|
|
"rFlWWxVZRReCyULhblD0UaYMiZJtxK3F94CjWFVClv3ACmw/sCtKmm+37K/q7rw75odXs7XSnLoOfPql",
|
|
|
|
|
"uRQbqnJUIKKuDUbXMiiefka1npDvHsJm5AEn6syomL8kryK+DLljM5H2bmeWoNUm0lHOw5U9Sp706AYk",
|
|
|
|
|
"rQ0Xu1vwkqZq3ZLZ03QWvj3Km05eub2hUyGZFHePeC4nXf+SkrTftOYhtWa+1kbdEg4vND+gi98PoCfu",
|
|
|
|
|
"KjUrPeWhbAGjrkgPQ0QLbXH3AO3p8YraPn0VzXeUHOgQ1z/UVdLQJUx1kRodWOmRRwklWVpDKdm01xld",
|
|
|
|
|
"R8vf+smW7oQxpu383TIKJ+UilpdpUfJGv39syt4+xg4zs29AJkcKWUVtDkYIqOcFNeEpvRv+2oleipMc",
|
|
|
|
|
"LdaVSk9kaWUO8LS7Y5og3ECZrA6Zm6xgF3pYPneql3nT9YJDpYxRhYX3rXdRkclrVlEyOex7FgX+cChi",
|
|
|
|
|
"gFVNKWxEwSmX/1fmpZObdtouSCWJjyvHqWL8FSceVhnAUNwXq6nUdZoX486dRXU+P0Y3qSOj2dVc8YDh",
|
|
|
|
|
"1IxzhsELQit0v4SuUyfuAGZrgdqyQWbYFKSdzdO16YW54vkYAXVVAiXdMqEy59XYe4RIlVO1TS042+I+",
|
|
|
|
|
"Ss1Adb2TjeHuk7Z4JK3qdhg0fF/NHDWTUc0ZEi1c1nKdE5gskx1CR6xRV7t4bInBs2jwU9iVEWfczPuE",
|
|
|
|
|
"d8U9OskhLXJF5WNJn4d7Jru3JO8rqsYQhIIGVKKwwxBxrIZvjRpKqJAQHcNjCgrthMOodCbbo08mJOUV",
|
|
|
|
|
"+rB55RbBij1JtbqmF/aOkQ1oeumOoh25qIFsLVNwL3g6bhJyPFoo2ZUn1kUyhX6w2okzv+9oQbzMDCtP",
|
|
|
|
|
"pp3qJpRjxZODHz8XSPJAVhikxPlXVar2o74BUB4dHcIeRPf2Q1V4kDpKqHyl5ItvWJ9h8IvKR0UdnFIq",
|
|
|
|
|
"nzRLQs3ifIlqNZNJlJK/9tePEiliFTbEt+QK9aGXUe1tOWPs6pIRyyj2VH2cWGHUvQp1oSwADJsYh2PW",
|
|
|
|
|
"Uk05SCUPyBAM0905IvWv6aOT01uXpZr6VPUyOh6tZUX9p+JU+AflibIubDOXaEd9EGdGbasP7FV28cof",
|
|
|
|
|
"zkxOjJ9L5SNHaU5Wd+dtJ61l6as/BtwPdA80F1yHfxa1SY4fO/dhOfyfvtNe0PKca149/dRCEDT9qbEx",
|
|
|
|
|
"3w54yWuNqfrgwk6rBwayE601s2ZB1Zckulmpw3oTZiKT3LSdW/pFz7vufB2XPUpTvUN6rsleiSfmtf2U",
|
|
|
|
|
"bC6VqoINXds12Ev4cWLtEFpTU3yruyUSqpJeXpHoVGkMnsc8P1P9m8mUuX4g+xpepoHHpTWi/oCJ1nfl",
|
|
|
|
|
"ciIjXau7VkIoVBfxAhYZKW9UwEd3pVk9O8JiIloTjcgNxw2YVa+7d3iV1VyPOa7DXG/eclRTJF/LNOG5",
|
|
|
|
|
"dgnSDmCY4NcTiwq8kD3zpdclvYCkp9Rml69cCuNHiody1GW7XaRrvAxNCZtqBifWYD90hNLNJdUrIrWl",
|
|
|
|
|
"eUeiSJvAQvgIKtKC4ZH/Eg9X8qB5IBHQpGo+9cBCVBWmS2Jkg77xc3Fodml26f8CAAD//9ED7UTAZAAA",
|
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 {
|
2023-09-14 10:02:32 +00:00
|
|
|
|
return nil, fmt.Errorf("error base64 decoding spec: %w", err)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
}
|
|
|
|
|
zr, err := gzip.NewReader(bytes.NewReader(zipped))
|
|
|
|
|
if err != nil {
|
2023-09-14 10:02:32 +00:00
|
|
|
|
return nil, fmt.Errorf("error decompressing spec: %w", err)
|
2023-05-16 04:01:55 +00:00
|
|
|
|
}
|
|
|
|
|
var buf bytes.Buffer
|
|
|
|
|
_, err = buf.ReadFrom(zr)
|
|
|
|
|
if err != nil {
|
2023-09-14 10:02:32 +00:00
|
|
|
|
return nil, fmt.Errorf("error decompressing spec: %w", err)
|
2023-05-16 04:01:55 +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:02:32 +00:00
|
|
|
|
res := make(map[string]func() ([]byte, error))
|
2023-05-16 04:01:55 +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:02:32 +00:00
|
|
|
|
resolvePath := PathToRawSpec("")
|
2023-05-16 04:01:55 +00:00
|
|
|
|
|
|
|
|
|
loader := openapi3.NewLoader()
|
|
|
|
|
loader.IsExternalRefsAllowed = true
|
|
|
|
|
loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
|
2023-09-14 10:02:32 +00:00
|
|
|
|
pathToFile := url.String()
|
2023-05-16 04:01:55 +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
|
|
|
|
|
}
|