from pydantic_settings import BaseSettings
from pathlib import Path


class Settings(BaseSettings):
    database_url: str
    jwt_secret_key: str
    jwt_algorithm: str = "HS256"
    access_token_expire_minutes: int = 30
    frontend_url: str = "http://localhost:5173"
    backend_url: str = "http://localhost:8000"
    
    # Admin user credentials (created on first startup)
    admin_email: str = "admin@brandmaster.com"
    admin_password: str = "Admin123!"  # Change via ADMIN_PASSWORD env var
    admin_full_name: str = "System Administrator"
    
    # Email configuration for password reset
    smtp_host: str = "smtp.gmail.com"
    smtp_port: int = 587
    smtp_username: str = ""
    smtp_password: str = ""
    smtp_from: str = "noreply@brand-master.com"

    class Config:
        env_file = str(Path(__file__).parent.parent / ".env")


settings = Settings()
