diff --git a/server/utils/search-converters.test.ts b/server/utils/search-converters.test.ts index 95ad2e2..a90c33d 100644 --- a/server/utils/search-converters.test.ts +++ b/server/utils/search-converters.test.ts @@ -12,6 +12,7 @@ describe('converters', () => { summary: 'High efficiency', description: 'Detailed description', type: 'pump', + cover: 'rand-om__-uuid-1234', }; const result = converters.products(item); expect(result).toEqual({ @@ -19,6 +20,7 @@ describe('converters', () => { type: 'product', title: 'Hydraulic Pump', summary: 'High efficiency', + thumbnail: '/api/assets/rand-om__-uuid-1234', }); }); @@ -29,6 +31,7 @@ describe('converters', () => { summary: 'Effective solution', content: 'Detailed content', type: 'Type A', + cover: 'rand-om__-uuid-5678', }; const result = converters.solutions(item); expect(result).toEqual({ @@ -36,6 +39,7 @@ describe('converters', () => { type: 'solution', title: 'Solution A', summary: 'Effective solution', + thumbnail: '/api/assets/rand-om__-uuid-5678', }); }); diff --git a/server/utils/search-converters.ts b/server/utils/search-converters.ts index b5a66dc..c334131 100644 --- a/server/utils/search-converters.ts +++ b/server/utils/search-converters.ts @@ -8,16 +8,16 @@ export const converters: { id: item.id, type: 'product', title: item.name, - summary: item.summary, - thumbnail: `/api/assets/${item.cover}`, + summary: item?.summary ?? '', + thumbnail: item?.cover ? `/api/assets/${item.cover}` : undefined, }), solutions: (item: MeiliIndexMap['solutions']): SearchItemView => ({ id: item.id, type: 'solution', title: item.title, - summary: item.summary, - thumbnail: `/api/assets/${item.cover}`, + summary: item?.summary ?? '', + thumbnail: item?.cover ? `/api/assets/${item.cover}` : undefined, }), questions: (item: MeiliIndexMap['questions']): SearchItemView => ({ diff --git a/shared/types/meilisearch/meili-index.ts b/shared/types/meilisearch/meili-index.ts index d7a5810..9555b64 100644 --- a/shared/types/meilisearch/meili-index.ts +++ b/shared/types/meilisearch/meili-index.ts @@ -9,16 +9,16 @@ export interface MeiliProductIndex { name: string; /** 产品简介 **/ - summary: string; + summary?: string; /** 产品详情 **/ - description: string; + description?: string; /** 产品类型 **/ - type: string; + type?: string; /** 产品缩略图 **/ - cover: string; + cover?: string; } /** @@ -32,16 +32,16 @@ export interface MeiliSolutionIndex { title: string; /** 解决方案摘要 **/ - summary: string; + summary?: string; /** 解决方案内容 **/ - content: string; + content?: string; /** 解决方案类型 **/ - type: string; + type?: string; /** 解决方案缩略图 **/ - cover: string; + cover?: string; } /** @@ -55,7 +55,7 @@ export interface MeiliQuestionIndex { title: string; /** 问题内容 **/ - content: string; + content?: string; /** 相关产品 **/ products: string[];