mirror of
https://github.com/nextcloud/passman.git
synced 2025-10-20 10:25:56 +08:00
Unshare almost works
This commit is contained in:
parent
e414c0256e
commit
27c7ed0037
1 changed files with 23 additions and 28 deletions
|
@ -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)
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue