bitwarden-android/src/App/Models/Page/VaultListPageModel.cs

51 lines
1.5 KiB
C#
Raw Normal View History

2016-05-02 09:52:09 +03:00
using System;
using System.Collections.Generic;
using Bit.App.Resources;
using Bit.App.Utilities;
using System.Linq;
2016-05-02 09:52:09 +03:00
namespace Bit.App.Models.Page
2016-05-02 09:52:09 +03:00
{
public class VaultListPageModel
2016-05-02 09:52:09 +03:00
{
public class Site
{
2016-05-04 02:49:49 +03:00
public Site(Models.Site site, string folderId)
2016-05-02 09:52:09 +03:00
{
Id = site.Id;
2016-05-04 02:49:49 +03:00
FolderId = folderId;
2016-05-02 09:52:09 +03:00
Name = site.Name?.Decrypt();
2016-06-30 07:36:44 +03:00
Username = site.Username?.Decrypt() ?? " ";
Password = new Lazy<string>(() => site.Password?.Decrypt());
Uri = new Lazy<string>(() => site.Uri?.Decrypt());
2016-05-02 09:52:09 +03:00
}
2016-05-03 09:08:50 +03:00
public string Id { get; set; }
2016-05-04 02:49:49 +03:00
public string FolderId { get; set; }
2016-05-02 09:52:09 +03:00
public string Name { get; set; }
public string Username { get; set; }
public Lazy<string> Password { get; set; }
public Lazy<string> Uri { get; set; }
2016-05-02 09:52:09 +03:00
}
public class Folder : List<Site>
2016-05-02 09:52:09 +03:00
{
2016-05-04 02:49:49 +03:00
public Folder(IEnumerable<Models.Site> sites, string folderId = null)
2016-05-02 09:52:09 +03:00
{
var pageSites = sites.Select(s => new Site(s, folderId));
AddRange(pageSites);
2016-05-02 09:52:09 +03:00
}
public Folder(Models.Folder folder, IEnumerable<Models.Site> sites)
2016-05-04 02:49:49 +03:00
: this(sites, folder.Id)
2016-05-02 09:52:09 +03:00
{
Id = folder.Id;
Name = folder.Name?.Decrypt();
}
2016-05-03 09:08:50 +03:00
public string Id { get; set; }
public string Name { get; set; } = AppResources.FolderNone;
2016-05-02 09:52:09 +03:00
}
}
}