Skip to content

Commit 79e1214

Browse files
committed
feat(sharing): Make share permission in bundled edit configurable
Add config option shareapi_bundle_reshare_with_edit to include reshare permission in "Allow editing" bundle. Default is true to maintain backward compatibility. Signed-off-by: nfebe <[email protected]>
1 parent 2066eb4 commit 79e1214

10 files changed

Lines changed: 246 additions & 24 deletions

File tree

apps/files_sharing/lib/Capabilities.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
namespace OCA\Files_Sharing;
99

1010
use OC\Core\AppInfo\ConfigLexicon;
11+
use OCA\Files_Sharing\Config\ConfigLexicon as SharingConfigLexicon;
1112
use OCP\App\IAppManager;
1213
use OCP\Capabilities\ICapability;
1314
use OCP\Constants;
@@ -77,6 +78,7 @@ public function __construct(
7778
* },
7879
* },
7980
* default_permissions?: int,
81+
* exclude_reshare_from_edit?: bool,
8082
* federation: array{
8183
* outgoing: bool,
8284
* incoming: bool,
@@ -159,6 +161,7 @@ public function getCapabilities() {
159161
$res['group']['enabled'] = $this->shareManager->allowGroupSharing();
160162
$res['group']['expire_date']['enabled'] = true;
161163
$res['default_permissions'] = (int)$this->config->getAppValue('core', 'shareapi_default_permissions', (string)Constants::PERMISSION_ALL);
164+
$res['exclude_reshare_from_edit'] = $this->appConfig->getValueBool('files_sharing', SharingConfigLexicon::EXCLUDE_RESHARE_FROM_EDIT);
162165
}
163166

164167
//Federated sharing

apps/files_sharing/lib/Config/ConfigLexicon.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
class ConfigLexicon implements ILexicon {
2424
public const SHOW_FEDERATED_AS_INTERNAL = 'show_federated_shares_as_internal';
2525
public const SHOW_FEDERATED_TO_TRUSTED_AS_INTERNAL = 'show_federated_shares_to_trusted_servers_as_internal';
26+
public const EXCLUDE_RESHARE_FROM_EDIT = 'shareapi_exclude_reshare_from_edit';
2627

2728
public function getStrictness(): Strictness {
2829
return Strictness::IGNORE;
@@ -32,6 +33,7 @@ public function getAppConfigs(): array {
3233
return [
3334
new Entry(self::SHOW_FEDERATED_AS_INTERNAL, ValueType::BOOL, false, 'shows federated shares as internal shares', true),
3435
new Entry(self::SHOW_FEDERATED_TO_TRUSTED_AS_INTERNAL, ValueType::BOOL, false, 'shows federated shares to trusted servers as internal shares', true),
36+
new Entry(self::EXCLUDE_RESHARE_FROM_EDIT, ValueType::BOOL, false, 'Exclude reshare permission from "Allow editing" bundled permissions'),
3537
];
3638
}
3739

apps/files_sharing/openapi.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,9 @@
189189
"type": "integer",
190190
"format": "int64"
191191
},
192+
"exclude_reshare_from_edit": {
193+
"type": "boolean"
194+
},
192195
"federation": {
193196
"type": "object",
194197
"required": [

apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import DropdownIcon from 'vue-material-design-icons/TriangleSmallDown.vue'
4141
import IconTune from 'vue-material-design-icons/Tune.vue'
4242
import {
4343
ATOMIC_PERMISSIONS,
44-
BUNDLED_PERMISSIONS,
44+
getBundledPermissions,
4545
} from '../lib/SharePermissionsToolBox.js'
4646
import ShareDetails from '../mixins/ShareDetails.js'
4747
import SharesMixin from '../mixins/SharesMixin.js'
@@ -93,14 +93,19 @@ export default {
9393
return t('files_sharing', 'Custom permissions')
9494
},
9595
96+
bundledPermissions() {
97+
return getBundledPermissions(this.config.excludeReshareFromEdit)
98+
},
99+
96100
preSelectedOption() {
97101
// We remove the share permission for the comparison as it is not relevant for bundled permissions.
98102
const permissionsWithoutShare = this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE
99-
if (permissionsWithoutShare === BUNDLED_PERMISSIONS.READ_ONLY) {
103+
const basePermissions = getBundledPermissions(true)
104+
if (permissionsWithoutShare === basePermissions.READ_ONLY) {
100105
return this.canViewText
101-
} else if (permissionsWithoutShare === BUNDLED_PERMISSIONS.ALL || permissionsWithoutShare === BUNDLED_PERMISSIONS.ALL_FILE) {
106+
} else if (permissionsWithoutShare === basePermissions.ALL || permissionsWithoutShare === basePermissions.ALL_FILE) {
102107
return this.canEditText
103-
} else if (permissionsWithoutShare === BUNDLED_PERMISSIONS.FILE_DROP) {
108+
} else if (permissionsWithoutShare === basePermissions.FILE_DROP) {
104109
return this.fileDropText
105110
}
106111
@@ -140,14 +145,14 @@ export default {
140145
dropDownPermissionValue() {
141146
switch (this.selectedOption) {
142147
case this.canEditText:
143-
return this.isFolder ? BUNDLED_PERMISSIONS.ALL : BUNDLED_PERMISSIONS.ALL_FILE
148+
return this.isFolder ? this.bundledPermissions.ALL : this.bundledPermissions.ALL_FILE
144149
case this.fileDropText:
145-
return BUNDLED_PERMISSIONS.FILE_DROP
150+
return this.bundledPermissions.FILE_DROP
146151
case this.customPermissionsText:
147152
return 'custom'
148153
case this.canViewText:
149154
default:
150-
return BUNDLED_PERMISSIONS.READ_ONLY
155+
return this.bundledPermissions.READ_ONLY
151156
}
152157
},
153158
},

apps/files_sharing/src/lib/SharePermissionsToolBox.js

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,25 @@ export const BUNDLED_PERMISSIONS = {
1616
READ_ONLY: ATOMIC_PERMISSIONS.READ,
1717
UPLOAD_AND_UPDATE: ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE,
1818
FILE_DROP: ATOMIC_PERMISSIONS.CREATE,
19-
ALL: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.DELETE,
20-
ALL_FILE: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.READ,
19+
ALL: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE,
20+
ALL_FILE: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.SHARE,
21+
}
22+
23+
/**
24+
* Get bundled permissions based on config.
25+
*
26+
* @param {boolean} excludeShare - Whether to exclude SHARE permission from ALL and ALL_FILE bundles.
27+
* @return {object}
28+
*/
29+
export function getBundledPermissions(excludeShare = false) {
30+
if (excludeShare) {
31+
return {
32+
...BUNDLED_PERMISSIONS,
33+
ALL: BUNDLED_PERMISSIONS.ALL & ~ATOMIC_PERMISSIONS.SHARE,
34+
ALL_FILE: BUNDLED_PERMISSIONS.ALL_FILE & ~ATOMIC_PERMISSIONS.SHARE,
35+
}
36+
}
37+
return BUNDLED_PERMISSIONS
2138
}
2239

2340
/**

apps/files_sharing/src/lib/SharePermissionsToolBox.spec.js

Lines changed: 71 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
ATOMIC_PERMISSIONS,
99
BUNDLED_PERMISSIONS,
1010
canTogglePermissions,
11+
getBundledPermissions,
1112
hasPermissions,
1213
permissionsSetIsValid,
1314
subtractPermissions,
@@ -20,7 +21,7 @@ describe('SharePermissionsToolBox', () => {
2021
expect(addPermissions(ATOMIC_PERMISSIONS.NONE, ATOMIC_PERMISSIONS.READ)).toBe(ATOMIC_PERMISSIONS.READ)
2122
expect(addPermissions(ATOMIC_PERMISSIONS.READ, ATOMIC_PERMISSIONS.READ)).toBe(ATOMIC_PERMISSIONS.READ)
2223
expect(addPermissions(ATOMIC_PERMISSIONS.READ, ATOMIC_PERMISSIONS.UPDATE)).toBe(ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE)
23-
expect(addPermissions(ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE, ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE)).toBe(BUNDLED_PERMISSIONS.ALL)
24+
expect(addPermissions(ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE, ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE)).toBe(BUNDLED_PERMISSIONS.ALL)
2425
expect(addPermissions(BUNDLED_PERMISSIONS.ALL, ATOMIC_PERMISSIONS.READ)).toBe(BUNDLED_PERMISSIONS.ALL)
2526
expect(addPermissions(BUNDLED_PERMISSIONS.ALL, ATOMIC_PERMISSIONS.NONE)).toBe(BUNDLED_PERMISSIONS.ALL)
2627
})
@@ -32,7 +33,7 @@ describe('SharePermissionsToolBox', () => {
3233
expect(subtractPermissions(ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE, ATOMIC_PERMISSIONS.UPDATE)).toBe(ATOMIC_PERMISSIONS.READ)
3334
expect(subtractPermissions(ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE, ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE)).toBe(ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE)
3435
expect(subtractPermissions(ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE, ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.DELETE)).toBe(ATOMIC_PERMISSIONS.READ)
35-
expect(subtractPermissions(BUNDLED_PERMISSIONS.ALL, ATOMIC_PERMISSIONS.READ)).toBe(ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE)
36+
expect(subtractPermissions(BUNDLED_PERMISSIONS.ALL, ATOMIC_PERMISSIONS.READ)).toBe(ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE)
3637
})
3738

3839
test('Has permissions', () => {
@@ -45,8 +46,8 @@ describe('SharePermissionsToolBox', () => {
4546
})
4647

4748
test('Toggle permissions', () => {
48-
expect(togglePermissions(BUNDLED_PERMISSIONS.ALL, BUNDLED_PERMISSIONS.UPLOAD_AND_UPDATE)).toBe(ATOMIC_PERMISSIONS.NONE)
49-
expect(togglePermissions(BUNDLED_PERMISSIONS.ALL, BUNDLED_PERMISSIONS.FILE_DROP)).toBe(ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.DELETE)
49+
expect(togglePermissions(BUNDLED_PERMISSIONS.ALL, BUNDLED_PERMISSIONS.UPLOAD_AND_UPDATE)).toBe(ATOMIC_PERMISSIONS.SHARE)
50+
expect(togglePermissions(BUNDLED_PERMISSIONS.ALL, BUNDLED_PERMISSIONS.FILE_DROP)).toBe(ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE)
5051
expect(togglePermissions(BUNDLED_PERMISSIONS.ALL, ATOMIC_PERMISSIONS.NONE)).toBe(BUNDLED_PERMISSIONS.ALL)
5152
expect(togglePermissions(ATOMIC_PERMISSIONS.NONE, BUNDLED_PERMISSIONS.ALL)).toBe(BUNDLED_PERMISSIONS.ALL)
5253
expect(togglePermissions(ATOMIC_PERMISSIONS.READ, BUNDLED_PERMISSIONS.ALL)).toBe(BUNDLED_PERMISSIONS.ALL)
@@ -76,4 +77,70 @@ describe('SharePermissionsToolBox', () => {
7677
expect(canTogglePermissions(ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.UPDATE, ATOMIC_PERMISSIONS.CREATE)).toBe(true)
7778
expect(canTogglePermissions(ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE, ATOMIC_PERMISSIONS.CREATE)).toBe(true)
7879
})
80+
81+
test('Get bundled permissions with SHARE included (default)', () => {
82+
const permissions = getBundledPermissions()
83+
expect(permissions.READ_ONLY).toBe(BUNDLED_PERMISSIONS.READ_ONLY)
84+
expect(permissions.FILE_DROP).toBe(BUNDLED_PERMISSIONS.FILE_DROP)
85+
expect(permissions.UPLOAD_AND_UPDATE).toBe(BUNDLED_PERMISSIONS.UPLOAD_AND_UPDATE)
86+
expect(permissions.ALL).toBe(BUNDLED_PERMISSIONS.ALL)
87+
expect(permissions.ALL_FILE).toBe(BUNDLED_PERMISSIONS.ALL_FILE)
88+
expect(permissions.ALL).toBe(31)
89+
expect(permissions.ALL_FILE).toBe(19)
90+
expect(hasPermissions(permissions.ALL, ATOMIC_PERMISSIONS.SHARE)).toBe(true)
91+
expect(hasPermissions(permissions.ALL_FILE, ATOMIC_PERMISSIONS.SHARE)).toBe(true)
92+
})
93+
94+
test('Get bundled permissions without SHARE (excludeShare=true)', () => {
95+
const permissions = getBundledPermissions(true)
96+
expect(permissions.READ_ONLY).toBe(BUNDLED_PERMISSIONS.READ_ONLY)
97+
expect(permissions.FILE_DROP).toBe(BUNDLED_PERMISSIONS.FILE_DROP)
98+
expect(permissions.UPLOAD_AND_UPDATE).toBe(BUNDLED_PERMISSIONS.UPLOAD_AND_UPDATE)
99+
expect(permissions.ALL).toBe(BUNDLED_PERMISSIONS.ALL & ~ATOMIC_PERMISSIONS.SHARE)
100+
expect(permissions.ALL_FILE).toBe(BUNDLED_PERMISSIONS.ALL_FILE & ~ATOMIC_PERMISSIONS.SHARE)
101+
expect(permissions.ALL).toBe(15)
102+
expect(permissions.ALL_FILE).toBe(3)
103+
expect(hasPermissions(permissions.ALL, ATOMIC_PERMISSIONS.SHARE)).toBe(false)
104+
expect(hasPermissions(permissions.ALL_FILE, ATOMIC_PERMISSIONS.SHARE)).toBe(false)
105+
})
106+
107+
test('Operations with bundled permissions including SHARE', () => {
108+
const permissionsWithShare = getBundledPermissions(false)
109+
const permissionsWithoutShare = getBundledPermissions(true)
110+
111+
// Adding permissions to ALL with SHARE should preserve SHARE
112+
expect(addPermissions(permissionsWithShare.ALL, ATOMIC_PERMISSIONS.READ)).toBe(permissionsWithShare.ALL)
113+
114+
// Subtracting READ from ALL with SHARE should leave UPDATE | CREATE | DELETE | SHARE
115+
expect(subtractPermissions(permissionsWithShare.ALL, ATOMIC_PERMISSIONS.READ))
116+
.toBe(ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE)
117+
118+
// Toggle UPLOAD_AND_UPDATE from ALL with SHARE should leave only SHARE
119+
expect(togglePermissions(permissionsWithShare.ALL, BUNDLED_PERMISSIONS.UPLOAD_AND_UPDATE))
120+
.toBe(ATOMIC_PERMISSIONS.SHARE)
121+
122+
// Toggle FILE_DROP from ALL with SHARE
123+
expect(togglePermissions(permissionsWithShare.ALL, BUNDLED_PERMISSIONS.FILE_DROP))
124+
.toBe(ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE)
125+
126+
// BUNDLED_PERMISSIONS.ALL already includes SHARE
127+
expect(BUNDLED_PERMISSIONS.ALL).toBe(permissionsWithShare.ALL)
128+
129+
// Subtracting SHARE from ALL with SHARE should equal ALL without SHARE
130+
expect(subtractPermissions(permissionsWithShare.ALL, ATOMIC_PERMISSIONS.SHARE)).toBe(permissionsWithoutShare.ALL)
131+
})
132+
133+
test('Operations with bundled permissions for files including SHARE', () => {
134+
const permissionsWithShare = getBundledPermissions(false)
135+
const permissionsWithoutShare = getBundledPermissions(true)
136+
137+
// ALL_FILE with SHARE should be READ | UPDATE | SHARE
138+
expect(permissionsWithShare.ALL_FILE).toBe(ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.SHARE)
139+
140+
// Subtracting SHARE from ALL_FILE with SHARE should equal ALL_FILE without SHARE
141+
expect(subtractPermissions(permissionsWithShare.ALL_FILE, ATOMIC_PERMISSIONS.SHARE)).toBe(permissionsWithoutShare.ALL_FILE)
142+
143+
// BUNDLED_PERMISSIONS.ALL_FILE already includes SHARE
144+
expect(BUNDLED_PERMISSIONS.ALL_FILE).toBe(permissionsWithShare.ALL_FILE)
145+
})
79146
})

apps/files_sharing/src/mixins/SharesMixin.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import PQueue from 'p-queue'
1212
import { fetchNode } from '../../../files/src/services/WebdavClient.ts'
1313
import {
1414
ATOMIC_PERMISSIONS,
15-
BUNDLED_PERMISSIONS,
15+
getBundledPermissions,
1616
} from '../lib/SharePermissionsToolBox.js'
1717
import Share from '../models/Share.ts'
1818
import Config from '../services/ConfigService.ts'
@@ -138,11 +138,12 @@ export default {
138138
return this.config.isDefaultInternalExpireDateEnforced
139139
},
140140
hasCustomPermissions() {
141+
const basePermissions = getBundledPermissions(true)
141142
const bundledPermissions = [
142-
BUNDLED_PERMISSIONS.ALL,
143-
BUNDLED_PERMISSIONS.ALL_FILE,
144-
BUNDLED_PERMISSIONS.READ_ONLY,
145-
BUNDLED_PERMISSIONS.FILE_DROP,
143+
basePermissions.ALL,
144+
basePermissions.ALL_FILE,
145+
basePermissions.READ_ONLY,
146+
basePermissions.FILE_DROP,
146147
]
147148
const permissionsWithoutShare = this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE
148149
return !bundledPermissions.includes(permissionsWithoutShare)

apps/files_sharing/src/services/ConfigService.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ type FileSharingCapabilities = {
5353
}
5454
}
5555
default_permissions: number
56+
exclude_reshare_from_edit: boolean
5657
federation: {
5758
outgoing: boolean
5859
incoming: boolean
@@ -103,6 +104,13 @@ export default class Config {
103104
return this._capabilities.files_sharing?.default_permissions
104105
}
105106

107+
/**
108+
* Should SHARE permission be excluded from "Allow editing" bundled permissions
109+
*/
110+
get excludeReshareFromEdit(): boolean {
111+
return this._capabilities.files_sharing?.exclude_reshare_from_edit === true
112+
}
113+
106114
/**
107115
* Is public upload allowed on link shares ?
108116
* This covers File request and Full upload/edit option.

apps/files_sharing/src/views/SharingDetailsTab.vue

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,7 @@ import SidebarTabExternalActionLegacy from '../components/SidebarTabExternal/Sid
332332
import {
333333
ATOMIC_PERMISSIONS,
334334
BUNDLED_PERMISSIONS,
335+
getBundledPermissions,
335336
hasPermissions,
336337
} from '../lib/SharePermissionsToolBox.js'
337338
import ShareRequests from '../mixins/ShareRequests.js'
@@ -395,7 +396,6 @@ export default {
395396
setCustomPermissions: false,
396397
passwordError: false,
397398
advancedSectionAccordionExpanded: false,
398-
bundledPermissions: BUNDLED_PERMISSIONS,
399399
isFirstComponentLoad: true,
400400
test: false,
401401
creating: false,
@@ -443,6 +443,10 @@ export default {
443443
}
444444
},
445445
446+
bundledPermissions() {
447+
return getBundledPermissions(this.config.excludeReshareFromEdit)
448+
},
449+
446450
allPermissions() {
447451
return this.isFolder ? this.bundledPermissions.ALL.toString() : this.bundledPermissions.ALL_FILE.toString()
448452
},
@@ -1022,9 +1026,10 @@ export default {
10221026
if (this.isNewShare) {
10231027
const defaultPermissions = this.config.defaultPermissions
10241028
const permissionsWithoutShare = defaultPermissions & ~ATOMIC_PERMISSIONS.SHARE
1025-
if (permissionsWithoutShare === BUNDLED_PERMISSIONS.READ_ONLY
1026-
|| permissionsWithoutShare === BUNDLED_PERMISSIONS.ALL
1027-
|| permissionsWithoutShare === BUNDLED_PERMISSIONS.ALL_FILE) {
1029+
const basePermissions = getBundledPermissions(true)
1030+
if (permissionsWithoutShare === basePermissions.READ_ONLY
1031+
|| permissionsWithoutShare === basePermissions.ALL
1032+
|| permissionsWithoutShare === basePermissions.ALL_FILE) {
10281033
this.sharingPermission = permissionsWithoutShare.toString()
10291034
} else {
10301035
this.sharingPermission = 'custom'
@@ -1075,9 +1080,9 @@ export default {
10751080
this.share.permissions = sharePermissionsSet
10761081
}
10771082
1078-
if (!this.isFolder && this.share.permissions === BUNDLED_PERMISSIONS.ALL) {
1083+
if (!this.isFolder && this.share.permissions === this.bundledPermissions.ALL) {
10791084
// It's not possible to create an existing file.
1080-
this.share.permissions = BUNDLED_PERMISSIONS.ALL_FILE
1085+
this.share.permissions = this.bundledPermissions.ALL_FILE
10811086
}
10821087
if (!this.writeNoteToRecipientIsChecked) {
10831088
this.share.note = ''

0 commit comments

Comments
 (0)