43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
"""Пути, доступные до завершения фоновой инициализации (миграции Alembic)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import FrozenSet, Tuple
|
|
|
|
# Префиксы: startup status, health, статика, API киоска (JSON, не редирект на /starting).
|
|
STARTUP_GATE_PREFIXES: Tuple[str, ...] = (
|
|
"/api/startup/",
|
|
"/api/health",
|
|
"/api/kiosk/",
|
|
"/static/",
|
|
)
|
|
|
|
# Точные пути: экран загрузки, весы и legacy-эндпоинты (без HTML-редиректа на /starting).
|
|
STARTUP_GATE_ALLOWED_PATHS: FrozenSet[str] = frozenset(
|
|
{
|
|
"/starting",
|
|
"/favicon.ico",
|
|
"/scales",
|
|
"/calibration",
|
|
"/db_check",
|
|
"/component_loader",
|
|
"/duplicate",
|
|
"/unloading",
|
|
"/current_weight",
|
|
"/current_raw_data",
|
|
"/stream_weight",
|
|
"/tare",
|
|
}
|
|
)
|
|
|
|
|
|
def is_path_allowed_during_startup(path: str) -> bool:
|
|
if not path:
|
|
return False
|
|
if path in STARTUP_GATE_ALLOWED_PATHS:
|
|
return True
|
|
for prefix in STARTUP_GATE_PREFIXES:
|
|
if path.startswith(prefix):
|
|
return True
|
|
return False
|