updateAccount method

Future<int> updateAccount({
  1. required String id,
  2. required String operator,
  3. String? name,
  4. String? publicName,
  5. String? profileImageUrl,
  6. String? contextId,
})

Implementation

Future<int> updateAccount({
  required String id,
  required String operator,
  String? name,
  String? publicName,
  String? profileImageUrl,
  String? contextId,
}) async {
  final dynamic builder = DocumentUpdate(AccountMetadata());
  builder.id(hex.decode(id));
  if (name != null) {
    builder.name(name);
  }
  if (publicName != null) {
    builder.publicName(publicName);
  }
  if (profileImageUrl != null) {
    builder.profileImageUrl(profileImageUrl);
  }
  final request = AccountMetadataExt.updateRequest(builder);
  final client = getServiceClient(operator);
  final envelop = await requestEnvelope(
    request: request,
    contextId: contextId != null ? hex.decode(contextId) : null,
  );
  final response = await client.tx.createTransaction(envelop);
  if (response.hasError()) {
    throw response.error;
  }
  return response.txId.toInt();
}