diff --git a/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi/ServiceCollectionExtensions.cs b/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi/ServiceCollectionExtensions.cs index cfe95e0..b2cafd8 100644 --- a/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi/ServiceCollectionExtensions.cs +++ b/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi/ServiceCollectionExtensions.cs @@ -4,11 +4,22 @@ namespace TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi; public static class ServiceCollectionExtensions { - public static IServiceCollection AddEventQueue(this IServiceCollection services, Action configuration) where T : EventQueue, new() + public static IServiceCollection AddEventQueue(this IServiceCollection services, Action configuration) + where TQueue : EventQueue, new() + where TBuilder : EventQueueBuilder, new() { - T builder = new T(); + TBuilder builder = new TBuilder(); configuration(builder); - builder.Setup(services); + TQueue queue = new TQueue(); + queue.Setup(services, builder); + return services; + } + + public static IServiceCollection AddEventQueue(this IServiceCollection services, string connectionString) + where TQueue : EventQueue, new() + { + TQueue queue = new TQueue(); + queue.Setup(services, connectionString); return services; } } \ No newline at end of file diff --git a/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi.csproj b/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi.csproj index f691875..07835ce 100644 --- a/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi.csproj +++ b/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi.csproj @@ -13,7 +13,7 @@ - +