authorize('manageInvitations', currentTeam()); $invitation = TeamInvitation::ownedByCurrentTeam()->findOrFail($invitation_id); $invitationEmail = $invitation->email; $invitationUuid = $invitation->uuid; DB::transaction(function () use ($invitation): void { $user = User::whereEmail($invitation->email)->first(); if (filled($user)) { $user->deleteIfNotVerifiedAndForcePasswordReset(); } $invitation->delete(); }); auditLog('ui.team_invitation.revoked', [ 'team_id' => currentTeam()->id, 'invitation_uuid' => $invitationUuid, 'invitation_email' => $invitationEmail, ]); $this->refreshInvitations(); $this->dispatch('success', 'Invitation revoked.'); } catch (\Exception) { return $this->dispatch('error', 'Invitation not found.'); } } public function refreshInvitations() { $this->invitations = TeamInvitation::ownedByCurrentTeam()->get(); } }