"""
应用配置 — 手动从 .env 读取，不依赖 pydantic-settings 自动 env_file
"""

import os
from pathlib import Path
from dotenv import load_dotenv

# 强制加载 backend/.env 到 os.environ（用 __file__ 定位脚本所在目录，避免 cwd 漂移）
# __file__ = e:\tps-dashboard\backend\app\core\config.py → parent.parent.parent = e:\tps-dashboard\backend
_env_path = Path(__file__).parent.parent.parent / ".env"
load_dotenv(str(_env_path), override=True)

# 直接从 os.environ 读取，手动兜底
_DATABASE_URL = os.environ.get("DATABASE_URL")
_SECRET_KEY = os.environ.get("SECRET_KEY", "change-me-to-a-random-string-in-production")
_SESSION_MAX_AGE = int(os.environ.get("SESSION_MAX_AGE", "86400"))

# 验证必需配置
if not _DATABASE_URL:
    raise RuntimeError(f"[config] DATABASE_URL 未设置。请检查 {_env_path} 是否存在且内容正确。")

# 简单命名空间对象（替代 pydantic-settings，避免 env 读取失效）
class Settings:
    DATABASE_URL: str = _DATABASE_URL
    SECRET_KEY: str = _SECRET_KEY
    SESSION_MAX_AGE: int = _SESSION_MAX_AGE


settings = Settings()
