from __future__ import annotations import uuid from typing import Optional from fastapi import Header, HTTPException from app.core.redis import get_redis async def get_session_id(x_session_id: Optional[str] = Header(default=None)) -> str: if not x_session_id: raise HTTPException(status_code=401, detail="No session found. Please upload a resume first.") redis = await get_redis() exists = await redis.exists(f"session:{x_session_id}:resume") if not exists: raise HTTPException(status_code=401, detail="Session expired. Please upload your resume again.") return x_session_id def generate_session_id() -> str: return str(uuid.uuid4())