package presentation import ( "rijig/config" "rijig/internal/handler" "rijig/internal/repositories" "rijig/internal/services" "rijig/middleware" "rijig/utils" "github.com/gofiber/fiber/v2" ) func AboutRouter(api fiber.Router) { aboutRepo := repositories.NewAboutRepository(config.DB) aboutService := services.NewAboutService(aboutRepo) aboutHandler := handler.NewAboutHandler(aboutService) aboutRoutes := api.Group("/about") aboutRoutes.Use(middleware.AuthMiddleware) aboutRoutes.Get("/", aboutHandler.GetAllAbout) aboutRoutes.Get("/:id", aboutHandler.GetAboutByID) aboutRoutes.Post("/", aboutHandler.CreateAbout) // admin aboutRoutes.Put("/:id", middleware.RoleMiddleware(utils.RoleAdministrator), aboutHandler.UpdateAbout) aboutRoutes.Delete("/:id", aboutHandler.DeleteAbout) // admin aboutDetailRoutes := api.Group("/about-detail") aboutDetailRoutes.Use(middleware.AuthMiddleware) aboutDetailRoute := api.Group("/about-detail") aboutDetailRoute.Get("/:id", aboutHandler.GetAboutDetailById) aboutDetailRoutes.Post("/", aboutHandler.CreateAboutDetail) // admin aboutDetailRoutes.Put("/:id", middleware.RoleMiddleware(utils.RoleAdministrator), aboutHandler.UpdateAboutDetail) aboutDetailRoutes.Delete("/:id", middleware.RoleMiddleware(utils.RoleAdministrator), aboutHandler.DeleteAboutDetail) }