# app/api/session.py from fastapi import APIRouter, Depends, Request from pydantic import BaseModel from typing import Optional from app.core.security import require_auth router = APIRouter(prefix="/session", tags=["session"]) # Глобальная переменная для хранения экземпляра SessionManager _session_manager = None def set_session_manager(session_manager): """Устанавливает глобальный экземпляр SessionManager""" global _session_manager _session_manager = session_manager def get_session_manager(): """Возвращает глобальный экземпляр SessionManager""" return _session_manager class SessionStatus(BaseModel): """Модель для статуса сессии""" active: bool time_left: float start_time: Optional[str] = None end_time: Optional[str] = None @router.get("/status", response_model=SessionStatus) async def get_session_status(request: Request, token: str = Depends(require_auth)): """Получить текущий статус сессии""" session_manager = get_session_manager() if not session_manager: return SessionStatus(active=False, time_left=0) return session_manager.get_session_status()