1
0
mirror of https://github.com/bitwarden/mobile synced 2026-01-03 17:13:50 +00:00

sync and display attachments on view login

This commit is contained in:
Kyle Spearrin
2017-07-12 16:23:24 -04:00
parent 18a86d3f12
commit 0a7ad44d23
15 changed files with 169 additions and 5 deletions

View File

@@ -12,7 +12,7 @@ namespace Bit.App.Models
{
Id = data.Id;
Url = data.Url;
FileName = data.FileName;
FileName = data.FileName != null ? new CipherString(data.FileName) : null;
Size = data.Size;
SizeName = data.SizeName;
}
@@ -21,14 +21,14 @@ namespace Bit.App.Models
{
Id = response.Id;
Url = response.Url;
FileName = response.FileName;
FileName = response.FileName != null ? new CipherString(response.FileName) : null;
Size = response.Size;
SizeName = response.SizeName;
}
public string Id { get; set; }
public string Url { get; set; }
public string FileName { get; set; }
public CipherString FileName { get; set; }
public string Size { get; set; }
public string SizeName { get; set; }

View File

@@ -15,7 +15,7 @@ namespace Bit.App.Models.Data
Id = attachment.Id;
LoginId = loginId;
Url = attachment.Url;
FileName = attachment.FileName;
FileName = attachment.FileName?.EncryptedString;
Size = attachment.Size;
SizeName = attachment.SizeName;
}

View File

@@ -2,6 +2,7 @@
using System.ComponentModel;
using Bit.App.Resources;
using Xamarin.Forms;
using System.Collections.Generic;
namespace Bit.App.Models.Page
{
@@ -13,6 +14,7 @@ namespace Bit.App.Models.Page
private string _uri;
private string _notes;
private bool _revealPassword;
private List<Attachment> _attachments;
public VaultViewLoginPageModel() { }
@@ -192,6 +194,18 @@ namespace Bit.App.Models.Page
public string ShowHideText => RevealPassword ? AppResources.Hide : AppResources.Show;
public ImageSource ShowHideImage => RevealPassword ? ImageSource.FromFile("eye_slash") : ImageSource.FromFile("eye");
public List<Attachment> Attachments
{
get { return _attachments; }
set
{
_attachments = value;
PropertyChanged(this, new PropertyChangedEventArgs(nameof(Attachments)));
PropertyChanged(this, new PropertyChangedEventArgs(nameof(ShowAttachments)));
}
}
public bool ShowAttachments => (Attachments?.Count ?? 0) > 0;
public void Update(Login login)
{
Name = login.Name?.Decrypt(login.OrganizationId);
@@ -199,6 +213,32 @@ namespace Bit.App.Models.Page
Password = login.Password?.Decrypt(login.OrganizationId);
Uri = login.Uri?.Decrypt(login.OrganizationId);
Notes = login.Notes?.Decrypt(login.OrganizationId);
if(login.Attachments != null)
{
var attachments = new List<Attachment>();
foreach(var attachment in login.Attachments)
{
attachments.Add(new Attachment
{
Id = attachment.Id,
Name = attachment.FileName?.Decrypt(login.OrganizationId),
Size = attachment.SizeName
});
}
Attachments = attachments;
}
else
{
login.Attachments = null;
}
}
public class Attachment
{
public string Id { get; set; }
public string Name { get; set; }
public string Size { get; set; }
}
}
}