package swagger import ( "log" "net/http" "github.com/labstack/echo/v4" ) //go:generate oapi-codegen --config api.yaml ../../openapi.yaml //go:generate oapi-codegen --config models.yaml ../../openapi.yaml type accountController interface { RemoveAccount(ctx echo.Context) error GetAccount(ctx echo.Context) error CreateAccount(ctx echo.Context) error RemoveDirectAccount(ctx echo.Context, userID string) error GetDirectAccount(ctx echo.Context, userID string) error GetAccounts(ctx echo.Context, params PaginationAccountsParams) error } type currencyController interface { GetCurrencies(ctx echo.Context) error PutCurrencies(ctx echo.Context) error } type Deps struct { AccountController accountController CurrencyController currencyController } type API struct { AccountController accountController CurrencyController currencyController } func New(deps *Deps) *API { if deps == nil { log.Panicln("deps is nil on ") } if deps.AccountController == nil { log.Panicln("AccountController is nil on ") } if deps.CurrencyController == nil { log.Panicln("CurrencyController is nil on ") } return &API{ AccountController: deps.AccountController, CurrencyController: deps.CurrencyController, } } // Account func (receiver *API) DeleteAccount(ctx echo.Context) error { return receiver.AccountController.RemoveAccount(ctx) } func (receiver *API) GetAccount(ctx echo.Context) error { return receiver.AccountController.GetAccount(ctx) } func (receiver *API) AddAccount(ctx echo.Context) error { return receiver.AccountController.CreateAccount(ctx) } func (receiver *API) DeleteDirectAccount(ctx echo.Context, userID string) error { return receiver.AccountController.RemoveDirectAccount(ctx, userID) } func (receiver *API) GetDirectAccount(ctx echo.Context, userID string) error { return receiver.AccountController.GetDirectAccount(ctx, userID) } func (receiver *API) PaginationAccounts(ctx echo.Context, params PaginationAccountsParams) error { return receiver.AccountController.GetAccounts(ctx, params) } // Cart func (receiver *API) RemoveFromCart(ctx echo.Context, _ RemoveFromCartParams) error { return ctx.String(http.StatusNotImplemented, "method not implemented") } func (receiver *API) Add2cart(ctx echo.Context) error { return ctx.String(http.StatusNotImplemented, "method not implemented") } func (receiver *API) PayCart(ctx echo.Context) error { return ctx.String(http.StatusNotImplemented, "method not implemented") } // Currency func (receiver *API) GetCurrencies(ctx echo.Context) error { return receiver.CurrencyController.GetCurrencies(ctx) } func (receiver *API) UpdateCurrencies(ctx echo.Context) error { return receiver.CurrencyController.PutCurrencies(ctx) } // History func (receiver *API) GetHistory(ctx echo.Context, _ GetHistoryParams) error { return ctx.String(http.StatusNotImplemented, "method not implemented") } func (receiver *API) Add2history(ctx echo.Context) error { return ctx.String(http.StatusNotImplemented, "method not implemented") } // Wallet func (receiver *API) RequestMoney(ctx echo.Context, _ RequestMoneyParams) error { return ctx.String(http.StatusNotImplemented, "method not implemented") } func (receiver *API) ChangeCurrency(ctx echo.Context) error { return ctx.String(http.StatusNotImplemented, "method not implemented") } func (receiver *API) PutMoney(ctx echo.Context) error { return ctx.String(http.StatusNotImplemented, "method not implemented") }