publishList method

dynamic publishList({
  1. String? roomId,
  2. int? page,
})

Implementation

publishList({String? roomId, int? page}) async {
  Completer completer = Completer();
  try {
    if (_state == CallState.nullState || _state == CallState.sessionState) {
      completer.completeError({
        'error': 'The state that cannot fetch publish list, state $_state'
      });
      return;
    }

    if (roomId != null && roomId.length > 64) {
      completer.completeError({'error': 'Invalid room id'});
      return;
    }

    if (_roomType != RoomType.audioroom.value &&
        _roomType != RoomType.videoroom.value &&
        _roomType != RoomType.webinar.value) {
      completer.completeError({
        'error':
            'Invalid request to fetch publish list, room type: $_roomType'
      });
      return;
    }
    //page
    var publishListResult =
        await _ws.requestPublishList(roomId ?? _roomId, page);

    var userResult = IResponsePublishList(publishListResult).toMap();
    completer.complete(userResult);
    return completer.future;
  } catch (error) {
    completer.completeError(error);
  }
}