namespace Bit.Seeder.Options; /// /// Options for seeding a standalone individual user with optional personal vault data. /// public record IndividualUserOptions { /// /// Optional first name. When both FirstName and LastName are set, /// the email is deterministic: "{first}.{last}@individual.example". /// When null, Faker generates a random name (requires mangling for isolation). /// public string? FirstName { get; init; } /// /// Optional last name. Must be provided together with FirstName. /// public string? LastName { get; init; } /// /// Optional email. /// public string? Email { get; init; } /// /// Whether the user has a premium subscription (enables 1 GB storage). /// public bool Premium { get; init; } /// /// When true, generates ~75 personal ciphers across 5 named folders. /// public bool GenerateVault { get; init; } /// /// Password for the seeded account. Defaults to "asdfasdfasdf" if not specified. /// public string? Password { get; init; } /// /// KDF iteration count. Defaults to 5,000 for fast seeding. /// Use 600,000 for production-realistic e2e testing. /// public int KdfIterations { get; init; } = 5_000; }