From 9558d9834359539ab464f3d7de23a7667f700d28 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Fri, 19 Jun 2026 11:16:32 -0400 Subject: [PATCH] feat(sms): export wizard SMS-config selection (S10c) --- .../Pages/Design/TransportExport.razor | 18 +++- .../Pages/Design/TransportExport.razor.cs | 17 ++++ .../Pages/Design/TransportExportPageTests.cs | 92 +++++++++++++++++++ 3 files changed, 124 insertions(+), 3 deletions(-) diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TransportExport.razor b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TransportExport.razor index b9f2bd75..1b58a542 100644 --- a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TransportExport.razor +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TransportExport.razor @@ -138,6 +138,13 @@ @RenderCheckboxList(_smtpConfigs, s => s.Id, s => s.Host, _selectedSmtpConfigs) + @* S10c: SMS provider configs, mirroring the SMTP section above. Labelled by + AccountSid (the bundle key); the secret AuthToken is never rendered. *@ +
+ SMS Configurations + @RenderCheckboxList(_smsConfigs, s => s.Id, s => s.AccountSid, _selectedSmsConfigs) +
+
API Methods @RenderCheckboxList(_apiMethods, m => m.Id, m => m.Name, _selectedApiMethods) @@ -354,6 +361,11 @@ {
  • SmtpConfig: @s.Host
  • } + @* S10c: SMS configs in the closure, mirroring SmtpConfig above; AccountSid only, never AuthToken. *@ + @foreach (var s in _resolved.SmsConfigs.OrderBy(s => s.AccountSid, StringComparer.OrdinalIgnoreCase)) + { +
  • SmsConfig: @s.AccountSid
  • + } @* Inbound API keys are not transported (re-arch C4) — methods only. *@ @foreach (var m in _resolved.ApiMethods.OrderBy(m => m.Name, StringComparer.OrdinalIgnoreCase)) { @@ -447,8 +459,8 @@ { } else @@ -495,7 +507,7 @@
    Unencrypted export — the bundle will contain all secret fields in plaintext. Anyone with the file can read external-system credentials, SMTP - passwords, and database connection strings. The audit log will record this as + passwords, SMS auth tokens, and database connection strings. The audit log will record this as UnencryptedBundleExport.