toJson method

Map<String, dynamic> toJson()

Converts the EnrollInitModel object into a JSON map.

This is useful when you need to serialize the data to send it via an API.

Implementation

Map<String, dynamic> toJson() {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['localizationCode'] = localizationCode;
  data['enrollEnvironment'] = enrollEnvironment;
  data['tenantId'] = tenantId;
  data['enrollMode'] = enrollMode;
  data['enrollForcedDocumentType'] = enrollForcedDocumentType;
  data['tenantSecret'] = tenantSecret;
  data['googleApiKey'] = googleApiKey;
  data['applicationId'] = applicantId;
  data['requestId'] = requestId;
  data['levelOfTrust'] = levelOfTrust;
  data['skipTutorial'] = skipTutorial;
  data['correlationId'] = correlationId;
  data['templateId'] = templateId;
  data['contractParameters'] = contractParameters;
  data['exitStep'] = enrollExitStep;
  // Emit theme for Android (reads from data['theme'])
  if (theme != null) {
    data['theme'] = theme!.toJson();
  }

  // ALWAYS emit colors at root level for iOS backward compatibility.
  // iOS EnrollPlugin.swift reads colors ONLY from dict['colors'] at root,
  // it does NOT read from theme.colors. This keeps iOS working without
  // any changes on the iOS native side.
  if (theme?.colors != null) {
    data['colors'] = theme!.colors!.toJson();
  }

  return data;
}