parentIdsProvider top-level property

dynamic parentIdsProvider
final

Implementation

final parentIdsProvider =
    FutureProvider.family<List<String>, String>((ref, roomId) async {
  try {
    // FIXME: we should get only the parent Ids from the underlying SDK
    final relations = await ref.watch(spaceRelationsProvider(roomId).future);
    if (relations == null) {
      return [];
    }

    // Collect all parents: mainParent and otherParents
    List<String> allParents = [];
    final mainParent = relations.mainParent();
    if (mainParent != null) {
      allParents.add(mainParent.roomId().toString());
    }
    allParents
        .addAll(relations.otherParents().map((p) => p.roomId().toString()));
    return allParents;
  } catch (e) {
    _log.warning('Failed to load parent ids for $roomId: $e');
    return [];
  }
});