58 lines
1.7 KiB
Go
58 lines
1.7 KiB
Go
package menu_modules
|
|
|
|
import (
|
|
"github.com/gofiber/fiber/v2"
|
|
"go.uber.org/fx"
|
|
"netidhub-saas-be/app/module/menu_modules/controller"
|
|
"netidhub-saas-be/app/module/menu_modules/repository"
|
|
"netidhub-saas-be/app/module/menu_modules/service"
|
|
)
|
|
|
|
// struct of MenuModulesRouter
|
|
type MenuModulesRouter struct {
|
|
App fiber.Router
|
|
Controller *controller.Controller
|
|
}
|
|
|
|
// register bulky of MenuModules module
|
|
var NewMenuModulesModule = fx.Options(
|
|
// register repository of MenuModules module
|
|
fx.Provide(repository.NewMenuModulesRepository),
|
|
|
|
// register service of MenuModules module
|
|
fx.Provide(service.NewMenuModulesService),
|
|
|
|
// register controller of MenuModules module
|
|
fx.Provide(controller.NewController),
|
|
|
|
// register router of MenuModules module
|
|
fx.Provide(NewMenuModulesRouter),
|
|
)
|
|
|
|
// init MenuModulesRouter
|
|
func NewMenuModulesRouter(fiber *fiber.App, controller *controller.Controller) *MenuModulesRouter {
|
|
return &MenuModulesRouter{
|
|
App: fiber,
|
|
Controller: controller,
|
|
}
|
|
}
|
|
|
|
// register routes of MenuModules module
|
|
func (_i *MenuModulesRouter) RegisterMenuModulesRoutes() {
|
|
// define controllers
|
|
menuModulesController := _i.Controller.MenuModules
|
|
|
|
// define routes
|
|
_i.App.Route("/menu-modules", func(router fiber.Router) {
|
|
router.Get("/", menuModulesController.All)
|
|
router.Get("/:id", menuModulesController.Show)
|
|
router.Get("/menu/:menu_id", menuModulesController.GetByMenuId)
|
|
router.Get("/module/:module_id", menuModulesController.GetByModuleId)
|
|
router.Post("/", menuModulesController.Save)
|
|
router.Post("/batch", menuModulesController.SaveBatch)
|
|
router.Put("/:id", menuModulesController.Update)
|
|
router.Delete("/:id", menuModulesController.Delete)
|
|
})
|
|
}
|
|
|