delete cipher messages passes object

This commit is contained in:
Kyle Spearrin 2018-09-21 17:04:54 -04:00
parent a998ee84ec
commit 640beeed23
2 changed files with 15 additions and 7 deletions

View file

@ -296,13 +296,17 @@ namespace Bit.App.Services
public async Task DeleteDataAsync(string id, bool sendMessage)
{
if(sendMessage)
{
var cipherData = await _cipherRepository.GetByIdAsync(id);
if(cipherData != null)
{
MessagingCenter.Send(Application.Current, "DeletedCipher", new Cipher(cipherData));
}
}
await _cipherRepository.DeleteAsync(id);
CachedCiphers = null;
_appSettingsService.ClearCiphersCache = true;
if(sendMessage)
{
MessagingCenter.Send(Application.Current, "DeletedCipher", id);
}
}
public async Task<byte[]> DownloadAndDecryptAttachmentAsync(string url, string orgId = null)

View file

@ -174,12 +174,16 @@ namespace Bit.iOS
}
});
MessagingCenter.Subscribe<Xamarin.Forms.Application, string>(
Xamarin.Forms.Application.Current, "DeletedCipher", async (sender, id) =>
MessagingCenter.Subscribe<Xamarin.Forms.Application, Cipher>(
Xamarin.Forms.Application.Current, "DeletedCipher", async (sender, cipher) =>
{
if(await ASHelpers.IdentitiesCanIncremental())
{
var identity = new ASPasswordCredentialIdentity(null, null, id);
var identity = ASHelpers.ToCredentialIdentity(cipher);
if(identity == null)
{
return;
}
await ASCredentialIdentityStore.SharedStore.RemoveCredentialIdentitiesAsync(
new ASPasswordCredentialIdentity[] { identity });
}