toJson method
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;
}