from fastapi import APIRouter, Depends from auth.models import TokenPayload from auth.dependencies import require_melody_access, require_viewer from settings.models import MelodySettings, MelodySettingsUpdate from settings import service router = APIRouter(prefix="/api/settings", tags=["settings"]) @router.get("/melody", response_model=MelodySettings) async def get_melody_settings( _user: TokenPayload = Depends(require_viewer), ): return service.get_melody_settings() @router.put("/melody", response_model=MelodySettings) async def update_melody_settings( body: MelodySettingsUpdate, _user: TokenPayload = Depends(require_melody_access), ): return service.update_melody_settings(body)