Skip to content

Commit 4d5ff43

Browse files
committed
chore: moved the upload responsibility to store
Signed-off-by: Vitor Mattos <[email protected]>
1 parent b33c21d commit 4d5ff43

2 files changed

Lines changed: 17 additions & 47 deletions

File tree

src/Components/Request/RequestPicker.vue

Lines changed: 8 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,10 @@ import LinkIcon from 'vue-material-design-icons/Link.vue'
7777
import PlusIcon from 'vue-material-design-icons/Plus.vue'
7878
import UploadIcon from 'vue-material-design-icons/Upload.vue'
7979
80-
import axios from '@nextcloud/axios'
8180
import { getCapabilities } from '@nextcloud/capabilities'
8281
import { showError } from '@nextcloud/dialogs'
8382
import { FilePickerVue as FilePicker } from '@nextcloud/dialogs/filepicker.js'
8483
import { loadState } from '@nextcloud/initial-state'
85-
import { generateOcsUrl } from '@nextcloud/router'
8684
8785
import NcActionButton from '@nextcloud/vue/components/NcActionButton'
8886
import NcActions from '@nextcloud/vue/components/NcActions'
@@ -203,17 +201,8 @@ export default {
203201
}
204202
205203
await this.filesStore.upload(formData)
206-
.then((response) => {
207-
this.filesStore.addFile({
208-
nodeId: response.id,
209-
name: response.name,
210-
status: response.status,
211-
statusText: response.statusText,
212-
created_at: response.created_at,
213-
...(response.nodeType && { nodeType: response.nodeType }),
214-
...(response.files && { files: response.files }),
215-
})
216-
this.filesStore.selectFile(response.id)
204+
.then((nodeId) => {
205+
this.filesStore.selectFile(nodeId)
217206
})
218207
.catch(({ response }) => {
219208
showError(response.data.ocs.data.message)
@@ -241,23 +230,13 @@ export default {
241230
},
242231
async uploadUrl() {
243232
this.loading = true
244-
await axios.post(generateOcsUrl('/apps/libresign/api/v1/file'), {
233+
await this.filesStore.upload({
245234
file: {
246235
url: this.pdfUrl,
247236
},
248237
})
249-
.then(({ data }) => {
250-
this.filesStore.addFile({
251-
nodeId: data.ocs.data.id,
252-
uuid: data.ocs.data.uuid,
253-
name: data.ocs.data.name,
254-
status: data.ocs.data.status,
255-
statusText: data.ocs.data.statusText,
256-
created_at: data.ocs.data.created_at,
257-
...(data.ocs.data.nodeType && { nodeType: data.ocs.data.nodeType }),
258-
...(data.ocs.data.files && { files: data.ocs.data.files }),
259-
})
260-
this.filesStore.selectFile(data.ocs.data.id)
238+
.then((nodeId) => {
239+
this.filesStore.selectFile(nodeId)
261240
this.closeModalUploadFromUrl()
262241
})
263242
.catch(({ response }) => {
@@ -271,24 +250,14 @@ export default {
271250
return
272251
}
273252
274-
await axios.post(generateOcsUrl('/apps/libresign/api/v1/file'), {
253+
await this.filesStore.upload({
275254
file: {
276255
path,
277256
},
278257
name: path.match(/([^/]*?)(?:\.[^.]*)?$/)[1] ?? '',
279258
})
280-
.then(({ data }) => {
281-
this.filesStore.addFile({
282-
nodeId: data.ocs.data.id,
283-
uuid: data.ocs.data.uuid,
284-
name: data.ocs.data.name,
285-
status: data.ocs.data.status,
286-
statusText: data.ocs.data.statusText,
287-
created_at: data.ocs.data.created_at,
288-
...(data.ocs.data.nodeType && { nodeType: data.ocs.data.nodeType }),
289-
...(data.ocs.data.files && { files: data.ocs.data.files }),
290-
})
291-
this.filesStore.selectFile(data.ocs.data.id)
259+
.then((nodeId) => {
260+
this.filesStore.selectFile(nodeId)
292261
})
293262
.catch(({ response }) => {
294263
showError(response.data.ocs.data.message)

src/store/files.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -356,21 +356,22 @@ export const useFilesStore = function(...args) {
356356
this.loading = false
357357
},
358358
async upload(payload) {
359+
let data
359360
if (payload instanceof FormData) {
360-
const { data } = await axios.post(generateOcsUrl('/apps/libresign/api/v1/file'), payload, {
361+
const response = await axios.post(generateOcsUrl('/apps/libresign/api/v1/file'), payload, {
361362
headers: {
362363
'Content-Type': 'multipart/form-data',
363364
},
364365
})
365-
return { ...data.ocs.data }
366-
}
367-
368-
const requestData = {
369-
...payload,
366+
data = response.data
367+
} else {
368+
const response = await axios.post(generateOcsUrl('/apps/libresign/api/v1/file'), payload)
369+
data = response.data
370370
}
371371

372-
const { data } = await axios.post(generateOcsUrl('/apps/libresign/api/v1/file'), requestData)
373-
return { ...data.ocs.data }
372+
const fileData = data.ocs.data
373+
this.addFile(fileData)
374+
return fileData.nodeId
374375
},
375376
async getAllFiles(filter) {
376377
if (this.loading || this.loadedAll) {

0 commit comments

Comments
 (0)