package restricted import ( "git.ma-al.com/goc_daniel/b2b/app/service/langsAndCountriesService" "git.ma-al.com/goc_daniel/b2b/app/utils/i18n" "git.ma-al.com/goc_daniel/b2b/app/utils/nullable" "git.ma-al.com/goc_daniel/b2b/app/utils/response" "git.ma-al.com/goc_daniel/b2b/app/utils/responseErrors" "github.com/gofiber/fiber/v3" ) // LangsAndCountriesHandler for getting languages and countries data type LangsAndCountriesHandler struct { langsAndCountriesService *langsAndCountriesService.LangsAndCountriesService } // NewLangsAndCountriesHandler creates a new LangsAndCountriesHandler instance func NewLangsAndCountriesHandler() *LangsAndCountriesHandler { langsAndCountriesService := langsAndCountriesService.New() return &LangsAndCountriesHandler{ langsAndCountriesService: langsAndCountriesService, } } func LangsAndCountriesHandlerRoutes(r fiber.Router) fiber.Router { handler := NewLangsAndCountriesHandler() r.Get("/get-languages", handler.GetLanguages) r.Get("/get-countries", handler.GetCountries) return r } func (h *LangsAndCountriesHandler) GetLanguages(c fiber.Ctx) error { languages, err := h.langsAndCountriesService.GetLanguages() if err != nil { return c.Status(responseErrors.GetErrorStatus(err)). JSON(response.Make(nullable.GetNil(""), 0, responseErrors.GetErrorCode(c, err))) } return c.JSON(response.Make(&languages, 0, i18n.T_(c, response.Message_OK))) } func (h *LangsAndCountriesHandler) GetCountries(c fiber.Ctx) error { countries, err := h.langsAndCountriesService.GetCountriesAndCurrencies() if err != nil { return c.Status(responseErrors.GetErrorStatus(err)). JSON(response.Make(nullable.GetNil(""), 0, responseErrors.GetErrorCode(c, err))) } return c.JSON(response.Make(&countries, 0, i18n.T_(c, response.Message_OK))) }