using LctMonolith.Application.Options; using LctMonolith.Database.UnitOfWork; using LctMonolith.Services; using LctMonolith.Services.Contracts; using LctMonolith.Services.Interfaces; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; namespace LctMonolith.Application.Extensions; public static class ServiceCollectionExtensions { public static IServiceCollection AddApplicationServices(this IServiceCollection services, IConfiguration configuration) { // Unit of Work services.AddScoped(); // Core domain / gamification services services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.Configure(configuration.GetSection("S3")); services.AddSingleton(); services.AddScoped(); return services; } }