Files
orion/app/core/config.py
2025-09-14 15:47:38 +02:00

53 lines
1.3 KiB
Python

# app/core/config.py
"""Summary description ....
This module provides classes and functions for:
- ....
- ....
- ....
"""
from typing import List, Optional
from pydantic_settings import \
BaseSettings # This is the correct import for Pydantic v2
class Settings(BaseSettings):
"""Settings class inheriting from BaseSettings that allows values to be overridden by environment variables."""
# 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()