Files
Walleby/Bitvault/ItemEntryConfiguration.cs
T
TheXamlGuy 8995982607 WIP
2024-06-05 19:18:17 +01:00

25 lines
945 B
C#

using System.Text.Json.Serialization;
namespace Bitvault;
public interface IItemEntryConfiguration
{
string? Label { get; set; }
object? Value { get; set; }
}
[JsonDerivedType(typeof(DropdownEntryConfiguration), typeDiscriminator: "Dropdown")]
[JsonDerivedType(typeof(MaskedTextEntryConfiguration), typeDiscriminator: "MaskedText")]
[JsonDerivedType(typeof(NoteEntryConfiguration), typeDiscriminator: "Note")]
[JsonDerivedType(typeof(NumberEntryConfiguration), typeDiscriminator: "Number")]
[JsonDerivedType(typeof(PasswordEntryConfiguration), typeDiscriminator: "Password")]
[JsonDerivedType(typeof(TextEntryConfiguration), typeDiscriminator: "Text")]
public record ItemEntryConfiguration : IItemEntryConfiguration
{
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? Label { get; set; }
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public object? Value { get; set; }
}