feat(widgets): add backend CRUD, registry, and default seeding #2

Merged
alex merged 1 commits from feat/dashboard-widgets-backend-crud into main 2026-06-19 22:15:59 +02:00
Owner

Introduce a closed, compile-time widget registry and backend CRUD for
dashboard widget instances.

  • Add dashboard_widgets SQLite table in SettingsStore with CRUD helpers and
    default seeding (Jellyfin + Backups) on first install.
  • Add Pydantic models with credential-key and secret-value rejection.
  • Add widgets router: /api/widgets/sources, /types, /instances CRUD.
  • Call ensure_defaults() in app lifespan so fresh installs seed defaults.
  • Add backend tests covering registry, CRUD, validation, and seeding.
  • Include SDD artifacts: exploration, proposal, spec, design, tasks.
Introduce a closed, compile-time widget registry and backend CRUD for dashboard widget instances. - Add dashboard_widgets SQLite table in SettingsStore with CRUD helpers and default seeding (Jellyfin + Backups) on first install. - Add Pydantic models with credential-key and secret-value rejection. - Add widgets router: /api/widgets/sources, /types, /instances CRUD. - Call ensure_defaults() in app lifespan so fresh installs seed defaults. - Add backend tests covering registry, CRUD, validation, and seeding. - Include SDD artifacts: exploration, proposal, spec, design, tasks.
alex added 1 commit 2026-06-19 22:15:55 +02:00
Introduce a closed, compile-time widget registry and backend CRUD for
dashboard widget instances.

- Add dashboard_widgets SQLite table in SettingsStore with CRUD helpers and
  default seeding (Jellyfin + Backups) on first install.
- Add Pydantic models with credential-key and secret-value rejection.
- Add widgets router: /api/widgets/sources, /types, /instances CRUD.
- Call ensure_defaults() in app lifespan so fresh installs seed defaults.
- Add backend tests covering registry, CRUD, validation, and seeding.
- Include SDD artifacts: exploration, proposal, spec, design, tasks.
alex merged commit 1a52dfb087 into main 2026-06-19 22:15:59 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alex/manage#2