using IdentityShroud.Core.Contracts; using IdentityShroud.Core.EFCore; using IdentityShroud.Core.Security; using IdentityShroud.Core.Security.Keys; using IdentityShroud.Core.Services; using Microsoft.Extensions.DependencyInjection; namespace IdentityShroud.Core; public static class CoreServiceCollectionExtensions { public static IServiceCollection AddCore(this IServiceCollection services) { services.AddScoped(); services.Scan(scan => scan .FromAssemblyOf() .AddClasses(classes => classes.AssignableTo()) .AsImplementedInterfaces() .WithSingletonLifetime()); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddSingleton(); services.AddScoped(); services.AddScoped(); return services; } }