def getFromEnv()

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)
    )
  }