package server import ( "CatsOfMastodonBotGo/internal" handlers_admin "CatsOfMastodonBotGo/internal/web/handlers/admin" handlers_api "CatsOfMastodonBotGo/internal/web/handlers/api" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" ) func SetupRouter(appContext *internal.AppContext) *gin.Engine { r := gin.Default() r.Use(cors.New(cors.Config{ AllowOrigins: []string{"https://extra-mama-chiz.surge.sh"}, // Just for test AllowMethods: []string{"POST", "GET", "OPTIONS"}, AllowHeaders: []string{"Origin", "Content-Type", "Authorization"}, AllowCredentials: true, })) adminDashboardHandler := handlers_admin.NewAdminDashboardHandler(appContext) apiHandler := handlers_api.NewApiEndpointHandler(appContext) admin := r.Group("/admin") // My man, this is done way more efficient and fast in .NET, specially the authentication part admin.POST("/login", adminDashboardHandler.Login) admin.GET("/getmedia", appContext.Jwt.GinMiddleware(), adminDashboardHandler.GetMedia) admin.POST("/approve", appContext.Jwt.GinMiddleware(), adminDashboardHandler.ApproveMedia) admin.POST("/reject", appContext.Jwt.GinMiddleware(), adminDashboardHandler.RejectMedia) api := r.Group("/api") api.GET("/post/random", apiHandler.GetRandomPost) return r }