updateOrgUsers method
Future<void>
updateOrgUsers(
- Organization org, {
- List<
String> ? add, - List<
String> ? remove, - Key? orgKey,
Implementation
Future<void> updateOrgUsers(
Organization org, {
List<String>? add,
List<String>? remove,
Key? orgKey,
}) async {
emit(state.startLoading(updateOrgUsersLoading));
try {
List<Future<OrgUser>> removeFutures = [];
if (remove != null) {
for (var userId in remove) {
removeFutures.add(provider.deleteOrgUser(
orgId: org.orgId,
userId: userId,
));
}
await Future.wait<OrgUser>(removeFutures).onError((error, stackTrace) {
emit(
state.addMessage(
Message.error(
_localizations.removeOrgUsersError,
),
),
);
return [];
});
}
List<Future<OrgUser>> addFutures = [];
if (add != null) {
for (var userId in add) {
addFutures.add(provider.addOrgUser(
orgId: org.orgId,
userId: userId,
));
}
await Future.wait<OrgUser>(addFutures).onError((error, stackTrace) {
emit(
state.addMessage(
Message.error(
_localizations.addOrgUsersError,
),
),
);
return [];
});
}
return readOrgData(org);
} on OrgServiceError catch (_) {
emit(
state.addMessage(
Message.error(
_localizations.updateOrgError,
),
),
);
} catch (e) {
_logger.severe('Error updating organization: $e');
emit(
state.addMessage(Message.error(
_localizations.unknownError,
)),
);
} finally {
emit(state.endLoading(updateOrgUsersLoading));
}
}