User = $User; $this->helpers = $helpers; } public function index(){ $data = $this->User->all()->toArray(); return $this->helpers->apiArrayResponseBuilder(200, 'success', $data); } public function show($id){ $data = $this->User::find($id); if ($data){ return $this->helpers->apiArrayResponseBuilder(200, 'success', [$data]); } else { $this->helpers->apiArrayResponseBuilder(404, 'not found', ['error' => 'Resource id=' . $id . ' could not be found']); } } public function store(Request $request){ $arr = $request->all(); while ( $data = current($arr)) { $this->User->{key($arr)} = $data; next($arr); } $validation = Validator::make($request->all(), $this->User->rules); if( $validation->passes() ){ $this->User->save(); return $this->helpers->apiArrayResponseBuilder(201, 'created', ['id' => $this->User->id]); }else{ return $this->helpers->apiArrayResponseBuilder(400, 'fail', $validation->errors() ); } } public function update($id, Request $request){ $status = $this->User->where('id',$id)->update($data); if( $status ){ return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been updated successfully.'); }else{ return $this->helpers->apiArrayResponseBuilder(400, 'bad request', 'Error, data failed to update.'); } } public function delete($id){ $this->User->where('id',$id)->delete(); return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been deleted successfully.'); } public function destroy($id){ $this->User->where('id',$id)->delete(); return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been deleted successfully.'); } public static function getAfterFilters() {return [];} public static function getBeforeFilters() {return [];} public static function getMiddleware() {return [];} public function callAction($method, $parameters=false) { return call_user_func_array(array($this, $method), $parameters); } }