fix: retain demo sessions across seed resets

This commit is contained in:
NuklearRabbit
2026-08-10 02:08:40 +02:00
parent 0bfcf71ff7
commit 3cd9ddfa66
+10
View File
@@ -28,6 +28,16 @@ def get_current_user(request: Request, db: Session = Depends(get_db)) -> Current
payload: SessionPayload | None = read_session_token(token) if token else None
if payload is None or payload.role not in _VALID_ROLES:
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Not authenticated")
# Demo reset deliberately rebuilds the deterministic users table. Retaining the
# signed demo session until the reset endpoint clears its cookie keeps existing demo
# workflows stable; operational sessions are always checked against the live record.
if settings.mobilityops_demo_mode:
demo_role: Role = payload.role # type: ignore[assignment]
return CurrentUser(
public_ref=payload.public_ref,
display_name=payload.display_name,
role=demo_role,
)
user = db.get(User, payload.user_id)
if (
user is None