using System.Collections.Generic; using System.IO; using System.Threading; using System.Threading.Tasks; using DMSDAL.DTO.Migration; using GB5Shared.DTO.Framework.Login; namespace DMSDAL.CustomCode.Migration { public interface IAlfrescoMigrationDAL { Task GetEntityTableInfoAsync( int objectTypeId, LoginDTO login, CancellationToken ct = default); Task> GetEntityIdsBatchAsync( EntityTableInfoDTO entityInfo, int pageSize, int offset, LoginDTO login, CancellationToken ct = default); Task IsAlreadyMigratedAsync( int objectTypeId, int objectId, LoginDTO login, CancellationToken ct = default); Task GetAlfrescoSettingsAsync( LoginDTO login, CancellationToken ct = default); Task> DiscoverAlfrescoAttachmentsAsync( AlfrescoSettings settings, int objectTypeId, int objectId, int clientId, CancellationToken ct = default); Task DownloadFromAlfrescoAsync( AlfrescoSettings settings, string nodeId, CancellationToken ct = default); Task InsertMigrationLogAsync( MigrationLogDTO dto, LoginDTO login, CancellationToken ct = default); Task UpdateMigrationLogStatusAsync( long migrationLogId, byte status, int? attachmentId, string? error, LoginDTO login, CancellationToken ct = default); Task InsertTAttachmentAsync( int objectTypeId, int objectId, int documentSetDetailId, string folderName, string attachedFileName, string displayFileName, string cmsId, string mimeType, long fileSizeBytes, string? contentHash, byte attachmentOption, LoginDTO login, CancellationToken ct = default); Task GetMigrationStatusAsync( int objectTypeId, LoginDTO login, CancellationToken ct = default); } }