This commit is contained in:
Tomas Dvorak
2025-10-23 22:26:50 +02:00
parent 63700eedb2
commit 70ea0c3c91
75 changed files with 3337 additions and 1160 deletions
+12
View File
@@ -121,11 +121,18 @@ func SetupRoutes(api *gin.RouterGroup, db *gorm.DB) {
protected := api.Group("")
protected.Use(middleware.JWTAuth(db))
{
// Newsletter preferences token for current user
protected.GET("/newsletter/token/me", contactController.GetNewsletterTokenForUser)
// User profile update
protected.PUT("/me", authController.UpdateCurrentUser)
// AI endpoints (protected)
ai := protected.Group("/ai")
{
ai.POST("/blog/generate", aiController.GenerateBlog)
ai.POST("/about/generate", aiController.GenerateAboutPage)
ai.POST("/css/generate", aiController.GenerateCSS)
}
// User profile
@@ -137,6 +144,7 @@ func SetupRoutes(api *gin.RouterGroup, db *gorm.DB) {
// Events (protected)
protectedEvents := protected.Group("/events")
protectedEvents.Use(middleware.RoleAuth("editor"))
{
protectedEvents.POST("", eventController.CreateEvent)
protectedEvents.PUT("/:id", eventController.UpdateEvent)
@@ -145,6 +153,7 @@ func SetupRoutes(api *gin.RouterGroup, db *gorm.DB) {
// Articles (protected - accessible by editors and admins)
articles := protected.Group("/articles")
articles.Use(middleware.RoleAuth("editor"))
{
articles.POST("", articleController.CreateArticle)
articles.PUT("/:id", baseController.UpdateArticle)
@@ -156,6 +165,7 @@ func SetupRoutes(api *gin.RouterGroup, db *gorm.DB) {
// Teams (protected)
teams := protected.Group("/teams")
teams.Use(middleware.RoleAuth("admin"))
{
teams.POST("", baseController.CreateTeam)
teams.PUT("/:id", baseController.UpdateTeam)
@@ -164,6 +174,7 @@ func SetupRoutes(api *gin.RouterGroup, db *gorm.DB) {
// Players (protected)
players := protected.Group("/players")
players.Use(middleware.RoleAuth("admin"))
{
players.POST("", baseController.CreatePlayer)
players.PUT("/:id", baseController.UpdatePlayer)
@@ -172,6 +183,7 @@ func SetupRoutes(api *gin.RouterGroup, db *gorm.DB) {
// Sponsors (protected CRUD)
sponsors := protected.Group("/sponsors")
sponsors.Use(middleware.RoleAuth("admin"))
{
sponsors.POST("", baseController.CreateSponsor)
sponsors.PUT("/:id", baseController.UpdateSponsor)