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

28 lines
811 B
Go

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)
}
}