2021-09-04 19:26:38 +00:00
|
|
|
import AbstractService from './abstractService'
|
|
|
|
import {downloadBlob} from '../helpers/downloadBlob'
|
|
|
|
|
2022-09-28 13:28:45 +00:00
|
|
|
const DOWNLOAD_NAME = 'vikunja-export.zip'
|
|
|
|
|
2021-09-04 19:26:38 +00:00
|
|
|
export default class DataExportService extends AbstractService {
|
2022-06-23 03:20:07 +02:00
|
|
|
request(password: string) {
|
|
|
|
return this.post('/user/export/request', {password})
|
2021-09-04 19:26:38 +00:00
|
|
|
}
|
|
|
|
|
2022-06-23 03:20:07 +02:00
|
|
|
async download(password: string) {
|
2021-09-08 17:33:58 +02:00
|
|
|
const clear = this.setLoading()
|
2021-10-11 19:37:20 +02:00
|
|
|
try {
|
|
|
|
const url = await this.getBlobUrl('/user/export/download', 'POST', {password})
|
2022-09-28 13:28:45 +00:00
|
|
|
downloadBlob(url, DOWNLOAD_NAME)
|
2021-10-11 19:37:20 +02:00
|
|
|
} finally {
|
|
|
|
clear()
|
|
|
|
}
|
2021-09-04 19:26:38 +00:00
|
|
|
}
|
|
|
|
}
|