You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fastapi search improve model validation and add api contract tests (internetarchive#11549)
* move processing of 'fields' queryparam to pydantic
* remove mode, it's already default
* refactor: Move `q` parameter validation into `PublicQueryOptions` field validator and use `HTTPException` for errors.
* feat: Add JSON parsing error handling for the `query` parameter in the search endpoint and include new tests for valid and invalid JSON inputs.
* feat: Add JSON query parameter with validation to `WorkSearchScheme` and remove manual parsing from `search_json` endpoint.
* refactor: encapsulate sort and spellcheck_count query parameters within AdditionalEndpointQueryOptions.
* refactor: Unify search endpoint parameters into a single `SearchRequestParams` model using `Query()` and add OpenAPI documentation tests.
* refactor: Exclude offset from the search query dictionary and add a test for pagination parameter handling.
* feat: add description and examples to the search language parameter
* feat: Add descriptions and examples to search query facet fields.
* move q back up
* refactor: simplify `Field` default assignments and ensure sorted default `fields`
* refactor: replace HTTPException with ValueError in Pydantic field validators
* docs: add "search" tag to `/search.json` endpoint
* feat: Use BeforeValidator to parse comma-separated fields string into a list in search request parameters.
* feat: Parse search query parameter as a JSON dictionary and refactor its validation.
* test: replace query alias test with precedence test for search parameters
* feat: introduce Pydantic SearchResponse model for `/search.json` endpoint and update tests accordingly
* feat: Add API contract tests to compare FastAPI and webpy search endpoints, introducing shared test fixtures and updating existing FastAPI tests.
* feat: Remove explicit `page` and `limit` addition to search query dictionary and corresponding test.
* feat: Standardize boolean query parameters to string literals, add `author_facet` as an alias for `author_key`, and enhance API contract testing with dynamic parameter generation.
* add all search fields programatically
* test: rename arbitrary query parameter `osp_count` to `osp_count_fake` in search test.
* refactor: Remove dynamic field addition by inlining WorkSearchScheme fields into PublicQueryOptions and add a synchronization test.
* feat: refactor work search query parameter handling.
0 commit comments