"""应用配置

从项目根目录的 .env 文件加载配置（若存在）。
API_KEY 留空表示不启用写操作鉴权（适用于纯内网环境）。
"""

import os
from pathlib import Path

from dotenv import load_dotenv

BASE_DIR = Path(__file__).resolve().parent.parent.parent
load_dotenv(BASE_DIR / ".env")


class Settings:
    """应用配置项"""

    APP_NAME: str = os.getenv("APP_NAME", "VPS 资产管理系统")
    # 写操作（POST/PUT/DELETE）鉴权密钥；留空则不校验
    API_KEY: str = os.getenv("API_KEY", "")
    # Agent 上报鉴权密钥；配置后 Agent 上报需携带 X-Agent-Key
    AGENT_KEY: str = os.getenv("AGENT_KEY", "")
    # 凭证加密主密钥（Fernet）；生成：python -c 'from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())'
    MASTER_KEY: str = os.getenv("MASTER_KEY", "")


settings = Settings()
