This commit is contained in:
2026-05-06 12:19:31 +03:00
parent 17266730fc
commit 89cb5a10da
34 changed files with 198 additions and 226 deletions
+23 -4
View File
@@ -2,11 +2,18 @@ using Azure.Identity;
using Api.Data;
using Api.Services;
using Api.Services.Contracts;
using Api.Settings;
using Microsoft.AspNetCore.Diagnostics;
using Serilog;
using System.Reflection;
using Microsoft.EntityFrameworkCore;
using Refit;
using Api.Data.Repositories;
using Api.Data.Repositories.Contracts;
using Api.Clients.Api;
using Api.Clients.Api.Contracts;
using Api.Clients.Ai;
using Api.Clients.Ai.Contracts;
using Api.Models.Settings;
DotNetEnv.Env.Load();
@@ -68,7 +75,19 @@ try
builder.Services.Configure<MatcherSettings>(builder.Configuration.GetSection("Matcher"));
builder.Services.Configure<SmtpSettings>(builder.Configuration.GetSection("Smtp"));
builder.Services.AddHttpClient<IRagApiClient, RagApiClient>();
// Register Refit client for the external RAG API and a thin wrapper that implements IRagApiClient
builder.Services.AddRefitClient<IRefitRagApi>()
.ConfigureHttpClient((sp, c) =>
{
var settings = sp.GetRequiredService<Microsoft.Extensions.Options.IOptions<RagApiSettings>>().Value;
c.BaseAddress = new Uri(settings.BaseUrl.TrimEnd('/') + "/");
if (!string.IsNullOrWhiteSpace(settings.InternalApiKey))
{
c.DefaultRequestHeaders.Add("X-Internal-Api-Key", settings.InternalApiKey);
}
});
builder.Services.AddScoped<IRagApiClient, RagApiClient>();
builder.Services.AddHttpClient<IMatcherAiClient, MatcherAiClient>();
builder.Services.AddHttpClient<IJobTextExtractor, JobTextExtractor>();
builder.Services.AddDbContext<CvMatcherDbContext>(options =>
@@ -89,8 +108,8 @@ try
logger.LogInformation("Environment: {Environment}", app.Environment.EnvironmentName);
// Log all environment variables and configuration settings at startup
// Can be controlled via appsettings: "Logging:LogEnvironmentOnStartup": true
var logEnvironmentOnStartup = app.Configuration.GetValue<bool>("Logging:LogEnvironmentOnStartup", defaultValue: true);
// Can be controlled via appsettings: "LogEnvironmentOnStartup": true
var logEnvironmentOnStartup = app.Configuration.GetValue<bool>("LogEnvironmentOnStartup", defaultValue: true);
if (logEnvironmentOnStartup)
{
LogEnvironmentSettings(logger, app.Configuration, app.Environment);