using Bit.Seeder.Data; using Bit.Seeder.Options; using Bit.Seeder.Pipeline; namespace Bit.Seeder.Steps; /// /// Initializes the deterministic random data engine on . /// /// /// Produces no entities itself. Derives a repeatable seed from the domain string (same domain /// always yields the same generated data). Downstream steps like /// consume the generator for realistic usernames, cards, identities, and notes. /// /// internal sealed class InitGeneratorStep : IStep { private readonly OrganizationVaultOptions _options; private InitGeneratorStep(OrganizationVaultOptions options) { _options = options; } internal static InitGeneratorStep FromDomain(string domain, int? seed = null) { var options = new OrganizationVaultOptions { Name = domain, Domain = domain, Users = 0, Seed = seed }; return new InitGeneratorStep(options); } public void Execute(SeederContext context) { context.Generator = GeneratorContext.FromOptions(_options); } }