aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/src/mixins/ShareDetails.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing/src/mixins/ShareDetails.js')
-rw-r--r--apps/files_sharing/src/mixins/ShareDetails.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/apps/files_sharing/src/mixins/ShareDetails.js b/apps/files_sharing/src/mixins/ShareDetails.js
index 61cffab86f2..6ccdf8d63d0 100644
--- a/apps/files_sharing/src/mixins/ShareDetails.js
+++ b/apps/files_sharing/src/mixins/ShareDetails.js
@@ -5,6 +5,8 @@
import Share from '../models/Share.ts'
import Config from '../services/ConfigService.ts'
+import { ATOMIC_PERMISSIONS } from '../lib/SharePermissionsToolBox.js'
+import logger from '../services/logger.ts'
export default {
methods: {
@@ -26,6 +28,18 @@ export default {
share = this.mapShareRequestToShareObject(shareRequestObject)
}
+ if (this.fileInfo.type !== 'dir') {
+ const originalPermissions = share.permissions
+ const strippedPermissions = originalPermissions
+ & ~ATOMIC_PERMISSIONS.CREATE
+ & ~ATOMIC_PERMISSIONS.DELETE
+
+ if (originalPermissions !== strippedPermissions) {
+ logger.debug('Removed create/delete permissions from file share (only valid for folders)')
+ share.permissions = strippedPermissions
+ }
+ }
+
const shareDetails = {
fileInfo: this.fileInfo,
share,