createRoleBinding method
Implementation
Future createRoleBinding({
required String operator,
required String role,
required String name,
String? id,
List<String>? subjects,
List<Expression>? expressions,
String? contextId,
}) async {
final uuid = Uuid();
final roleBinding = RoleBinding()
..id = (id != null ? hex.decode(id) : uuid.v4buffer(List.filled(16, 0)))
..name = name;
roleBinding.expressions.clear();
if (expressions != null) {
roleBinding.expressions.addAll(expressions);
}
roleBinding.subjects.clear();
if (subjects != null) {
roleBinding.subjects.addAll(subjects.map(base64.decode));
}
final request = roleBinding.createRequest();
final client = getServiceClient(operator);
final envelop = await requestEnvelope(
request: request,
contextId: contextId != null ? hex.decode(contextId) : null,
);
await client.tx.createTransaction(envelop);
return id;
}