from decouple import config
from pymongo import MongoClient

class Config(object): 
    """
    This class is used to configure the database.

    Args:
        object (): The parent class.
    """
    DB_ENGINE   = config('DB_ENGINE', default='mongodb', cast=str)
    DB_USERNAME = config('DB_USERNAME', default='sanomedia', cast=str)
    DB_PASSWORD = config('DB_PASSWORD', default='sanomedia', cast=str)
    DB_HOST     = config('DB_HOST', default='localhost', cast=str)
    DB_PORT     = config('DB_PORT', default=27017, cast=int)
    DB_DATABASE = config('DB_DATABASE', default='media_planing', cast=str)

    # Construct the DB URI with authentication
    DB_URI = f'{DB_ENGINE}://{DB_HOST}:{DB_PORT}/{DB_DATABASE}'

    #  add condition depends on DB_ENGINE
    client = MongoClient(DB_URI)
    
    db = client[DB_DATABASE]
    