feat(contacts): implement pagination, search, and sorting for contacts API

- Enhanced the `/api/contacts` endpoint to support pagination, allowing users to specify `page` and `page_size` parameters.
- Added search functionality to filter contacts based on a search term.
- Implemented sorting options for the contacts list, enabling users to sort by various fields.
- Updated the frontend to reflect these changes, including a new pagination UI and improved loading states.
- Introduced caching for multibyte hop chunks to optimize performance when retrieving contact badge evidence.
- Added tests to ensure the new features work as expected and maintain existing functionality.
This commit is contained in:
agessaman committed 2026-07-28 12:36:56 -07:00
1 parent 8ab5708b72
commit 092be2d5bf
9 files changed
+1043 -189

No files matched your search

+3 -1
View File
@@ -193,7 +193,9 @@ proxy_set_header X-Forwarded-Proto $scheme;
The viewer also provides JSON API endpoints:
- `GET /api/stats` - Database statistics
- `GET /api/contacts` - Repeater contacts data
- `GET /api/contacts` - Repeater contacts data. The contacts page uses optional
`page`, `page_size` (maximum 200), `search`, `sort`, and `direction` parameters;
callers that omit pagination retain the legacy full-list response.
- `GET /api/tracking` - Contact tracking data
Example usage: