package menu_actions import ( "github.com/gofiber/fiber/v2" "go.uber.org/fx" "netidhub-saas-be/app/module/menu_actions/controller" "netidhub-saas-be/app/module/menu_actions/repository" "netidhub-saas-be/app/module/menu_actions/service" ) // struct of MenuActionsRouter type MenuActionsRouter struct { App fiber.Router Controller *controller.Controller } // register bulky of MenuActions module var NewMenuActionsModule = fx.Options( // register repository of MenuActions module fx.Provide(repository.NewMenuActionsRepository), // register service of MenuActions module fx.Provide(service.NewMenuActionsService), // register controller of MenuActions module fx.Provide(controller.NewController), // register router of MenuActions module fx.Provide(NewMenuActionsRouter), ) // init MenuActionsRouter func NewMenuActionsRouter(fiber *fiber.App, controller *controller.Controller) *MenuActionsRouter { return &MenuActionsRouter{ App: fiber, Controller: controller, } } // register routes of MenuActions module func (_i *MenuActionsRouter) RegisterMenuActionsRoutes() { // define controllers menuActionsController := _i.Controller.MenuActions // define routes _i.App.Route("/menu-actions", func(router fiber.Router) { router.Get("/", menuActionsController.All) router.Get("/:id", menuActionsController.Show) router.Get("/menu/:menu_id", menuActionsController.GetByMenuId) router.Post("/", menuActionsController.Save) router.Post("/batch", menuActionsController.SaveBatch) router.Put("/:id", menuActionsController.Update) router.Delete("/:id", menuActionsController.Delete) }) }