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

37 lines
985 B
Go
Raw Normal View History

package media_library
import (
"github.com/gofiber/fiber/v2"
"go.uber.org/fx"
"web-qudo-be/app/module/media_library/controller"
"web-qudo-be/app/module/media_library/repository"
"web-qudo-be/app/module/media_library/service"
)
type MediaLibraryRouter struct {
App *fiber.App
Ctrl *controller.MediaLibraryController
}
var NewMediaLibraryModule = fx.Options(
fx.Provide(repository.NewMediaLibraryRepository),
fx.Provide(service.NewMediaLibraryService),
fx.Provide(controller.NewMediaLibraryController),
fx.Provide(NewMediaLibraryRouter),
)
func NewMediaLibraryRouter(app *fiber.App, ctrl *controller.MediaLibraryController) *MediaLibraryRouter {
return &MediaLibraryRouter{App: app, Ctrl: ctrl}
}
func (r *MediaLibraryRouter) RegisterMediaLibraryRoutes() {
c := r.Ctrl
r.App.Route("/media-library", func(router fiber.Router) {
router.Get("/", c.All)
router.Post("/register", c.Register)
router.Post("/upload", c.Upload)
router.Delete("/:id", c.Delete)
})
}