/** * Update or Create an entity in repository * * @throws ValidatorException * * @param array $attributes * @param array $values * * @return mixed */ public function updateOrCreate(array $attributes, array $values = []) { $this->applyScope(); if (!is_null($this->validator)) { $this->validator->with($attributes)->passesOrFail(ValidatorInterface::RULE_UPDATE); } $temporarySkipPresenter = $this->skipPresenter; $this->skipPresenter(true); $model = $this->model->updateOrCreate($attributes, $values); $this->skipPresenter($temporarySkipPresenter); $this->resetModel(); event(new RepositoryEntityUpdated($this, $model)); return $this->parserResult($model); }
/** * @param Request $request * @return mixed */ public function update(ApiRequest $request) { if ($this->validator->with(array_merge($request->input(), ['uid' => $request->pool]))->fails(ValidatorInterface::RULE_UPDATE)) { throw new \Dingo\Api\Exception\StoreResourceFailedException('Could not create new pool.', $this->validator->errors()); } $pool_id = $this->repository->findByUid($request->pool)->id; $item = $this->repository->update(['title' => $request->title, 'description' => $request->description, 'quota' => $request->quota], $pool_id); $this->syncPoolPermissins($request, $item); return $this->response->item($item, new PoolTransformer()); }
/** * @param Request $request * @return mixed */ public function restore(ApiRequest $request) { if ($this->validator->with(array_merge($request->input(), ['uid' => $request->uid]))->fails(ValidatorInterface::RULE_UPDATE)) { throw new \Dingo\Api\Exception\UpdateResourceFailedException('Could not restore file.', $this->validator->errors()); } $this->repository->restore($request->uid); return $this->successRestored(); }
/** * Update a entity in repository by id. * * @param array $attributes * @param $id * * @return mixed */ public function update(array $attributes, $id) { if ($this->validator !== null) { $this->validator->with($attributes)->setId($id)->passOrFail(ValidatorInterface::RULE_UPDATE); } $_skipPresenter = $this->skipPresenter; $this->skipPresenter(true); $model = $this->find($id); $model->fill($attributes); $model->save(); $this->skipPresenter($_skipPresenter); $this->makeModel(); return $this->parseResult($model); }
/** * Update a entity in repository by id * * @throws ValidatorException * @param array $attributes * @param $id * @return mixed */ public function update(array $attributes, $id) { if (!is_null($this->validator)) { $this->validator->with($attributes)->setId($id)->passesOrFail(ValidatorInterface::RULE_UPDATE); } $_skipPresenter = $this->skipPresenter; $this->skipPresenter(true); $model = $this->model->findOrFail($id); $model->fill($attributes); $model->save(); $this->skipPresenter($_skipPresenter); $this->resetModel(); event(new RepositoryEntityUpdated($this, $model)); return $this->parserResult($model); }