diff options
Diffstat (limited to 'apps/files_sharing/src/mixins/ShareDetails.js')
-rw-r--r-- | apps/files_sharing/src/mixins/ShareDetails.js | 14 |
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, |