createRoom method

dynamic createRoom({
  1. required RoomType roomType,
  2. String? subject,
  3. int? secret,
  4. DateTime? startDate,
  5. DateTime? endDate,
})

Implementation

createRoom(
    {required RoomType roomType,
    String? subject,
    int? secret,
    DateTime? startDate,
    DateTime? endDate}) async {
  Completer completer = Completer();
  try {
    if (_state != CallState.sessionState) {
      completer.completeError(
          {'error': 'The state that cannot create room, state: $_state'});
      return;
    }

    if (subject != null && subject.length > 128) {
      completer.completeError({'error': 'Too long subject: $subject'});
      return;
    }

    if (secret != null && secret.toString().length != 6) {
      completer
          .completeError({'error': 'Secret has to be 6 digits: $secret'});
      return;
    }
    var createRoomResult = await _ws.requestCreateRoom(roomType);
    var userResult = IResponseCreateRoom(createRoomResult).toMap();
    completer.complete(userResult);
    return completer.future;
  } catch (error) {
    completer.completeError(error);
  }
}