Description
As users accumulate multiple scan reports, it becomes tedious to hunt down specific vulnerabilities (e.g., finding all instances of "SQL Injection" or a specific CVE) across past scans. A global search bar would greatly improve the workspace usability.
Steps to Reproduce
- Navigate to the dashboard.
- Try to search for a specific finding title from a previous report without manually clicking into each one.
Expected Behavior
- Backend: A
GET /api/v1/search?q={query} endpoint that searches across reports and normalized findings.
- Frontend: A search input in the global navigation bar that queries the backend as you type and displays a dropdown of matching results.
Implementation Hints
- Backend: Create a new search router. Use SQL
ILIKE (if using PostgreSQL) or LIKE (if SQLite) to perform partial matches on the finding title and description columns.
- Frontend: Use a controlled input in the Navbar component. Debounce the API calls to prevent spamming the backend on every keystroke.
Description
As users accumulate multiple scan reports, it becomes tedious to hunt down specific vulnerabilities (e.g., finding all instances of "SQL Injection" or a specific CVE) across past scans. A global search bar would greatly improve the workspace usability.
Steps to Reproduce
Expected Behavior
GET /api/v1/search?q={query}endpoint that searches across reports and normalized findings.Implementation Hints
ILIKE(if using PostgreSQL) orLIKE(if SQLite) to perform partial matches on the findingtitleanddescriptioncolumns.