using CrupestApi.Commons.Crud.Migrations; using CrupestApi.Commons.Secrets; using Microsoft.Extensions.DependencyInjection.Extensions; namespace CrupestApi.Commons.Crud; public static class CrudServiceCollectionExtensions { public static IServiceCollection AddCrudCore(this IServiceCollection services) { services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.AddSecrets(); return services; } public static IServiceCollection AddCrud(this IServiceCollection services) where TEntity : class where TCrudService : CrudService { AddCrudCore(services); services.TryAddScoped, TCrudService>(); services.TryAddScoped>(); return services; } public static IServiceCollection AddCrud(this IServiceCollection services) where TEntity : class { return services.AddCrud>(); } }