diff options
author | John Molakvoæ <skjnldsv@protonmail.com> | 2022-09-06 10:13:34 +0200 |
---|---|---|
committer | Louis Chemineau <louis@chmn.me> | 2022-09-06 13:20:27 +0200 |
commit | 510ab5979454ecff80efbf05fd44df914ab0a467 (patch) | |
tree | 8f4f5ff10b9a28f47019d7a584f34156dd15397d /lib | |
parent | f349fa0fad8f27f51643c8d183d09fd989c0ebf8 (diff) |
Fix viewer editor permissions
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Controller/AlbumsController.php | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/Controller/AlbumsController.php b/lib/Controller/AlbumsController.php index ce8dde16..6013da1e 100644 --- a/lib/Controller/AlbumsController.php +++ b/lib/Controller/AlbumsController.php @@ -30,6 +30,7 @@ use OCA\Photos\AppInfo\Application; use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\JSONResponse; +use OCP\Constants; use OCP\Files\File; use OCP\Files\Folder; use OCP\Files\IRootFolder; @@ -109,6 +110,7 @@ class AlbumsController extends Controller { 'mime' => $node->getMimetype(), 'size' => $node->getSize(), 'type' => $node->getType(), + 'permissions' => $this->formatPermissions($node->getPermissions()), 'hasPreview' => $this->previewManager->isAvailable($node), ]; } @@ -116,6 +118,28 @@ class AlbumsController extends Controller { return $result; } + private function formatPermissions(int $permissions): string { + $strPermissions = ''; + if ($permissions) { + if ($permissions & Constants::PERMISSION_CREATE) { + $strPermissions .= 'CK'; + } + if ($permissions & Constants::PERMISSION_READ) { + $strPermissions .= 'G'; + } + if ($permissions & Constants::PERMISSION_UPDATE) { + $strPermissions .= 'W'; + } + if ($permissions & Constants::PERMISSION_DELETE) { + $strPermissions .= 'D'; + } + if ($permissions & Constants::PERMISSION_SHARE) { + $strPermissions .= 'R'; + } + } + return $strPermissions; + } + private function scanCurrentFolder(Folder $folder, bool $shared): iterable { $nodes = $folder->getDirectoryListing(); |