using MassTransit; using NodaTime; namespace FictionArchive.Service.NovelService.Sagas; public class NovelImportSagaState : SagaStateMachineInstance { public Guid CorrelationId { get; set; } public string CurrentState { get; set; } = null!; // Identity public string NovelUrl { get; set; } = null!; public uint? NovelId { get; set; } // Chapter tracking public int ExpectedChapters { get; set; } public int CompletedChapters { get; set; } // Image tracking public int ExpectedImages { get; set; } public int CompletedImages { get; set; } // Timestamps public Instant StartedAt { get; set; } public Instant? CompletedAt { get; set; } // Error info public string? ErrorMessage { get; set; } }