15 lines
440 B
Python
15 lines
440 B
Python
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")
|
|
|