using Microsoft.Extensions.DependencyInjection;
using Svrnty.CQRS.Notifications.Abstractions;
namespace Svrnty.CQRS.Notifications.Grpc;
///
/// Extension methods for registering streaming notification services.
///
public static class ServiceCollectionExtensions
{
///
/// Adds gRPC streaming notification services to the service collection.
///
/// The service collection.
/// The service collection for chaining.
public static IServiceCollection AddStreamingNotifications(this IServiceCollection services)
{
// Subscription manager is singleton - shared state for all subscriptions
services.AddSingleton();
// Publisher can be singleton since it only depends on the manager
services.AddSingleton();
return services;
}
}