/** * @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 create_folder(ApiRequest $request) { if (!$this->user->can(["documents:unmanaged::pool-{$request->pool}-write"])) { throw new \Dingo\Api\Exception\ResourceException('Permission denied.'); } if ($this->validator->with($request->input())->fails(ValidatorInterface::RULE_CREATE)) { throw new \Dingo\Api\Exception\StoreResourceFailedException('Could not create new folder.', $this->validator->errors()); } $folder = $this->repository->create(['title' => $request->title, 'description' => $request->description, 'parent_uid' => $request->parent_uid, 'shared' => $request->shared, 'user_id' => $this->user()->id, 'pool_uid' => $request->pool]); $folder = $this->updateComputedProperties($request, $folder); return $this->response->item($folder, new ObjectTransformer()); }
/** * @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(); }