in lambda/src/main/scala/pricemigrationengine/handlers/SalesforceAmendmentUpdateHandler.scala [29:50]
private def updateSfWithNewSubscriptionId(
cohortSpec: CohortSpec,
item: CohortItem
): ZIO[CohortTable with SalesforceClient with Logging, Failure, Unit] =
for {
priceRise <- ZIO.fromEither(buildPriceRise(cohortSpec, item))
salesforcePriceRiseId <-
ZIO
.fromOption(item.salesforcePriceRiseId)
.orElseFail(SalesforcePriceRiseWriteFailure("salesforcePriceRiseId is required to update Salesforce"))
_ <- SalesforceClient.updatePriceRise(salesforcePriceRiseId, priceRise)
now <- Clock.instant
_ <-
CohortTable
.update(
CohortItem(
subscriptionName = item.subscriptionName,
processingStage = AmendmentWrittenToSalesforce,
whenAmendmentWrittenToSalesforce = Some(now)
)
)
} yield ()