Skip to content

feat: Saved Views & Queries (#110) - #219

Merged
mariusmm merged 2 commits into
mainfrom
feature/saved-views
Aug 4, 2026
Merged

feat: Saved Views & Queries (#110)#219
mariusmm merged 2 commits into
mainfrom
feature/saved-views

Conversation

@mariusmm

@mariusmm mariusmm commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add project-scoped saved views (private/shared) with JSON filter/sort/column definitions, CRUD API, and immutability when locked.
  • Wire the requirements SPA to save/apply/update/delete views (including ?saved_view= deep links), plus richer filters, sort, and column visibility with server-side view_id / query params on the requirements list.
  • Support baseline from saved view (filtered snapshot + lock view) and apply saved_view on reports requirement loading / CSV via applied table state.

Closes #110

Test plan

  • Apply migration 2026-08-04-000001_saved_views (diesel migration run)
  • cargo test --features test-helpers saved_view and cargo test --features test-helpers --lib api::baselines::
  • cd frontend && npm test -- --run savedView SavedViews
  • Manual: save private + shared views; second user sees shared only; reload / deep-link restores filters
  • Manual: category/approval/sort/columns persist in a saved view
  • Manual: create baseline from a view → snapshot filtered, view locked (edit/delete 409); reports with ?saved_view= scopes requirements

Made with Cursor

Persist private/shared filter definitions, apply them in the SPA and list API, and optionally create baselines from a view (locking it when used).
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Frontend Code Coverage

Frontend SPA coverage (by module)

Module Line Rate Branch Rate Function Rate Health
api 6.9% (67 / 969) 80.0% 4.0%
components 13.8% (442 / 3201) 78.9% 55.0%
components/graph 48.1% (50 / 104) 100.0% 33.3%
components/reports 0.0% (0 / 20) 100.0% 100.0%
components/table 79.2% (38 / 48) 100.0% 100.0%
context 39.7% (48 / 121) 55.0% 50.0%
hooks 49.2% (98 / 199) 78.1% 81.8%
lib 100.0% (57 / 57) 100.0% 100.0%
pages 7.5% (510 / 6838) 77.4% 55.6%
pages/catalog 0.0% (0 / 1473) 12.5% 12.5%
pages/groups 0.0% (0 / 870) 0.0% 0.0%
src (root) 9.4% (12 / 128) 92.9% 66.7%
types 100.0% (0 / 0) 100.0% 100.0%
utils 100.0% (198 / 198) 95.7% 100.0%
Summary 10.7% (1520 / 14226) 81.1% 36.5%

Generated from Vitest @vitest/coverage-v8 (frontend/src).

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Code Coverage

Package Line Rate Complexity Health
marreq-core.src 64% 0
marreq-core.src.api 76% 0
marreq-cloud.src.api 78% 0
marreq-core.src.auth.guards 46% 0
marreq-core.src.services.semantic_search 75% 0
marreq-cloud.src.services 91% 0
marreq-core.src.fairings 89% 0
marreq-core.src.generators 0% 0
marreq-core.src.auth 91% 0
marreq-cloud.src 72% 0
marreq-core.src.deployment 83% 0
marreq-core.src.models 81% 0
marreq-cloud.src.fairings 100% 0
marreq-core.src.helper_functions 93% 0
marreq-core.src.repository.cache 100% 0
marreq-core.src.reqif 83% 0
marreq-core.src.services 90% 0
marreq-core.src.repository 41% 0
marreq-core.src.auth.rate_limiter 94% 0
marreq-core.src.validation 96% 0
marreq-server.src 62% 0
marreq-core.src.routes 48% 0
marreq-core.src.diff 100% 0
marreq-core.src.importers 5% 0
Summary 74% (23083 / 31130) 0

Avoid clippy::too_many_arguments on the project requirements list filter helper and Rocket handler.
@mariusmm
mariusmm merged commit 6ca63a6 into main Aug 4, 2026
5 checks passed
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.

Saved Views & Queries

1 participant