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.
This commit is contained in:
2025-05-14 20:03:06 +03:30
parent 02461d0bb0
commit 943925c3e9
9 changed files with 76 additions and 52 deletions
+11 -8
View File
@@ -1,24 +1,27 @@
package server
import (
"CatsOfMastodonBotGo/internal/handlers"
"CatsOfMastodonBotGo/internal"
handlers_admin "CatsOfMastodonBotGo/internal/handlers/admin"
handlers_home "CatsOfMastodonBotGo/internal/handlers/home"
"github.com/gin-gonic/gin"
)
func SetupRouter(r *gin.Engine) *gin.Engine {
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("/", handlers.AdminDashboardHandler)
admin.POST("/approve", handlers.ApproveMediaHandler)
admin.POST("/reject", handlers.RejectMediaHandler)
admin.GET("/", adminDashboardHandler.AdminHomePage)
admin.POST("/approve", adminDashboardHandler.ApproveMedia)
admin.POST("/reject", adminDashboardHandler.RejectMedia)
r.GET("/", handlers.MainPageHandler)
r.GET("/", homePageHandler.HomePageHandler)
return r
}