using System.ComponentModel.DataAnnotations.Schema; namespace Microsoft.SelfService.Portal.Core.API.Models { public static class DeploymentArtifactTypes { public const string Preview = "Preview"; public const string ResolvedConfigurationData = "ResolvedConfigurationData"; public const string Mof = "Mof"; public const string PullServerPackage = "PullServerPackage"; } public class DeploymentArtifactModel : BaseModel { [Column(Order = 1)] public Guid DeploymentGroupId { get; set; } [Column(Order = 2)] public Guid? DeploymentTargetId { get; set; } [Column(Order = 3)] public Guid? TargetId { get; set; } [Column(Order = 4)] public string ArtifactType { get; set; } = DeploymentArtifactTypes.ResolvedConfigurationData; [Column(Order = 5)] public string Status { get; set; } = QueueJobStatus.Pending; [Column(Order = 6)] public string DeploymentJson { get; set; } = "{}"; [Column(Order = 7)] public string? SourceJson { get; set; } [Column(Order = 8)] public string? ResolvedJson { get; set; } [Column(Order = 9)] public string? SourceSnapshotJson { get; set; } [Column(Order = 10)] public string InputHash { get; set; } = string.Empty; [Column(Order = 11)] public string OutputHash { get; set; } = string.Empty; [Column(Order = 12)] public bool IsStale { get; set; } [Column(Order = 13)] public string? StaleReasonJson { get; set; } public DeploymentGroupModel DeploymentGroup { get; set; } = null!; public DeploymentModel? Deployment { get; set; } public TargetModel? Target { get; set; } } }