Merge pull request #5 from TimetableDesigner/features/convertion_to_connection_parameters_dictionary

EventQueue.Setup uses universal parameters format
This commit is contained in:
2026-01-18 18:19:54 +01:00
committed by GitHub
Unverified
2 changed files with 14 additions and 5 deletions

View File

@@ -4,8 +4,14 @@ namespace TimetableDesigner.Backend.Events;
public abstract class EventQueue<TSelf> where TSelf : EventQueue<TSelf> public abstract class EventQueue<TSelf> where TSelf : EventQueue<TSelf>
{ {
public abstract void Setup<TBuilder>(IServiceCollection services, TBuilder configuration) public void Setup<TBuilder>(IServiceCollection services, TBuilder configuration)
where TBuilder : EventQueueBuilder<TSelf>; where TBuilder : EventQueueBuilder<TSelf> =>
Setup(services, configuration.GetConnectionParameters());
public abstract void Setup(IServiceCollection services, string connectionString); 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

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