import os from pathlib import Path from pydantic_settings import BaseSettings _HERE = Path(__file__).parent if os.name == "nt": _DB_DIR = Path(os.environ.get("LOCALAPPDATA", Path.home() / "AppData" / "Local")) / "xenia_cloud" _DB_DIR.mkdir(parents=True, exist_ok=True) _DEFAULT_DB = _DB_DIR / "cloud.db" else: _DEFAULT_DB = _HERE / "cloud.db" class Settings(BaseSettings): SECRET_KEY: str = "change-me-generate-a-long-random-string" DATABASE_URL: str = f"sqlite:///{_DEFAULT_DB.as_posix()}" ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 ADMIN_USERNAME: str = "sysadmin" ADMIN_PASSWORD: str = "changeme" LATEST_VERSION: str = "0.0.0" # Manager JWT (separate secret from admin JWT) MANAGER_JWT_SECRET: str = "change-me-manager-secret" MANAGER_JWT_EXPIRE_HOURS: int = 72 model_config = {"env_file": str(_HERE / ".env")} settings = Settings()