catalog-client: move query to fullTextFilterTerm
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
This commit is contained in:
@@ -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',
|
||||
});
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -401,7 +401,10 @@ export type QueryEntitiesInitialRequest = {
|
||||
limit?: number;
|
||||
filter?: EntityFilterQuery;
|
||||
orderFields?: EntityOrderQuery;
|
||||
query?: string;
|
||||
fullTextFilter?: {
|
||||
term: string;
|
||||
fields?: string[];
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user