Refactor and expose more information

This commit was merged in pull request #1.
This commit is contained in:
2025-07-14 20:40:41 +02:00
committed by GitHub
parent 1e71c06fc3
commit 9cfbdc21d0
20 changed files with 409 additions and 162 deletions

View File

@@ -0,0 +1,36 @@
using HomeApi.Extensions;
using HomeApi.Integration;
using HomeApi.Integration.Client;
using HomeApi.Models.Configuration;
using Microsoft.Extensions.Options;
using Refit;
namespace HomeApi.Registration;
public static class RegisterIntegration
{
public static void AddIntegration(this IServiceCollection services,
IConfiguration configuration)
{
services.Configure<ApiConfiguration>(configuration.GetSection("ApiConfiguration"));
services.AddRefitClient<INominatimClient>()
.ConfigureHttpClient((sp, client) =>
{
var config = sp.GetRequiredService<IOptions<ApiConfiguration>>().Value;
client.BaseAddress = new Uri(config.BaseUrls.Nominatim);
client.DefaultRequestHeaders.Add("User-Agent", "dotnet-geocoder-app");
});
services.AddRefitClient<IAuroraClient>()
.ConfigureBaseAddress(apiConfiguration => apiConfiguration.BaseUrls.Aurora);
services.AddRefitClient<IWeatherClient>()
.ConfigureBaseAddress(apiConfiguration => apiConfiguration.BaseUrls.Weather);
services.AddScoped<IGeocodingService, GeocodingService>();
services.AddScoped<IAuroraService, AuroraService>();
services.AddScoped<IWeatherService, WeatherService>();
}
}