from pydantic_settings import BaseSettings from typing import List class Settings(BaseSettings): PROJECT_NAME: str = "DataPointer" VERSION: str = "0.1.0" DESCRIPTION: str = "财产保险行业数据分级分类管理平台" DATABASE_URL: str = "postgresql+psycopg2://pdg:pdg_secret_2024@localhost:5432/prop_data_guard" REDIS_URL: str = "redis://localhost:6379/0" # Database password encryption key (Fernet-compatible base64, 32 bytes) # If empty, will be derived from SECRET_KEY for backward compatibility. # STRONGLY recommended to set this explicitly in production. DB_ENCRYPTION_KEY: str = "" SECRET_KEY: str = "prop-data-guard-super-secret-key-change-in-production" ALGORITHM: str = "HS256" ACCESS_TOKEN_EXPIRE_MINUTES: int = 30 REFRESH_TOKEN_EXPIRE_DAYS: int = 7 MINIO_ENDPOINT: str = "localhost:9000" MINIO_ACCESS_KEY: str = "pdgminio" MINIO_SECRET_KEY: str = "pdgminio_secret_2024" MINIO_SECURE: bool = False MINIO_BUCKET_NAME: str = "pdg-files" CORS_ORIGINS: List[str] = ["http://localhost:5173", "http://127.0.0.1:5173"] FIRST_SUPERUSER_USERNAME: str = "admin" FIRST_SUPERUSER_PASSWORD: str = "Zhidi@n2023" FIRST_SUPERUSER_EMAIL: str = "admin@datapo.com" class Config: env_file = ".env" case_sensitive = True settings = Settings()