Exemplo n.º 1
0
 /**
  * FileController constructor.
  * @param ObjectRepository $repository
  */
 public function __construct(ObjectRepository $repository, Request $request)
 {
     parent::__construct();
     $this->repository = $repository;
     $this->repository->pushCriteria(new PoolCriteria($request->pool));
     $this->middleware("permission:documents::pool-{$request->pool}-read", ['only' => ['index', 'get']]);
 }
Exemplo n.º 2
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.º 3
0
 /**
  * @param Request $request
  * @return mixed
  */
 public function get(ApiRequest $request)
 {
     $this->repository->pushCriteria(new withTrashCriteria($request->input('with_trash', false)));
     $file = $this->repository->findByUid($request->uid);
     return $this->response->item($file, new ObjectTransformer());
 }