From e6e6b217ded9ebcae3475eda0c00a7c82fd173e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Thu, 14 Nov 2019 17:25:39 +0100 Subject: Use albums/shared endpoint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- lib/Controller/AlbumsController.php | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'lib') diff --git a/lib/Controller/AlbumsController.php b/lib/Controller/AlbumsController.php index 4493ec51..bedcd4c9 100644 --- a/lib/Controller/AlbumsController.php +++ b/lib/Controller/AlbumsController.php @@ -81,17 +81,27 @@ class AlbumsController extends Controller { } private function formatData(iterable $nodes): array { + $userFolder = $this->rootFolder->getUserFolder($this->userId); + $result = []; /** @var Node $node */ foreach ($nodes as $node) { + // properly format full path and make sure + // we're relative to the user home folder + $isRoot = $node === $userFolder; + $path = $isRoot ? '/' : str_replace($userFolder->getPath(), '', $node->getPath()); + $result[] = [ - 'id' => $node->getName(), - 'basename' => $node->getName(), - 'id' => $node->getName(), - 'id' => $node->getName(), - 'id' => $node->getName(), - 'id' => $node->getName(), - ] + 'basename' => $isRoot ? '' : $node->getName(), + 'etag' => $node->getEtag(), + 'fileid' => $node->getId(), + 'filename' => $path, + 'etag' => $node->getEtag(), + 'lastmod' => $node->getMTime(), + 'mime' => $node->getMimetype(), + 'size' => $node->getSize(), + 'type' => $node->getType() + ]; } return $result; @@ -100,6 +110,9 @@ class AlbumsController extends Controller { private function scanCurrentFolder(Folder $folder, bool $shared): iterable { $nodes = $folder->getDirectoryListing(); + // add current folder to iterable set + yield $folder; + foreach ($nodes as $node) { if ($node instanceof Folder) { yield from $this->scanFolder($node, 0, $shared); -- cgit v1.2.3