package io.delphi.qa.auto.awsmfrw.models;

import io.delphi.qa.auto.awsmfrw.common_baby.ICanProvideHelpers;
import io.delphi.qa.auto.awsmfrw.common_baby.delphi.aws.EnAwsSecrets;
import io.delphi.qa.auto.awsmfrw.common_baby.delphi.aws.ICanFetchAwsSecret;
import io.delphi.qa.auto.awsmfrw.managers.helpers.db.pg.HlPostgres;
import io.delphi.qa.auto.awsmfrw.managers.helpers.db.snowflake.SfSysAdminImpl;

public enum EnDelphiHelpers implements ICanFetchAwsSecret {

    SNOWFLAKE(new SfSysAdminImpl()),
    POSTGRES(new HlPostgres(ICanFetchAwsSecret.pullAwsSecret(EnAwsSecrets.DELPHI_API_DB_PARAMS))),
//    BT(new HlBigTable(ICanFetchAwsSecret.pullAwsSecret(EnAwsSecrets.DELPHI_API_DB_PARAMS))),
        ;

    private final ICanProvideHelpers helper;

    EnDelphiHelpers(ICanProvideHelpers iCanProvideHelper) {
        this.helper = iCanProvideHelper;
    }

    public ICanProvideHelpers getHelper() {
        return helper;
    }
}
