feat: add startup config validation and document ConfigManager pipeline editor
Add ConfigurationValidationRunner with IConfigurationValidator interface for validating required settings at startup. Includes SecureStore and LDAP validators. Expand ConfigManager with pipeline editing UI, dialogs, and step editors. Update documentation with config validation guidance.
This commit is contained in:
@@ -2,7 +2,9 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels"
|
||||
xmlns:forms="using:JdeScoping.ConfigManager.ViewModels.Forms"
|
||||
xmlns:steps="using:JdeScoping.ConfigManager.ViewModels.PipelineSteps"
|
||||
xmlns:views="using:JdeScoping.ConfigManager.Views.Forms"
|
||||
xmlns:editors="using:JdeScoping.ConfigManager.Views.Editors"
|
||||
x:Class="JdeScoping.ConfigManager.Views.MainWindow"
|
||||
x:DataType="vm:MainWindowViewModel"
|
||||
Title="JdeScoping ConfigManager"
|
||||
@@ -15,6 +17,7 @@
|
||||
</Design.DataContext>
|
||||
|
||||
<Window.DataTemplates>
|
||||
<!-- Settings Form ViewModels -->
|
||||
<DataTemplate DataType="{x:Type forms:DataSyncFormViewModel}">
|
||||
<views:DataSyncFormView/>
|
||||
</DataTemplate>
|
||||
@@ -33,9 +36,36 @@
|
||||
<DataTemplate DataType="{x:Type forms:ExcelExportFormViewModel}">
|
||||
<views:ExcelExportFormView/>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type forms:PipelineFormViewModel}">
|
||||
<views:PipelineFormView/>
|
||||
|
||||
<!-- Pipeline Editor (replaces PipelineFormViewModel) -->
|
||||
<DataTemplate DataType="{x:Type forms:PipelineEditorViewModel}">
|
||||
<views:PipelineEditorView/>
|
||||
</DataTemplate>
|
||||
|
||||
<!-- Pipeline Step Editors (for the properties panel) -->
|
||||
<DataTemplate DataType="{x:Type steps:SourceStepViewModel}">
|
||||
<editors:SourceEditorView/>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type steps:DestinationStepViewModel}">
|
||||
<editors:DestinationEditorView/>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type steps:ColumnDropTransformerViewModel}">
|
||||
<editors:ColumnDropEditorView/>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type steps:ColumnRenameTransformerViewModel}">
|
||||
<editors:ColumnRenameEditorView/>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type steps:JdeDateTransformerViewModel}">
|
||||
<editors:JdeDateEditorView/>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type steps:PreScriptStepViewModel}">
|
||||
<editors:ScriptEditorView/>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type steps:PostScriptStepViewModel}">
|
||||
<editors:PostScriptEditorView/>
|
||||
</DataTemplate>
|
||||
|
||||
<!-- SecureStore ViewModels -->
|
||||
<DataTemplate DataType="{x:Type forms:SecureStoreLockedFormViewModel}">
|
||||
<views:SecureStoreLockedFormView/>
|
||||
</DataTemplate>
|
||||
@@ -66,6 +96,18 @@
|
||||
<Separator/>
|
||||
<MenuItem Header="View _Backups..."/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="_Pipelines">
|
||||
<MenuItem Header="_New Pipeline..." Command="{Binding AddPipelineCommand}" InputGesture="Ctrl+Shift+P">
|
||||
<MenuItem.Icon>
|
||||
<TextBlock Text="+" FontSize="14" FontWeight="Bold"/>
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<MenuItem Header="_Delete Pipeline" Command="{Binding DeletePipelineCommand}">
|
||||
<MenuItem.Icon>
|
||||
<TextBlock Text="X" FontSize="12" FontWeight="Bold"/>
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
</MenuItem>
|
||||
<MenuItem Header="_Secure Stores">
|
||||
<MenuItem Header="_New Store..." Command="{Binding NewStoreCommand}" InputGesture="Ctrl+Shift+N">
|
||||
<MenuItem.Icon>
|
||||
@@ -113,6 +155,8 @@
|
||||
<Button Content="Test" Command="{Binding TestConnectionCommand}" Classes="toolbar"/>
|
||||
<Button Content="Validate" Command="{Binding ValidateCommand}" Classes="toolbar"/>
|
||||
<Border Width="1" Height="20" Background="#2D3540" Margin="4,0"/>
|
||||
<Button Content="+ Pipeline" Command="{Binding AddPipelineCommand}" ToolTip.Tip="Add Pipeline" Classes="toolbar"/>
|
||||
<Border Width="1" Height="20" Background="#2D3540" Margin="4,0"/>
|
||||
<Button Content="Unlock" Command="{Binding UnlockStoreCommand}" ToolTip.Tip="Unlock/Lock Store" Classes="toolbar"/>
|
||||
<Button Content="+ Secret" Command="{Binding AddSecretCommand}" ToolTip.Tip="Add Secret" Classes="toolbar"/>
|
||||
</StackPanel>
|
||||
@@ -166,6 +210,9 @@
|
||||
Margin="8">
|
||||
<TreeView.ContextMenu>
|
||||
<ContextMenu>
|
||||
<MenuItem Header="New Pipeline..." Command="{Binding AddPipelineCommand}"/>
|
||||
<MenuItem Header="Delete Pipeline" Command="{Binding DeletePipelineCommand}"/>
|
||||
<Separator/>
|
||||
<MenuItem Header="Unlock Store..." Command="{Binding UnlockStoreCommand}"/>
|
||||
<MenuItem Header="Lock Store" Command="{Binding LockStoreCommand}"/>
|
||||
<Separator/>
|
||||
|
||||
Reference in New Issue
Block a user