From 66dab0293cf5200e43ba97bd382332967c7eb0c1 Mon Sep 17 00:00:00 2001 From: Richard Dungal Date: Tue, 21 Oct 2025 15:21:59 +0200 Subject: [PATCH 1/3] auth --- .../IServiceCollectionExtensions.cs | 42 +++++++++++++++---- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/src/Equinor.ProCoSys.PcsBus/IServiceCollectionExtensions.cs b/src/Equinor.ProCoSys.PcsBus/IServiceCollectionExtensions.cs index 8eb49dea..211001fe 100644 --- a/src/Equinor.ProCoSys.PcsBus/IServiceCollectionExtensions.cs +++ b/src/Equinor.ProCoSys.PcsBus/IServiceCollectionExtensions.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Net.Http; +using Azure.Core; using Azure.Messaging.ServiceBus; using Equinor.ProCoSys.PcsServiceBus.Receiver; using Equinor.ProCoSys.PcsServiceBus.Receiver.Interfaces; @@ -34,19 +36,41 @@ public static IServiceCollection AddPcsServiceBusIntegration(this IServiceCollec return services; } - public static void AddTopicClients(this IServiceCollection services, string serviceBusConnectionString, - List topics) + public static void AddTopicClients( + this IServiceCollection services, + string serviceBusConnectionString, + IList topics) { - var pcsBusSender = new PcsBusSender(); var options = new ServiceBusClientOptions { EnableCrossEntityTransactions = true }; var client = new ServiceBusClient(serviceBusConnectionString, options); - foreach (var topicName in topics) + + AddTopicClients(services, topics, client); + } + + public static void AddTopicClients( + this IServiceCollection services, + IList topics, + string fullyQualifiedNamespace, + TokenCredential tokenCredential) + { + var options = new ServiceBusClientOptions { EnableCrossEntityTransactions = true }; + var client = new ServiceBusClient(fullyQualifiedNamespace, tokenCredential, options); + + AddTopicClients(services, topics, client); + } + + private static void AddTopicClients( + IServiceCollection services, + IList topics, + ServiceBusClient client) + { + var pcsBusSender = new PcsBusSender(); + + var sanitizedTopics = topics.Where(t => !string.IsNullOrWhiteSpace(t)).Distinct(); + foreach (var topicName in sanitizedTopics) { - if (!string.IsNullOrWhiteSpace(topicName)) - { - var serviceBusSender = client.CreateSender(topicName); - pcsBusSender.Add(topicName, serviceBusSender); - } + var serviceBusSender = client.CreateSender(topicName); + pcsBusSender.Add(topicName, serviceBusSender); } services.AddSingleton(pcsBusSender); From 1a10781253df27ae5b517e5d37b15548153d67a6 Mon Sep 17 00:00:00 2001 From: Richard Dungal Date: Tue, 21 Oct 2025 15:25:23 +0200 Subject: [PATCH 2/3] version --- .../Equinor.ProCoSys.PcsServiceBus.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Equinor.ProCoSys.PcsBus/Equinor.ProCoSys.PcsServiceBus.csproj b/src/Equinor.ProCoSys.PcsBus/Equinor.ProCoSys.PcsServiceBus.csproj index ff1c824d..6b41db03 100644 --- a/src/Equinor.ProCoSys.PcsBus/Equinor.ProCoSys.PcsServiceBus.csproj +++ b/src/Equinor.ProCoSys.PcsBus/Equinor.ProCoSys.PcsServiceBus.csproj @@ -1,7 +1,7 @@  - 4.3.38 + 4.3.39 net8.0 enable 1e187122-6237-4849-9cc4-ed8fc1688809 From c14bc3d6a19ff511097ee9f90598c061634d6b03 Mon Sep 17 00:00:00 2001 From: Richard Thor Fridriksson Dungal <54837611+richard1927@users.noreply.github.com> Date: Tue, 21 Oct 2025 15:26:52 +0200 Subject: [PATCH 3/3] Update src/Equinor.ProCoSys.PcsBus/IServiceCollectionExtensions.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/Equinor.ProCoSys.PcsBus/IServiceCollectionExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Equinor.ProCoSys.PcsBus/IServiceCollectionExtensions.cs b/src/Equinor.ProCoSys.PcsBus/IServiceCollectionExtensions.cs index 211001fe..8174ce32 100644 --- a/src/Equinor.ProCoSys.PcsBus/IServiceCollectionExtensions.cs +++ b/src/Equinor.ProCoSys.PcsBus/IServiceCollectionExtensions.cs @@ -66,7 +66,7 @@ private static void AddTopicClients( { var pcsBusSender = new PcsBusSender(); - var sanitizedTopics = topics.Where(t => !string.IsNullOrWhiteSpace(t)).Distinct(); + var sanitizedTopics = topics.Where(t => !string.IsNullOrWhiteSpace(t)).Distinct().ToList(); foreach (var topicName in sanitizedTopics) { var serviceBusSender = client.CreateSender(topicName);