From 74ee81868cc9c5ca58aceab29984fb8640f4c0c5 Mon Sep 17 00:00:00 2001 From: Jan Calanog Date: Tue, 2 Jun 2026 21:53:12 +0200 Subject: [PATCH] =?UTF-8?q?Search:=20Fix=20schema=20key=20content=5Ftype?= =?UTF-8?q?=20=E2=86=92=20type=20to=20match=20API=20response?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The navigation-search API serializes NavigationSearchResultItem.Type as "type" (CamelCase policy). The previous fix incorrectly renamed the Zod key from "type" to "content_type", causing SearchResponse.parse() to fail on every result item. Co-Authored-By: Claude Sonnet 4.6 (1M context) --- .../Assets/web-components/ModalSearch/useModalSearchQuery.ts | 2 +- .../NavigationSearch/NavigationSearchTelemetry.test.tsx | 4 ++-- .../NavigationSearch/useNavigationSearchQuery.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Elastic.Documentation.Site/Assets/web-components/ModalSearch/useModalSearchQuery.ts b/src/Elastic.Documentation.Site/Assets/web-components/ModalSearch/useModalSearchQuery.ts index 773e5446e..d6422f389 100644 --- a/src/Elastic.Documentation.Site/Assets/web-components/ModalSearch/useModalSearchQuery.ts +++ b/src/Elastic.Documentation.Site/Assets/web-components/ModalSearch/useModalSearchQuery.ts @@ -36,7 +36,7 @@ const SearchResultItemParent = z.object({ }) const SearchResultItem = z.object({ - content_type: z.enum(['docs']), + type: z.enum(['docs']), url: z.string(), title: z.string(), description: z.string(), diff --git a/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/NavigationSearchTelemetry.test.tsx b/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/NavigationSearchTelemetry.test.tsx index d4584174b..d5c25d305 100644 --- a/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/NavigationSearchTelemetry.test.tsx +++ b/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/NavigationSearchTelemetry.test.tsx @@ -32,7 +32,7 @@ const mockSearchResults = { title: 'Elasticsearch Guide', description: 'Learn about Elasticsearch', score: 0.95, - content_type: 'docs' as const, + type: 'docs' as const, parents: [{ title: 'Docs' }, { title: 'Elasticsearch' }], }, { @@ -40,7 +40,7 @@ const mockSearchResults = { title: 'Kibana Dashboard', description: 'Create dashboards', score: 0.85, - content_type: 'docs' as const, + type: 'docs' as const, parents: [{ title: 'Docs' }, { title: 'Kibana' }], }, ], diff --git a/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/useNavigationSearchQuery.ts b/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/useNavigationSearchQuery.ts index 343e4130b..709717424 100644 --- a/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/useNavigationSearchQuery.ts +++ b/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/useNavigationSearchQuery.ts @@ -40,7 +40,7 @@ const SearchResultItemParent = z.object({ }) const SearchResultItem = z.object({ - content_type: z.enum(['docs']), + type: z.enum(['docs']), url: z.string(), title: z.string(), description: z.string(),