guard('users')->user()->id)->get()); return view('Frontend.Pages.user-chat.index', [ 'chats' => Chat::where('user_id', auth()->guard('users')->user()->id)->get() ]); } public function sendMsg(Request $request) { $validation = \Validator::make($request->all(), [ 'message' => 'nullable|max:255', 'user_file' => 'nullable|mimes:pdf,zip,jpg,png,jpeg|max:10240', ]); if ($validation->fails()) { return response()->json(['status' => 403, 'message' => $validation->errors()]); } // dd($request->all()); if ($request->user_file == '' && $request->message == '') { return response()->json(['status' => 400, 'message' => 'Please Drop A Message!']); } if ($request->user_file) { $attachmentImage = time() . '.' . $request->user_file->extension(); $path = $request->user_file->storeAs('chat', $attachmentImage); } $addChat = Chat::create([ 'user_id' => auth()->guard('users')->user()->id, 'message' => $request->message, 'file' => $attachmentImage ?? null ]); if ($addChat) { return response()->json(['status' => 200, 'message' => 'Chat Send']); } return response()->json(['status' => 200, 'message' => 'Error Sending Message']); } public function getFile($file_name) { return \Storage::download('chat/' . $file_name); } public function getChat() { $chat = Chat::where('user_id', auth()->guard('users')->user()->id)->get(); foreach ($chat as $row) { if ($row->file != null) { $row['file_name'] = $row->getRawOriginal('file'); } } $chatPage = View::make('Frontend.Pages.user-chat.chats')->with('chats', $chat)->render(); return $chatPage; } public function getChatApi(Request $request) { $id = auth('sanctum')->user()->id; $getChat = Chat::where(['user_id'=>$id,'is_read'=>false])->get(); foreach($getChat as $singleChat) { $updateChat = Chat::where('id',$singleChat->id)->update(['is_read'=>true,'read_at'=>Carbon::now()]); } $data['data'] = Chat::query() ->join('users', 'chats.user_id', 'users.id') ->where('user_id', $id) // ->where('user_id', $request->user()->id) ->select('message', 'file', 'by', 'profile_image',\DB::raw('DATE_FORMAT(chats.created_at, "%d-%b-%Y %r") as time')) ->latest('chats.created_at') ->get(); return $data; } public function sendMsgApi(Request $request) { if ($request->user_file == '' && $request->message == '') { return response()->json(['status' => 400, 'message' => 'Please Drop A Message!']); } if ($request->user_file) { $attachmentImage = time() . '.' . $request->user_file->extension(); $path = $request->user_file->storeAs('chat', $attachmentImage); } $addChat = Chat::create([ 'user_id' => $request->user()->id, 'message' => $request->message, 'file' => $attachmentImage ?? null ]); if ($addChat) { return response()->json(['status' => 200, 'message' => 'Chat Send']); } return response()->json(['status' => 200, 'message' => 'Error Sending Message']); } public function getFileApi($file_name) { return \Storage::download('chat/' . $file_name); } }