/** * Remove the specified message from database. * * @param Request $request * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Request $request, $id) { $message = Conversation::whereMessageId($id); if (count($message->get()) == 0) { abort(404); } $result = DB::transaction(function () use($request, $message, $id) { try { if ($request->input('sender') == $request->input('contributor_id')) { $message->update(['is_available_sender' => 0]); } else { $message->update(['is_available_receiver' => 0]); } Conversation::whereIsAvailableSender(0)->whereIsAvailableReceiver(0)->delete(); $message = Message::find($id); $conversations = $message->conversations()->count(); if (!$conversations) { $message->delete(); } return response()->json(['request_id' => uniqid(), 'status' => 'success', 'message' => Lang::get('alert.message.delete', ['receiver' => $request->input('contributor')]), 'timestamp' => Carbon::now()]); } catch (\Exception $e) { return response()->json(['request_id' => uniqid(), 'status' => 'failure', 'message' => Lang::get('alert.error.generic'), 'timestamp' => Carbon::now()], 500); } }); return $result; }
/** * Remove the specified message from database. * * @param Request $request * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Request $request, $id) { $message = Conversation::whereMessageId($id); if (count($message->get()) == 0) { abort(404); } $result = DB::transaction(function () use($request, $message, $id) { try { if ($request->input('sender') == Auth::user()->id) { $message->update(['is_available_sender' => 0]); } else { $message->update(['is_available_receiver' => 0]); } Conversation::whereIsAvailableSender(0)->whereIsAvailableReceiver(0)->delete(); $message = Message::find($id); $conversations = $message->conversations()->count(); if (!$conversations) { $message->delete(); } return redirect(route('account.message.list'))->with(['status' => 'danger', 'message' => Lang::get('alert.message.delete', ['receiver' => $request->input('contributor')])]); } catch (\Exception $e) { return redirect()->back()->withErrors(['error' => Lang::get('alert.error.transaction')])->withInput(); } }); return $result; }