using Bit.Seeder.Data.Enums; namespace Bit.Seeder.Options; /// /// Options for seeding an organization with vault data. /// public class OrganizationVaultOptions { /// /// Organization name. /// public required string Name { get; init; } /// /// Domain for user emails (e.g., "example.com"). /// public required string Domain { get; init; } /// /// Number of member users to create. /// public required int Users { get; init; } /// /// Number of login ciphers to create. /// public int Ciphers { get; init; } = 0; /// /// Number of groups to create. /// public int Groups { get; init; } = 0; /// /// When true and Users >= 10, creates a realistic mix of user statuses: /// 85% Confirmed, 5% Invited, 5% Accepted, 5% Revoked. /// When false or Users < 10, all users are Confirmed. /// public bool RealisticStatusMix { get; init; } = false; /// /// Org structure for realistic collection names. /// public OrgStructureModel? StructureModel { get; init; } /// /// Username pattern for cipher logins. /// public UsernamePatternType UsernamePattern { get; init; } = UsernamePatternType.FirstDotLast; /// /// Password strength for cipher logins. Defaults to Realistic distribution /// (25% VeryWeak, 30% Weak, 25% Fair, 15% Strong, 5% VeryStrong). /// public PasswordStrength PasswordStrength { get; init; } = PasswordStrength.Realistic; /// /// Geographic region for culturally-appropriate name generation in cipher usernames. /// Defaults to Global (mixed locales from all regions). /// public GeographicRegion? Region { get; init; } }