summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJohn Molakvoæ <skjnldsv@protonmail.com>2022-09-06 10:13:34 +0200
committerLouis Chemineau <louis@chmn.me>2022-09-06 13:20:27 +0200
commit510ab5979454ecff80efbf05fd44df914ab0a467 (patch)
tree8f4f5ff10b9a28f47019d7a584f34156dd15397d /lib
parentf349fa0fad8f27f51643c8d183d09fd989c0ebf8 (diff)
Fix viewer editor permissions
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/Controller/AlbumsController.php24
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();