20 lines
589 B
Python
20 lines
589 B
Python
from fastapi import HTTPException, Request
|
|
|
|
from app.services.auth_service import get_user_for_session
|
|
from app.services.run_service import get_default_user_id
|
|
|
|
SESSION_COOKIE_NAME = "session_id"
|
|
|
|
|
|
def get_request_user_id(request: Request) -> str:
|
|
session_id = request.cookies.get(SESSION_COOKIE_NAME)
|
|
if session_id:
|
|
user = get_user_for_session(session_id)
|
|
if user:
|
|
return user["id"]
|
|
|
|
default_user_id = get_default_user_id()
|
|
if default_user_id:
|
|
return default_user_id
|
|
raise HTTPException(status_code=401, detail="Not authenticated")
|