diff --git a/packages/catalog-client/src/CatalogClient.test.ts b/packages/catalog-client/src/CatalogClient.test.ts index f11627d092..c235ff1592 100644 --- a/packages/catalog-client/src/CatalogClient.test.ts +++ b/packages/catalog-client/src/CatalogClient.test.ts @@ -343,14 +343,16 @@ describe('CatalogClient', () => { await client.queryEntities({ fields: ['a', 'b'], limit: 100, - query: 'query', + fullTextFilter: { + term: 'query', + }, orderFields: [ { field: 'metadata.name', order: 'asc' }, { field: 'metadata.uid', order: 'desc' }, ], }); expect(mockedEndpoint.mock.calls[0][0].url.search).toBe( - '?limit=100&sortField=metadata.name,asc&sortField=metadata.uid,desc&fields=a,b&query=query', + '?limit=100&sortField=metadata.name,asc&sortField=metadata.uid,desc&fields=a,b&fullTextFilterTerm=query', ); }); @@ -366,7 +368,9 @@ describe('CatalogClient', () => { await client.queryEntities({ fields: ['a', 'b'], limit: 100, - query: 'query', + fullTextFilter: { + term: 'query', + }, orderFields: [{ field: 'metadata.name', order: 'asc' }], cursor: 'cursor', }); diff --git a/packages/catalog-client/src/CatalogClient.ts b/packages/catalog-client/src/CatalogClient.ts index a380baf6e5..4984d394d4 100644 --- a/packages/catalog-client/src/CatalogClient.ts +++ b/packages/catalog-client/src/CatalogClient.ts @@ -214,7 +214,13 @@ export class CatalogClient implements CatalogApi { const params: string[] = []; if (isQueryEntitiesInitialRequest(request)) { - const { fields = [], filter, limit, orderFields, query } = request; + const { + fields = [], + filter, + limit, + orderFields, + fullTextFilter, + } = request; params.push(...this.getParams(filter)); if (limit !== undefined) { @@ -229,9 +235,12 @@ export class CatalogClient implements CatalogApi { params.push(`fields=${fields.map(encodeURIComponent).join(',')}`); } - const normalizedQuery = query?.trim(); - if (normalizedQuery) { - params.push(`query=${normalizedQuery}`); + const normalizedFullTextFilterTerm = fullTextFilter?.term?.trim(); + if (normalizedFullTextFilterTerm) { + params.push(`fullTextFilterTerm=${normalizedFullTextFilterTerm}`); + } + if (fullTextFilter?.fields?.length) { + params.push(`fullTextFilterFields=${fullTextFilter.fields.join(',')}`); } } else { const { fields = [], limit, cursor } = request; diff --git a/packages/catalog-client/src/types/api.ts b/packages/catalog-client/src/types/api.ts index 4a727b7bf0..963e0521a0 100644 --- a/packages/catalog-client/src/types/api.ts +++ b/packages/catalog-client/src/types/api.ts @@ -401,7 +401,10 @@ export type QueryEntitiesInitialRequest = { limit?: number; filter?: EntityFilterQuery; orderFields?: EntityOrderQuery; - query?: string; + fullTextFilter?: { + term: string; + fields?: string[]; + }; }; /**