loadOrgs method

Future<List<Organization>?> loadOrgs({
  1. bool notifyOnError = true,
})

Implementation

Future<List<Organization>?> loadOrgs({
  bool notifyOnError = true,
}) async {
  emit(state.startLoading(getUserOrgsLoading));

  try {
    final userOrgs = await provider.getOrgs();
    final organizations = userOrgs.map((ou) {
      return Organization.fromOrgUser(ou);
    }).toList();

    emit(
      state.copyWith(
        organizations: organizations,
      ),
    );
    return organizations;
  } on UserOrgsLoadError catch (_) {
    emit(
      state
          .addMessage(Message.error(
        _localizations.loadUserOrgsError,
      ))
          .copyWith(organizations: const []),
    );
  } catch (e) {
    _logger.severe('Error loading user orgs: $e');

    if (notifyOnError) {
      emit(
        state
            .addMessage(Message.error(_localizations.unknownError))
            .copyWith(organizations: const []),
      );
    }
  } finally {
    emit(state.endLoading(getUserOrgsLoading));
  }
  return null;
}