initial commit

This commit is contained in:
2026-01-15 23:47:04 +01:00
Unverified
parent 089c18ec53
commit c1a50c4f65
12 changed files with 220 additions and 0 deletions

View File

@@ -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;
}
}

View File

@@ -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>

View File

@@ -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