feat(reports): stabilize on-demand generation, live presence and 1C fallback
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
"""
|
||||
===============================================================================
|
||||
FILE: modules/web_api/routers/presence.py
|
||||
ROLE: REST API оперативного статуса присутствия сотрудников в здании.
|
||||
===============================================================================
|
||||
"""
|
||||
|
||||
from fastapi import APIRouter, Query
|
||||
from typing import Optional, Dict, Any
|
||||
|
||||
from services.presence_service import get_live_presence
|
||||
|
||||
router = APIRouter(prefix="/api/v1/presence", tags=["Presence"])
|
||||
|
||||
|
||||
@router.get("/live")
|
||||
def api_get_live_presence(
|
||||
date_str: Optional[str] = Query(None, description="Дата в формате ДД.ММ.ГГГГ"),
|
||||
force_refresh: bool = Query(False, description="Принудительный опрос MS SQL Орион")
|
||||
):
|
||||
"""
|
||||
Возвращает оперативный статус сотрудников («Кто в здании»).
|
||||
По умолчанию возвращает срез моментально из локальной базы SQLite.
|
||||
При force_refresh=true выполняет опрос турникетов в MS SQL Орион.
|
||||
"""
|
||||
return get_live_presence(date_str=date_str, force_refresh=force_refresh)
|
||||
Reference in New Issue
Block a user