public function show(Request $request, $messageGroupID) { if ($request->wantsJson()) { $messageGroup = MessageGroup::findOrFail($messageGroupID); $messages = $messageGroup->messages()->with('sender.employee')->get(); return $messages; } }
public function destroy(Request $request, $id) { $messageGroup = MessageGroup::findOrFail($id); if ($messageGroup->isGroupOwner()) { $messageGroup->delete(); return response('Message group deleted!', 200); } return response('Cannot delete message!', 200); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { if ($this->validator($request->all())->fails()) { return redirect()->back(); } $recipients = $request->recipient; // push owner to recipients array array_push($recipients, (string) auth()->user()->id); // search for messageGroup with same recipients $messageGroup = $this->searchMembersInMessageGroups($recipients); // create messageGroup if not found in searching members if (!$messageGroup) { $messageGroup = MessageGroup::create(['owner_id' => auth()->user()->id]); } // sync message group members $messageGroup->users()->sync($recipients); // store the new message $message = $messageGroup->messages()->create(['sender_id' => auth()->user()->id, 'message' => $request->message]); // sync message recipients $message->recipients()->sync($recipients); flash()->success('Message sent to recipient!'); return redirect()->back(); }