using FastGithub.Scanner;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace FastGithub
{
    /// 
    /// 服务注册扩展
    /// 
    public static class ScannerServiceCollectionExtensions
    {
        /// 
        /// 注册程序集下所有服务下选项
        /// 
        /// 
        /// 配置  
        /// 
        public static IServiceCollection AddGithubScanner(this IServiceCollection services, IConfiguration configuration)
        {
            var assembly = typeof(ScannerServiceCollectionExtensions).Assembly;
            return services
                .AddHttpClient()
                .AddServiceAndOptions(assembly, configuration)
                .AddHostedService()
                .AddHostedService()
                .AddSingleton(appService => appService.GetRequiredService());
            ;
        }
    }
}