user = $user; } public function handle(): UserInvitation { \DB::transaction(function () { $invitations = UserInvitation::where('user_id', $this->user->id)->get(); foreach ($invitations as $invitation) { $invitation->delete(); } $this->invitation = UserInvitation::create([ 'user_id' => $this->user->id, 'token' => (string) Str::uuid(), 'created_by' => user_id(), 'created_from' => $this->getSourceName(request()), ]); $notification = new Notification($this->invitation); try { $this->dispatch(new NotifyUser($this->user, $notification)); } catch (TransportException $e) { $message = trans('errors.title.500'); throw new Exception($message); } }); return $this->invitation; } }