package middleware import ( "music-server/internal/backend" "music-server/internal/logging" "net/http" "github.com/labstack/echo/v5" ) // SyncCheckMiddleware blocks requests when syncing is in progress. // It returns HTTP 423 Locked with a standard message. // This middleware should be applied to handlers that cannot execute during sync. func SyncCheckMiddleware(next echo.HandlerFunc) echo.HandlerFunc { return func(c *echo.Context) error { if backend.Syncing { logging.GetLogger().Info("Syncing is in progress - request blocked") return c.JSON(http.StatusLocked, "Syncing is in progress") } return next(c) } }