diff options
author | fenn-cs <fenn25.fn@gmail.com> | 2024-06-24 10:19:53 +0100 |
---|---|---|
committer | fenn-cs <fenn25.fn@gmail.com> | 2024-07-03 09:06:47 +0100 |
commit | c998f5ebba6c05c49d723272deb7aa80603dd21c (patch) | |
tree | be58460edb1a2e89f578daf9e6e194bdca648adc /apps/files_sharing/src | |
parent | acb95d5c0f5d0f3d5ea4a88b4adf1be62f52c29a (diff) | |
download | nextcloud-server-c998f5ebba6c05c49d723272deb7aa80603dd21c.tar.gz nextcloud-server-c998f5ebba6c05c49d723272deb7aa80603dd21c.zip |
fix(ExternalSharing): Handle template share from external sources
The new sharing flow requires or implies that users should edit share before creating.
External sources should not created the share IF we would upon sharing details tab on first request.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Diffstat (limited to 'apps/files_sharing/src')
-rw-r--r-- | apps/files_sharing/src/mixins/ShareDetails.js | 11 | ||||
-rw-r--r-- | apps/files_sharing/src/views/SharingDetailsTab.vue | 6 |
2 files changed, 12 insertions, 5 deletions
diff --git a/apps/files_sharing/src/mixins/ShareDetails.js b/apps/files_sharing/src/mixins/ShareDetails.js index 6c50440ff24..de0bf875f16 100644 --- a/apps/files_sharing/src/mixins/ShareDetails.js +++ b/apps/files_sharing/src/mixins/ShareDetails.js @@ -15,13 +15,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 8254e84b4a3..0fbd70f607d 100644 --- a/apps/files_sharing/src/views/SharingDetailsTab.vue +++ b/apps/files_sharing/src/views/SharingDetailsTab.vue @@ -279,6 +279,8 @@ import ShareTypes from '../mixins/ShareTypes.js' import SharesMixin from '../mixins/SharesMixin.js' import logger from '../services/logger.ts' +import { subscribe } from '@nextcloud/event-bus' + import { ATOMIC_PERMISSIONS, BUNDLED_PERMISSIONS, @@ -735,6 +737,7 @@ export default { mounted() { this.$refs.quickPermissions?.querySelector('input:checked')?.focus() + subscribe('files_sharing:external:add-share', this.handleExistingShareFromExternalSource) }, methods: { @@ -1007,6 +1010,9 @@ export default { return null // Or a default icon component if needed } }, + handleExistingShareFromExternalSource(share) { + logger.info('Existing share from external source/app', { share }) + }, }, } </script> |