in src/main/scala/payment_failure_comms/models/Config.scala [21:53]
def getFromEnv(prop: String): Either[ConfigFailure, String] =
sys.env.get(prop).toRight(ConfigFailure(s"Could not obtain $prop"))
def apply(): Either[Failure, Config] = {
for {
stage <- getFromEnv("stage")
salesforceInstanceUrl <- getFromEnv("salesforceInstanceUrl")
salesforceApiVersion <- getFromEnv("salesforceApiVersion")
salesforceClientId <- getFromEnv("salesforceClientId")
salesforceClientSecret <- getFromEnv("salesforceClientSecret")
salesforceUsername <- getFromEnv("salesforceUserName")
salesforcePassword <- getFromEnv("salesforcePassword")
salesforceToken <- getFromEnv("salesforceToken")
brazeInstanceUrl <- getFromEnv("brazeInstanceUrl")
brazeApiKey <- getFromEnv("brazeApiKey")
appIdForBraze <- getFromEnv("appIdForBraze")
idapiInstanceUrl <- getFromEnv("idapiInstanceUrl")
idapiBearerToken <- getFromEnv("idapiBearerToken")
} yield Config(
stage,
SalesforceConfig(
salesforceInstanceUrl,
salesforceApiVersion,
salesforceClientId,
salesforceClientSecret,
salesforceUsername,
salesforcePassword,
salesforceToken
),
IdapiConfig(idapiInstanceUrl, idapiBearerToken),
BrazeConfig(brazeInstanceUrl, brazeApiKey, appIdForBraze)
)
}