using System; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using StellaOps.Graph.Indexer.Ingestion.Sbom; namespace StellaOps.Graph.Indexer.Incremental; public static class GraphChangeStreamServiceCollectionExtensions { public static IServiceCollection AddGraphChangeStreamProcessor( this IServiceCollection services, Action? configureOptions = null) { ArgumentNullException.ThrowIfNull(services); if (configureOptions is not null) { services.Configure(configureOptions); } else { services.Configure(_ => { }); } services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.AddSingleton(); services.AddHostedService(); return services; } }