Line data Source code
1 : /* 2 : * Famedly Matrix SDK 3 : * Copyright (C) 2019, 2020, 2021 Famedly GmbH 4 : * 5 : * This program is free software: you can redistribute it and/or modify 6 : * it under the terms of the GNU Affero General Public License as 7 : * published by the Free Software Foundation, either version 3 of the 8 : * License, or (at your option) any later version. 9 : * 10 : * This program is distributed in the hope that it will be useful, 11 : * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 : * GNU Affero General Public License for more details. 14 : * 15 : * You should have received a copy of the GNU Affero General Public License 16 : * along with this program. If not, see <https://www.gnu.org/licenses/>. 17 : */ 18 : 19 : import 'package:matrix/matrix_api_lite.dart'; 20 : 21 : class SpaceChild { 22 : final String? roomId; 23 : final List<String> via; 24 : final String order; 25 : final bool? suggested; 26 : 27 2 : SpaceChild.fromState(StrippedStateEvent state) 28 6 : : assert(state.type == EventTypes.SpaceChild), 29 2 : roomId = state.stateKey, 30 4 : via = state.content.tryGetList<String>('via') ?? [], 31 4 : order = state.content.tryGet<String>('order') ?? '', 32 4 : suggested = state.content.tryGet<bool>('suggested'); 33 : } 34 : 35 : class SpaceParent { 36 : final String? roomId; 37 : final List<String> via; 38 : final bool? canonical; 39 : 40 2 : SpaceParent.fromState(StrippedStateEvent state) 41 6 : : assert(state.type == EventTypes.SpaceParent), 42 2 : roomId = state.stateKey, 43 4 : via = state.content.tryGetList<String>('via') ?? [], 44 4 : canonical = state.content.tryGet<bool>('canonical'); 45 : }