using Microsoft.Extensions.DependencyInjection;
using TakeoutSaaS.Application.Dictionary.Abstractions;
using TakeoutSaaS.Application.Dictionary.Services;

namespace TakeoutSaaS.Application.Dictionary.Extensions;

/// <summary>
/// 字典应用服务注册扩展。
/// </summary>
public static class DictionaryServiceCollectionExtensions
{
    /// <summary>
    /// 注册字典模块应用层组件。
    /// </summary>
    public static IServiceCollection AddDictionaryApplication(this IServiceCollection services)
    {
        services.AddScoped<IDictionaryAppService, DictionaryAppService>();
        services.AddScoped<DictionaryCommandService>();
        services.AddScoped<DictionaryQueryService>();
        services.AddScoped<DictionaryMergeService>();
        services.AddScoped<DictionaryOverrideService>();
        services.AddScoped<DictionaryLabelOverrideService>();
        services.AddScoped<DictionaryImportExportService>();
        return services;
    }
}
