veza/veza-backend-api/internal/api/routes_live.go

29 lines
915 B
Go

package api
import (
"github.com/gin-gonic/gin"
"veza-backend-api/internal/handlers"
"veza-backend-api/internal/repositories"
"veza-backend-api/internal/services"
)
// setupLiveRoutes configure les routes live streams
func (r *APIRouter) setupLiveRoutes(router *gin.RouterGroup) {
liveStreamRepo := repositories.NewLiveStreamRepository(r.db.GormDB)
liveStreamService := services.NewLiveStreamService(liveStreamRepo)
liveStreamHandler := handlers.NewLiveStreamHandler(liveStreamService, r.logger)
live := router.Group("/live")
{
live.GET("/streams", liveStreamHandler.ListLiveStreams)
live.GET("/streams/:id", liveStreamHandler.GetLiveStream)
if r.config != nil && r.config.AuthMiddleware != nil {
protected := live.Group("")
protected.Use(r.config.AuthMiddleware.RequireAuth())
r.applyCSRFProtection(protected)
protected.POST("/streams", liveStreamHandler.CreateLiveStream)
}
}
}