groupCall method
Implementation
Future<CallHandleImpl?> groupCall(String groupId) async {
core.requireSignedIn();
if (groupId.isEmpty) throw validationError('required', 'group_id');
final res = asMap(await core.requestIdempotent<Object?>(ApiRequest('GET', '/client/v1/groups/${enc(groupId)}/call'))) ?? const {};
final c = asMap(res['call']);
if (c == null) {
if (_banners.remove(groupId) != null) core.publish('groupCall.changed', {'group_id': groupId, 'banner': null});
return null;
}
_setBanner({
'group_id': groupId,
'call_id': c['call_id'],
'media': c['media'],
'status': c['status'],
'joined_count': c['joined_count'],
'initiator': c['initiator'],
'version': c['version'],
});
return _upsert(c, self: asMap(c['self']));
}