respondToWaitingParticipant function

Future<HeadlessActionResult> respondToWaitingParticipant(
  1. ModerationParameters parameters, {
  2. String id = '',
  3. String name = '',
  4. required bool admit,
})

Implementation

Future<HeadlessActionResult> respondToWaitingParticipant(
  ModerationParameters parameters, {
  String id = '',
  String name = '',
  required bool admit,
}) async {
  if (!getModerationPermissions(parameters).canManageWaitingRoom) {
    return const HeadlessActionResult.failure(
        'You are not allowed to manage the waiting room.');
  }
  WaitingRoomParticipant? entry;
  for (final person in parameters.waitingRoomList) {
    if ((id.isNotEmpty && person.id == id) ||
        (name.isNotEmpty && person.name == name)) {
      entry = person;
      break;
    }
  }
  if (entry == null) {
    return const HeadlessActionResult.failure(
        'That person is no longer waiting to join.');
  }
  await respondToWaiting(
    options: RespondToWaitingOptions(
      participantId: entry.id,
      participantName: entry.name,
      updateWaitingList: parameters.updateWaitingRoomList,
      waitingList: parameters.waitingRoomList,
      type: admit,
      roomName: parameters.roomName,
      socket: parameters.socket,
    ),
  );
  return const HeadlessActionResult.success();
}