Core.Thalos.Service.API/Core.Cerberos.External/GatewayConfigurations/GatewaySettingsConfigurations.cs
Sergio Matias Urquin 7d760b589e Add project files.
2025-04-29 18:56:29 -06:00

49 lines
1.7 KiB
C#

using Core.Blueprint.External;
using Microsoft.Extensions.Configuration;
namespace Core.Cerberos.External.GatewayConfigurations
{
public class GatewaySettingsConfigurations
{
private static GatewayConfiguration GatewayConfigurations { get; set; } = new GatewayConfiguration();
private readonly IConfiguration _configuration;
public GatewaySettingsConfigurations(IConfiguration configuration)
{
_configuration = configuration;
this.SetCerberosServiceAPIEndpoint();
}
public static CerberosServiceAPI GetCerberosServiceAPIEndpoint()
{
return GatewayConfigurations.CerberosService;
}
private GatewayConfiguration SetCerberosServiceAPIEndpoint()
{
IConfigurationSection source;
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? string.Empty;
if (environment == "Local")
source = _configuration.GetSection("LocalGateways");
else
source = _configuration.GetSection("Gateways");
var endpoint = source["CerberosDAL"] ?? string.Empty;
if (string.IsNullOrEmpty(endpoint)) throw new Exception("Cerberos DAL endpoint is empty or null");
GatewayConfigurations.CerberosService = new CerberosServiceAPI()
{
Endpoint = new BaseEndpoint()
{
Uri = new Uri(endpoint),
Url = endpoint,
Token = string.Empty,
APIName = "Cerberos Service"
}
};
return GatewayConfigurations;
}
}
}