namespace SwBLL.OfflineRollout;
/// The plaintext content of an Offline Rollout Package — serialized, then encrypted via
/// IRolloutPackageCrypto, before it ever leaves this deployment. Built entirely from already-real,
/// already-proven data (a Released SW.MSWUPGRADEPACKAGE and its linked SW.MSWDDLSCRIPT rows) — no
/// new content-authoring mechanism, this is pure export.
public class OfflinePackageBundleDTO
{
public int PackageId { get; set; }
public string? PackageCode { get; set; }
public int DbModelId { get; set; }
public byte PackageContentType { get; set; }
public string? ReleaseVersion { get; set; }
public List Scripts { get; set; } = new();
}
public class OfflinePackageScriptDTO
{
public string? ObjectName { get; set; }
// Reuses SwDAL.Enums.PackageContentType's own Schema=0/MetadataOrStandardData=1 numbering —
// carried through so an import side (SwPackagePromote) can key its own version-history
// check on (ObjectName, ObjectType) rather than ObjectName alone, which two legitimately
// distinct scripts (a CREATE TABLE + a separate reference-data seed) can share.
public byte ObjectType { get; set; }
public string SqlScript { get; set; } = string.Empty;
public string? Checksum { get; set; }
public short Sequence { get; set; }
}