shoc-backend/SeaHaven.Services/Interfaces/ISyncFieldMergePolicy.cs

18 lines
662 B
C#

namespace SeaHaven.Services.Interfaces
{
public interface ISyncFieldMergePolicy
{
IReadOnlySet<string> ShocOwnedFields { get; }
bool CanSyncOverwrite(int workOrderId, string fieldName);
Task<bool> TryApplyAsync(WorkOrderSyncContext context, string fieldName, object? incomingValue);
}
public class WorkOrderSyncContext
{
public required Data.SeaHavenIndustries.WorkOrder WorkOrder { get; init; }
public required SeaHaven.Services.Interfaces.IWorkOrderFieldLockService FieldLocks { get; init; }
public required SeaHaven.Services.Interfaces.IWorkOrderAuditService Audit { get; init; }
}
}