package api import ( "github.com/gin-gonic/gin" "veza-backend-api/internal/core/analytics" "veza-backend-api/internal/services" ) // setupAnalyticsRoutes configure les routes pour les analytics func (r *APIRouter) setupAnalyticsRoutes(router *gin.RouterGroup) { if r.db == nil || r.db.GormDB == nil { return } analyticsService := services.NewAnalyticsService(r.db.GormDB, r.logger) analyticsHandler := analytics.NewHandler(analyticsService, r.logger) if r.config != nil && r.config.JobWorker != nil { analyticsHandler.SetJobWorker(r.config.JobWorker) } analytics := router.Group("/analytics") if r.config != nil && r.config.AuthMiddleware != nil { analytics.Use(r.config.AuthMiddleware.RequireAuth()) r.applyCSRFProtection(analytics) } { analytics.GET("", analyticsHandler.GetAnalytics) analytics.POST("/events", analyticsHandler.RecordEvent) analytics.GET("/tracks/:id", analyticsHandler.GetTrackAnalyticsDashboard) } }