repository = $repository; $this->validator = $validator; } public function index() { $lists = $this->repository->paginate(request('per_page', self::PAGE_NUM)); return Response::success($lists); } public function store(Request $request) { $this->validate($request, $this->validator->getRules(ValidatorInterface::RULE_CREATE)); try { $data = $request->only(array_keys($this->validator->getRules(ValidatorInterface::RULE_CREATE))); // unset($data['role_id']); if ($data['password']) { $data['password'] = Hash::make($data['password']); } $admin = Admin::query()->create($data); return Response::success($admin); } catch (\Exception $e) { return $this->errorStore($e); } } public function show($id) { $patient = $this->repository->find($id); return Response::success($patient); } public function update(Request $request, $id) { $this->validate($request, $this->validator->getRules(ValidatorInterface::RULE_UPDATE)); try { $data = $request->only(array_keys($this->validator->getRules(ValidatorInterface::RULE_UPDATE))); if (isset($data['password'])) { $data['password'] = Hash::make($data['password']); } else { unset($data['password']); } $re = Admin::query()->where('id', $id)->update($data); if ($re) { return Response::success(null); } return $this->errorFail(); } catch (\Exception $e) { $this->errorStore($e); } } public function destroy($id) { try { $re = $this->repository->delete($id); if ($re) { return Response::success(null, T('successfully delete.')); } return Response::fail(T('Delete failed.'), ResponseCodeEnum::SERVICE_UPDATE_DATA_ERROR); } catch (\Exception $exception) { return Response::fail(T('Delete failed.'), ResponseCodeEnum::SERVICE_UPDATE_DATA_ERROR); } } }