1
0

chore: don't resolve when returning from promise & improve list store module

This commit is contained in:
Dominik Pschenitschni
2021-10-09 16:34:57 +02:00
parent 3b940cb56c
commit a776e1d2f3
16 changed files with 130 additions and 150 deletions

View File

@ -295,7 +295,7 @@ export default class AbstractService {
.then(response => {
const result = this.modelGetFactory(response.data)
result.maxRight = Number(response.headers['x-max-right'])
return Promise.resolve(result)
return result
})
.finally(() => {
cancel()
@ -338,14 +338,12 @@ export default class AbstractService {
this.totalPages = Number(response.headers['x-pagination-total-pages'])
if (Array.isArray(response.data)) {
return Promise.resolve(response.data.map(entry => {
return this.modelGetAllFactory(entry)
}))
return response.data.map(entry => this.modelGetAllFactory(entry))
}
if (response.data === null) {
return Promise.resolve([])
return []
}
return Promise.resolve(this.modelGetAllFactory(response.data))
return this.modelGetAllFactory(response.data)
})
.finally(() => {
cancel()
@ -371,7 +369,7 @@ export default class AbstractService {
if (typeof model.maxRight !== 'undefined') {
result.maxRight = model.maxRight
}
return Promise.resolve(result)
return result
})
.finally(() => {
cancel()
@ -394,7 +392,7 @@ export default class AbstractService {
if (typeof model.maxRight !== 'undefined') {
result.maxRight = model.maxRight
}
return Promise.resolve(result)
return result
})
.finally(() => {
cancel()
@ -420,7 +418,7 @@ export default class AbstractService {
* @param model
* @returns {Q.Promise<any>}
*/
delete(model) {
async delete(model) {
if (this.paths.delete === '') {
throw new Error('This model is not able to delete data.')
}
@ -428,13 +426,12 @@ export default class AbstractService {
const cancel = this.setLoading()
const finalUrl = this.getReplacedRoute(this.paths.delete, model)
return this.http.delete(finalUrl, model)
.then(response => {
return Promise.resolve(response.data)
})
.finally(() => {
cancel()
})
try {
const {data} = await this.http.delete(finalUrl, model)
return data
} finally {
cancel()
}
}
/**
@ -485,9 +482,7 @@ export default class AbstractService {
},
},
)
.then(response => {
return Promise.resolve(this.modelCreateFactory(response.data))
})
.then(response => this.modelCreateFactory(response.data))
.finally(() => {
this.uploadProgress = 0
cancel()

View File

@ -37,9 +37,9 @@ export default class AttachmentService extends AbstractService {
return AbstractService.prototype.getBlobUrl.call(this, '/tasks/' + model.taskId + '/attachments/' + model.id)
}
download(model) {
this.getBlobUrl(model)
.then(url => downloadBlob(url, model.file.name))
async download(model) {
const url = await this.getBlobUrl(model)
return downloadBlob(url, model.file.name)
}
/**

View File

@ -46,7 +46,7 @@ export default class ListService extends AbstractService {
background(list) {
if (list.background === null) {
return Promise.resolve('')
return ''
}
return this.http({

View File

@ -19,7 +19,7 @@ export default class PasswordResetService extends AbstractService {
const cancel = this.setLoading()
return this.http.post(this.paths.reset, model)
.then(response => {
return Promise.resolve(this.modelFactory(response.data))
return this.modelFactory(response.data)
})
.finally(() => {
cancel()
@ -30,7 +30,7 @@ export default class PasswordResetService extends AbstractService {
const cancel = this.setLoading()
return this.http.post(this.paths.requestReset, model)
.then(response => {
return Promise.resolve(this.modelFactory(response.data))
return this.modelFactory(response.data)
})
.finally(() => {
cancel()

View File

@ -26,13 +26,12 @@ export default class TotpService extends AbstractService {
return this.post(`${this.urlPrefix}/disable`, model)
}
qrcode() {
return this.http({
async qrcode() {
const response = await this.http({
url: `${this.urlPrefix}/qrcode`,
method: 'GET',
responseType: 'blob',
}).then(response => {
return Promise.resolve(new Blob([response.data]))
})
return new Blob([response.data])
}
}