package musichandler import ( "github.com/gin-gonic/gin" musiclogic "spark-server/internal/module/music/logic" "spark-server/internal/pkg/errs" "spark-server/internal/transport/http/respond" ) type Handler struct { svc *musiclogic.Service } func New(svc *musiclogic.Service) *Handler { return &Handler{svc: svc} } // Playlist GET /v1/music/playlist — public curated list + global preview seconds. func (h *Handler) Playlist(c *gin.Context) { if h == nil || h.svc == nil || !h.svc.Ready() { respond.JSONError(c, errs.ErrAvailable) return } out, err := h.svc.Playlist(c.Request.Context()) if err != nil { respond.JSONError(c, err) return } respond.JSON(c, out) } // Settings GET /v1/music/settings — global member preview seconds only. func (h *Handler) Settings(c *gin.Context) { if h == nil || h.svc == nil || !h.svc.Ready() { respond.JSONError(c, errs.ErrAvailable) return } out, err := h.svc.Settings(c.Request.Context()) if err != nil { respond.JSONError(c, err) return } respond.JSON(c, out) }