import os
from decouple import config

class Settings:
    # Database
    DATABASE_URL = config("DATABASE_URL", default="sqlite:///./gallery.db")
    
    # Security
    SECRET_KEY = config("SECRET_KEY", default="your-secret-key-change-in-production")
    ALGORITHM = "HS256"
    ACCESS_TOKEN_EXPIRE_MINUTES = 30
    REFRESH_TOKEN_EXPIRE_DAYS = 7
    
    # Email Configuration
    SMTP_SERVER = config("SMTP_SERVER", default="smtp.gmail.com")
    SMTP_PORT = config("SMTP_PORT", default=587, cast=int)
    SMTP_USERNAME = config("SMTP_USERNAME", default="")
    SMTP_PASSWORD = config("SMTP_PASSWORD", default="")
    FROM_EMAIL = config("FROM_EMAIL", default="")
    
    # File Upload
    UPLOAD_DIR = config("UPLOAD_DIR", default="uploads")
    MAX_FILE_SIZE = config("MAX_FILE_SIZE", default=50 * 1024 * 1024, cast=int)  # 50MB
    ALLOWED_EXTENSIONS = {"jpg", "jpeg", "png", "gif", "bmp", "tiff", "webp"}
    
    # Face Recognition
    FACE_ENCODINGS_DIR = config("FACE_ENCODINGS_DIR", default="face_encodings")
    FACE_RECOGNITION_TOLERANCE = config("FACE_RECOGNITION_TOLERANCE", default=0.6, cast=float)
    
    # CORS
    CORS_ORIGINS = config("CORS_ORIGINS", default="http://localhost:3000,http://127.0.0.1:3000").split(",")

settings = Settings()

# Create upload directories
os.makedirs(settings.UPLOAD_DIR, exist_ok=True)
os.makedirs(settings.FACE_ENCODINGS_DIR, exist_ok=True)
