catalog-client: move query to fullTextFilterTerm

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
This commit is contained in:
Vincenzo Scamporlino
2023-02-03 13:58:05 +01:00
parent cf166f4030
commit b02b6c3e05
3 changed files with 24 additions and 8 deletions
@@ -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',
});
+13 -4
View File
@@ -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;
+4 -1
View File
@@ -401,7 +401,10 @@ export type QueryEntitiesInitialRequest = {
limit?: number;
filter?: EntityFilterQuery;
orderFields?: EntityOrderQuery;
query?: string;
fullTextFilter?: {
term: string;
fields?: string[];
};
};
/**