27 lines
772 B
Python
27 lines
772 B
Python
from pydantic_settings import BaseSettings
|
|
from typing import List
|
|
import os
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
PROJECT_NAME: str = "Ecommerce Backend API with Marketplace Support"
|
|
DESCRIPTION: str = "Advanced product management system with JWT authentication"
|
|
VERSION: str = "2.2.0"
|
|
|
|
DATABASE_URL: str = os.getenv("DATABASE_URL", "postgresql://user:password@localhost/ecommerce")
|
|
SECRET_KEY: str = os.getenv("SECRET_KEY", "your-secret-key-change-in-production")
|
|
ACCESS_TOKEN_EXPIRE_MINUTES: int = 30
|
|
|
|
ALLOWED_HOSTS: List[str] = ["*"] # Configure for production
|
|
|
|
# Rate limiting
|
|
RATE_LIMIT_REQUESTS: int = 100
|
|
RATE_LIMIT_WINDOW: int = 3600
|
|
|
|
class Config:
|
|
env_file = ".env"
|
|
extra = "ignore"
|
|
|
|
|
|
settings = Settings()
|