using JSMR.Domain.Entities; namespace JSMR.Infrastructure.Ingestion; public record VoiceWorkUpsertContext( DateTimeOffset CurrentScanAnchor, DateTimeOffset PreviousScanAnchor, Dictionary Circles, Dictionary VoiceWorks, Dictionary Tags, Dictionary Creators, Dictionary Results ); public class VoiceWorkUpsertResult { public int? VoiceWorkId { get; set; } public ICollection Issues { get; } = []; public VoiceWorkUpsertStatus Status { get; set; } = VoiceWorkUpsertStatus.Unchanged; } public record VoiceWorkUpsertIssue( string Message, VoiceWorkUpsertIssueSeverity Severity ); public enum VoiceWorkUpsertIssueSeverity { Information, Warning, Error } public enum VoiceWorkUpsertStatus { Unchanged, Inserted, Updated, Skipped }