Files
monorepo/LCU.API.Internal.DocumentIngestor/LCU.API.Internal.DocumentIngestorLib/Repositories/IDocumentProcessingInfoRepository.cs
T
2026-03-25 14:50:13 -05:00

30 lines
1.8 KiB
C#

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<IEnumerable<DocumentProcessingInfo>> FindAsync();
Task<DocumentProcessingInfo> FindByIdAsync(int id);
Task<IEnumerable<DocumentProcessingInfo>> FindListByIdAsync(List<int> ids);
Task<IEnumerable<DocumentProcessingInfo>> FindByIngestorRunInfoIdAsync(Guid ingestorRunInfoId);
Task<IEnumerable<DocumentProcessingInfo>> FindByProcessStatusTypeAsync(ProcessStatusTypes statusType, bool? isUnknown);
Task<IEnumerable<DocumentProcessingInfo>> FindByProcessStatusTypeListAsync(List<ProcessStatusTypes> statusTypes, bool? isUnknown);
Task<IEnumerable<DocumentProcessingInfo>> FindCompletedFirstPassByIngestorRunInfoIdAsync(Guid ingestorRunInfoId);
Task<DocumentProcessingInfo> AddAsync(DocumentProcessingInfo documentProcessingInfo);
Task AddRangeAsync(DocumentProcessingInfo[] documentProcessingInfos);
void Update(DocumentProcessingInfo documentProcessingInfo);
void UpdateRange(List<DocumentProcessingInfo> documentProcessingInfos);
void Remove(DocumentProcessingInfo documentProcessingInfo);
Task<PagedResult<DocumentProcessingInfo>> FilteredListAsync(Filter filter);
Task<int> CountCompletedFirstPassByIngestorRunInfoIdAsync(Guid ingestorRunInfoId);
Task<int> CountCompletedByIngestorRunInfoIdAsync(Guid ingestorRunInfoId);
Task<IEnumerable<DocumentProcessingInfo>> FindByDocumentIdsAsync(Guid[] ids);
}
}