parse static method

CustomerConsentStatus? parse(
  1. String jsonString
)

Implementation

static CustomerConsentStatus? parse(String jsonString) {
  Map<String, dynamic> map;

  try {
    map = jsonDecode(jsonString);
  } catch (e) {
    Pam.log(["CustomerConsentStatus.parse Error", e.toString()]);
    return null;
  }

  var model = CustomerConsentStatus();

  final code = map['code'];
  final errorMessage = map["message"];

  if (code != null) {
    model.error = PamErrorResponse(code: code, errorMessage: errorMessage);
  }

  model.consentId = map['consent_id'];
  model.consentMessageId = map['consent_message_id'];
  model.contactId = map['contact_id'];
  model.consentMessageType = map['consent_message_type'];
  model.version = map['version'];
  model.createdAt = map['created_at'];
  model.updatedAt = map['updated_at'];
  model.lastConsentVersion = map['last_consent_version'];
  model.lastConsentVersion = map['latest_version'];
  model.lastConsentAt = map['last_consent_at'];
  model.needConsentReview = map['need_consent_review'] ?? true;

  if (map.containsKey("tracking_permission")) {
    if (map["tracking_permission"] != null) {
      var perms = map["tracking_permission"] ?? <String, dynamic>{};
      bool termsAndConditions = _getBool(perms, "terms_and_conditions");
      bool privacyOverview = _getBool(perms, "privacy_overview");
      bool necessaryCookies = _getBool(perms, "necessary_cookies");
      bool preferencesCookies = _getBool(perms, "preferences_cookies");
      bool analyticsCookies = _getBool(perms, "analytics_cookies");
      bool marketingCookies = _getBool(perms, "marketing_cookies");
      bool socialMediaCookies = _getBool(perms, "social_media_cookies");
      model.trackingPermission = TrackingPermission(
          termsAndConditions: termsAndConditions,
          privacyOverview: privacyOverview,
          necessaryCookies: necessaryCookies,
          preferencesCookies: preferencesCookies,
          analyticsCookies: analyticsCookies,
          marketingCookies: marketingCookies,
          socialMediaCookies: socialMediaCookies);
    }
  }

  if (map.containsKey("contacting_permission")) {
    if (map["contacting_permission"] != null) {
      var perms = map["contacting_permission"] ?? <String, dynamic>{};

      bool termsAndConditions = _getBool(perms, "terms_and_conditions");
      bool privacyOverview = _getBool(perms, "privacy_overview");
      bool email = _getBool(perms, "email");
      bool sms = _getBool(perms, "sms");
      bool line = _getBool(perms, "line");
      bool facebookMessenger = _getBool(perms, "facebook_messenger");
      bool webPush = _getBool(perms, "web_push");

      model.contactingPermission = ContactingPermission(
          termsAndConditions: termsAndConditions,
          privacyOverview: privacyOverview,
          email: email,
          sms: sms,
          line: line,
          facebookMessenger: facebookMessenger,
          webPush: webPush);
    }
  }

  return model;
}