kontenhumas-be/app/module/menu_modules/menu_modules.module.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)
})
}