From 0d9e6db7f2b6bef122dadfa7ecd6a81e449eab7c Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Tue, 6 Jan 2026 13:38:51 -0500 Subject: [PATCH] feat(datasync): add IEtlPipelineFactory and SyncMode contracts --- .../Contracts/IEtlPipelineFactory.cs | 15 +++++++++++++++ NEW/src/JdeScoping.DataSync/Contracts/SyncMode.cs | 7 +++++++ 2 files changed, 22 insertions(+) create mode 100644 NEW/src/JdeScoping.DataSync/Contracts/IEtlPipelineFactory.cs create mode 100644 NEW/src/JdeScoping.DataSync/Contracts/SyncMode.cs diff --git a/NEW/src/JdeScoping.DataSync/Contracts/IEtlPipelineFactory.cs b/NEW/src/JdeScoping.DataSync/Contracts/IEtlPipelineFactory.cs new file mode 100644 index 0000000..2dff781 --- /dev/null +++ b/NEW/src/JdeScoping.DataSync/Contracts/IEtlPipelineFactory.cs @@ -0,0 +1,15 @@ +using JdeScoping.DataSync.Etl.Pipeline; + +namespace JdeScoping.DataSync.Contracts; + +public interface IEtlPipelineFactory +{ + IEtlPipelineBuilder ForTable(string tableName); +} + +public interface IEtlPipelineBuilder +{ + IEtlPipelineBuilder WithMode(SyncMode mode); + IEtlPipelineBuilder WithMinimumDate(DateTime? minDt); + EtlPipeline Build(); +} diff --git a/NEW/src/JdeScoping.DataSync/Contracts/SyncMode.cs b/NEW/src/JdeScoping.DataSync/Contracts/SyncMode.cs new file mode 100644 index 0000000..f497f07 --- /dev/null +++ b/NEW/src/JdeScoping.DataSync/Contracts/SyncMode.cs @@ -0,0 +1,7 @@ +namespace JdeScoping.DataSync.Contracts; + +public enum SyncMode +{ + Mass, + Incremental +}