Commit Graph

15 Commits

Author SHA1 Message Date
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 c3684f5150 feat(configmanager): add PipelineFormViewModel and ScheduleFormViewModel
Add form ViewModels for editing pipeline configurations in the ConfigManager.
ScheduleFormViewModel wraps ScheduleModel for schedule editing.
PipelineFormViewModel wraps PipelineModel with schedule sub-ViewModels.
2026-01-19 19:50:20 -05:00
Joseph Doherty 6e2decd21f feat(configmanager): add LdapFormViewModel
Implement LdapFormViewModel for editing LDAP configuration section with
properties for ServerUrlsText, GroupDn, SearchBase, ConnectionTimeoutSeconds,
UseFakeAuth, and AdminBypassUsersText. Array properties use newline-separated
text with StringSplitOptions.RemoveEmptyEntries | TrimEntries for splitting.
2026-01-19 19:45:43 -05:00
Joseph Doherty cc555e4e34 feat(configmanager): add SearchFormViewModel
Implements Task 18 from phases 7-9 plan. SearchFormViewModel wraps
SearchSection model with properties for MaxResultRows, TimeoutSeconds,
and MaxConcurrentSearches. Includes full test coverage with 7 tests
verifying initialization, two-way binding, change notification, and
null argument handling.
2026-01-19 19:45:07 -05:00
Joseph Doherty 64518c7000 feat(configmanager): add DataAccessFormViewModel 2026-01-19 19:42:10 -05:00
Joseph Doherty c416544efe feat(configmanager): add DataSyncFormViewModel
Add form ViewModel that wraps DataSyncSection model for two-way binding
with change tracking in the ConfigManager UI.
2026-01-19 19:40:31 -05:00
Joseph Doherty 8caaa8ee54 feat(configmanager): add TreeNodeViewModel 2026-01-19 17:51:15 -05:00
Joseph Doherty 9677b751e6 feat(configmanager): add AutoDiscoveryService with tests
Add service for auto-discovering configuration file locations. The
service searches in prioritized order:
1. JDESCOPING_CONFIG_PATH environment variable
2. Same directory as executable
3. ../JdeScoping.Host/ relative to executable
4. User config directory (~/.jdescoping on Unix, %LOCALAPPDATA%\JdeScoping on Windows)

Includes 9 unit tests covering all search locations, priority order,
edge cases (missing directory, missing appsettings.json), and
cancellation token support.
2026-01-19 17:47:03 -05:00
Joseph Doherty 68da728cdf feat(configmanager): add DiffService with tests 2026-01-19 17:44:28 -05:00
Joseph Doherty c8f3c0060d feat(configmanager): add ValidationService with tests 2026-01-19 17:42:14 -05:00
Joseph Doherty 0e441898a6 feat(configmanager): add BackupService with tests 2026-01-19 17:40:22 -05:00
Joseph Doherty 54620ccb2e feat(configmanager): add ConfigFileService with tests
Add config file loading and saving service following TDD approach:
- IConfigFileService interface for loading/saving config files
- ConfigLoadException for descriptive error handling
- ConfigFileService implementation with JSON serialization
- Unit tests with mocked IFileSystem dependency
2026-01-19 17:38:20 -05:00
Joseph Doherty c055bc6c78 feat(configmanager): add IFileSystem abstraction
Add file system abstraction to enable testability for file operations.
- IFileSystem interface with common file operations
- FileSystem implementation wrapping System.IO
- Unit tests for FileExists functionality
2026-01-19 17:33:39 -05:00
Joseph Doherty 54d4fd0eb6 feat(configmanager): add test project 2026-01-19 17:31:23 -05:00