Files
TimetableDesigner.Backend.E…/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi/ServiceCollectionExtensions.cs

25 lines
901 B
C#

using Microsoft.Extensions.DependencyInjection;
namespace TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi;
public static class ServiceCollectionExtensions
{
public static IServiceCollection AddEventQueue<TQueue, TBuilder>(this IServiceCollection services, Action<TBuilder> configuration)
where TQueue : EventQueue<TQueue>, new()
where TBuilder : EventQueueBuilder<TQueue>, new()
{
TBuilder builder = new TBuilder();
configuration(builder);
TQueue queue = new TQueue();
queue.Setup(services, builder);
return services;
}
public static IServiceCollection AddEventQueue<TQueue>(this IServiceCollection services, string connectionString)
where TQueue : EventQueue<TQueue>, new()
{
TQueue queue = new TQueue();
queue.Setup(services, connectionString);
return services;
}
}