shopping-assistant-api/ShoppingAssistantApi.Infrastructure/InfrastructureExtentions/ServicesExtention.cs
2023-10-22 21:40:03 +03:00

39 lines
1.5 KiB
C#

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<IRolesService, RolesService>();
services.AddScoped<IPasswordHasher, PasswordHasher>();
services.AddScoped<IUserManager, UserManager>();
services.AddScoped<ITokensService, TokensService>();
services.AddScoped<IUsersService, UsersService>();
services.AddScoped<IWishlistsService, WishlistsService>();
services.AddScoped<IOpenAiService, OpenAiService>();
return services;
}
public static IServiceCollection AddOpenAiHttpClient(this IServiceCollection services, IConfiguration configuration)
{
services.AddHttpClient(
"OpenAiHttpClient",
client =>
{
client.BaseAddress = new Uri(configuration.GetValue<string>("OpenAi:OpenAiApiUri"));
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", configuration.GetValue<string>("OpenAi:OpenAiApiKey"));
});
return services;
}
}