feat: endpoint for general scheme catalog search#275
Draft
Conversation
4f73d44 to
f2691f2
Compare
4fbd57b to
b64a517
Compare
Collaborator
|
@wtlow003 update the description |
b64a517 to
dc7a653
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
There is no dedicated endpoint for browsing the scheme catalog — clients currently have
to use the semantic search endpoint even when they just want to list or filter schemes by
structured attributes (agency, planning area, scheme type).
Link to Issue:
#268
dependent on #280
Changes
that returns paginated scheme results, with optional filtering by agency, area, or
scheme_type
signed cursor-based pagination using HMAC-SHA256
(endpoints.py)
(firestore.indexes.json)
test-endpoint.http file for manual testing
Why
The search endpoint is optimised for semantic/fuzzy queries and unsuitable for structured
browsing. A dedicated catalog endpoint allows consumers to page through schemes by
category without search overhead. Cursor-based pagination with HMAC signing prevents cursor tampering. Supporting only one filter at a time keeps query complexity manageable
while still covering the main use cases.
Testing
responses, filter combinations, cursor continuity, and error cases (invalid params,
unknown params, multiple filters)