customer/internal/swagger/api.gen.go

521 lines
20 KiB
Go
Raw Normal View History

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})
SetStatus(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
// (POST /history)
Add2history(ctx echo.Context) error
2023-05-17 03:39:29 +00:00
// Запрос на получение ссылки на оплату
// (GET /wallet)
2023-06-13 14:01:07 +00:00
RequestMoney(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
}
// 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-05-30 13:38:56 +00:00
// SetStatus converts echo context to params.
func (w *ServerInterfaceWrapper) SetStatus(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))
}
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.SetStatus(ctx, userId)
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(), &params.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(), &params.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(), &params.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(), &params.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(), &params.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(), &params.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
}
// Add2history converts echo context to params.
func (w *ServerInterfaceWrapper) Add2history(ctx echo.Context) error {
var err error
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.Add2history(ctx)
return err
}
2023-05-17 03:39:29 +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-13 14:01:07 +00:00
err = w.Handler.RequestMoney(ctx)
2023-05-16 04:01:55 +00:00
return err
}
2023-05-17 03:39:29 +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-05-17 03:39:29 +00:00
err = w.Handler.ChangeCurrency(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-05-30 13:38:56 +00:00
router.PATCH(baseURL+"/account/:userId", wrapper.SetStatus)
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.POST(baseURL+"/history", wrapper.Add2history)
2023-05-17 03:39:29 +00:00
router.GET(baseURL+"/wallet", wrapper.RequestMoney)
2023-05-16 04:01:55 +00:00
router.PATCH(baseURL+"/wallet", wrapper.ChangeCurrency)
}
// Base64 encoded, gzipped, json marshaled Swagger object
var swaggerSpec = []string{
2023-06-13 14:01:07 +00:00
"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",
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
}