SHA256
GuestLog - Integrated AddressQuery dialog in GuestDocument creation and fixes.
- Added new CountryCodeUtils to map ISO-3166:Alpha2 country codes to ISO-3166:Alpha3 codes. - Added new config for results language of AddressQuery services.
This commit is contained in:
@@ -2,6 +2,7 @@ using Microsoft.AspNetCore.WebUtilities;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Somnia.GuestLog.Models.Configuration;
|
||||
using Somnia.GuestLog.Models.DTOs;
|
||||
using Somnia.GuestLog.Utils;
|
||||
|
||||
namespace Somnia.GuestLog.Services.AddressQuery;
|
||||
|
||||
@@ -36,6 +37,8 @@ public class NominatimAddressQueryService(
|
||||
continue;
|
||||
}
|
||||
|
||||
string? alpha3CountryCode = CountryCodesUtils.Alpha2ToAlpha3(result.Address.Country_code);
|
||||
|
||||
rsList.Add(new()
|
||||
{
|
||||
HouseNumber = result.Address.House_number,
|
||||
@@ -44,7 +47,8 @@ public class NominatimAddressQueryService(
|
||||
AddressProvince = result.Address.Province,
|
||||
AddressState = result.Address.State,
|
||||
AddressCountry = result.Address.Country,
|
||||
ZipCode = result.Address.Postcode
|
||||
ZipCode = result.Address.Postcode,
|
||||
AddressCountryCode = alpha3CountryCode
|
||||
});
|
||||
}
|
||||
|
||||
@@ -66,7 +70,10 @@ public class NominatimAddressQueryService(
|
||||
|
||||
client.BaseAddress = baseAddr;
|
||||
client.DefaultRequestHeaders.UserAgent.ParseAdd(config.UserAgent ?? defaultUserAgent);
|
||||
client.DefaultRequestHeaders.AcceptLanguage.ParseAdd("es");
|
||||
if (config.ResultLang is not null)
|
||||
{
|
||||
client.DefaultRequestHeaders.AcceptLanguage.ParseAdd(config.ResultLang);
|
||||
}
|
||||
|
||||
return client;
|
||||
}
|
||||
@@ -92,7 +99,8 @@ public class NominatimAddressQueryService(
|
||||
string? Province = null,
|
||||
string? State = null,
|
||||
string? Country = null,
|
||||
string? Postcode = null
|
||||
string? Postcode = null,
|
||||
string? Country_code = null
|
||||
);
|
||||
|
||||
private record class ApiResult(
|
||||
|
||||
Reference in New Issue
Block a user