private def getAcquisitionTypeDetails()

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