customer/internal/swagger/api.gen.go

506 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-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-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)
RequestMoney(ctx echo.Context, params RequestMoneyParams) error
// Изменить валюту кошелька
2023-05-16 04:01:55 +00:00
// (PATCH /wallet)
ChangeCurrency(ctx echo.Context) error
2023-05-17 03:39:29 +00:00
// Зачислить деньги на кошелёк
2023-05-16 04:01:55 +00:00
// (POST /wallet)
PutMoney(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
}
// 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
}
// 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
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.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{""})
// Parameter object where we will unmarshal all parameters from the context
var params RequestMoneyParams
// ------------- Required query parameter "cash" -------------
err = runtime.BindQueryParameter("form", true, true, "cash", ctx.QueryParams(), &params.Cash)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter cash: %s", err))
}
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.RequestMoney(ctx, params)
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
}
// PutMoney converts echo context to params.
func (w *ServerInterfaceWrapper) PutMoney(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.PutMoney(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.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-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)
2023-05-17 03:39:29 +00:00
router.POST(baseURL+"/wallet", wrapper.PutMoney)
2023-05-16 04:01:55 +00:00
}
// Base64 encoded, gzipped, json marshaled Swagger object
var swaggerSpec = []string{
2023-05-23 10:52:27 +00:00
"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",
"WkosduIbwox4dWH13wEAAP//CUifXPxCAAA=",
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
}