refactor: address code review findings across all projects

Apply comprehensive fixes from code reviews including:
- Extract shared utilities (SqlFormatHelper, CellValueConverter, DbDestinationBase)
- Add interface abstractions (IAuthenticationService, IDatabaseMigrator, IMisQueryBuilder)
- Implement SecureStore for encrypted secrets storage
- Fix error handling with proper HTTP status codes and logging
- Optimize double enumeration in DevEtlRegistry
- Add DataSync.Dev README for developer onboarding
- Extract filter panel base classes to reduce duplication
- Update code review docs to mark all issues as fixed
This commit is contained in:
Joseph Doherty
2026-01-19 11:05:36 -05:00
parent 08f5aa1447
commit 604bfe919c
148 changed files with 8696 additions and 1538 deletions
@@ -0,0 +1,94 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:JdeScoping.SecureStoreManager.ViewModels"
x:Class="JdeScoping.SecureStoreManager.Views.OpenStoreDialog"
Title="Open Store"
Height="370" Width="500"
WindowStartupLocation="CenterOwner"
CanResize="False"
ShowInTaskbar="False">
<Window.DataContext>
<vm:OpenStoreDialogViewModel />
</Window.DataContext>
<Grid Margin="15" RowDefinitions="Auto,Auto,Auto,*,Auto">
<!-- Store Path -->
<Border Grid.Row="0" BorderBrush="Gray" BorderThickness="1" CornerRadius="3" Padding="10" Margin="0,0,0,10">
<StackPanel>
<TextBlock Text="Store File" FontWeight="SemiBold" Margin="0,0,0,10" />
<Grid ColumnDefinitions="*,Auto">
<TextBox Grid.Column="0"
Text="{Binding StorePath, Mode=TwoWay}"
Margin="0,0,5,0" />
<Button Grid.Column="1"
Content="Browse..."
Command="{Binding BrowseStorePathCommand}"
Padding="10,5" />
</Grid>
</StackPanel>
</Border>
<!-- Decryption Method -->
<Border Grid.Row="1" BorderBrush="Gray" BorderThickness="1" CornerRadius="3" Padding="10" Margin="0,0,0,10">
<StackPanel>
<TextBlock Text="Decryption Method" FontWeight="SemiBold" Margin="0,0,0,10" />
<RadioButton Content="Use Key File"
IsChecked="{Binding UseKeyFile, Mode=TwoWay}"
Margin="0,5" />
<RadioButton Content="Use Password"
IsChecked="{Binding UsePassword, Mode=TwoWay}"
Margin="0,5" />
</StackPanel>
</Border>
<!-- Key File Settings -->
<Border Grid.Row="2"
BorderBrush="Gray" BorderThickness="1" CornerRadius="3" Padding="10" Margin="0,0,0,10"
IsVisible="{Binding UseKeyFile}">
<StackPanel>
<TextBlock Text="Key File" FontWeight="SemiBold" Margin="0,0,0,10" />
<Grid ColumnDefinitions="*,Auto">
<TextBox Grid.Column="0"
Text="{Binding KeyFilePath, Mode=TwoWay}"
Margin="0,0,5,0" />
<Button Grid.Column="1"
Content="Browse..."
Command="{Binding BrowseKeyFilePathCommand}"
Padding="10,5" />
</Grid>
</StackPanel>
</Border>
<!-- Password Settings -->
<Border Grid.Row="2"
BorderBrush="Gray" BorderThickness="1" CornerRadius="3" Padding="10" Margin="0,0,0,10"
IsVisible="{Binding UsePassword}">
<StackPanel>
<TextBlock Text="Password" FontWeight="SemiBold" Margin="0,0,0,10" />
<Grid ColumnDefinitions="100,*">
<TextBlock Text="Password:" VerticalAlignment="Center" />
<TextBox Grid.Column="1"
x:Name="PasswordBox"
PasswordChar="*"
Text="{Binding Password, Mode=TwoWay}"
Margin="0,5" />
</Grid>
</StackPanel>
</Border>
<!-- Validation Error -->
<TextBlock Grid.Row="3"
Text="{Binding ValidationError}"
Foreground="Red"
FontSize="11"
Margin="0,5,0,0"
IsVisible="{Binding ValidationError, Converter={StaticResource StringToBool}}"
VerticalAlignment="Top" />
<!-- Buttons -->
<StackPanel Grid.Row="4" Orientation="Horizontal" HorizontalAlignment="Right" Spacing="10">
<Button Content="Open" Click="OpenButton_Click" MinWidth="80" Padding="10,5" />
<Button Content="Cancel" Click="CancelButton_Click" MinWidth="80" Padding="10,5" />
</StackPanel>
</Grid>
</Window>