feat(sms): complete SmsConfig bundle export/import wiring + GetSmsConfigurationByIdAsync (S10b)

This commit is contained in:
Joseph Doherty
2026-06-19 11:10:39 -04:00
parent 78fadb82d2
commit c3501ecd72
19 changed files with 586 additions and 6 deletions
@@ -92,6 +92,11 @@ public sealed class BundleExporter : IBundleExporter
Sites = resolved.Sites,
DataConnections = resolved.DataConnections,
Instances = resolved.Instances,
// SMS (S10b): wire the resolver's SMS config closure through the
// aggregate. Without this the aggregate carries the empty default and the
// bundle ships an empty smsConfigs array even when SMS configs were
// selected — mirrors the M8 site/instance fix (review item I3).
SmsConfigurations = resolved.SmsConfigs,
};
var contentDto = _entitySerializer.ToBundleContent(aggregate);
@@ -112,7 +117,11 @@ public sealed class BundleExporter : IBundleExporter
// are 0 today and become correct once those waves land.
Sites: contentDto.Sites.Count,
DataConnections: contentDto.DataConnections.Count,
Instances: contentDto.Instances.Count);
Instances: contentDto.Instances.Count,
// SMS (S10b): additive count sourced from the serialized content DTO — the
// same array the importer reads — so the manifest summary always matches
// the packed payload.
SmsConfigs: contentDto.SmsConfigs.Count);
// 4. Build a TEMPLATE manifest. BundleSerializer.Pack re-stamps both
// ContentHash and EncryptionMetadata against the bytes it actually