package api import ( "github.com/gin-gonic/gin" "veza-backend-api/internal/handlers" "veza-backend-api/internal/services" ) // setupQueueRoutes configures the user playback queue routes func (r *APIRouter) setupQueueRoutes(router *gin.RouterGroup) { if r.config == nil || r.config.AuthMiddleware == nil { return } queueService := services.NewQueueService(r.db.GormDB, r.logger) queueHandler := handlers.NewQueueHandler(queueService, r.logger) queue := router.Group("/queue") queue.Use(r.config.AuthMiddleware.RequireAuth()) r.applyCSRFProtection(queue) { queue.GET("", queueHandler.GetQueue) queue.PUT("", queueHandler.UpdateQueue) queue.POST("/items", queueHandler.AddQueueItem) queue.DELETE("/items/:id", queueHandler.RemoveQueueItem) queue.DELETE("", queueHandler.ClearQueue) } }