using System.ComponentModel.DataAnnotations.Schema; namespace Microsoft.SelfService.Portal.Core.API.Models { public class QueueJobModel : BaseModel { [Column(Order = 1)] public string Type { get; set; } [Column(Order = 2)] public string Status { get; set; } = QueueJobStatus.Pending; [Column(Order = 3)] public string PayloadJson { get; set; } [Column(Order = 4)] public int Attempts { get; set; } [Column(Order = 5)] public int MaxAttempts { get; set; } = 3; [Column(Order = 6)] public DateTime? Started { get; set; } [Column(Order = 7)] public DateTime? Finished { get; set; } [Column(Order = 8)] public DateTime? LockedUntil { get; set; } [Column(Order = 9)] public string? LockedBy { get; set; } [Column(Order = 10)] public string? ErrorMessage { get; set; } [Column(Order = 11)] public string? MetadataJson { get; set; } [Column(Order = 12)] public string? RuleSnapshotJson { get; set; } public ICollection Targets { get; set; } = new List(); public ICollection Steps { get; set; } = new List(); } }