using Microsoft.Extensions.DependencyInjection;
using Tiku.Application.Learning;
using Tiku.Infrastructure.Learning;

namespace Tiku.Infrastructure;

internal static class LearningModule
{
    internal static IServiceCollection AddLearningModule(this IServiceCollection services)
    {
        services.AddScoped<LearningServiceDependencies>();
        services.AddScoped<ILearningAnalyticsService, LearningAnalyticsService>();
        services.AddScoped<IAnsweringService, AnsweringService>();
        services.AddScoped<IQuestionReviewService, QuestionReviewService>();
        services.AddScoped<IWordLearningService, WordLearningService>();
        services.AddScoped<IPracticeSessionService, PracticeSessionService>();
        services.AddScoped<IPracticeReportService, PracticeReportService>();
        return services;
    }
}
