add cookie session persistence

This commit is contained in:
qananasikq
2026-04-10 19:55:38 +03:00
parent b1aeb966ac
commit 05b83b5518
5 changed files with 71 additions and 1 deletions

View File

@@ -167,6 +167,19 @@ class ProxyConfig:
return result
# --- Конфиг сессии браузера (куки, storage_state) ---
@dataclass(slots=True)
class SessionConfig:
storage_state_path: str | None = _env_optional_str("IAAI_STORAGE_STATE_PATH")
max_age_days: int = _env_int("IAAI_SESSION_MAX_AGE_DAYS", 30)
save_on_exit: bool = _env_bool("IAAI_SESSION_SAVE_ON_EXIT", True)
@property
def enabled(self) -> bool:
return bool(self.storage_state_path)
# --- Главный объект настроек: собирает все блоки конфигурации ---
@dataclass(slots=True)
@@ -195,6 +208,7 @@ class Settings:
redis: RedisConfig = field(default_factory=RedisConfig)
celery: CeleryConfig = field(default_factory=CeleryConfig)
proxy: ProxyConfig = field(default_factory=ProxyConfig)
session: SessionConfig = field(default_factory=SessionConfig)
# Глобальный синглтон — используется по умолчанию во всех модулях.
settings = Settings()