treasurer/internal/interface/swagger/api.gen.go

226 lines
8.6 KiB
Go
Raw Normal View History

2023-06-19 17:29:15 +00:00
// Package swagger provides primitives to interact with the openapi HTTP API.
//
// 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/url"
"path"
"strings"
"github.com/getkin/kin-openapi/openapi3"
"github.com/labstack/echo/v4"
)
// ServerInterface represents all server handlers.
type ServerInterface interface {
2023-06-19 19:39:34 +00:00
2023-06-19 17:29:15 +00:00
// (GET /available)
GetAvailablePayments(ctx echo.Context) error
// (POST /yandex/payment/status/canceled)
SetYandexPaymentStatusCanceled(ctx echo.Context) error
// (POST /yandex/payment/status/succeeded)
SetYandexPaymentStatusSucceeded(ctx echo.Context) error
// (POST /yandex/payment/status/waiting)
SetYandexPaymentStatusWaiting(ctx echo.Context) error
// (POST /yandex/refund/status/succeeded)
SetYandexRefundStatusSucceeded(ctx echo.Context) error
}
// ServerInterfaceWrapper converts echo contexts to parameters.
type ServerInterfaceWrapper struct {
Handler ServerInterface
}
// GetAvailablePayments converts echo context to params.
func (w *ServerInterfaceWrapper) GetAvailablePayments(ctx echo.Context) error {
var err error
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.GetAvailablePayments(ctx)
return err
}
// SetYandexPaymentStatusCanceled converts echo context to params.
func (w *ServerInterfaceWrapper) SetYandexPaymentStatusCanceled(ctx echo.Context) error {
var err error
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.SetYandexPaymentStatusCanceled(ctx)
return err
}
// SetYandexPaymentStatusSucceeded converts echo context to params.
func (w *ServerInterfaceWrapper) SetYandexPaymentStatusSucceeded(ctx echo.Context) error {
var err error
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.SetYandexPaymentStatusSucceeded(ctx)
return err
}
// SetYandexPaymentStatusWaiting converts echo context to params.
func (w *ServerInterfaceWrapper) SetYandexPaymentStatusWaiting(ctx echo.Context) error {
var err error
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.SetYandexPaymentStatusWaiting(ctx)
return err
}
// SetYandexRefundStatusSucceeded converts echo context to params.
func (w *ServerInterfaceWrapper) SetYandexRefundStatusSucceeded(ctx echo.Context) error {
var err error
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.SetYandexRefundStatusSucceeded(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.GET(baseURL+"/available", wrapper.GetAvailablePayments)
router.POST(baseURL+"/yandex/payment/status/canceled", wrapper.SetYandexPaymentStatusCanceled)
router.POST(baseURL+"/yandex/payment/status/succeeded", wrapper.SetYandexPaymentStatusSucceeded)
router.POST(baseURL+"/yandex/payment/status/waiting", wrapper.SetYandexPaymentStatusWaiting)
router.POST(baseURL+"/yandex/refund/status/succeeded", wrapper.SetYandexRefundStatusSucceeded)
}
// Base64 encoded, gzipped, json marshaled Swagger object
var swaggerSpec = []string{
2023-06-19 19:39:34 +00:00
"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",
2023-06-19 17:29:15 +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
}