from __future__ import annotations from fastapi import HTTPException, Request, status def get_current_username(request: Request) -> str: username = request.session.get("username") if not username: raise HTTPException(status_code=status.HTTP_303_SEE_OTHER, headers={"Location": "/login"}) return username def get_current_username_optional(request: Request) -> str | None: return request.session.get("username")