From ff86f42321bb78165ad61746b2375ea8bf3ddd19 Mon Sep 17 00:00:00 2001 From: Sam Ainsworth Date: Mon, 11 Aug 2025 12:59:22 +0100 Subject: [PATCH] fix: update Service Bus connection string handling in configuration --- .../RetrievePDSDemographic/Program.cs | 2 +- .../RetrievePDSDemographicConfig.cs | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/application/CohortManager/src/Functions/DemographicServices/RetrievePDSDemographic/Program.cs b/application/CohortManager/src/Functions/DemographicServices/RetrievePDSDemographic/Program.cs index 89ae9a09f1..3aec6ea56d 100644 --- a/application/CohortManager/src/Functions/DemographicServices/RetrievePDSDemographic/Program.cs +++ b/application/CohortManager/src/Functions/DemographicServices/RetrievePDSDemographic/Program.cs @@ -25,7 +25,7 @@ }) .AddJwtTokenSigning(config.UseFakePDSServices) .AddTelemetry() - .AddServiceBusClient(config.ServiceBusConnectionString) + .AddServiceBusClient(config.EffectiveServiceBusConnectionString) .AddHttpClient(config.UseFakePDSServices) .Build(); diff --git a/application/CohortManager/src/Functions/DemographicServices/RetrievePDSDemographic/RetrievePDSDemographicConfig.cs b/application/CohortManager/src/Functions/DemographicServices/RetrievePDSDemographic/RetrievePDSDemographicConfig.cs index f1a8eb9f22..2b8c5b3970 100644 --- a/application/CohortManager/src/Functions/DemographicServices/RetrievePDSDemographic/RetrievePDSDemographicConfig.cs +++ b/application/CohortManager/src/Functions/DemographicServices/RetrievePDSDemographic/RetrievePDSDemographicConfig.cs @@ -1,6 +1,7 @@ namespace NHS.CohortManager.DemographicServices; using System.ComponentModel.DataAnnotations; +using Microsoft.Extensions.Configuration; public class RetrievePDSDemographicConfig { @@ -28,4 +29,28 @@ public class RetrievePDSDemographicConfig public required bool UseFakePDSServices { get; set; } = false; public string ClientId { get; set; } = string.Empty; + + [ConfigurationKeyName("ServiceBusConnectionString_client_internal")] + public string? ServiceBusConnectionStringClientInternal { get; set; } + + [Required] + public string EffectiveServiceBusConnectionString + { + get + { + if (!string.IsNullOrWhiteSpace(ServiceBusConnectionString)) + { + return ServiceBusConnectionString; + } + + if (!string.IsNullOrWhiteSpace(ServiceBusConnectionStringClientInternal)) + { + return ServiceBusConnectionStringClientInternal; + } + + throw new InvalidOperationException( + "Missing Service Bus connection string. " + + "Set ServiceBusConnectionString or ServiceBusConnectionString_client_internal."); + } + } }