private def updateSfWithNewSubscriptionId()

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