respond(Response::HTTP_OK, $m::all()); } public function get($id) { $m = self::MODEL; $model = $m::find($id); if(is_null($model)){ return $this->respond(Response::HTTP_NOT_FOUND); } return $this->respond(Response::HTTP_OK, $model); } public function add(Request $request) { $m = self::MODEL; $this->validate($request, $m::$rules); return $this->respond(Response::HTTP_CREATED, $m::create($request->all())); } public function put(Request $request, $id) { $m = self::MODEL; $this->validate($request, $m::$rules); $model = $m::find($id); if(is_null($model)){ return $this->respond(Response::HTTP_NOT_FOUND); } $model->update($request->all()); return $this->respond(Response::HTTP_OK, $model); } public function remove($id) { $m = self::MODEL; if(is_null($m::find($id))){ return $this->respond(Response::HTTP_NOT_FOUND); } $m::destroy($id); return $this->respond(Response::HTTP_NO_CONTENT); } protected function respond($status, $data = []) { if($status == Response::HTTP_NO_CONTENT){ return response(null,Response::HTTP_NO_CONTENT); } if($status == Response::HTTP_NOT_FOUND){ return response(['message'=>'resource not found'],Response::HTTP_NOT_FOUND); } return response()->json($data, $status); } }