/** * Delete a Job * @param $job_id * @return \Illuminate\Http\JsonResponse */ public function delete($job_id) { $job = Job::find($job_id)->first(); $job->delete(); return $this->respondWithArray(['success' => true, 'message' => 'Job deleted successfully']); }
/** * List Candidates * @return \Illuminate\Http\JsonResponse */ public function index() { if (\Input::get('job_id')) { $candidates = Job::find(\Input::get('job_id'))->candidates; return $this->respondWithCollection($candidates, new CandidateTransformer()); } else { $candidates = Candidate::paginate(); return $this->respondWithCollection($candidates, new CandidateTransformer()); } }
Route::get('jobs/{job_id}/candidates', 'JobsController@candidates'); Route::post('jobs/{job_id}/candidates', 'JobsController@addcandidates'); Route::get('jobs/{job_id}/messages', function ($jobId) { // if (Auth::user()->id !== $user1 && Auth::user()->id !== $user2) \App::abort(403, 'Unauthorized action.'); $user1 = Auth::user()->id; $user2 = \Motibu\Models\Job::find($jobId)->agent_id; $messages = \Motibu\Models\Message::with('sender')->where('job_id', '=', $jobId)->where(function ($query) use($user1, $user2) { $query->where('sender_id', '=', $user1)->where('recipient_id', '=', $user2); })->orWhere(function ($query) use($user1, $user2) { $query->where('recipient_id', '=', $user1)->where('sender_id', '=', $user2); })->get(); return Response::json($messages); }); Route::post('jobs/{job_id}/messages', function ($jobId) { $payload = \Input::get('payload'); $recipientId = \Motibu\Models\Job::find($jobId)->agent_id; $success = \Motibu\Models\Message::create(['sender_id' => Auth::user()->id, 'recipient_id' => $recipientId, 'job_id' => $jobId, 'payload' => $payload]); if ($success) { $wsClient = new Motibu\Services\WebsocketClient(); $wsClient->connect('127.0.0.1', 8081, '/'); $payload = json_encode(['type' => 'check_messages', 'userId' => $recipientId]); $wsClient->sendData($payload); } return Response::json(['success' => !!$success]); }); /** * Client Routes */ Route::get('clients', 'ClientsController@index'); Route::post('clients', 'ClientsController@create'); Route::post('clients/{client_id}/update', 'ClientsController@update');