From d9815b3ca3bdd4c4ce59cc3ae03bd64b607de042 Mon Sep 17 00:00:00 2001 From: binsky Date: Sat, 23 Oct 2021 19:59:13 +0200 Subject: do not collect all credential guids for vault deletion; use custom file mass deletion endpoint Signed-off-by: binsky --- js/app/controllers/settings.js | 4 +--- js/app/services/vaultservice.js | 9 ++++----- 2 files changed, 5 insertions(+), 8 deletions(-) (limited to 'js') diff --git a/js/app/controllers/settings.js b/js/app/controllers/settings.js index 31d4a0a8..21caea4a 100644 --- a/js/app/controllers/settings.js +++ b/js/app/controllers/settings.js @@ -283,17 +283,15 @@ total: vault.credentials.length, }; - var credential_guids = []; var file_ids = []; for (const credential of credentials) { - credential_guids.push(credential.guid); var decryptedFiles = JSON.parse(EncryptService.decryptString(angular.copy(credential.files), VaultService.getActiveVault().vaultKey)); for (const file of decryptedFiles) { file_ids.push(file.file_id); } } - VaultService.deleteVault(vault, credential_guids, file_ids).then(function () { + VaultService.deleteVault(vault, file_ids).then(function () { SettingsService.setSetting('defaultVaultPass', false); SettingsService.setSetting('defaultVault', null); $rootScope.$broadcast('logout'); diff --git a/js/app/services/vaultservice.js b/js/app/services/vaultservice.js index 79809b6e..188f7c06 100644 --- a/js/app/services/vaultservice.js +++ b/js/app/services/vaultservice.js @@ -122,14 +122,13 @@ } }); }, - deleteVault: function (vault, credential_guids, file_ids) { + deleteVault: function (vault, file_ids) { var queryUrl = OC.generateUrl('apps/passman/api/v2/vaults/' + vault.guid); - var deleteContentUrl = OC.generateUrl('apps/passman/api/v2/vaults/delete-vault-content'); - var data = { - "credential_guids": JSON.stringify(credential_guids), + var deleteFilesUrl = OC.generateUrl('apps/passman/api/v2/files/delete'); + var filesData = { "file_ids": JSON.stringify(file_ids) }; - return $http.post(deleteContentUrl, data).then(function () { + return $http.post(deleteFilesUrl, filesData).then(function () { return $http.delete(queryUrl).then(function (response) { if (response.data) { return response.data; -- cgit v1.2.3