def getSupporterPlusV2RatePlan()

in lambda/src/main/scala/pricemigrationengine/migrations/SupporterPlus2024Migration.scala [106:118]


  def getSupporterPlusV2RatePlan(subscription: ZuoraSubscription): Either[DataExtractionFailure, ZuoraRatePlan] = {
    subscription.ratePlans.find(rp =>
      rp.ratePlanName.contains("Supporter Plus V2") && !rp.lastChangeType.contains("Remove")
    ) match {
      case None =>
        Left(
          DataExtractionFailure(
            s"Subscription ${subscription.subscriptionNumber} doesn't have any `Add`ed rate plan with pattern `Supporter Plus V2`"
          )
        )
      case Some(ratePlan) => Right(ratePlan)
    }
  }