buildCommand method

  1. @override
String buildCommand()
override

Build the @ command to be sent to remote secondary for execution.

Implementation

@override
String buildCommand() {
  var sb = StringBuffer();
  sb.write('enroll:');
  sb.write(getEnrollOperation(operation));

  Map<String, dynamic> enrollParams = (EnrollParams()
        ..enrollmentId = enrollmentId
        ..appName = appName
        ..deviceName = deviceName
        ..apkamPublicKey = apkamPublicKey
        ..otp = otp
        ..namespaces = namespaces
        ..encryptedDefaultEncryptionPrivateKey =
            encryptedDefaultEncryptionPrivateKey
        ..encryptedDefaultSelfEncryptionKey =
            encryptedDefaultSelfEncryptionKey
        ..encryptedAPKAMSymmetricKey = encryptedAPKAMSymmetricKey)
      .toJson();
  enrollParams
      .removeWhere((key, value) => value == null || value.toString().isEmpty);
  if (enrollParams.isNotEmpty) {
    sb.write(':${jsonEncode(enrollParams)}');
  }
  sb.write('\n');
  return sb.toString();
}