parseConsentData method

CustomerData parseConsentData(
  1. ConsentFormResponse consentData
)

Implementation

CustomerData parseConsentData(ConsentFormResponse consentData) {
  List<PiiData> listPiiData = [];
  List<ConsentStatus> consentList = [];
  String subjectIdentityValue = "";

  int? siTID =
      consentData.result?.data?.additionalInfo?.subjectIdentityTypeId;
  for (var item in consentData.result?.data?.piiList ?? []) {
    if (siTID == item.customerPiiLabelId) {
      subjectIdentityValue = item.val ?? "";
    }
    listPiiData.add(
      PiiData(
        piiLabelId: item.customerPiiLabelId!,
        piiLabelName: "",
        piiValue: item.val ?? "",
      ),
    );
  }

  for (var purpose in consentData.result?.data?.purposeList ?? []) {
    for (ConsentList data in purpose.consentList ?? []) {
      // String? freq = data.selectedFreq?.toLowerCase();
      consentList.add(
        ConsentStatus(
          consentPurposeId: data.consentPurposeId!,
          consentPurposeName: data.consentPurposeName!,
          consentStatus: data.isChecked,
          frequency: data.frequency!.toLowerCase(),
          piiLabelId: data.piiLabelId!,
          piiLabelName: data.piiLabelName!,
          consentLifetime: data.consentLifetime,
        ),
      );
    }
  }

  return CustomerData(
    customerId: consentData.result?.data?.additionalInfo?.customerId ?? 0,
    collectionTemplateId:
    consentData.result?.data?.additionalInfo?.collectionTemplateId ?? 0,
    consentSource: "form",
    geolocation: "",
    continent: "",
    subjectIdentityId:
    consentData.result?.data?.additionalInfo?.subjectIdentityTypeId ?? 0,
    subjectIdentityValue: subjectIdentityValue,
    subjectIdentityName: "",
    verificationKey:
    consentData.result?.data?.additionalInfo?.templateVerficationKey ??
        "",
    piiData: listPiiData,
    consentStatus: consentList,
  );
}