using Microsoft.Extensions.DependencyInjection; using Pole.Core; using Pole.Core.Processor; using Pole.Sagas.Server; using Pole.Sagas.Server.Processor; using System; using System.Collections.Generic; using System.Text; namespace Microsoft.Extensions.DependencyInjection { public static class PoleSagasServerServiceCollectionExtensions { public static StartupConfig AddSagasServer(this StartupConfig startupConfig, Action config = null) { Action defaultConfig = option => { }; var finalConfig = config ?? defaultConfig; startupConfig.Services.AddGrpc(); startupConfig.Services.Configure(finalConfig); startupConfig.Services.AddSingleton(); startupConfig.Services.AddSingleton(); startupConfig.Services.AddSingleton(); startupConfig.Services.AddHostedService(); return startupConfig; } } }