Exemplo n.º 1
0
 /**
  * @param Request $request
  * @return mixed
  */
 public function list_folder(ApiRequest $request)
 {
     if (!$this->user->can(["documents:unmanaged::pool-{$request->pool}-read", "documents:unmanaged::pool-{$request->pool}-write"])) {
         throw new \Dingo\Api\Exception\ResourceException('Permission denied.');
     }
     $parent = $this->getParent($request);
     $this->repository->pushCriteria(new ParentCriteria($request->input('parent_uid', null)));
     $this->repository->pushCriteria(new withTrashCriteria($request->input('with_trash', false)));
     $objects = $this->repository->paginate(100);
     $meta = ['parent_uid' => $parent ? $parent->parent_uid : null, 'with_trash' => (bool) $request->input('with_trash', false), 'objects' => ['total' => $objects->count(), 'files' => $objects->where('tag', 'file')->count(), 'folders' => $objects->where('tag', 'folder')->count()], 'containing_fq_path' => $parent ? $parent->getFQPath() : '', 'containing_fq_uid' => $parent ? $parent->getFQUid() : '', 'containing_ns_path' => $parent ? $parent->getNSPath() : ''];
     return $this->response->paginator($objects, new ObjectTransformer())->setMeta($meta);
 }
Exemplo n.º 2
0
 /**
  * @param Request $request
  * @return mixed
  */
 public function index(ApiRequest $request)
 {
     $files = $this->repository->paginate(100);
     $meta = ['directory' => '/'];
     return $this->response->paginator($files, new ObjectTransformer())->setMeta($meta);
 }