using Data.SeaHavenIndustries; namespace SeaHaven.DataServices.Interfaces { public interface IWorkOrderMediaDataService { /// AsNoTracking base (+ optional account) scoped load for pre-mutation auth. Task GetWorkOrderForMediaAuthAsync( int workOrderId, int? accountId, CancellationToken cancellationToken); Task GetTrackedWorkOrderAsync( int workOrderId, int? accountId, CancellationToken cancellationToken); Task GetTrackedAttachmentAsync(int mediaId, int workOrderId, CancellationToken cancellationToken); void TrackAttachment(WorkOrderAttachments attachment); void SetExpectedWorkOrderVersion(WorkOrder workOrder, byte[] version); void MarkWorkOrderModified(WorkOrder workOrder); Task SaveAsync(CancellationToken cancellationToken); } }