Browse Source

Fix download backup support on FE

pull/38/head
Kristijan Mitrovic 4 years ago
parent
commit
7460fa2b2c
3 changed files with 7 additions and 10 deletions
  1. +2
    -1
      src/_helpers/util.js
  2. +4
    -7
      src/_services/network.service.js
  3. +1
    -2
      src/_store/networks.module.js

+ 2
- 1
src/_helpers/util.js View File

@@ -184,8 +184,9 @@ export const util = {
}
},

handleResponseToDownloadAsFile: function(fileName) {
handleResponseToDownloadAsFile: function(fileName, messages, errors) {
return function(response) {
if (!response.ok) return handleCrudResponse(messages, errors)(response);
return downloadBlob(response.blob(), fileName);
};
},


+ 4
- 7
src/_services/network.service.js View File

@@ -90,24 +90,21 @@ function retrieveNetworkKeys(userId, networkId, code, password, messages, errors
.then(netKeyObj => netKeyObj.data)
.then(util.handleDataToDownloadAsFile('restore.' + networkId + '.key', 'text/plain'));
}
function startBackupPackageDownload(userId, networkId, code, password, backupId, messages, errors) {
function startBackupPackageDownload(userId, networkId, code, password, backupId) {
return fetch(`${config.apiUrl}/users/${userId}/networks/${networkId}/actions/keys/${code}/backups/start?backupId=${backupId}`,
util.postWithAuth({ name: 'password', value: password }))
.then(util.handleCrudResponse(messages, errors))
// ).then(util.handleResponseToDownloadAsFile('backup.' + networkId + '.tgz.enc'));
.then(util.handleBasicResponse);
}

function downloadBackupPackage(userId, networkId, code, messages, errors) {
return fetch(`${config.apiUrl}/users/${userId}/networks/${networkId}/actions/keys/${code}/backups/download`,
util.postWithAuth({ name: 'password', value: password }))
util.getWithAuth())
.then(response => {
if (response.status == 202) {
// accepted, but not yet done
setTimeout(() => downloadBackupPackage(userId, networkId, code, messages, errors), 5000);
} else if (response.ok) {
return util.downloadBlob(response.blob(), ('backup.' + networkId + '.tgz.enc'));
} else {
return response;
return util.handleResponseToDownloadAsFile('backup.' + networkId + '.tgz.enc', messages, errors);
}
});
}


+ 1
- 2
src/_store/networks.module.js View File

@@ -158,8 +158,7 @@ const actions = {

retrieveLatestBackupPackage({ commit }, {userId, networkId, code, password, messages, errors}) {
commit('retrieveLatestBackupPackageRequest');
networkService.startBackupPackageDownload(userId, networkId, code, password, state.backups[0].uuid,
messages, errors)
networkService.startBackupPackageDownload(userId, networkId, code, password, state.backups[0].uuid)
.then(ok => {
networkService.downloadBackupPackage(userId, networkId, code, messages, errors)
.then(ok => commit('retrieveLatestBackupPackageSuccess'),


Loading…
Cancel
Save