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