# app/core/config.py from typing import List, Optional from pydantic_settings import \ BaseSettings # This is the correct import for Pydantic v2 class Settings(BaseSettings): # Project information project_name: str = "Ecommerce Backend API with Marketplace Support" description: str = "Advanced product management system with JWT authentication" version: str = "2.2.0" # Database database_url: str = "sqlite:///./ecommerce.db" # JWT jwt_secret_key: str = "change-this-in-production" jwt_expire_hours: int = 24 jwt_expire_minutes: int = 30 # Middleware allowed_hosts: List[str] = ["*"] # Configure for production # API api_host: str = "0.0.0.0" api_port: int = 8000 debug: bool = False # Rate Limiting rate_limit_enabled: bool = True rate_limit_requests: int = 100 rate_limit_window: int = 3600 # Logging log_level: str = "INFO" log_file: Optional[str] = None model_config = {"env_file": ".env"} # Updated syntax for Pydantic v2 settings = Settings()