Skip to content

Commit

Permalink
Add filter extension (#825)
Browse files Browse the repository at this point in the history
* feat: add filter extension to conformance

* feat: add cql2 filter extension for POST

* fix: remove commented code, get rid of .only in tes

* feat: cql2 filter extension for GET

* fix: use fully qualified property names

* test: remove redundant test

- decided to not handle filter={}; let it fail

* build: 'npm audit fix' to get CI passing

* feat: check for correct filter-lang and filter-crs

* feat: Add filter extension to aggregate endpoint

* docs: update CHANGELOG

* test: add test for top level field and property in filter extension filter

* review: move constants out of function

* review: stacQlQuery -> stacqlQuery

* review: buildQuery -> buildOpenSearchQuery

* review: Add minimum_should_match = 1 for 'should' clauses

* fix: remove .only from test, update a test comment

* review: remove explicit prefixing of properties object fields

* feat: raise error when collection queryables has additionalProperties set to false

* style: align existing test format

* feat: add query and filter extensions to openapi.yaml

* docs: update README.md

* fix: finish adding filters extension to the OpenAPI spec

* fix: minor changes to query extension in openapi.yaml

* docs: augument CHANGELOG entry, tweak extension list in README

* review: remove bbox from UNPREFIXED_FIELDS

* review: clarify that fields **must not** be prefixed

* review: add deprecated note to Context Extension

* review: Add note about filter expression terms exactly matching Item properties fields

* review: add back bbox and note that bbox and geometry are not yet supported for filtering

* review: add back bbox
  • Loading branch information
pjhartzell authored Jan 24, 2025
1 parent 3a82739 commit c692a0a
Show file tree
Hide file tree
Showing 12 changed files with 2,775 additions and 949 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## Unreleased

### Added

- Minimum implementation (basic-cql2 conformance class) of the filter extension for the
`/search` (GET and POST), `/collections/{collectionId}/items` (GET), and `/aggregate`
(GET) endpoints. Only CQL2 JSON is supported.

## [3.8.0] - 2024-05-29

### Changed
Expand Down Expand Up @@ -465,6 +473,7 @@ Initial release, forked from [sat-api](https://github.com/sat-utils/sat-api/tree
Compliant with STAC 0.9.0

<!-- [unreleased]: https://github.com/stac-utils/stac-api/compare/v3.6.0...main -->

[3.7.0]: https://github.com/stac-utils/stac-api/compare/v3.6.0...v3.7.0
[3.6.0]: https://github.com/stac-utils/stac-api/compare/v3.5.0...v3.6.0
[3.5.0]: https://github.com/stac-utils/stac-api/compare/v3.4.0...v3.5.0
Expand Down
235 changes: 146 additions & 89 deletions README.md

Large diffs are not rendered by default.

2,214 changes: 1,455 additions & 759 deletions package-lock.json

Large diffs are not rendered by default.

Loading

0 comments on commit c692a0a

Please sign in to comment.