MainConfiguration.fromJson constructor

MainConfiguration.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory MainConfiguration.fromJson(Map<String, dynamic> json) {
  List<Purpose>? purposesList;
  if (json['purposes'] != null) {
    purposesList = [];
    json['purposes'].forEach((v) {
      purposesList!.add(Purpose.fromJson(v));
    });
  }

  List<AppPermission>? permissionsList;
  if (json['permissions'] != null) {
    permissionsList = [];
    json['permissions'].forEach((v) {
      permissionsList!.add(AppPermission.fromJson(v));
    });
  }

  Map<String, Map<String, String>?>? translationsMap;
  if (json['i18n'] != null) {
    translationsMap = {};
    (json['i18n'] as Map).forEach((key, value) {
      if (value != null) {
        translationsMap![key.toString()] = Map<String, String>.from(value);
      } else {
        translationsMap![key.toString()] = null;
      }
    });
  }

  return MainConfiguration(
    generatedOn: json['generated_on'],
    id: json['id'],
    name: json['name'],
    description: json['description'],
    tenantId: json['tenant_id'],
    platform: json['platform'],
    status: json['status'],
    version: json['version'],
    logoBase64: json['logo_base64'],
    token: json['x-auth-token'],
    sdkVersion: json['sdk_version'],
    purposes: purposesList,
    permissions: permissionsList,
    bannerConfig: json['banner_config'] != null
        ? ConsentBannerConfigs.fromJson(json['banner_config'])
        : null,
    translations: translationsMap,
    isGADEnabled: json['is_gaf_enabled'],
    gadConfig: json['att_or_gad_config'] != null
        ? GADConfig.fromJson(json['att_or_gad_config'])
        : null,
    settingPrompt: json['settings_prompt'] != null
        ? SettingsPrompt.fromJson(json['settings_prompt'])
        : null,
    reConsentEnabled: json['re_consent_enabled'],
    isSettingsPromptEnabled: json['is_sp_enabled'],
  );
}