using System; using System.Collections.Generic; using System.Threading.Tasks; using LCU.Library.Internal.DocumentIngestorModels.Entities; using LCU.Library.Internal.DocumentIngestorModels.Enums; using LCU.Library.Internal.DocumentIngestorModels.Models.Pagination; namespace LCU.API.Internal.DocumentIngestorLib.Repositories { public interface IDocumentProcessingInfoRepository { Task> FindAsync(); Task FindByIdAsync(int id); Task> FindListByIdAsync(List ids); Task> FindByIngestorRunInfoIdAsync(Guid ingestorRunInfoId); Task> FindByProcessStatusTypeAsync(ProcessStatusTypes statusType, bool? isUnknown); Task> FindByProcessStatusTypeListAsync(List statusTypes, bool? isUnknown); Task> FindCompletedFirstPassByIngestorRunInfoIdAsync(Guid ingestorRunInfoId); Task AddAsync(DocumentProcessingInfo documentProcessingInfo); Task AddRangeAsync(DocumentProcessingInfo[] documentProcessingInfos); void Update(DocumentProcessingInfo documentProcessingInfo); void UpdateRange(List documentProcessingInfos); void Remove(DocumentProcessingInfo documentProcessingInfo); Task> FilteredListAsync(Filter filter); Task CountCompletedFirstPassByIngestorRunInfoIdAsync(Guid ingestorRunInfoId); Task CountCompletedByIngestorRunInfoIdAsync(Guid ingestorRunInfoId); Task> FindByDocumentIdsAsync(Guid[] ids); } }