qudoco-be/app/module/hero_contents/hero_contents.module.go

48 lines
1.1 KiB
Go

package hero_content
import (
"web-qudo-be/app/module/hero_contents/controller"
"web-qudo-be/app/module/hero_contents/repository"
"web-qudo-be/app/module/hero_contents/service"
"github.com/gofiber/fiber/v2"
"go.uber.org/fx"
)
type HeroContentsRouter struct {
App fiber.Router
Controller *controller.Controller
}
var NewHeroContentsModule = fx.Options(
// repository
fx.Provide(repository.NewHeroContentsRepository),
// service
fx.Provide(service.NewHeroContentsService),
// controller
fx.Provide(controller.NewController),
// router
fx.Provide(NewHeroContentsRouter),
)
// init router
func NewHeroContentsRouter(fiber *fiber.App, controller *controller.Controller) *HeroContentsRouter {
return &HeroContentsRouter{
App: fiber,
Controller: controller,
}
}
func (_i *HeroContentsRouter) RegisterHeroContentsRoutes() {
heroController := _i.Controller.HeroContent
_i.App.Route("/hero-contents", func(router fiber.Router) {
router.Get("/", heroController.Show)
router.Post("/", heroController.Save)
router.Put("/:id", heroController.Update)
router.Delete("/:id", heroController.Delete)
})
}