diff --git a/CHANGES.md b/CHANGES.md index 7077d664f..c1020119d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,8 @@ ## [Unreleased] +- remove support of `cql-json` in Filter extension + ## [5.2.1] - 2025-04-18 ### Fixed diff --git a/stac_fastapi/extensions/stac_fastapi/extensions/core/filter/request.py b/stac_fastapi/extensions/stac_fastapi/extensions/core/filter/request.py index 521026eff..08514e4fc 100644 --- a/stac_fastapi/extensions/stac_fastapi/extensions/core/filter/request.py +++ b/stac_fastapi/extensions/stac_fastapi/extensions/core/filter/request.py @@ -9,7 +9,7 @@ from stac_fastapi.types.search import APIRequest -FilterLang = Literal["cql-json", "cql2-json", "cql2-text"] +FilterLang = Literal["cql2-json", "cql2-text"] @attr.s @@ -20,9 +20,9 @@ class FilterExtensionGetRequest(APIRequest): Optional[str], Query( alias="filter", - description="""A CQL filter expression for filtering items.\n -Supports `CQL-JSON` as defined in https://portal.ogc.org/files/96288\n -Remember to URL encode the CQL-JSON if using GET""", + description="""A CQL2 filter expression for filtering items.\n +Supports `CQL2-JSON` as defined in https://docs.ogc.org/is/21-065r2/21-065r2.htmln +Remember to URL encode the CQL2-JSON if using GET""", openapi_examples={ "user-provided": {"value": None}, "landsat8-item": { @@ -83,7 +83,7 @@ class FilterExtensionPostRequest(BaseModel): alias="filter-crs", description="The coordinate reference system (CRS) used by spatial literals in the 'filter' value. Default is `http://www.opengis.net/def/crs/OGC/1.3/CRS84`", # noqa: E501 ) - filter_lang: Optional[Literal["cql-json", "cql2-json"]] = Field( + filter_lang: Optional[Literal["cql2-json"]] = Field( "cql2-json", alias="filter-lang", description="The CQL filter encoding that the 'filter' value uses.", diff --git a/stac_fastapi/extensions/tests/test_filter.py b/stac_fastapi/extensions/tests/test_filter.py index 8dc485e67..ba1c1ece8 100644 --- a/stac_fastapi/extensions/tests/test_filter.py +++ b/stac_fastapi/extensions/tests/test_filter.py @@ -122,26 +122,6 @@ def test_search_filter_post_filter_lang_default(client_name, request): assert response_dict["filter_lang"] == "cql2-json" -@pytest.mark.parametrize("client_name", ["client", "client_multit_ext"]) -def test_search_filter_post_filter_lang_non_default(client_name, request): - """Test search POST endpoint with filter ext.""" - client = request.getfixturevalue(client_name) - - filter_lang_value = "cql-json" - response = client.post( - "/search", - json={ - "collections": ["test"], - "filter": {"eq": [{"property": "test_property"}, "test-value"]}, - "filter-lang": filter_lang_value, - }, - ) - assert response.is_success, response.json() - response_dict = response.json() - assert response_dict["filter_expr"] - assert response_dict["filter_lang"] == filter_lang_value - - @pytest.mark.parametrize("client_name", ["client", "client_multit_ext"]) def test_search_filter_get(client_name, request): """Test search GET endpoint with filter ext."""