diff --git a/apps/files_sharing/src/mixins/ShareDetails.js b/apps/files_sharing/src/mixins/ShareDetails.js index 60645ef89c832..77fbd657944e0 100644 --- a/apps/files_sharing/src/mixins/ShareDetails.js +++ b/apps/files_sharing/src/mixins/ShareDetails.js @@ -9,13 +9,14 @@ export default { // TODO : Better name/interface for handler required // For example `externalAppCreateShareHook` with proper documentation if (shareRequestObject.handler) { + const handlerInput = {} if (this.suggestions) { - shareRequestObject.suggestions = this.suggestions - shareRequestObject.fileInfo = this.fileInfo - shareRequestObject.query = this.query + handlerInput.suggestions = this.suggestions + handlerInput.fileInfo = this.fileInfo + handlerInput.query = this.query } - share = await shareRequestObject.handler(shareRequestObject) - share = new Share(share) + const externalShareRequestObject = await shareRequestObject.handler(handlerInput) + share = this.mapShareRequestToShareObject(externalShareRequestObject) } else { share = this.mapShareRequestToShareObject(shareRequestObject) } diff --git a/apps/files_sharing/src/views/SharingDetailsTab.vue b/apps/files_sharing/src/views/SharingDetailsTab.vue index 6f6a6d60002ac..74eada0c396ce 100644 --- a/apps/files_sharing/src/views/SharingDetailsTab.vue +++ b/apps/files_sharing/src/views/SharingDetailsTab.vue @@ -244,6 +244,8 @@ 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, @@ -685,6 +687,7 @@ export default { mounted() { this.$refs.quickPermissions?.querySelector('input:checked')?.focus() + subscribe('files_sharing:external:add-share', this.handleExistingShareFromExternalSource) }, methods: { @@ -944,6 +947,9 @@ export default { return null // Or a default icon component if needed } }, + handleExistingShareFromExternalSource(share) { + logger.info('Existing share from external source/app', { share }) + }, }, }