feat(transport): add bundle manifest DTOs in Commons

This commit is contained in:
Joseph Doherty
2026-05-24 03:46:09 -04:00
parent 1bc98e10a1
commit 7e89f2092f
4 changed files with 40 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
namespace ScadaLink.Commons.Types.Transport;
public sealed record BundleManifest(
int BundleFormatVersion,
string SchemaVersion,
DateTimeOffset CreatedAtUtc,
string SourceEnvironment,
string ExportedBy,
string ScadaLinkVersion,
string ContentHash,
EncryptionMetadata? Encryption,
BundleSummary Summary,
IReadOnlyList<ManifestContentEntry> Contents);

View File

@@ -0,0 +1,12 @@
namespace ScadaLink.Commons.Types.Transport;
public sealed record BundleSummary(
int Templates,
int TemplateFolders,
int SharedScripts,
int ExternalSystems,
int DbConnections,
int NotificationLists,
int SmtpConfigs,
int ApiKeys,
int ApiMethods);

View File

@@ -0,0 +1,8 @@
namespace ScadaLink.Commons.Types.Transport;
public sealed record EncryptionMetadata(
string Algorithm, // "AES-256-GCM"
string Kdf, // "PBKDF2-SHA256"
int Iterations,
string SaltB64,
string IvB64);

View File

@@ -0,0 +1,7 @@
namespace ScadaLink.Commons.Types.Transport;
public sealed record ManifestContentEntry(
string Type,
string Name,
int Version,
IReadOnlyList<string> DependsOn);