31 lines
894 B
Go
31 lines
894 B
Go
package server
|
|
|
|
import (
|
|
"CatsOfMastodonBotGo/internal"
|
|
handlers_admin "CatsOfMastodonBotGo/internal/web/handlers/admin"
|
|
handlers_api "CatsOfMastodonBotGo/internal/web/handlers/api"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func SetupRouter(appContext *internal.AppContext) *gin.Engine {
|
|
r := gin.Default()
|
|
|
|
|
|
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.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
|
|
}
|