Publish curated Unraid-AppOps-Gateway source from 034c9f844d2455850ba37b31379b7edaa786583e

This commit is contained in:
Public Source Publisher committed 2026-10-01 19:39:31 +00:00
1 parent c61fbfd87f
commit 1a54836efc
101 files changed
+4973 -1298

No files matched your search

@@ -0,0 +1,23 @@
from fastapi import APIRouter, Depends, HTTPException, Request
from sqlmodel import Session
from ..db.session import get_session
from ..schemas.exposure_preferences import ExposurePreferences, ExposurePreferencesUpdate
from ..services.exposure_preferences import get_exposure_preferences, update_exposure_preferences
from ..services.user_access import authorize_request
router = APIRouter(prefix="/api/settings/exposure")
@router.get("", response_model=ExposurePreferences)
def get_preferences(request: Request, session: Session = Depends(get_session)):
authorize_request(request)
return get_exposure_preferences(session)
@router.patch("", response_model=ExposurePreferences)
def patch_preferences(payload: ExposurePreferencesUpdate, request: Request, session: Session = Depends(get_session)):
user = authorize_request(request)
if user.role != "admin":
raise HTTPException(403, "Only administrators may change exposure preferences")
return update_exposure_preferences(session, payload, identity=f"{user.provider}:{user.subject}")