Files
git.stella-ops.org/src/Scanner/__Libraries/StellaOps.Scanner.Reachability/Witnesses/SuppressionWitnessServiceCollectionExtensions.cs
2026-01-07 09:43:12 +02:00

30 lines
1.0 KiB
C#

using Microsoft.Extensions.DependencyInjection;
namespace StellaOps.Scanner.Reachability.Witnesses;
/// <summary>
/// Extension methods for registering suppression witness services.
/// Sprint: SPRINT_20260106_001_002 (SUP-019)
/// </summary>
public static class SuppressionWitnessServiceCollectionExtensions
{
/// <summary>
/// Adds suppression witness services to the dependency injection container.
/// </summary>
/// <param name="services">The service collection.</param>
/// <returns>The service collection for chaining.</returns>
public static IServiceCollection AddSuppressionWitnessServices(this IServiceCollection services)
{
// Register builder
services.AddSingleton<ISuppressionWitnessBuilder, SuppressionWitnessBuilder>();
// Register DSSE signer
services.AddSingleton<ISuppressionDsseSigner, SuppressionDsseSigner>();
// Register TimeProvider if not already registered
services.AddSingleton(TimeProvider.System);
return services;
}
}