initial commit
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi;
|
||||
|
||||
public static class ServiceCollectionExtensions
|
||||
{
|
||||
public static IServiceCollection AddEventQueue<T>(this IServiceCollection services, Action<T> configuration) where T : EventQueue, new()
|
||||
{
|
||||
T builder = new T();
|
||||
configuration(builder);
|
||||
builder.Setup(services);
|
||||
return services;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<Version />
|
||||
<Title>TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi</Title>
|
||||
<Authors>Mateusz Skoczek</Authors>
|
||||
<PackageProjectUrl>https://github.com/TimetableDesigner/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi</PackageProjectUrl>
|
||||
<PackageIcon>icon.png</PackageIcon>
|
||||
<RepositoryUrl>https://github.com/TimetableDesigner/TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi</RepositoryUrl>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="10.0.2" />
|
||||
<PackageReference Include="timetabledesigner.backend.events" Version="1.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,13 @@
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace TimetableDesigner.Backend.Events.Extensions.AspNetCore.OpenApi;
|
||||
|
||||
public static class WebApplicationExtensions
|
||||
{
|
||||
public static void AddEventHandler<T>(this WebApplication app, Func<T, Task> handler) where T : class
|
||||
{
|
||||
IEventQueueSubscriber subscriber = app.Services.GetService<IEventQueueSubscriber>()!;
|
||||
subscriber.Subscribe(handler);
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
Reference in New Issue
Block a user