import 'package:flutter/foundation.dart'; import 'package:http/http.dart' as http; import '../../nextcloud_ocs.dart'; import '../talk_api.dart'; import 'get_room_params.dart'; import 'get_room_response.dart'; class GetRoom extends TalkApi { GetRoomParams params; GetRoom(this.params) : super('v4/room', null, getParameters: params.toJson()); @override GetRoomResponse assemble(String raw) => _parseRooms(raw); // The room list with status is 100–250 KB and polled every 15–60 s. @override Future assembleAsync(String raw) => compute(_parseRooms, raw); @override Future request( Uri uri, Object? body, Map? headers, ) => http.get(uri, headers: headers); } GetRoomResponse _parseRooms(String raw) => GetRoomResponse.fromJson(NextcloudOcs.decode(raw));