destroyRoom method

dynamic destroyRoom({
  1. String? roomId,
})

Implementation

destroyRoom({String? roomId}) async {
  Completer completer = Completer();
  try {
    if (_state != CallState.sessionState && roomId == null) {
      completer.completeError(
          {'error': 'The state that cannot destroy room, state $_state'});
      return;
    }

    if (_state != CallState.sessionState && roomId == _roomId) {
      completer.completeError(
          {'error': 'Cannot destroy room you joined, room id $roomId'});
    }

    if (roomId != null && roomId.length > 64) {
      completer.completeError('Invalid parameter, roomId');
    }
    var destroyResult = await _ws.requestDestroyRoom(roomId ?? _roomId);
    var userResult =
        IResponseDestroy(destroyResult['session'], destroyResult['room_id']);
    completer.complete(userResult);
    return completer.future;
  } catch (error) {
    completer.completeError(error);
  }
}