import boto3
import configparser
import json

class configManager:
    def __init__(self,  config_file_path='../helper/config.ini'):
        self.config = configparser.ConfigParser()
        self.config.read(config_file_path)
        

    def get_credentials(self, secret_name, mode='secrets'):
        secrets_client = boto3.client("secretsmanager", region_name="us-east-1")
        secret = secrets_client.get_secret_value(SecretId=secret_name)
        return json.loads(secret['SecretString'])
    
    def get_config(self, source):
        transformation = self.config[source]
        return dict(transformation)
    
    def get_details(self, source, get_creds=True):
        d =self.get_config( source)
        if  get_creds:
            d['creds'] = self.get_credentials( d['source_secret'] )
        return d