diff --git a/Nop.Plugin.Misc.AIPlugin/Controllers/FruitBankDataController.cs b/Nop.Plugin.Misc.AIPlugin/Controllers/FruitBankDataController.cs index 88e5a1d..6128052 100644 --- a/Nop.Plugin.Misc.AIPlugin/Controllers/FruitBankDataController.cs +++ b/Nop.Plugin.Misc.AIPlugin/Controllers/FruitBankDataController.cs @@ -900,6 +900,14 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers return customers; //.ToModelDto(); } + [SignalR(SignalRTags.IsProdEnvironment)] + public Task IsProdEnvironment() + { + _logger.Detail("IsProdEnvironment invoked"); + + return Task.FromResult(FruitBankConst.IsProd()); + } + [SignalR(SignalRTags.GetCustomerRolesByCustomerId)] public async Task> GetCustomerRolesByCustomerId(int customerId) { diff --git a/Nop.Plugin.Misc.AIPlugin/Infrastructure/PluginNopStartup.cs b/Nop.Plugin.Misc.AIPlugin/Infrastructure/PluginNopStartup.cs index ea55452..8227918 100644 --- a/Nop.Plugin.Misc.AIPlugin/Infrastructure/PluginNopStartup.cs +++ b/Nop.Plugin.Misc.AIPlugin/Infrastructure/PluginNopStartup.cs @@ -49,6 +49,7 @@ using AyCode.Services.Nav.Ekaer.Models; using FruitBank.Common.Services.Ekaer; using FruitBank.Common.Server.Services.Ekaer; using System.Security.Authentication; +using FruitBank.Common.Server; namespace Nop.Plugin.Misc.FruitBankPlugin.Infrastructure; @@ -302,8 +303,7 @@ public class PluginNopStartup : INopStartup var catalog = new SqlConnectionStringBuilder(connectionString).InitialCatalog; - var isDev = catalog.Contains("_DEV", StringComparison.OrdinalIgnoreCase) - || catalog.Contains("_TEST", StringComparison.OrdinalIgnoreCase); + var isDev = catalog.Contains("_DEV", StringComparison.OrdinalIgnoreCase) || catalog.Contains("_TEST", StringComparison.OrdinalIgnoreCase); var isProd = catalog.Contains("_PROD", StringComparison.OrdinalIgnoreCase); if (isProd == isDev) @@ -311,6 +311,8 @@ public class PluginNopStartup : INopStartup $"Database catalog '{catalog}' cannot be classified: isProd={isProd}, isDev={isDev}. " + "Fix the catalog naming or the detection rules — refusing to start with an ambiguous environment badge."); + FruitBankConst.SetIsProd(isProd); + try { if (!OperatingSystem.IsWindows()) return; diff --git a/Nop.Plugin.Misc.AIPlugin/docs/SIGNALR/README.md b/Nop.Plugin.Misc.AIPlugin/docs/SIGNALR/README.md index 3064781..7e6b4e4 100644 Binary files a/Nop.Plugin.Misc.AIPlugin/docs/SIGNALR/README.md and b/Nop.Plugin.Misc.AIPlugin/docs/SIGNALR/README.md differ