private def buildPriceRise()

in lambda/src/main/scala/pricemigrationengine/handlers/SalesforceAmendmentUpdateHandler.scala [52:77]


  private def buildPriceRise(
      cohortSpec: CohortSpec,
      cohortItem: CohortItem
  ): Either[SalesforcePriceRiseWriteFailure, SalesforcePriceRise] =
    cohortItem.newSubscriptionId
      .map(newSubscriptionId =>
        SalesforcePriceRise(
          Amended_Zuora_Subscription_Id__c = Some(newSubscriptionId),
          Migration_Name__c = Some(cohortSpec.cohortName),
          Migration_Status__c = Some("AmendmentComplete"),
          Cancellation_Reason__c = None
        )
      )
      .toRight(SalesforcePriceRiseWriteFailure(s"$cohortItem does not have a newSubscriptionId field"))

  def handle(input: CohortSpec): ZIO[Logging, Failure, HandlerOutput] = {
    main(input).provideSome[Logging](
      EnvConfig.cohortTable.layer,
      EnvConfig.salesforce.layer,
      EnvConfig.stage.layer,
      DynamoDBZIOLive.impl,
      DynamoDBClientLive.impl,
      CohortTableLive.impl(input),
      SalesforceClientLive.impl
    )
  }