Files
jsmr/JSMR.Application/Scanning/Ports/IVoiceWorkUpdater.cs
Brian Bicknell 61f2e64972
All checks were successful
ci / build-test (push) Successful in 2m38s
ci / publish-image (push) Has been skipped
Updated scanner and table names.
2026-03-05 20:56:57 -05:00

37 lines
857 B
C#

using JSMR.Application.Scanning.Contracts;
using JSMR.Domain.Enums;
namespace JSMR.Application.Scanning.Ports;
public interface IVoiceWorkUpdater
{
Task<VoiceWorkUpsertResult[]> UpsertAsync(IReadOnlyCollection<VoiceWorkIngest> ingests, CancellationToken cancellationToken);
}
public class VoiceWorkUpsertResult
{
public int? VoiceWorkId { get; set; }
public VoiceWorkStatus UpdateStatus { get; set; }
public ICollection<VoiceWorkUpsertIssue> 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
}