/** * @param int $id * @param Request $request * * @return \Illuminate\Http\RedirectResponse */ public function postLeave($id, Request $request) { /** @var Conversation $conversation */ $conversation = $this->conversationRepository->find($id); if (!$conversation || !$conversation->participants->contains($this->guard->user())) { throw new ConversationNotFoundException(); } if ($request->input('leave') == 'leave') { $this->conversationRepository->leaveConversation($conversation, $this->guard->user()); } else { $this->conversationRepository->ignoreConversation($conversation, $this->guard->user()); } return redirect()->route('conversations.index')->withSuccess('Conversation left'); }