transformDialogCallIntoGroupCall method
override
Moves an ongoing ChatCall in a Chat-dialog to a newly created Chat-group, optionally adding new members.
Implementation
@override
Future<void> transformDialogCallIntoGroupCall(
ChatId chatId,
List<UserId> additionalMemberIds,
ChatName? groupName,
) async {
Log.debug(
'transformDialogCallIntoGroupCall($chatId, $additionalMemberIds, $groupName)',
'$runtimeType',
);
try {
await _graphQlProvider.transformDialogCallIntoGroupCall(
chatId,
additionalMemberIds,
groupName,
);
} on TransformDialogCallIntoGroupCallException catch (e) {
switch (e.code) {
case TransformDialogCallIntoGroupCallErrorCode.noCall:
case TransformDialogCallIntoGroupCallErrorCode.unknownChat:
WebUtils.removeCall(chatId);
remove(chatId);
break;
case TransformDialogCallIntoGroupCallErrorCode.notDialog:
// No-op.
break;
case TransformDialogCallIntoGroupCallErrorCode.unknownUser:
// TODO(temp): What to do here?
break;
case TransformDialogCallIntoGroupCallErrorCode.wrongMembersCount:
case TransformDialogCallIntoGroupCallErrorCode.blocked:
case TransformDialogCallIntoGroupCallErrorCode.artemisUnknown:
rethrow;
}
}
}