6 Commits
1.1.1 ... 1.1.3

3 changed files with 19 additions and 4 deletions

View File

@@ -4,8 +4,8 @@ on:
push:
branches:
- "main"
#paths:
#- "TimetableDesigner.Backend.Events**"
paths:
- "TimetableDesigner.Backend.Events**"
jobs:
build:

View File

@@ -2,7 +2,16 @@
namespace TimetableDesigner.Backend.Events;
public abstract class EventQueue
public abstract class EventQueue<TSelf> where TSelf : EventQueue<TSelf>
{
public abstract void Setup(IServiceCollection services);
public void Setup<TBuilder>(IServiceCollection services, TBuilder configuration)
where TBuilder : EventQueueBuilder<TSelf> =>
Setup(services, configuration.GetConnectionParameters());
public void Setup(IServiceCollection services, string connectionString)
=> Setup(services, connectionString.Split(';')
.Select(x => x.Split('='))
.ToDictionary(x => x.First(), x => x.Last()));
protected abstract void Setup(IServiceCollection services, IDictionary<string, string> connectionParameters);
}

View File

@@ -0,0 +1,6 @@
namespace TimetableDesigner.Backend.Events;
public abstract class EventQueueBuilder<TQueue> where TQueue : EventQueue<TQueue>
{
public abstract IDictionary<string, string> GetConnectionParameters();
}