import os

from pathlib import Path
from dotenv import load_dotenv

env_path = Path(__file__).parent.parent / '.env'
load_dotenv(dotenv_path=env_path)

class Config:
    def config(self, section: str) -> dict:
        """Retorna as configurações do banco de dados para a seção especificada.

        Args:
            section (str): Nome da seção de configuração.

        Returns:
            dict: Dicionário com as configurações do banco de dados.
        """
        match section:
            case 'dataLake':
                host = os.getenv('DATALAKE_HOST') 
                port = os.getenv('DATALAKE_PORT')
                user = os.getenv('DATALAKE_USER')
                password = os.getenv('DATALAKE_PASSWORD')
                database = os.getenv('DATALAKE_DATABASE') 
                return {
                    'host': host,
                    'port': port,
                    'user': user,
                    'password': password,
                    'database': database,
                }
            case 'sqlServer' | 'sqlserver':
                host = os.getenv('SQLSERVER_HOST') 
                port = os.getenv('SQLSERVER_PORT', '1433')
                user = os.getenv('SQLSERVER_USER')
                password = os.getenv('SQLSERVER_PASSWORD')
                database = os.getenv('SQLSERVER_DATABASE') 
                return {
                    'host': host,
                    'port': port,
                    'user': user,
                    'password': password,
                    'database': database,
                }
            case _:
                return f'Valor [{section}] inválido!'