Commit Graph

13 Commits

Author SHA1 Message Date
Joseph Doherty 7c4781dfe3 refactor(configmanager): split into Core, CLI, and UI projects
Extract shared models, services, and application logic into
JdeScoping.ConfigManager.Core library. Add JdeScoping.ConfigManager.Cli
console app with validate, test-connection, and secret commands using
System.CommandLine. UI project now references Core for platform-agnostic
functionality while retaining Avalonia-specific dialog and clipboard services.
2026-01-28 10:01:48 -05:00
Joseph Doherty 227a749cdf docs: add XML documentation to NEW solution src files
Fix 173 of 175 documentation issues across 48 files using CommentChecker,
adding missing <summary>, <param>, and <inheritdoc /> tags to public APIs.
2026-01-27 06:19:20 -05:00
Joseph Doherty bfc1c8064a refactor(securestore): store entire connection strings in SecureStore
Eliminates placeholder substitution (${KEY}) in favor of storing complete
connection strings as single encrypted values. SecureStore now auto-creates
entries for all connection strings defined in appsettings. ConfigManager
editor reads/writes values directly to SecureStore.
2026-01-23 14:44:04 -05:00
Joseph Doherty ba54a87be5 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.
2026-01-23 02:30:48 -05:00
Joseph Doherty 29ac56006d 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
2026-01-22 17:48:33 -05:00
Joseph Doherty db663cc82d feat(configmanager): add ConnectionStrings editor with test connection support
Adds a new ConnectionStrings section to ConfigManager allowing users to manage
database connection strings with provider selection, connection testing, and
visual feedback for connection state.
2026-01-22 11:12:08 -05:00
Joseph Doherty 9bf0c29add refactor(configmanager): simplify SecureStore UI with unified info view
Consolidate SecureStoreLockedFormView and SecureStoreUnlockedFormView into
a single SecureStoreInfoFormView that displays store status and metadata.
Simplifies MainWindowViewModel by removing redundant state management.
Also adds design docs for RegexTransformer feature.
2026-01-22 09:40:38 -05:00
Joseph Doherty 6642c83cdb feat(configmanager): add runtime config validation using Infrastructure validators
Enable ConfigManager to validate runtime configuration (SecureStore secrets,
connection strings, LDAP) using the same validators as the Host application.
Adds AddInfrastructureValidators() extension for shared validator registration.
2026-01-21 18:31:42 -05:00
Joseph Doherty e5fe2f06e9 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.
2026-01-21 17:47:15 -05:00
Joseph Doherty 94d5a864e0 feat(configmanager): integrate SecureStore for credential management
Add SecureStore integration to ConfigManager for secure handling of connection
strings and sensitive configuration values. Includes store/secret management
UI, encrypted .store file support, and comprehensive test coverage.
2026-01-20 02:51:16 -05:00
Joseph Doherty 042e036c35 feat(configmanager): wire up form selection in MainWindowViewModel
- Add IFileSystem and IDialogService dependencies to constructor
- Implement OnSelectedNodeChanged to create appropriate form ViewModels
- Add LoadConfigForTesting helper for unit testing
- Add MarkAsChanged helper to track unsaved changes
- Update OpenFolderAsync to use IDialogService
- Add comprehensive unit tests for form selection
2026-01-19 19:57:27 -05:00
Joseph Doherty c22e2ed877 feat(configmanager): add MainWindowViewModel with service wiring
Complete MainWindowViewModel implementation with:
- Constructor injection for IConfigFileService, IValidationService,
  IBackupService, IAutoDiscoveryService, and ILogger
- Properties: ConfigFolderPath, HasUnsavedChanges, ValidationStatus,
  ValidationStatusColor, SelectedNode, SelectedFormViewModel, TreeNodes
- Commands: OpenFolderCommand, SaveCommand, ExitCommand, UndoCommand,
  RedoCommand, ValidateCommand, TestConnectionCommand
- Methods: InitializeAsync, OpenFolderAsync, LoadConfigAsync,
  BuildTreeNodes, OnSelectedNodeChanged, SaveAsync, Validate,
  TestConnectionAsync

Update App.axaml.cs to register all services in DI container:
- IFileSystem -> FileSystem (singleton)
- IAutoDiscoveryService -> AutoDiscoveryService (singleton)
- IBackupService -> BackupService (singleton)
- IDiffService -> DiffService (singleton)
- IValidationService -> ValidationService (singleton)
- IConfigFileService -> ConfigFileService (scoped)
- MainWindowViewModel (transient)

Wire MainWindow.DataContext to resolved MainWindowViewModel.
2026-01-19 17:53:25 -05:00
Joseph Doherty e9fc764650 feat(configmanager): add MainWindow view 2026-01-19 17:49:04 -05:00