update: overhauled firmware ui. Added public flash page.

This commit is contained in:
2026-03-18 17:49:40 +02:00
parent 4381a6681d
commit d0ac4f1d91
45 changed files with 6798 additions and 1723 deletions

View File

@@ -1,8 +1,11 @@
from fastapi import APIRouter, Depends
from auth.models import TokenPayload
from auth.dependencies import require_permission
from auth.dependencies import require_permission, require_roles
from auth.models import Role
from settings.models import MelodySettings, MelodySettingsUpdate
from settings.public_features_models import PublicFeaturesSettings, PublicFeaturesSettingsUpdate
from settings import service
from settings import public_features_service
router = APIRouter(prefix="/api/settings", tags=["settings"])
@@ -20,3 +23,20 @@ async def update_melody_settings(
_user: TokenPayload = Depends(require_permission("melodies", "edit")),
):
return service.update_melody_settings(body)
# ── Public Features Settings (sysadmin / admin only) ─────────────────────────
@router.get("/public-features", response_model=PublicFeaturesSettings)
async def get_public_features(
_user: TokenPayload = Depends(require_roles(Role.sysadmin, Role.admin)),
):
return public_features_service.get_public_features()
@router.put("/public-features", response_model=PublicFeaturesSettings)
async def update_public_features(
body: PublicFeaturesSettingsUpdate,
_user: TokenPayload = Depends(require_roles(Role.sysadmin, Role.admin)),
):
return public_features_service.update_public_features(body)