mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-04 18:52:56 +00:00
30 lines
768 B
Go
30 lines
768 B
Go
package routes
|
|
|
|
import (
|
|
"fotbal-club/internal/controllers"
|
|
"fotbal-club/internal/middleware"
|
|
"github.com/gin-gonic/gin"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func RegisterEventRoutes(router *gin.RouterGroup, db *gorm.DB) {
|
|
eventController := controllers.EventController{DB: db}
|
|
|
|
events := router.Group("/events")
|
|
{
|
|
events.GET("", eventController.GetEvents)
|
|
events.GET("/upcoming", eventController.GetUpcomingEvents)
|
|
// Public single event endpoint
|
|
events.GET(":id", eventController.GetEventByID)
|
|
|
|
// Protected routes
|
|
authorized := events.Group("")
|
|
authorized.Use(middleware.JWTAuth(db))
|
|
{
|
|
authorized.POST("", eventController.CreateEvent)
|
|
authorized.PUT(":id", eventController.UpdateEvent)
|
|
authorized.DELETE(":id", eventController.DeleteEvent)
|
|
}
|
|
}
|
|
}
|