generated from PenaSide/GolangTemplate
error refactoring done
This commit is contained in:
parent
bc3a0daa2b
commit
5fc7161ffe
@ -24,8 +24,6 @@ import (
|
|||||||
"penahub.gitlab.yandexcloud.net/pena-services/customer/pkg/validate"
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/pkg/validate"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TODO replace all errors.HTTP with api.error to return logging
|
|
||||||
|
|
||||||
const defaultCurrency = "RUB" // TODO move
|
const defaultCurrency = "RUB" // TODO move
|
||||||
|
|
||||||
type API2 struct {
|
type API2 struct {
|
||||||
@ -79,6 +77,11 @@ func (api *API2) error(ctx echo.Context, status int, message string, rest ...any
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (api *API2) errorOld(ctx echo.Context, err errors.Error) error {
|
||||||
|
api.logger.Error("error:", zap.Error(err))
|
||||||
|
return errors.HTTP(ctx, err)
|
||||||
|
}
|
||||||
|
|
||||||
func (api *API2) noauth(ctx echo.Context) error {
|
func (api *API2) noauth(ctx echo.Context) error {
|
||||||
return api.error(ctx, http.StatusUnauthorized, "failed to get jwt payload")
|
return api.error(ctx, http.StatusUnauthorized, "failed to get jwt payload")
|
||||||
}
|
}
|
||||||
@ -99,7 +102,7 @@ func (api *API2) DeleteAccount(ctx echo.Context) error {
|
|||||||
|
|
||||||
account, err := api.account.Remove(ctx.Request().Context(), userID)
|
account, err := api.account.Remove(ctx.Request().Context(), userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx.JSON(http.StatusOK, account)
|
return ctx.JSON(http.StatusOK, account)
|
||||||
@ -118,7 +121,7 @@ func (api *API2) ChangeAccount(ctx echo.Context) error {
|
|||||||
|
|
||||||
account, err := api.account.UpdateName(ctx.Request().Context(), userID, request)
|
account, err := api.account.UpdateName(ctx.Request().Context(), userID, request)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx.JSON(http.StatusOK, account)
|
return ctx.JSON(http.StatusOK, account)
|
||||||
@ -133,7 +136,7 @@ func (api *API2) SetAccountVerificationStatus(ctx echo.Context, userID string) e
|
|||||||
account, err := api.account.SetStatus(ctx.Request().Context(), userID, request.Status)
|
account, err := api.account.SetStatus(ctx.Request().Context(), userID, request.Status)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
api.logger.Error("failed to set status on <SetVerificationStatus> of <AccountService>", zap.Error(err))
|
api.logger.Error("failed to set status on <SetVerificationStatus> of <AccountService>", zap.Error(err))
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx.JSON(http.StatusOK, account)
|
return ctx.JSON(http.StatusOK, account)
|
||||||
@ -147,7 +150,7 @@ func (api *API2) GetAccount(ctx echo.Context) error {
|
|||||||
|
|
||||||
account, err := api.account.FindByUserID(ctx.Request().Context(), userID)
|
account, err := api.account.FindByUserID(ctx.Request().Context(), userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx.JSON(http.StatusOK, account)
|
return ctx.JSON(http.StatusOK, account)
|
||||||
@ -161,7 +164,7 @@ func (api *API2) AddAccount(ctx echo.Context) error {
|
|||||||
|
|
||||||
account, err := api.account.FindByUserID(ctx.Request().Context(), userID)
|
account, err := api.account.FindByUserID(ctx.Request().Context(), userID)
|
||||||
if err != nil && err.Type() != errors.ErrNotFound {
|
if err != nil && err.Type() != errors.ErrNotFound {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if account != nil {
|
if account != nil {
|
||||||
@ -170,12 +173,12 @@ func (api *API2) AddAccount(ctx echo.Context) error {
|
|||||||
|
|
||||||
user, err := api.clients.auth.GetUser(ctx.Request().Context(), userID)
|
user, err := api.clients.auth.GetUser(ctx.Request().Context(), userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
account, err = api.account.Insert(ctx.Request().Context(), &models.Account{UserID: user.ID, Wallet: models.Wallet{Currency: defaultCurrency}})
|
account, err = api.account.Insert(ctx.Request().Context(), &models.Account{UserID: user.ID, Wallet: models.Wallet{Currency: defaultCurrency}})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx.JSON(http.StatusOK, account)
|
return ctx.JSON(http.StatusOK, account)
|
||||||
@ -184,7 +187,7 @@ func (api *API2) AddAccount(ctx echo.Context) error {
|
|||||||
func (api *API2) DeleteDirectAccount(ctx echo.Context, userID string) error {
|
func (api *API2) DeleteDirectAccount(ctx echo.Context, userID string) error {
|
||||||
account, err := api.account.Remove(ctx.Request().Context(), userID)
|
account, err := api.account.Remove(ctx.Request().Context(), userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx.JSON(http.StatusOK, account)
|
return ctx.JSON(http.StatusOK, account)
|
||||||
@ -193,7 +196,7 @@ func (api *API2) DeleteDirectAccount(ctx echo.Context, userID string) error {
|
|||||||
func (api *API2) GetDirectAccount(ctx echo.Context, userID string) error {
|
func (api *API2) GetDirectAccount(ctx echo.Context, userID string) error {
|
||||||
account, err := api.account.FindByUserID(ctx.Request().Context(), userID)
|
account, err := api.account.FindByUserID(ctx.Request().Context(), userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx.JSON(http.StatusOK, account)
|
return ctx.JSON(http.StatusOK, account)
|
||||||
@ -209,7 +212,7 @@ func (api *API2) PaginationAccounts(ctx echo.Context, params PaginationAccountsP
|
|||||||
|
|
||||||
count, err := api.account.CountAll(ctx.Request().Context())
|
count, err := api.account.CountAll(ctx.Request().Context())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if count == 0 {
|
if count == 0 {
|
||||||
@ -221,7 +224,7 @@ func (api *API2) PaginationAccounts(ctx echo.Context, params PaginationAccountsP
|
|||||||
|
|
||||||
accounts, err := api.account.FindMany(ctx.Request().Context(), page, limit)
|
accounts, err := api.account.FindMany(ctx.Request().Context(), page, limit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
response := models.PaginationResponse[models.Account]{
|
response := models.PaginationResponse[models.Account]{
|
||||||
@ -246,7 +249,7 @@ func (api *API2) RemoveFromCart(ctx echo.Context, params RemoveFromCartParams) e
|
|||||||
|
|
||||||
cartItems, err := api.account.RemoveItemFromCart(ctx.Request().Context(), userID, params.Id)
|
cartItems, err := api.account.RemoveItemFromCart(ctx.Request().Context(), userID, params.Id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx.JSON(http.StatusOK, cartItems)
|
return ctx.JSON(http.StatusOK, cartItems)
|
||||||
@ -271,7 +274,7 @@ func (api *API2) Add2cart(ctx echo.Context, params Add2cartParams) error {
|
|||||||
|
|
||||||
tariff, err := api.clients.hubadmin.GetTariff(ctx.Request().Context(), token, tariffID)
|
tariff, err := api.clients.hubadmin.GetTariff(ctx.Request().Context(), token, tariffID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if tariff == nil {
|
if tariff == nil {
|
||||||
@ -280,7 +283,7 @@ func (api *API2) Add2cart(ctx echo.Context, params Add2cartParams) error {
|
|||||||
|
|
||||||
cartItems, err := api.account.AddItemToCart(ctx.Request().Context(), userID, tariffID)
|
cartItems, err := api.account.AddItemToCart(ctx.Request().Context(), userID, tariffID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx.JSON(http.StatusOK, cartItems)
|
return ctx.JSON(http.StatusOK, cartItems)
|
||||||
@ -299,14 +302,14 @@ func (api *API2) PayCart(ctx echo.Context) error {
|
|||||||
|
|
||||||
account, err := api.account.FindByUserID(ctx.Request().Context(), userID)
|
account, err := api.account.FindByUserID(ctx.Request().Context(), userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
api.logger.Info("account for pay", zap.Any("acc", account))
|
api.logger.Info("account for pay", zap.Any("acc", account))
|
||||||
|
|
||||||
tariffs, err := api.clients.hubadmin.GetTariffs(ctx.Request().Context(), accessToken, account.Cart)
|
tariffs, err := api.clients.hubadmin.GetTariffs(ctx.Request().Context(), accessToken, account.Cart)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
api.logger.Info("tariffs for pay", zap.Any("acc", tariffs))
|
api.logger.Info("tariffs for pay", zap.Any("acc", tariffs))
|
||||||
@ -324,7 +327,7 @@ func (api *API2) PayCart(ctx echo.Context) error {
|
|||||||
Date: timestamppb.New(time.Now()),
|
Date: timestamppb.New(time.Now()),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
api.logger.Info("discountResponse for pay", zap.Any("acc", discount.ApplyDiscountRequest{
|
api.logger.Info("discountResponse for pay", zap.Any("acc", discount.ApplyDiscountRequest{
|
||||||
@ -364,7 +367,7 @@ func (api *API2) PayCart(ctx echo.Context) error {
|
|||||||
Currency: request.Account.Wallet.Currency,
|
Currency: request.Account.Wallet.Currency,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
updatedAccount = accountx
|
updatedAccount = accountx
|
||||||
} else {
|
} else {
|
||||||
@ -374,7 +377,7 @@ func (api *API2) PayCart(ctx echo.Context) error {
|
|||||||
To: request.Account.Wallet.Currency,
|
To: request.Account.Wallet.Currency,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
accountx, err := api.account.ChangeWallet(ctx.Request().Context(), request.Account.UserID, &models.Wallet{
|
accountx, err := api.account.ChangeWallet(ctx.Request().Context(), request.Account.UserID, &models.Wallet{
|
||||||
@ -385,7 +388,7 @@ func (api *API2) PayCart(ctx echo.Context) error {
|
|||||||
Currency: request.Account.Wallet.Currency,
|
Currency: request.Account.Wallet.Currency,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
updatedAccount = accountx
|
updatedAccount = accountx
|
||||||
@ -397,7 +400,7 @@ func (api *API2) PayCart(ctx echo.Context) error {
|
|||||||
Comment: "Успешная оплата корзины",
|
Comment: "Успешная оплата корзины",
|
||||||
RawDetails: tariffs,
|
RawDetails: tariffs,
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: обработать ошибки при отправке сообщений
|
// TODO: обработать ошибки при отправке сообщений
|
||||||
@ -430,7 +433,7 @@ func (api *API2) PayCart(ctx echo.Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if _, err := api.account.ClearCart(ctx.Request().Context(), account.UserID); err != nil {
|
if _, err := api.account.ClearCart(ctx.Request().Context(), account.UserID); err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
updatedAccount.Cart = []string{}
|
updatedAccount.Cart = []string{}
|
||||||
@ -443,7 +446,7 @@ func (api *API2) PayCart(ctx echo.Context) error {
|
|||||||
func (api *API2) GetCurrencies(ctx echo.Context) error {
|
func (api *API2) GetCurrencies(ctx echo.Context) error {
|
||||||
currencyList, err := api.currency.FindCurrenciesList(ctx.Request().Context(), models.DefaultCurrencyListName)
|
currencyList, err := api.currency.FindCurrenciesList(ctx.Request().Context(), models.DefaultCurrencyListName)
|
||||||
if err != nil && err.Type() != errors.ErrNotFound {
|
if err != nil && err.Type() != errors.ErrNotFound {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err != nil && err.Type() == errors.ErrNotFound {
|
if err != nil && err.Type() == errors.ErrNotFound {
|
||||||
@ -466,7 +469,7 @@ func (api *API2) UpdateCurrencies(ctx echo.Context) error {
|
|||||||
Currencies: currencies,
|
Currencies: currencies,
|
||||||
})
|
})
|
||||||
if err != nil && err.Type() != errors.ErrNotFound {
|
if err != nil && err.Type() != errors.ErrNotFound {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err != nil && err.Type() == errors.ErrNotFound {
|
if err != nil && err.Type() == errors.ErrNotFound {
|
||||||
@ -475,7 +478,7 @@ func (api *API2) UpdateCurrencies(ctx echo.Context) error {
|
|||||||
Currencies: currencies,
|
Currencies: currencies,
|
||||||
})
|
})
|
||||||
if err != nil && err.Type() != errors.ErrNotFound {
|
if err != nil && err.Type() != errors.ErrNotFound {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
return ctx.JSON(http.StatusOK, newCurrencyList.Currencies)
|
return ctx.JSON(http.StatusOK, newCurrencyList.Currencies)
|
||||||
}
|
}
|
||||||
@ -496,7 +499,7 @@ func (api *API2) GetHistory(ctx echo.Context, params GetHistoryParams) error {
|
|||||||
|
|
||||||
count, err := api.history.CountAll(ctx.Request().Context(), dto)
|
count, err := api.history.CountAll(ctx.Request().Context(), dto)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if count == 0 {
|
if count == 0 {
|
||||||
@ -508,7 +511,7 @@ func (api *API2) GetHistory(ctx echo.Context, params GetHistoryParams) error {
|
|||||||
|
|
||||||
histories, err := api.history.FindMany(ctx.Request().Context(), dto)
|
histories, err := api.history.FindMany(ctx.Request().Context(), dto)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
returnHistories := models.PaginationResponse[models.History]{
|
returnHistories := models.PaginationResponse[models.History]{
|
||||||
@ -533,7 +536,7 @@ func (api *API2) RequestMoney(ctx echo.Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if err := utils.ValidateGetPaymentLinkBody(request); err != nil {
|
if err := utils.ValidateGetPaymentLinkBody(request); err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
link, err := api.GetPaymentLink(ctx.Request().Context(), &models.GetPaymentLinkRequest{
|
link, err := api.GetPaymentLink(ctx.Request().Context(), &models.GetPaymentLinkRequest{
|
||||||
@ -542,7 +545,7 @@ func (api *API2) RequestMoney(ctx echo.Context) error {
|
|||||||
ClientIP: ctx.RealIP(),
|
ClientIP: ctx.RealIP(),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx.JSON(http.StatusOK, &models.GetPaymentLinkResponse{Link: link})
|
return ctx.JSON(http.StatusOK, &models.GetPaymentLinkResponse{Link: link})
|
||||||
@ -566,7 +569,7 @@ func (api *API2) ChangeCurrency(ctx echo.Context) error {
|
|||||||
currency := request.Currency
|
currency := request.Currency
|
||||||
account, err := api.account.FindByUserID(ctx.Request().Context(), userID)
|
account, err := api.account.FindByUserID(ctx.Request().Context(), userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
cash, err := api.clients.currency.Translate(ctx.Request().Context(), &models.TranslateCurrency{
|
cash, err := api.clients.currency.Translate(ctx.Request().Context(), &models.TranslateCurrency{
|
||||||
@ -575,7 +578,7 @@ func (api *API2) ChangeCurrency(ctx echo.Context) error {
|
|||||||
To: currency,
|
To: currency,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
updatedAccount, err := api.account.ChangeWallet(ctx.Request().Context(), account.UserID, &models.Wallet{
|
updatedAccount, err := api.account.ChangeWallet(ctx.Request().Context(), account.UserID, &models.Wallet{
|
||||||
@ -584,7 +587,7 @@ func (api *API2) ChangeCurrency(ctx echo.Context) error {
|
|||||||
Money: account.Wallet.Money,
|
Money: account.Wallet.Money,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.HTTP(ctx, err)
|
return api.errorOld(ctx, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx.JSON(http.StatusOK, updatedAccount)
|
return ctx.JSON(http.StatusOK, updatedAccount)
|
||||||
|
Loading…
Reference in New Issue
Block a user