The core infrastructure backend (API, database, Docker, etc).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

132 lines
3.7 KiB

namespace Bit.Seeder.Models;
internal record SeedFile
{
public required List<SeedVaultItem> Items { get; init; }
}
internal record SeedVaultItem
{
public required string Type { get; init; }
public required string Name { get; init; }
public string? Notes { get; init; }
public SeedLogin? Login { get; init; }
public SeedCard? Card { get; init; }
public SeedIdentity? Identity { get; init; }
public SeedSshKey? SshKey { get; init; }
public List<SeedField>? Fields { get; init; }
public bool? Favorite { get; init; }
public int? Reprompt { get; init; }
}
internal record SeedSshKey
{
public string? PrivateKey { get; init; }
public string? PublicKey { get; init; }
public string? KeyFingerprint { get; init; }
}
internal record SeedLogin
{
public string? Username { get; init; }
public string? Password { get; init; }
public List<SeedLoginUri>? Uris { get; init; }
public string? Totp { get; init; }
}
internal record SeedLoginUri
{
public required string Uri { get; init; }
public string Match { get; init; } = "domain";
}
internal record SeedCard
{
public string? CardholderName { get; init; }
public string? Brand { get; init; }
public string? Number { get; init; }
public string? ExpMonth { get; init; }
public string? ExpYear { get; init; }
public string? Code { get; init; }
}
internal record SeedIdentity
{
public string? FirstName { get; init; }
public string? MiddleName { get; init; }
public string? LastName { get; init; }
public string? Address1 { get; init; }
public string? Address2 { get; init; }
public string? Address3 { get; init; }
public string? City { get; init; }
public string? State { get; init; }
public string? PostalCode { get; init; }
public string? Country { get; init; }
public string? Company { get; init; }
public string? Email { get; init; }
public string? Phone { get; init; }
public string? Ssn { get; init; }
public string? Username { get; init; }
public string? PassportNumber { get; init; }
public string? LicenseNumber { get; init; }
}
internal record SeedField
{
public string? Name { get; init; }
public string? Value { get; init; }
public string Type { get; init; } = "text";
}
internal record SeedOrganization
{
public required string Name { get; init; }
public required string Domain { get; init; }
}
internal record SeedRoster
{
public required List<SeedRosterUser> Users { get; init; }
public List<SeedRosterGroup>? Groups { get; init; }
public List<SeedRosterCollection>? Collections { get; init; }
}
internal record SeedRosterUser
{
public required string FirstName { get; init; }
public required string LastName { get; init; }
public string? Title { get; init; }
public string Role { get; init; } = "user";
public string? Branch { get; init; }
public string? Department { get; init; }
public List<string>? Folders { get; init; }
}
internal record SeedRosterGroup
{
public required string Name { get; init; }
public required List<string> Members { get; init; }
}
internal record SeedRosterCollection
{
public required string Name { get; init; }
public List<SeedRosterCollectionGroup>? Groups { get; init; }
public List<SeedRosterCollectionUser>? Users { get; init; }
}
internal record SeedRosterCollectionGroup
{
public required string Group { get; init; }
public bool ReadOnly { get; init; }
public bool HidePasswords { get; init; }
public bool Manage { get; init; }
}
internal record SeedRosterCollectionUser
{
public required string User { get; init; }
public bool ReadOnly { get; init; }
public bool HidePasswords { get; init; }
public bool Manage { get; init; }
}