import os
from dotenv import load_dotenv

# Load local environment variables from .env if present
load_dotenv()

class Config:
    # Secret key for sessions
    SECRET_KEY = os.environ.get('SECRET_KEY', 'eventology-dev-super-secret-key-129847')
    
    # Database Configuration
    # Defaults to SQLite locally if MySQL variables are not provided
    DB_USER = os.environ.get('DB_USER')
    DB_PASSWORD = os.environ.get('DB_PASSWORD')
    DB_HOST = os.environ.get('DB_HOST', 'localhost')
    DB_NAME = os.environ.get('DB_NAME')
    
    if DB_USER and DB_PASSWORD and DB_NAME:
        SQLALCHEMY_DATABASE_URI = f"mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}/{DB_NAME}"
    else:
        # Fallback to local SQLite database in workspace root
        base_dir = os.path.abspath(os.path.dirname(__file__))
        SQLALCHEMY_DATABASE_URI = f"sqlite:///{os.path.join(base_dir, 'eventology.db')}"
        
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    
    # Application setting for registration approval
    # True means new EMCs must be approved by admin before logging in
    REQUIRE_EMC_APPROVAL = True
