feat: implement ETL pipeline redesign and ConfigManager improvements

- Add pipeline registry with JSON-based configuration and hot-reload support
- Implement manual sync request feature with API, client UI, and database
- Improve ConfigManager: connection string dropdown in pipeline editor,
  step delete/reorder functionality, and fix JSON parsing for ConnectionStrings
This commit is contained in:
Joseph Doherty
2026-01-22 17:48:33 -05:00
parent 5a332232d0
commit 29ac56006d
82 changed files with 6257 additions and 296 deletions
@@ -0,0 +1,27 @@
namespace JdeScoping.DataSync.Configuration;
/// <summary>
/// Configuration for the pipeline data source.
/// </summary>
public class SourceElement
{
/// <summary>
/// Connection identifier (jde, cms, giw, lotfinder).
/// </summary>
public string Connection { get; set; } = string.Empty;
/// <summary>
/// Query for incremental syncs (daily/hourly).
/// </summary>
public string Query { get; set; } = string.Empty;
/// <summary>
/// Query for mass sync. Falls back to Query if not specified.
/// </summary>
public string? MassQuery { get; set; }
/// <summary>
/// Query parameters with format and source configuration.
/// </summary>
public Dictionary<string, ParameterElement> Parameters { get; set; } = new();
}