From 3e1384c02484808189500326287657b4762d6f06 Mon Sep 17 00:00:00 2001 From: fenn-cs Date: Mon, 24 Jun 2024 14:50:27 +0100 Subject: [PATCH] refactor(SharingInput): Remove unused addShare The new sharing flow since NC27 requires that users open the sharing details tab and customize their share before creating it. In https://github.com/nextcloud/server/pull/39472 the work of `addShare` was handed down to `openSharingDetails` that opens the sharing details tab for the user to customize and manually creat their share. Signed-off-by: fenn-cs --- .../src/components/SharingInput.vue | 76 ------------------- .../src/views/SharingDetailsTab.vue | 6 -- 2 files changed, 82 deletions(-) diff --git a/apps/files_sharing/src/components/SharingInput.vue b/apps/files_sharing/src/components/SharingInput.vue index c5ed27477b677..59390ae881ed5 100644 --- a/apps/files_sharing/src/components/SharingInput.vue +++ b/apps/files_sharing/src/components/SharingInput.vue @@ -53,7 +53,6 @@ import debounce from 'debounce' import NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js' import Config from '../services/ConfigService.js' -import GeneratePassword from '../utils/GeneratePassword.js' import Share from '../models/Share.js' import ShareRequests from '../mixins/ShareRequests.js' import ShareTypes from '../mixins/ShareTypes.js' @@ -463,81 +462,6 @@ export default { ...this.shareTypeToIcon(result.value.shareType), } }, - - /** - * Process the new share request - * - * @param {object} value the multiselect option - */ - async addShare(value) { - // Clear the displayed selection - this.value = null - - if (value.lookup) { - await this.getSuggestions(this.query, true) - - this.$nextTick(() => { - // open the dropdown again - this.$refs.select.$children[0].open = true - }) - return true - } - - // handle externalResults from OCA.Sharing.ShareSearch - if (value.handler) { - const share = await value.handler(this) - this.$emit('add:share', new Share(share)) - return true - } - - this.loading = true - console.debug('Adding a new share from the input for', value) - try { - let password = null - - if (this.config.enforcePasswordForPublicLink - && value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) { - password = await GeneratePassword() - } - - const path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/') - const share = await this.createShare({ - path, - shareType: value.shareType, - shareWith: value.shareWith, - password, - permissions: this.fileInfo.sharePermissions & OC.getCapabilities().files_sharing.default_permissions, - attributes: JSON.stringify(this.fileInfo.shareAttributes), - }) - - // If we had a password, we need to show it to the user as it was generated - if (password) { - share.newPassword = password - // Wait for the newly added share - const component = await new Promise(resolve => { - this.$emit('add:share', share, resolve) - }) - - // open the menu on the - // freshly created share component - component.open = true - } else { - // Else we just add it normally - this.$emit('add:share', share) - } - - await this.getRecommendations() - } catch (error) { - this.$nextTick(() => { - // open the dropdown again on error - this.$refs.select.$children[0].open = true - }) - this.query = value.shareWith - console.error('Error while adding new share', error) - } finally { - this.loading = false - } - }, }, } diff --git a/apps/files_sharing/src/views/SharingDetailsTab.vue b/apps/files_sharing/src/views/SharingDetailsTab.vue index 22e63ba8e447d..bac4ddda7d3b0 100644 --- a/apps/files_sharing/src/views/SharingDetailsTab.vue +++ b/apps/files_sharing/src/views/SharingDetailsTab.vue @@ -227,8 +227,6 @@ import ShareRequests from '../mixins/ShareRequests.js' import ShareTypes from '../mixins/ShareTypes.js' import SharesMixin from '../mixins/SharesMixin.js' -import { subscribe } from '@nextcloud/event-bus' - import { ATOMIC_PERMISSIONS, BUNDLED_PERMISSIONS, @@ -651,7 +649,6 @@ export default { mounted() { this.$refs.quickPermissions?.querySelector('input:checked')?.focus() - subscribe('files_sharing:external:add-share', this.handleExistingShareFromExternalSource) }, methods: { @@ -909,9 +906,6 @@ export default { return null // Or a default icon component if needed } }, - handleExistingShareFromExternalSource(share) { - logger.info('Existing share from external source/app', { share }) - }, }, }