listActions method

Future<List<ActionMetadata>> listActions()

Implementation

Future<List<ActionMetadata>> listActions() async {
  await _ensureAllPluginsInitialized();
  final allActions = <String, ActionMetadata>{};
  for (final action in _actions.values) {
    final key = _getKey(action.actionType, action.name);
    allActions[key] = action;
  }

  for (final plugin in _plugins) {
    try {
      final pluginActions = await plugin.list();
      for (final action in pluginActions) {
        final key = _getKey(action.actionType, action.name);
        if (!allActions.containsKey(key)) {
          allActions[key] = action;
        }
      }
    } catch (e, st) {
      print('Failed to list actions from plugin ${plugin.name}: $e $st');
    }
  }
  return allActions.values.toList();
}