/**
  * @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();
 }