Bitwarden-app-android-iphon.../src/Core/Models/View/SimpleCipherView.cs

69 lines
1.6 KiB
C#

using System.Collections.Generic;
using System.Linq;
using Bit.Core.Enums;
using MessagePack;
namespace Bit.Core.Models.View
{
[MessagePackObject]
public class SimpleCipherView
{
public SimpleCipherView()
{
}
public SimpleCipherView(CipherView c)
{
Id = c.Id;
Name = c.Name;
Type = c.Type;
if (c.Login != null)
{
Login = new SimpleLoginView
{
Username = c.Login.Username,
Totp = c.Login.Totp,
Uris = c.Login.Uris?.Select(u => new SimpleLoginUriView(u.Uri)).ToList()
};
}
}
[Key(0)]
public string Id { get; set; }
[Key(1)]
public string Name { get; set; }
[IgnoreMember]
public CipherType Type { get; set; } // ignoring on serialization for now, given that all are going to be of type Login
[Key(2)]
public SimpleLoginView Login { get; set; }
}
[MessagePackObject]
public class SimpleLoginView
{
[Key(0)]
public string Username { get; set; }
[Key(1)]
public string Totp { get; set; }
[Key(2)]
public List<SimpleLoginUriView> Uris { get; set; }
}
[MessagePackObject]
public class SimpleLoginUriView
{
public SimpleLoginUriView()
{
}
public SimpleLoginUriView(string uri)
{
Uri = uri;
}
[Key(0)]
public string Uri { get; set; }
}
}