in lambda/src/main/scala/pricemigrationengine/handlers/NotificationHandler.scala [341:366]
def targetAddress(
cohortSpec: CohortSpec,
contact: SalesforceContact
): Either[NotificationHandlerFailure, SalesforceAddress] = {
def testCompatibleEmptySalesforceAddress(
contact: SalesforceContact
): Either[NotificationHandlerFailure, SalesforceAddress] = {
(for {
billingAddress <- requiredField(contact.OtherAddress, "Contact.OtherAddress")
_ <- requiredField(billingAddress.street, "Contact.OtherAddress.street")
_ <- requiredField(billingAddress.city, "Contact.OtherAddress.city")
} yield billingAddress).left.flatMap(_ =>
Right(SalesforceAddress(Some(""), Some(""), Some(""), Some(""), Some("")))
)
}
MigrationType(cohortSpec) match {
case SupporterPlus2024 => testCompatibleEmptySalesforceAddress(contact)
case _ =>
(for {
billingAddress <- requiredField(contact.OtherAddress, "Contact.OtherAddress")
_ <- requiredField(billingAddress.street, "Contact.OtherAddress.street")
_ <- requiredField(billingAddress.city, "Contact.OtherAddress.city")
} yield billingAddress).left.flatMap(_ => requiredField(contact.MailingAddress, "Contact.MailingAddress"))
}
}