generated from PenaSide/GolangTemplate
592 lines
23 KiB
Go
592 lines
23 KiB
Go
// Package swagger provides primitives to interact with the openapi HTTP API.
|
||
//
|
||
// Code generated by github.com/deepmap/oapi-codegen/v2 version v2.0.0 DO NOT EDIT.
|
||
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"
|
||
"github.com/oapi-codegen/runtime"
|
||
)
|
||
|
||
// 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
|
||
// Расчет среднего времени жизни платящего клиента (LTV)
|
||
// (POST /history/ltv)
|
||
CalculateLTV(ctx echo.Context) error
|
||
// Получение недавних тарифов
|
||
// (GET /recent)
|
||
GetRecentTariffs(ctx echo.Context) error
|
||
// отправить акт проделанных работ на почту
|
||
// (POST /sendReport)
|
||
SendReport(ctx echo.Context) error
|
||
// Изменить валюту кошелька
|
||
// (PATCH /wallet)
|
||
ChangeCurrency(ctx echo.Context) error
|
||
// Запрос на получение ссылки на оплату
|
||
// (POST /wallet)
|
||
RequestMoney(ctx echo.Context) error
|
||
// Обработка запроса RSPay
|
||
// (POST /wallet/rspay)
|
||
PostWalletRspay(ctx echo.Context) error
|
||
}
|
||
|
||
// 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
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// Invoke the callback with all the unmarshaled 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
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// Invoke the callback with all the unmarshaled arguments
|
||
err = w.Handler.GetAccount(ctx)
|
||
return err
|
||
}
|
||
|
||
// 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 unmarshaled arguments
|
||
err = w.Handler.ChangeAccount(ctx)
|
||
return err
|
||
}
|
||
|
||
// AddAccount converts echo context to params.
|
||
func (w *ServerInterfaceWrapper) AddAccount(ctx echo.Context) error {
|
||
var err error
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// Invoke the callback with all the unmarshaled 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
|
||
// ------------- 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))
|
||
}
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// Invoke the callback with all the unmarshaled arguments
|
||
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))
|
||
}
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// Invoke the callback with all the unmarshaled arguments
|
||
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))
|
||
}
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// Invoke the callback with all the unmarshaled arguments
|
||
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))
|
||
}
|
||
|
||
// Invoke the callback with all the unmarshaled 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
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// 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 unmarshaled 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
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// 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))
|
||
}
|
||
|
||
// Invoke the callback with all the unmarshaled arguments
|
||
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
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// Invoke the callback with all the unmarshaled 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 unmarshaled 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
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// Invoke the callback with all the unmarshaled 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
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// 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))
|
||
}
|
||
|
||
// ------------- 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))
|
||
}
|
||
|
||
// ------------- 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))
|
||
}
|
||
|
||
// Invoke the callback with all the unmarshaled arguments
|
||
err = w.Handler.GetHistory(ctx, params)
|
||
return err
|
||
}
|
||
|
||
// 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
|
||
}
|
||
|
||
// GetRecentTariffs converts echo context to params.
|
||
func (w *ServerInterfaceWrapper) GetRecentTariffs(ctx echo.Context) error {
|
||
var err error
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// Invoke the callback with all the unmarshaled arguments
|
||
err = w.Handler.GetRecentTariffs(ctx)
|
||
return err
|
||
}
|
||
|
||
// SendReport converts echo context to params.
|
||
func (w *ServerInterfaceWrapper) SendReport(ctx echo.Context) error {
|
||
var err error
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// Invoke the callback with all the unmarshaled arguments
|
||
err = w.Handler.SendReport(ctx)
|
||
return err
|
||
}
|
||
|
||
// ChangeCurrency converts echo context to params.
|
||
func (w *ServerInterfaceWrapper) ChangeCurrency(ctx echo.Context) error {
|
||
var err error
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// Invoke the callback with all the unmarshaled arguments
|
||
err = w.Handler.ChangeCurrency(ctx)
|
||
return err
|
||
}
|
||
|
||
// RequestMoney converts echo context to params.
|
||
func (w *ServerInterfaceWrapper) RequestMoney(ctx echo.Context) error {
|
||
var err error
|
||
|
||
ctx.Set(BearerScopes, []string{})
|
||
|
||
// Invoke the callback with all the unmarshaled arguments
|
||
err = w.Handler.RequestMoney(ctx)
|
||
return err
|
||
}
|
||
|
||
// 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
|
||
}
|
||
|
||
// 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)
|
||
router.POST(baseURL+"/history/ltv", wrapper.CalculateLTV)
|
||
router.GET(baseURL+"/recent", wrapper.GetRecentTariffs)
|
||
router.POST(baseURL+"/sendReport", wrapper.SendReport)
|
||
router.PATCH(baseURL+"/wallet", wrapper.ChangeCurrency)
|
||
router.POST(baseURL+"/wallet", wrapper.RequestMoney)
|
||
router.POST(baseURL+"/wallet/rspay", wrapper.PostWalletRspay)
|
||
|
||
}
|
||
|
||
// Base64 encoded, gzipped, json marshaled Swagger object
|
||
var swaggerSpec = []string{
|
||
|
||
"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",
|
||
}
|
||
|
||
// 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: %w", err)
|
||
}
|
||
zr, err := gzip.NewReader(bytes.NewReader(zipped))
|
||
if err != nil {
|
||
return nil, fmt.Errorf("error decompressing spec: %w", err)
|
||
}
|
||
var buf bytes.Buffer
|
||
_, err = buf.ReadFrom(zr)
|
||
if err != nil {
|
||
return nil, fmt.Errorf("error decompressing spec: %w", 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) {
|
||
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) {
|
||
resolvePath := PathToRawSpec("")
|
||
|
||
loader := openapi3.NewLoader()
|
||
loader.IsExternalRefsAllowed = true
|
||
loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
|
||
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
|
||
}
|