From 7bec895addbeaa80e9abed897b67238c8a13a342 Mon Sep 17 00:00:00 2001 From: vincentsarago Date: Mon, 3 Mar 2025 17:44:30 +0100 Subject: [PATCH 1/3] defined links title in landing page --- stac_fastapi/api/tests/test_app.py | 4 ++-- stac_fastapi/api/tests/test_app_prefix.py | 3 +++ stac_fastapi/types/stac_fastapi/types/core.py | 11 +++++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/stac_fastapi/api/tests/test_app.py b/stac_fastapi/api/tests/test_app.py index 417d12f41..20091a6ce 100644 --- a/stac_fastapi/api/tests/test_app.py +++ b/stac_fastapi/api/tests/test_app.py @@ -188,7 +188,7 @@ def get_search( ) assert landing.status_code == 200, landing.text - assert "Queryables" in [link.get("title") for link in landing.json()["links"]] + assert "Catalog Queryables" in [link.get("title") for link in landing.json()["links"]] assert get_search.status_code == 200, get_search.text assert post_search.status_code == 200, post_search.text @@ -221,7 +221,7 @@ def get_search( ) assert landing.status_code == 200, landing.text - assert "Queryables" in [link.get("title") for link in landing.json()["links"]] + assert "Catalog Queryables" in [link.get("title") for link in landing.json()["links"]] assert get_search.status_code == 200, get_search.text assert post_search.status_code == 200, post_search.text diff --git a/stac_fastapi/api/tests/test_app_prefix.py b/stac_fastapi/api/tests/test_app_prefix.py index 196e46135..ea20c6c29 100644 --- a/stac_fastapi/api/tests/test_app_prefix.py +++ b/stac_fastapi/api/tests/test_app_prefix.py @@ -64,6 +64,7 @@ def test_api_prefix(TestCoreClient, prefix): link_tests = [ ("root", "application/json", "/"), + ("self", "application/json", "/"), ("conformance", "application/json", "/conformance"), ("data", "application/json", "/collections"), ("search", "application/geo+json", "/search"), @@ -126,6 +127,7 @@ def test_async_api_prefix(AsyncTestCoreClient, prefix): link_tests = [ ("root", "application/json", "/"), + ("self", "application/json", "/"), ("conformance", "application/json", "/conformance"), ("data", "application/json", "/collections"), ("search", "application/geo+json", "/search"), @@ -190,6 +192,7 @@ def test_api_prefix_with_root_path(TestCoreClient, prefix): link_tests = [ ("root", "application/json", "/"), + ("self", "application/json", "/"), ("conformance", "application/json", "/conformance"), ("data", "application/json", "/collections"), ("search", "application/geo+json", "/search"), diff --git a/stac_fastapi/types/stac_fastapi/types/core.py b/stac_fastapi/types/stac_fastapi/types/core.py index 4796f5849..93d7893e2 100644 --- a/stac_fastapi/types/stac_fastapi/types/core.py +++ b/stac_fastapi/types/stac_fastapi/types/core.py @@ -289,16 +289,19 @@ def _landing_page( { "rel": Relations.self.value, "type": MimeTypes.json.value, + "title": "This document", "href": base_url, }, { "rel": Relations.root.value, "type": MimeTypes.json.value, + "title": "Root", "href": base_url, }, { "rel": Relations.data.value, "type": MimeTypes.json.value, + "title": "Collections available for this Catalog", "href": urljoin(base_url, "collections"), }, { @@ -310,14 +313,14 @@ def _landing_page( { "rel": Relations.search.value, "type": MimeTypes.geojson.value, - "title": "STAC search", + "title": "STAC search [GET]", "href": urljoin(base_url, "search"), "method": "GET", }, { "rel": Relations.search.value, "type": MimeTypes.geojson.value, - "title": "STAC search", + "title": "STAC search [POST]", "href": urljoin(base_url, "search"), "method": "POST", }, @@ -391,7 +394,7 @@ def landing_page(self, **kwargs) -> stac.LandingPage: { "rel": Relations.queryables.value, "type": MimeTypes.jsonschema.value, - "title": "Queryables", + "title": "Queryables available for this Catalog", "href": urljoin(base_url, "queryables"), } ) @@ -601,7 +604,7 @@ async def landing_page(self, **kwargs) -> stac.LandingPage: { "rel": Relations.queryables.value, "type": MimeTypes.jsonschema.value, - "title": "Queryables", + "title": "Catalog Queryables", "href": urljoin(base_url, "queryables"), "method": "GET", } From 8327d5fd828844679e0c49219b1bf3cfd790ea6b Mon Sep 17 00:00:00 2001 From: vincentsarago Date: Mon, 3 Mar 2025 17:45:20 +0100 Subject: [PATCH 2/3] update changelog --- CHANGES.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 732d59178..ba0307bfb 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,10 @@ ## [Unreleased] +### Added + +- titles in `Landing` page links + ### Changed - remove `child` links (`collections`) in landing page response From 1560cc9e8dee7493a683795c677d4547c2b88fdb Mon Sep 17 00:00:00 2001 From: vincentsarago Date: Mon, 3 Mar 2025 17:52:58 +0100 Subject: [PATCH 3/3] fix --- stac_fastapi/api/tests/test_app.py | 8 ++++++-- stac_fastapi/types/stac_fastapi/types/core.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/stac_fastapi/api/tests/test_app.py b/stac_fastapi/api/tests/test_app.py index 20091a6ce..7c77a9ab9 100644 --- a/stac_fastapi/api/tests/test_app.py +++ b/stac_fastapi/api/tests/test_app.py @@ -188,7 +188,9 @@ def get_search( ) assert landing.status_code == 200, landing.text - assert "Catalog Queryables" in [link.get("title") for link in landing.json()["links"]] + assert "Queryables available for this Catalog" in [ + link.get("title") for link in landing.json()["links"] + ] assert get_search.status_code == 200, get_search.text assert post_search.status_code == 200, post_search.text @@ -221,7 +223,9 @@ def get_search( ) assert landing.status_code == 200, landing.text - assert "Catalog Queryables" in [link.get("title") for link in landing.json()["links"]] + assert "Queryables available for this Catalog" in [ + link.get("title") for link in landing.json()["links"] + ] assert get_search.status_code == 200, get_search.text assert post_search.status_code == 200, post_search.text diff --git a/stac_fastapi/types/stac_fastapi/types/core.py b/stac_fastapi/types/stac_fastapi/types/core.py index 93d7893e2..99ef87f9c 100644 --- a/stac_fastapi/types/stac_fastapi/types/core.py +++ b/stac_fastapi/types/stac_fastapi/types/core.py @@ -604,7 +604,7 @@ async def landing_page(self, **kwargs) -> stac.LandingPage: { "rel": Relations.queryables.value, "type": MimeTypes.jsonschema.value, - "title": "Catalog Queryables", + "title": "Queryables available for this Catalog", "href": urljoin(base_url, "queryables"), "method": "GET", }