-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathServiceRegistration.cs
More file actions
23 lines (22 loc) · 1011 Bytes
/
ServiceRegistration.cs
File metadata and controls
23 lines (22 loc) · 1011 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using TalentManagementAPI.Application.Interfaces;
using TalentManagementAPI.Infrastructure.Shared.Services;
namespace TalentManagementAPI.Infrastructure.Shared
{
public static class ServiceRegistration
{
public static void AddSharedInfrastructure(this IServiceCollection services, IConfiguration config)
{
services.Configure<MailSettings>(config.GetSection("MailSettings"));
services.AddTransient<IDateTimeService, DateTimeService>();
services.AddTransient<IEmailService, EmailService>();
services.AddTransient<IMockService, MockService>();
services.AddSingleton<IOllamaApiClient>(_ =>
{
var baseUrl = config["Ollama:BaseUrl"] ?? "http://localhost:11434";
var model = config["Ollama:Model"] ?? "llama3.2";
return new OllamaApiClient(new Uri(baseUrl), model);
});
services.AddTransient<IAiChatService, OllamaAiService>();
}
}
}