using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using ShoppingAssistantApi.Application.IServices; using ShoppingAssistantApi.Application.IServices.Identity; using ShoppingAssistantApi.Infrastructure.Services; using ShoppingAssistantApi.Infrastructure.Services.Identity; using System.Net.Http.Headers; namespace ShoppingAssistantApi.Infrastructure.InfrastructureExtentions; public static class ServicesExtention { public static IServiceCollection AddServices(this IServiceCollection services) { services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); return services; } public static IServiceCollection AddOpenAiHttpClient(this IServiceCollection services, IConfiguration configuration) { services.AddHttpClient( "OpenAiHttpClient", client => { client.BaseAddress = new Uri(configuration.GetValue("OpenAi:OpenAiApiUri")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", configuration.GetValue("OpenAi:OpenAiApiKey")); }); return services; } }