aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/src
diff options
context:
space:
mode:
authorfenn-cs <fenn25.fn@gmail.com>2024-06-24 10:19:53 +0100
committerfenn-cs <fenn25.fn@gmail.com>2024-07-03 09:06:47 +0100
commitc998f5ebba6c05c49d723272deb7aa80603dd21c (patch)
treebe58460edb1a2e89f578daf9e6e194bdca648adc /apps/files_sharing/src
parentacb95d5c0f5d0f3d5ea4a88b4adf1be62f52c29a (diff)
downloadnextcloud-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.js11
-rw-r--r--apps/files_sharing/src/views/SharingDetailsTab.vue6
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>