customer/internal/swagger/api.gen.go

509 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})
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-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
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-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-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
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-06-15 12:31:34 +00:00
ctx.Set(BearerScopes, []string{""})
2023-05-30 13:38:56 +00:00
// Invoke the callback with all the unmarshalled 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(), &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
}
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-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-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-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-14 17:28:43 +00:00
err = w.Handler.RequestMoney(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-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)
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.PATCH(baseURL+"/wallet", wrapper.ChangeCurrency)
2023-06-14 17:28:43 +00:00
router.POST(baseURL+"/wallet", wrapper.RequestMoney)
2023-05-16 04:01:55 +00:00
}
// Base64 encoded, gzipped, json marshaled Swagger object
var swaggerSpec = []string{
2023-06-16 10:14:06 +00:00
"H4sIAAAAAAAC/+xb/3MTx5L/V6b27oekbrFlY47g38Akd1wVJBUCKQq7krU0sjdIu2J3FeKjVGVZCYQy",
"geMuVUflArl8qXq/vSfLFpZtSf4Xev6jV90z+31ky4YAfsl7VUSWdnZ6ero//emenrtG0a3WXIc7gW/M",
"3jX84jKvWvTxfLHo1p0AP9Y8t8a9wOb0w2d2Cf/Dv7KqtQo3Zo33CmfLU+WzZxeL5femiqWz587NnD5X",
"mJoyTCNYqeETfuDZzpLRMI2i5QWp0TcPGj7ip2ljwTTsgFdJntwc6gvL86wVmtPjVsBL52nisutVrcCY",
"NUpWwE8FdpXrxCzxCj/iENu/KAellle2Kj6Pnl503Qq3HHzcsaocn/xnj5eNWeOfJuONmFS7MHkFn2mY",
"hh9YQd0/7Gm1YVflww3TqNdKR1133efepZfY3jtWpcKDwyT9VD7VaJiGx2/XbQ+VdpMMKxJBmUr0SqWx",
"SBnRHhnJDU4ueiGSz138ghcDlC+tI1ymU6/i3I6LM9zCf11vKTE2XtsFy7k1Z3mlvEcULa+07FZK3MO/",
"StwvenYtsF3HmDXgKfTFYwYd2IM2bEEX9sRDcQ/aDHahLVbFmlg3zIS6L10/f4XhPx9e1zqQX9RM8gMM",
"YYvNXZ+bZtCDPeixuevXp012Ovxzhokm9KAPHRiiJCaDfeiK+9AWa9CGrlgTTRRzgIINYUOs0i8DGMIO",
"E02xBkOxCkMYQHeU4IUzOnn5VzXbW7nsOsGyRu4foYvzinsMejQLitSFAfTEY5wWp9xN6Yq9c/nyu2PP",
"e4Nbuj35H1LX+FPeuHHjRnrS6cK01gGcenVRawbPYAh96IrVUer7+NqF/AszHqLenlpdWsU6o3/f81wv",
"b7VV7vvWEk87O3ofc9yAld26U9KtUPrfnFtKj5wpzJgxyNhO8K8z8WjbCfgS93LrKeJbzEgSnfD/bvuB",
"661onM6tVrmTDiYGbuF3aKxo7uRs0IY9tPUhfgt90WLiPj0wM611r9cTK14CYo8YZzzrzkUeWHbF1xjl",
"30gz0tzJs/swhE3RYrAvVqELW/TzHgzhBfTEmnhokvXCLvTw6Q3Rgi3REmtMfI04Ix6KNbEq1umtoXsh",
"bvSgZ8pN+C7ahmgK3KJNaItHDDrh7jE1cVc+NpRvwsn3oI1/iIeEStJbcVOb7AvfdSYYg6ewgY9uwR4C",
"Gor7ArZwXWgVa9CDfVzuNrRhH0WEHiNca6PJdGAoHk+k/PLuvBFYnl0u+/PG7M35kXs1b5gH/bjQ0G2m",
"/CJpCsW6H7hV7k3ISd93Slzrhq89uGdcNx2r6dnDQ7IZea1p+HXp4zqnv6LIUdrjy7bnByFvipcAT6ED",
"bRjollyxDhoBQ+hAT9zXjXS9Jc3A5/h/Nj8/j6FriPb1HK1NhcY2/qDFTF50ndLBgmg1ntPMR9YK6u+T",
"0G4UfVkMuYlpBLZzyy2Xka0YpnHbvmOjshe5tyi/WXHdquvwFcRdd9Gu4L7Zjh9YlUqV0gBkXv4yDaoZ",
"prE4vXg1Hm1VyhZ91DGkTyP2l+VHvi74/yxa0Ic+tBkJJBkJYkIHcUE8gQHqNGQlGKnR1cUD6MEOo4+r",
"opn01anC2cLUGFHINIp1z+NOcUUj1S/aaRht1J54NF7cRt2ijvOv/x65hngIm4g7EnWQf4g1hMQO4tUQ",
"9QA7RBO+mWDwF4LMDYJVxNJIT6KJY8UTZHDiG4XgyO+2kc0Q8u1JJER604VNJIPyN4yGu4je0J6Q4L2L",
"SChWRQu60JdccBeBcUtxwHj90DVDxJQRAKXH3wcYCmgDBzTfjsmUIArxu+KJklJFHXiBsx1vC2t1r7hs",
"+dw/Xw3z1Iyqn8OGeEAGJJqRqcXaoFg2lBFKrEvdDcQT3GsKPuIhbBNCtMn09sRDYyzB/Bo/gjjETIht",
"SxY6EOu4l4k928bHOqKJyuuQevvqHeIBGcEabboEEiSxFKDRelowQNswjkHMQv+IwCDEjKzaw/XmYVzi",
"Xt2zg5WrmPhJLLjALU8S5EX69EEo2X98+glFkKTO3ncC7rFgmbPAvcUddscOlunPz+VrZtnnrObxsv2V",
"yfjE0gSbV+9n1mKxxKemT8+cmTcwnlPqSdRIzh9JuxwENaOBwtpO2dVvW4J0kMF0VL5En8jYJUHpIYVA",
"1+wQsWizUzHLkU+0KQ+kbCN0g7ydPWLia9w72BX30FfR1VAEaa+rsA09NBOGUIDffCutE7d8ggJAQMA0",
"p5gEO5USK2RGokWyJSSSdGkPRZOGA33oGabxJfd8qYypicJEgaJjjTtWzTZmjdMThQlkCzUrWKYNnrTi",
"wpHkAxql7qts6L7MPTMmyyQywZ6MAWKdMAIjioUvQA5jSBIcFqnQev2a6/jSyKYLBZkiOIHyRatWq9hF",
"Gj6JRDEudo1ZVpE2kl6GaIkmgfG3BJLdSO54h7Ou2DCNmcLUKxNOpnYa0eAZdHFvIwK+HUJEyjGN2Zux",
"S95caCwgL6tWLUy4jGg1PcW3KQwlzF6sY2BILRHtz1ryEUNCO1homMYS1yHiU1KfcgGMPGEVQsW5bYxr",
"FIO6TDyCbTLiNqUJzTB5x8gyweC/YAe2oEc70YPd1ONyilZsbD3YZhRUd2kd7Uwk2ImZyBa0Mb5KqToy",
"a9hUKVEHhzOrHiy7nv2ftHs5K/03HrxlJprQhjLSt8ImUYSZ1yDCL2SuMhkcAb/EN7tibXxHgZ+yOk2y",
"1a6cLIMECQsd4TM1KyguawuK24idMBCPQ3OmCqPkk7AdMgHcbNTzpvoTvQnjSW/kwnPmO7dsOUspkL1d",
"535wwS2tvLK9kkVuzVb9KD0fBaU1St1STeOtwPomMe2tWNknGevhuaLuuJ5d5DKU05JxoP7HAfma6+tQ",
"/udQT4ikTCa7msgR8ZLIL0zMGJpUviY2EvltVzyIMokNsY5onDPd86XS20YO/rEMJt5WMpBR26q1lYYZ",
"0cTJu7KI1DiQL/6ISCeL9pgVIQ+RxACxjybtINg1VU0H/+3LEC+J8ZAp/EADfyHNC/pmggsneFuOB48g",
"nxdtjxcT8b1meVaVB9zzSXPpJVy6qMvLbPwJqXN4vjUb19TifCzw6txMbHq2TrTwZiwcfj2R9Pd1UY1n",
"FJ3TyDUq8I7vdr+mOHkWQvcl0yAufCQq/js7WJZ14lcSCFW9Y5h2ua6OSf/pb4dy+T897tV7XEzuR/sc",
"WtuobCKVq64z8pBeWFVNa0wR9KMmBCPS6FQxCv2VCler0JMF3zgdUD7aEevZIpUsNK5RkG9RSUv/DpOJ",
"xzhKpiQyXSbepsgcg2fwAzw3GfwV//g/6Il7UiTZngC/UVIe/5Dz/6tRJn2de3ZZmc7VsBnkzWLB8bKi",
"9CHJsZp88kdEjUbjbUEnjT0RDU7a00kHh/8eY40jfOYwZkybp4/W2YoWaV56+W7W1IcYuemgqUVHLtsy",
"7EaNPRSpB+R3XfYvTHb/PICubPQZEtW4H58zaF6f89WPrCXboT/Ph0s5xEMT7TFpmcQ6HSK1EX3VaaBo",
"sinZ9VKhJhTV+kDufLvOvZXYn2vWEjeS3lviZateCYzZKd0RSFYqEmN7hFxjilCxq3YwQoZCQSPFy5KL",
"NKokbSnqmBzLw/N9lIEbWJWPrCX55vjITqvLPC4dozSZU7rO+shZ46J16Aq7Wltl8nivDZvKnu4R59wZ",
"6Yxhw2qcmqZt/WNedb/kH3hudU72K2bsXGcT9sEh5ljdGW+MkyZSvqEsraePqf5oDFRWYXfkCW4cb3bo",
"o4wCR0/3kFdJtpRVb/K1sQ2T1R7EGZ9lkzwKh6rmJ4MVtXupZjntMjJn0JJ56gpx08U/pGt8jxpOMINh",
"2OAR7V7rT+d4GedIKDh0kKyCD3SPEN8na5ZsMNUXsP8X2mEXomqQjhxF9WnIsxbYp0aBNQxTaQjME6QV",
"FS3eeGWa+qsi0XNNBierJh2vQ6Xqu1Sklq6m337Z6KLYkmLbucrTXPzUS25Z4t6LbBy7dvWiYRpz5y8e",
"5U7LcclURI3aiX6uDIFKDIzO/RPJxZB6aTfCNi9ZvYvflVBy2EJEYaiuUew16gvN6PZ4qfSrUmvjxGwv",
"Ip+sxe4dvsGvyYevWY7qhuClI3lttBR1pP3yJoe+vRxfHRjl2OHtghOZnsL/n/j01ONF1yuNn52G+/X7",
"Z6fjFNtVR9Q63SrYOVmhMt+yQk1Nm/IeRGJZdC1CPA7rRuR9SISyqXU/4Yih50k/jC8FjspGfor6vUKi",
"JaliLkeZnXdOMXhOpSg6BaOmr0SnQjZjacu7d2HrcjuLJm16Ya7EH51NoRzULpZu7CwuemX2Dh1446N9",
"KfsWAoFoKZI4UJ0/+JV86746Msdfuu+qmaOWd9VCmmg0b+X6O5ks5g0x26ILM/GzEwx+iB5+grg5IOY7",
"FPcp9xD36DrUkBbZVFGDWvhCncke82RXhWpfpbrogIjUDoNdOveTb43aXplkXrQNj6h8uBM+RgQ/e/1H",
"wqZs9AvvxW1RtXFPSq2aCcIOd9km30tfVuzIRQ1kA/yI7qW5uJX51RTqk3cH4nxUBvqD78zE8ektLdvL",
"+KVOctupOw85U5RwV3htPXt5Tx5IHpRy5z9UQv2T/pqC0kwi0z5CXIi6C0MoPAiOEpCvQH50H9gpBr+R",
"qvrxPZMU5BOyJGAW50vk1CaT6Xe+OaGvWhoJjDbEd3TM0YdeBtrbcsaogZ8+ZoE9lcWLJqM7NoiFskwR",
"3o8On2mlWocJkgcUCIbpHuII/jXd/jnc+ljC1GV14+LVoJYV3ZKJqdGZwnRBd4NlMXHT/SDLjG7EH3ij",
"6tLVD0/NTE+dZeJrtf9tYu2HXqGquEu2k0ZZ+uqzgPuBbkBt2XX4legGdjzs7LlC+D/dOI8Hdc+55lXS",
"o5aDoObPTk76dsAnvPqkqmKOvMR5kKqS9/ayYUFdnkzcuVGb9XuEibRVVGznln7RS667VMFlj3Mv8eCw",
"IvuHUp4eXW9C/Z15LVHk5+QVmFStTha8B6IFe4zwrQcbsCtaR0BNTYlQd5YVQkkvDyQ6KCVNyy9zlDnb",
"ZKnyOSs6vsuNUHeQRAv2Q2abvtOoXhHZoeYdidogoX84BD1jxOMRIY0fVwvUDEhcGad2dDUgzCcaC42/",
"BwAA///Ok5KNskYAAA==",
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
}