feat(etl): add core ETL pipeline interfaces

Add the four core interfaces for the ETL pipeline:
- IImportSource: defines data sources for reading
- IDataTransformer: defines data transformation layer
- IImportDestination: defines data write destinations
- IScriptRunner: defines script execution capability
This commit is contained in:
Joseph Doherty
2026-01-03 08:59:57 -05:00
parent dac3d216fd
commit 5a101a60b3
4 changed files with 85 additions and 0 deletions
@@ -0,0 +1,18 @@
namespace JdeScoping.DataSync.Etl.Contracts;
/// <summary>
/// Defines a runner that can execute scripts as part of the ETL process.
/// </summary>
public interface IScriptRunner
{
/// <summary>
/// Executes the script asynchronously.
/// </summary>
/// <param name="cancellationToken">Token to cancel the operation.</param>
Task ExecuteAsync(CancellationToken cancellationToken = default);
/// <summary>
/// Gets the name of this script for logging and identification.
/// </summary>
string ScriptName { get; }
}