using Bit.Core.Enums;
namespace Bit.Seeder.Data.Distributions;
///
/// Pre-configured user status distributions for seeding scenarios.
///
public static class UserStatusDistributions
{
///
/// Realistic organization membership distribution.
/// 85% Confirmed, 5% Invited, 5% Accepted, 5% Revoked
///
public static Distribution Realistic { get; } = new(
(OrganizationUserStatusType.Confirmed, 0.85),
(OrganizationUserStatusType.Invited, 0.05),
(OrganizationUserStatusType.Accepted, 0.05),
(OrganizationUserStatusType.Revoked, 0.05)
);
///
/// All users confirmed - for simpler testing scenarios.
///
public static Distribution AllConfirmed { get; } = new(
(OrganizationUserStatusType.Confirmed, 1.0)
);
///
/// New organization with many pending invites.
///
public static Distribution NewOrganization { get; } = new(
(OrganizationUserStatusType.Confirmed, 0.30),
(OrganizationUserStatusType.Invited, 0.50),
(OrganizationUserStatusType.Accepted, 0.20)
);
}