using System.Text.Json; using MatrixRoomUtils.Core.Extensions; namespace MatrixRoomUtils.Core.RoomTypes; public class SpaceRoom : Room { public SpaceRoom(HttpClient httpClient, string roomId) : base(httpClient, roomId) { } public async Task> GetRoomsAsync(bool includeRemoved = false) { var rooms = new List(); var state = await GetStateAsync(""); if (state != null) { var states = state.Value.Deserialize[]>()!; foreach (var stateEvent in states.Where(x => x.Type == "m.space.child")) { var roomId = stateEvent.StateKey; if(stateEvent.Content.ToJson() != "{}" || includeRemoved) rooms.Add(await RuntimeCache.CurrentHomeServer.GetRoom(roomId)); } } return rooms; } }