📄 ServiceCollectionExtensions.cs
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using MSearch.Domain;

namespace MSearch.SearchProviders.YouTube;

public static class ServiceCollectionExtensions
{
    public static IServiceCollection AddYouTubeSearchProvider(this IServiceCollection services)
    {
        services.AddOptions<YouTubeOptions>().BindConfiguration("SearchProviders:YouTube").ValidateOnStart();
        services.AddTransient<IValidateOptions<YouTubeOptions>, YouTubeOptionsValidator>();

        services.AddHttpClient<ISearchProvider, YouTubeSearchProvider>(nameof(YouTubeSearchProvider));

        return services;
    }
}