removeParticipant function

Future<HeadlessActionResult> removeParticipant(
  1. ModerationParameters parameters, {
  2. String id = '',
  3. String name = '',
})

Implementation

Future<HeadlessActionResult> removeParticipant(
  ModerationParameters parameters, {
  String id = '',
  String name = '',
}) async {
  if (!getModerationPermissions(parameters).canManageParticipants) {
    return const HeadlessActionResult.failure(
        'You are not allowed to remove participants.');
  }
  final participant = _findParticipant(parameters, id: id, name: name);
  if (participant == null) {
    return const HeadlessActionResult.failure(
        'That participant is not in the room.');
  }
  if (participant.islevel == '2') {
    return const HeadlessActionResult.failure('A host cannot be removed.');
  }
  try {
    await removeParticipants(RemoveParticipantsOptions(
      coHostResponsibility: parameters.coHostResponsibility,
      participant: participant,
      member: parameters.member,
      islevel: parameters.islevel,
      showAlert: parameters.showAlert,
      coHost: parameters.coHost,
      participants: _participantList(parameters),
      socket: parameters.socket,
      roomName: parameters.roomName,
      updateParticipants: parameters.updateParticipants,
    ));
    return const HeadlessActionResult.success();
  } catch (error) {
    return HeadlessActionResult.failure(
        'The participant could not be removed: $error');
  }
}