refactor(configmanager): migrate to per-file pipeline system

Align ConfigManager with DataSync's per-file pipeline format (pipeline.*.json)
by reusing EtlPipelineConfig types directly, eliminating duplicate models and
simplifying the codebase. Removes ~3200 lines of obsolete code.
This commit is contained in:
Joseph Doherty
2026-01-23 02:30:48 -05:00
parent 1b7bb26def
commit ba54a87be5
49 changed files with 1429 additions and 4396 deletions
@@ -3,6 +3,7 @@ using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Services.SecureStore;
using JdeScoping.ConfigManager.ViewModels;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.DataSync.Configuration;
using Microsoft.Extensions.Logging;
using NSubstitute;
@@ -38,7 +39,7 @@ public class MainWindowViewModelTests
_validationService.ValidateAppSettings(Arg.Any<ConfigModel>())
.Returns(new ValidationResult());
_validationService.ValidatePipelines(Arg.Any<PipelinesConfigModel>())
_validationService.ValidatePipelines(Arg.Any<Dictionary<string, EtlPipelineConfig>>())
.Returns(new ValidationResult());
}
@@ -167,15 +168,13 @@ public class MainWindowViewModelTests
{
// Arrange
var config = new ConfigModel();
var pipelines = new PipelinesConfigModel
var pipelines = new Dictionary<string, EtlPipelineConfig>
{
Pipelines = new Dictionary<string, PipelineModel>
["WorkOrders"] = new EtlPipelineConfig
{
["WorkOrders"] = new PipelineModel
{
Source = new PipelineSource { Connection = "jde", Query = "SELECT * FROM WO" },
Destination = new PipelineDestination { Table = "WorkOrder_Curr" }
}
Name = "WorkOrders",
Source = new SourceElement { Connection = "jde", Query = "SELECT * FROM WO" },
Destination = new DestinationElement { Table = "WorkOrder_Curr" }
}
};
var sut = CreateViewModel();
@@ -295,13 +294,10 @@ public class MainWindowViewModelTests
{
// Arrange
var config = new ConfigModel();
var pipelines = new PipelinesConfigModel
var pipelines = new Dictionary<string, EtlPipelineConfig>
{
Pipelines = new Dictionary<string, PipelineModel>
{
["Pipeline1"] = new PipelineModel(),
["Pipeline2"] = new PipelineModel()
}
["Pipeline1"] = new EtlPipelineConfig { Name = "Pipeline1" },
["Pipeline2"] = new EtlPipelineConfig { Name = "Pipeline2" }
};
var sut = CreateViewModel();