Skip to content

Add Configuration menu with generic table editor for 8 DB tables#22

Merged
astar-development-jb merged 2 commits into
mainfrom
feature/edit-configuration-screens
Jul 14, 2026
Merged

Add Configuration menu with generic table editor for 8 DB tables#22
astar-development-jb merged 2 commits into
mainfrom
feature/edit-configuration-screens

Conversation

@jbarden

@jbarden jbarden commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds a _Configuration submenu (replacing the first _File placeholder) with 8 entries: Edit Connection Strings Configuration, Edit File Classification Categories Configuration, Edit Search Configuration, Edit Model to Ignore, Edit Scrape Directories, Edit Search Categories, Edit Tag to Ignore, Edit User Configuration
  • One generic, descriptor-driven EntityEditorViewModel<TEntity> + EntityEditorWindow backs all 8 screens (DataGrid CRUD + JSON Import/Export to the user's Documents folder) instead of 8 bespoke screens
  • SearchCategoryEntity rows auto-stamp SearchConfigurationId from the app's single SearchConfiguration row on save rather than exposing the FK as an editable column
  • Add/Delete are reactive to row count so the four single-row configuration tables (Connection Strings, Search Configuration, User Configuration, Scrape Directories) can still create their first row when the table starts empty, instead of Add being permanently disabled

Test plan

  • dotnet build — solution builds clean, 0 warnings/errors
  • dotnet test --project AStar.Dev.Wallpaper.Scraper.Tests.Unit — 65 passed (generic engine, factory descriptors, MainWindowViewModel command wiring)
  • dotnet test --project AStar.Dev.Infrastructure.AppDb.Tests.Unit — 3 passed
  • Manual pass in the running app: opened each of the 8 editors, added/edited/deleted rows, exported/imported JSON, confirmed empty single-row tables can create their first row

🤖 Generated with Claude Code

jbarden and others added 2 commits July 14, 2026 21:47
…ndent entities

Drops the standalone ScrapeConfigurationEntity/FK now that ConnectionStrings,
SearchConfiguration, UserConfiguration and ScrapeDirectories own their own rows
directly, removing an unnecessary join.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds Edit Connection Strings/File Classification Categories/Search
Configuration/Model to Ignore/Scrape Directories/Search Categories/Tag to
Ignore/User Configuration to the File menu. One generic, descriptor-driven
EntityEditorViewModel<T> + EntityEditorWindow backs all 8 screens (DataGrid
CRUD, JSON Import/Export to the user's Documents folder) instead of 8 bespoke
screens. Search Categories rows auto-stamp SearchConfigurationId from the
app's single SearchConfiguration row rather than exposing the FK.

Add/Delete are reactive to row count so single-row configuration tables can
still create their first row when empty, rather than being permanently
disabled.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@jbarden
jbarden requested a review from a team July 14, 2026 21:23
@astar-development-jb
astar-development-jb enabled auto-merge (squash) July 14, 2026 21:25
@astar-development-jb
astar-development-jb merged commit f24aa8d into main Jul 14, 2026
4 checks passed
@astar-development-jb
astar-development-jb deleted the feature/edit-configuration-screens branch July 14, 2026 21:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants