@@ -0,0 +1,42 @@
|
||||
"""Пути, доступные до завершения фоновой инициализации (миграции 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
|
||||
Reference in New Issue
Block a user