Files
CatsOfMastodonGo/internal/server/router.go
Mohammad Mahdi 943925c3e9 Refactor handlers into separate packages and implement dependency injection.
IDK if this shit is good or even logical, but it works and I can wrap my head around it.
2025-05-14 20:03:06 +03:30

29 lines
707 B
Go

package server
import (
"CatsOfMastodonBotGo/internal"
handlers_admin "CatsOfMastodonBotGo/internal/handlers/admin"
handlers_home "CatsOfMastodonBotGo/internal/handlers/home"
"github.com/gin-gonic/gin"
)
func SetupRouter(r *gin.Engine, appContext *internal.AppContext) *gin.Engine {
adminDashboardHandler := handlers_admin.NewAdminDashboardHandler(appContext)
homePageHandler := handlers_home.NewMainPageHandler(appContext)
admin := r.Group("/admin")
admin.GET("/", adminDashboardHandler.AdminHomePage)
admin.POST("/approve", adminDashboardHandler.ApproveMedia)
admin.POST("/reject", adminDashboardHandler.RejectMedia)
r.GET("/", homePageHandler.HomePageHandler)
return r
}