in support-workers/src/main/scala/com/gu/acquisitions/AcquisitionDataRowBuilder.scala [186:251]
private def getAcquisitionTypeDetails(s: SendThankYouEmailState): AcquisitionTypeDetails =
s match {
case s: SendThankYouEmailContributionState =>
AcquisitionTypeDetails(
Some(s.paymentMethod),
None,
Direct,
Purchase,
Some(s.accountNumber),
Some(s.subscriptionNumber),
)
case s: SendThankYouEmailSupporterPlusState =>
AcquisitionTypeDetails(
Some(s.paymentMethod),
s.promoCode,
Direct,
Purchase,
Some(s.accountNumber),
Some(s.subscriptionNumber),
)
case s: SendThankYouEmailTierThreeState =>
AcquisitionTypeDetails(
Some(s.paymentMethod),
s.promoCode,
Direct,
Purchase,
Some(s.accountNumber),
Some(s.subscriptionNumber),
)
case s: SendThankYouEmailDigitalSubscriptionState =>
AcquisitionTypeDetails(
Some(s.paymentMethod),
s.promoCode,
Direct,
Purchase,
Some(s.accountNumber),
Some(s.subscriptionNumber),
)
case s: SendThankYouEmailPaperState =>
AcquisitionTypeDetails(
Some(s.paymentMethod),
s.promoCode,
Direct,
Purchase,
Some(s.accountNumber),
Some(s.subscriptionNumber),
)
case s: SendThankYouEmailGuardianWeeklyState =>
AcquisitionTypeDetails(
Some(s.paymentMethod),
s.promoCode,
if (s.giftRecipient.isDefined) Gift else Direct,
Purchase,
Some(s.accountNumber),
Some(s.subscriptionNumber),
)
case s: SendThankYouEmailGuardianAdLiteState =>
AcquisitionTypeDetails(
paymentMethod = Some(s.paymentMethod),
promoCode = None,
readerType = Direct,
acquisitionType = Purchase,
zuoraAccountNumber = Some(s.accountNumber),
zuoraSubscriptionNumber = Some(s.subscriptionNumber),
)
}