MIF_E31222379_BE/presentation/article_route.go

27 lines
1.0 KiB
Go

package presentation
import (
"rijig/config"
"rijig/internal/handler"
"rijig/internal/repositories"
"rijig/internal/services"
"rijig/middleware"
"rijig/utils"
"github.com/gofiber/fiber/v2"
)
func ArticleRouter(api fiber.Router) {
articleRepo := repositories.NewArticleRepository(config.DB)
articleService := services.NewArticleService(articleRepo)
articleHandler := handler.NewArticleHandler(articleService)
articleAPI := api.Group("/article-rijik")
articleAPI.Post("/create-article", middleware.AuthMiddleware, middleware.RoleMiddleware(utils.RoleAdministrator), articleHandler.CreateArticle)
articleAPI.Get("/view-article", articleHandler.GetAllArticles)
articleAPI.Get("/view-article/:article_id", articleHandler.GetArticleByID)
articleAPI.Put("/update-article/:article_id", middleware.AuthMiddleware, middleware.RoleMiddleware(utils.RoleAdministrator), articleHandler.UpdateArticle)
articleAPI.Delete("/delete-article/:article_id", middleware.AuthMiddleware, middleware.RoleMiddleware(utils.RoleAdministrator), articleHandler.DeleteArticle)
}