using Elsa.Contracts; using Elsa.Management.Contracts; using Elsa.Management.Options; using Elsa.Management.Providers; using Elsa.Management.Serialization; using Elsa.Management.Services; using Microsoft.Extensions.DependencyInjection; namespace Elsa.Management.Extensions; public static class ServiceCollectionExtensions { public static IServiceCollection AddElsaManagement(this IServiceCollection services) { return services .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton(); } public static IServiceCollection ConfigureApiOptions(this IServiceCollection services, Action configure) => services.Configure(configure); public static IServiceCollection AddActivity(this IServiceCollection services) where T:IActivity => services.ConfigureApiOptions(options => options.ActivityTypes.Add(typeof(T))); }