diff --git a/lib/pangea/extensions/pangea_room_extension.dart b/lib/pangea/extensions/pangea_room_extension.dart index 3c333c4d0..085eb42d8 100644 --- a/lib/pangea/extensions/pangea_room_extension.dart +++ b/lib/pangea/extensions/pangea_room_extension.dart @@ -969,4 +969,16 @@ extension PangeaRoom on Room { return; } } + + Future> getChildRooms() async { + final List children = []; + for (final child in spaceChildren) { + if (child.roomId == null) continue; + final Room? room = client.getRoomById(child.roomId!); + if (room != null) { + children.add(room); + } + } + return children; + } } diff --git a/lib/pangea/utils/archive_space.dart b/lib/pangea/utils/archive_space.dart index cd9ec3b01..e48127d1e 100644 --- a/lib/pangea/utils/archive_space.dart +++ b/lib/pangea/utils/archive_space.dart @@ -1,18 +1,7 @@ +import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:matrix/matrix.dart'; -Future> getChildRooms(Room space, Client client) async { - final List children = []; - for (final child in space.spaceChildren) { - if (child.roomId == null) continue; - final Room? room = client.getRoomById(child.roomId!); - if (room != null) { - children.add(room); - } - } - return children; -} - Future archiveSpace(Room? space, Client client) async { if (space == null) { ErrorHandler.logError( @@ -22,7 +11,7 @@ Future archiveSpace(Room? space, Client client) async { return; } - final List children = await getChildRooms(space, client); + final List children = await space.getChildRooms(); for (final Room child in children) { await child.leave(); }