Skip to content

Commit 510ab59

Browse files
skjnldsvartonge
authored andcommitted
Fix viewer editor permissions
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
1 parent f349fa0 commit 510ab59

4 files changed

Lines changed: 37 additions & 11 deletions

File tree

js/photos-main.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/photos-main.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/Controller/AlbumsController.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
use OCP\AppFramework\Controller;
3131
use OCP\AppFramework\Http;
3232
use OCP\AppFramework\Http\JSONResponse;
33+
use OCP\Constants;
3334
use OCP\Files\File;
3435
use OCP\Files\Folder;
3536
use OCP\Files\IRootFolder;
@@ -109,13 +110,36 @@ private function formatData(iterable $nodes): array {
109110
'mime' => $node->getMimetype(),
110111
'size' => $node->getSize(),
111112
'type' => $node->getType(),
113+
'permissions' => $this->formatPermissions($node->getPermissions()),
112114
'hasPreview' => $this->previewManager->isAvailable($node),
113115
];
114116
}
115117

116118
return $result;
117119
}
118120

121+
private function formatPermissions(int $permissions): string {
122+
$strPermissions = '';
123+
if ($permissions) {
124+
if ($permissions & Constants::PERMISSION_CREATE) {
125+
$strPermissions .= 'CK';
126+
}
127+
if ($permissions & Constants::PERMISSION_READ) {
128+
$strPermissions .= 'G';
129+
}
130+
if ($permissions & Constants::PERMISSION_UPDATE) {
131+
$strPermissions .= 'W';
132+
}
133+
if ($permissions & Constants::PERMISSION_DELETE) {
134+
$strPermissions .= 'D';
135+
}
136+
if ($permissions & Constants::PERMISSION_SHARE) {
137+
$strPermissions .= 'R';
138+
}
139+
}
140+
return $strPermissions;
141+
}
142+
119143
private function scanCurrentFolder(Folder $folder, bool $shared): iterable {
120144
$nodes = $folder->getDirectoryListing();
121145

src/services/DavRequest.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,19 @@
2020
*
2121
*/
2222
const props = `
23-
<oc:fileid />
24-
<d:getlastmodified />
25-
<d:getetag />
26-
<d:getcontenttype />
2723
<d:getcontentlength />
28-
<nc:realpath />
29-
<nc:has-preview />
30-
<nc:file-metadata-size />
24+
<d:getcontenttype />
25+
<d:getetag />
26+
<d:getlastmodified />
27+
<d:resourcetype />
3128
<nc:face-detections />
29+
<nc:file-metadata-size />
30+
<nc:has-preview />
31+
<nc:realpath />
3232
<oc:favorite />
33-
<d:resourcetype />`
33+
<oc:fileid />
34+
<oc:permissions />
35+
`
3436

3537
export { props }
3638
export default `<?xml version="1.0"?>

0 commit comments

Comments
 (0)