diff --git a/src/components/fields/ListOfMediaField.vue b/src/components/fields/ListOfMediaField.vue index 860aa6a1..4d6b3097 100644 --- a/src/components/fields/ListOfMediaField.vue +++ b/src/components/fields/ListOfMediaField.vue @@ -119,11 +119,10 @@ import ChooseInputFileButton from './ChooseInputFileButton.vue' import UploadInputFileButton from './UploadInputFileButton.vue' import AudioRecorderWrapper from './AudioRecorderWrapper.vue' -import { generateOcsUrl, generateUrl, generateRemoteUrl } from '@nextcloud/router' +import { generateOcsUrl, generateUrl } from '@nextcloud/router' import axios from '@nextcloud/axios' import { showError, showSuccess } from '@nextcloud/dialogs' -import { getCurrentUser } from '@nextcloud/auth' -import { File } from '@nextcloud/files' +import { getClient, getDefaultPropfind, getRootPath, resultToNode } from '@nextcloud/files/dav' import { getViewer, registerDefaultHandlers } from '@nextcloud/viewer' import { uploadInputFile } from '../../utils.js' @@ -335,17 +334,14 @@ export default { taskId: this.providedCurrentTaskId(), fileId, }) - return axios.post(url).then(response => { + return axios.post(url).then(async response => { const savedPath = response.data.ocs.data.path console.debug('[assistant] view output file', savedPath) - const user = getCurrentUser() - const node = new File({ - source: generateRemoteUrl('dav') + `/files/${user.uid}${savedPath}`, - id: response.data.ocs.data.fileId, - root: `/files/${user.uid}`, - owner: user.uid, - mime: response.data.ocs.data.mime, + const { data } = await getClient().stat(`${getRootPath()}${savedPath}`, { + details: true, + data: getDefaultPropfind(), }) + const node = resultToNode(data) registerDefaultHandlers() getViewer().open([node], node) }).catch(error => { diff --git a/src/components/fields/MediaField.vue b/src/components/fields/MediaField.vue index 03b87ca8..b5d4f32a 100644 --- a/src/components/fields/MediaField.vue +++ b/src/components/fields/MediaField.vue @@ -118,11 +118,10 @@ import ChooseInputFileButton from './ChooseInputFileButton.vue' import { SHAPE_TYPE_NAMES, VALID_AUDIO_MIME_TYPES, VALID_IMAGE_MIME_TYPES, VALID_VIDEO_MIME_TYPES } from '../../constants.js' -import { generateOcsUrl, generateUrl, generateRemoteUrl } from '@nextcloud/router' +import { generateOcsUrl, generateUrl } from '@nextcloud/router' import axios from '@nextcloud/axios' import { showError, showSuccess } from '@nextcloud/dialogs' -import { getCurrentUser } from '@nextcloud/auth' -import { File } from '@nextcloud/files' +import { getClient, getDefaultPropfind, getRootPath, resultToNode } from '@nextcloud/files/dav' import { getViewer, registerDefaultHandlers } from '@nextcloud/viewer' import { uploadInputFile } from '../../utils.js' @@ -312,17 +311,14 @@ export default { taskId: this.providedCurrentTaskId(), fileId: this.value, }) - return axios.post(url).then(response => { + return axios.post(url).then(async response => { const savedPath = response.data.ocs.data.path console.debug('[assistant] view output file', savedPath) - const user = getCurrentUser() - const node = new File({ - source: generateRemoteUrl('dav') + `/files/${user.uid}${savedPath}`, - id: response.data.ocs.data.fileId, - root: `/files/${user.uid}`, - owner: user.uid, - mime: response.data.ocs.data.mime, + const { data } = await getClient().stat(`${getRootPath()}${savedPath}`, { + details: true, + data: getDefaultPropfind(), }) + const node = resultToNode(data) registerDefaultHandlers() getViewer().open([node], node) }).catch(error => {