respondToParticipantRequest function

Future<HeadlessActionResult> respondToParticipantRequest(
  1. ModerationParameters parameters, {
  2. String requestId = '',
  3. String name = '',
  4. required bool approve,
})

Implementation

Future<HeadlessActionResult> respondToParticipantRequest(
  ModerationParameters parameters, {
  String requestId = '',
  String name = '',
  required bool approve,
}) async {
  if (!getModerationPermissions(parameters).canManageParticipants) {
    return const HeadlessActionResult.failure(
        'You are not allowed to respond to requests.');
  }
  Request? request;
  for (final item in parameters.requestList) {
    if ((requestId.isNotEmpty && item.id == requestId) ||
        (name.isNotEmpty && (item.name == name || item.username == name))) {
      request = item;
      break;
    }
  }
  if (request == null) {
    return const HeadlessActionResult.failure(
        'That request is no longer pending.');
  }
  await respondToRequests(RespondToRequestsOptions(
    socket: parameters.socket,
    request: request,
    updateRequestList: parameters.updateRequestList,
    requestList: parameters.requestList,
    action: approve ? 'accepted' : 'rejected',
    roomName: parameters.roomName,
  ));
  return const HeadlessActionResult.success();
}