customer/internal/interface/controller/http/currency_client/controllers.go

44 lines
1.2 KiB
Go
Raw Normal View History

package currency_client
import (
"github.com/gofiber/fiber/v2"
"go.uber.org/zap"
2024-11-18 07:23:41 +00:00
"gitea.pena/PenaSide/customer/internal/errors"
"gitea.pena/PenaSide/customer/internal/interface/controller/http"
"gitea.pena/PenaSide/customer/internal/interface/repository"
"gitea.pena/PenaSide/customer/internal/models"
)
type Deps struct {
CurrencyRepo *repository.CurrencyRepository
MiddleWare *http.MiddleWare
Logger *zap.Logger
}
type CurrencyController struct {
currencyRepo *repository.CurrencyRepository
middleWare *http.MiddleWare
logger *zap.Logger
}
func NewCurrencyController(deps Deps) *CurrencyController {
return &CurrencyController{
currencyRepo: deps.CurrencyRepo,
middleWare: deps.MiddleWare,
logger: deps.Logger,
}
}
2024-05-23 07:15:26 +00:00
func (receiver *CurrencyController) Get(ctx *fiber.Ctx) error {
currencyList, err := receiver.currencyRepo.FindCurrenciesList(ctx.Context(), models.DefaultCurrencyListName)
if err != nil && err.Type() != errors.ErrNotFound {
return receiver.middleWare.ErrorOld(ctx, err)
}
if err != nil && err.Type() == errors.ErrNotFound {
return ctx.Status(fiber.StatusOK).JSON([]string{})
}
return ctx.Status(fiber.StatusOK).JSON(currencyList)
}