updateRole method

Future updateRole({
  1. required String id,
  2. required String operator,
  3. String? name,
  4. String? owner,
  5. List<RuleDoc>? rules,
  6. String? contextId,
})

Implementation

Future updateRole({
  required String id,
  required String operator,
  String? name,
  String? owner,
  List<RuleDoc>? rules,
  String? contextId,
}) async {
  final dynamic builder = DocumentUpdate(Role());
  builder.id(Uuid.parse(id));
  if (rules != null) {
    builder.rules(rules.map((r) => r.asRule()));
  }

  if (name != null) {
    builder.name(name);
  }

  final request = RoleExt.updateRequest(builder);
  final client = getServiceClient(operator);
  final envelop = await requestEnvelope(
    request: request,
    contextId: contextId != null ? hex.decode(contextId) : null,
  );
  await client.tx.createTransaction(envelop);
  return id;
}