withEncryptionMetadata method

Future<DecryptedInvoice> withEncryptionMetadata(
  1. String sdkId,
  2. DecryptedInvoice? base,
  3. Patient? patient,
  4. User? user,
  5. Map<String, AccessLevel> delegates,
  6. SecretIdUseOption secretId,
)

Implementation

Future<DecryptedInvoice> withEncryptionMetadata(String sdkId, DecryptedInvoice? base, Patient? patient, User? user, Map<String, AccessLevel> delegates, SecretIdUseOption secretId) async {
	final res = await _methodChannel.invokeMethod<String>(
		'InvoiceApi.withEncryptionMetadata',
		{
			"sdkId": sdkId,
			"base": jsonEncode(base == null ? null : DecryptedInvoice.encode(base!)),
			"patient": jsonEncode(patient == null ? null : Patient.encode(patient!)),
			"user": jsonEncode(user == null ? null : User.encode(user!)),
			"delegates": jsonEncode(delegates.map((k0, v0) => MapEntry(k0, AccessLevel.encode(v0)))),
			"secretId": jsonEncode(SecretIdUseOption.encode(secretId)),
		}
	);
	if (res == null) throw AssertionError("received null result from platform method withEncryptionMetadata");
	final parsedResJson = jsonDecode(res);
	return DecryptedInvoice.fromJSON(parsedResJson);
}