Unshare almost works

This commit is contained in:
brantje 2016-10-06 21:49:14 +02:00
parent e414c0256e
commit 27c7ed0037
No known key found for this signature in database
GPG key ID: 5FF1D117F918687F

View file

@ -180,31 +180,21 @@ angular.module('passmanApp')
$scope.unshareCredential = function (credential) { $scope.unshareCredential = function (credential) {
ShareService.unshareCredential(credential); ShareService.unshareCredential(credential);
var _credential = angular.copy(credential); var _credential = angular.copy(credential);
var enc_key = EncryptService.decryptString(angular.copy(_credential.shared_key)); var old_key = EncryptService.decryptString(angular.copy(_credential.shared_key));
_credential.shared_key = null; var new_key = VaultService.getActiveVault().vaultKey;
_credential.unshare_action = true; console.log(old_key, new_key);
CredentialService.updateCredential(_credential).then(function () { console.log(_credential)
NotificationService.showNotification('Credential unshared', 4000) CredentialService.reencryptCredential(_credential.credential_id, old_key, new_key).progress(function(data){
}); console.log(data);
}).then(function(data){
for (var f = 0; f < $scope.storedCredential.files.length; f++) { console.log(data);
var _file = $scope.storedCredential.files[f]; var _credential = data.cryptogram;
FileService.getFile(_file).then(function (fileData) { _credential.shared_key = null;
//Decrypt with old key _credential.unshare_action = true;
fileData.filename = EncryptService.decryptString(fileData.filename, enc_key); console.log(_credential);
fileData.file_data = EncryptService.decryptString(fileData.file_data, enc_key); CredentialService.updateCredential(_credential, true).then(function () {
FileService.updateFile(fileData, $scope.active_vault.vaultKey); NotificationService.showNotification('Credential unshared', 4000)
}) })
}
CredentialService.getRevisions($scope.storedCredential.guid).then(function (revisions) {
for (var r = 0; r < revisions.length; r++) {
var _revision = revisions[r];
_revision.credential_data = ShareService.decryptSharedCredential(_revision.credential_data, enc_key);
_revision.credential_data = CredentialService.encryptCredential(_revision.credential_data);
console.log('Used key for encrypting history ', enc_key);
CredentialService.updateRevision(_revision);
}
}); });
}; };
@ -326,14 +316,19 @@ angular.module('passmanApp')
var encryptedSharedCredential = angular.copy($scope.storedCredential); var encryptedSharedCredential = angular.copy($scope.storedCredential);
var old_key = VaultService.getActiveVault().vaultKey; var old_key = VaultService.getActiveVault().vaultKey;
console.log(encryptedSharedCredential); console.log(encryptedSharedCredential);
encryptedSharedCredential.set_share_key = true;
encryptedSharedCredential.shared_key = EncryptService.encryptString(key);
CredentialService.reencryptCredential(encryptedSharedCredential.credential_id, old_key, key).progress(function(data){ CredentialService.reencryptCredential(encryptedSharedCredential.credential_id, old_key, key).progress(function(data){
console.log(data); console.log(data);
}).then(function(data){ }).then(function(data){
console.log(data); console.log(data);
console.error("FINAL CALLBACK");
var _credential = data.cryptogram;
_credential.set_share_key = true;
_credential.shared_key = EncryptService.encryptString(key);
console.log(_credential);
CredentialService.updateCredential(_credential, true).then(function () {
NotificationService.showNotification('Credential shared', 4000)
})
}); });
//@TODO Update revisions with new key (async) //@TODO Update revisions with new key (async)
@ -362,7 +357,7 @@ angular.module('passmanApp')
}); });
} }
NotificationService.showNotification('Credential shared', 4000)
}) })
} }
}; };