using FrameworkDAL.DTO.DataSync; using GB5Shared.DTO.Framework.Login; namespace FrameworkBLL.DataSync { public interface IDataSyncImportBLL { // Reads the ZIP, parses manifest.json, and validates table schemas. // Does NOT write any data — safe to call for preview. Task ValidateImportFileAsync(Stream zipStream, LoginDTO login, CancellationToken ct); // Reads the ZIP, creates a TDSYNCRUNLOG entry, and imports data into the target DB. // Returns the RunId so the caller can poll GetSyncRunLog for progress. // Import runs synchronously for files already on the server (< ~500 MB). Task ImportFromFileAsync( Stream zipStream, int targetDbInstanceId, byte conflictPolicy, LoginDTO login, CancellationToken ct); } }