42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""
 | 
						|
Application settings and configuration
 | 
						|
"""
 | 
						|
import os
 | 
						|
from typing import Optional
 | 
						|
 | 
						|
class Settings:
 | 
						|
    """Application settings class"""
 | 
						|
    
 | 
						|
    # Application settings
 | 
						|
    APP_NAME: str = "MerchantsOfHope"
 | 
						|
    APP_VERSION: str = "1.0.0"
 | 
						|
    DEBUG: bool = os.getenv("DEBUG", "False").lower() == "true"
 | 
						|
    
 | 
						|
    # Database settings
 | 
						|
    DATABASE_URL: str = os.getenv("DATABASE_URL", "sqlite:///./merchants_of_hope.db")
 | 
						|
    
 | 
						|
    # Multi-tenant settings
 | 
						|
    MULTI_TENANT_ENABLED: bool = True
 | 
						|
    TENANT_ID_HEADER: str = "X-Tenant-ID"
 | 
						|
    
 | 
						|
    # Authentication settings
 | 
						|
    SECRET_KEY: str = os.getenv("SECRET_KEY", "dev-secret-key-change-in-production")
 | 
						|
    ALGORITHM: str = "HS256"
 | 
						|
    ACCESS_TOKEN_EXPIRE_MINUTES: int = 30
 | 
						|
    
 | 
						|
    # OIDC settings
 | 
						|
    OIDC_ISSUER: Optional[str] = os.getenv("OIDC_ISSUER")
 | 
						|
    OIDC_CLIENT_ID: Optional[str] = os.getenv("OIDC_CLIENT_ID")
 | 
						|
    OIDC_CLIENT_SECRET: Optional[str] = os.getenv("OIDC_CLIENT_SECRET")
 | 
						|
    OIDC_REDIRECT_URI: Optional[str] = os.getenv("OIDC_REDIRECT_URI")
 | 
						|
    
 | 
						|
    # Security settings
 | 
						|
    ALLOWED_HOSTS: list = ["*"]  # Should be configured properly in production
 | 
						|
    
 | 
						|
    # Compliance settings
 | 
						|
    PCI_ENABLED: bool = True
 | 
						|
    GDPR_ENABLED: bool = True
 | 
						|
    SOC_ENABLED: bool = True
 | 
						|
    FEDRAMP_ENABLED: bool = True
 | 
						|
 | 
						|
settings = Settings() |