package public import ( "git.ma-al.com/goc_daniel/b2b/app/service/menuService" constdata "git.ma-al.com/goc_daniel/b2b/app/utils/const_data" "git.ma-al.com/goc_daniel/b2b/app/utils/i18n" "git.ma-al.com/goc_daniel/b2b/app/utils/localeExtractor" "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" ) type RoutingHandler struct { menuService *menuService.MenuService } func NewRoutingHandler() *RoutingHandler { menuService := menuService.New() return &RoutingHandler{ menuService: menuService, } } // AuthHandlerRoutes registers all auth routes func RoutingHandlerRoutes(r fiber.Router) fiber.Router { handler := NewRoutingHandler() r.Get("/get-routes", handler.GetRouting) return r } func (h *RoutingHandler) GetRouting(c fiber.Ctx) error { langId, ok := localeExtractor.GetLangID(c) if !ok { return c.Status(responseErrors.GetErrorStatus(responseErrors.ErrInvalidBody)). JSON(response.Make(nullable.GetNil(""), 0, responseErrors.GetErrorCode(c, responseErrors.ErrInvalidBody))) } var roleId uint customer, ok := localeExtractor.GetCustomer(c) if !ok { roleId = constdata.UNLOGGED_USER_ROLE_ID } else { roleId = customer.RoleID } menu, err := h.menuService.GetRoutes(langId, roleId) if err != nil { return c.Status(responseErrors.GetErrorStatus(err)). JSON(response.Make(nullable.GetNil(""), 0, responseErrors.GetErrorCode(c, err))) } return c.JSON(response.Make(&menu, 0, i18n.T_(c, response.Message_OK))) }