catalog:client rename method to queryEntities
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
This commit is contained in:
@@ -58,10 +58,10 @@ export interface CatalogApi {
|
||||
locationRef: string,
|
||||
options?: CatalogRequestOptions,
|
||||
): Promise<Location_2 | undefined>;
|
||||
getPaginatedEntities(
|
||||
request?: GetPaginatedEntitiesRequest,
|
||||
queryEntities(
|
||||
request?: QueryEntitiesRequest,
|
||||
options?: CatalogRequestOptions,
|
||||
): Promise<GetPaginatedEntitiesResponse>;
|
||||
): Promise<QueryEntitiesResponse>;
|
||||
refreshEntity(
|
||||
entityRef: string,
|
||||
options?: CatalogRequestOptions,
|
||||
@@ -128,10 +128,10 @@ export class CatalogClient implements CatalogApi {
|
||||
locationRef: string,
|
||||
options?: CatalogRequestOptions,
|
||||
): Promise<Location_2 | undefined>;
|
||||
getPaginatedEntities(
|
||||
request?: GetPaginatedEntitiesRequest,
|
||||
queryEntities(
|
||||
request?: QueryEntitiesRequest,
|
||||
options?: CatalogRequestOptions,
|
||||
): Promise<GetPaginatedEntitiesResponse>;
|
||||
): Promise<QueryEntitiesResponse>;
|
||||
refreshEntity(
|
||||
entityRef: string,
|
||||
options?: CatalogRequestOptions,
|
||||
@@ -242,14 +242,22 @@ export interface GetEntityFacetsResponse {
|
||||
}
|
||||
|
||||
// @public
|
||||
export type GetPaginatedEntitiesCursorRequest = {
|
||||
type Location_2 = {
|
||||
id: string;
|
||||
type: string;
|
||||
target: string;
|
||||
};
|
||||
export { Location_2 as Location };
|
||||
|
||||
// @public
|
||||
export type QueryEntitiesCursorRequest = {
|
||||
fields?: string[];
|
||||
limit?: number;
|
||||
cursor: string;
|
||||
};
|
||||
|
||||
// @public
|
||||
export type GetPaginatedEntitiesInitialRequest = {
|
||||
export type QueryEntitiesInitialRequest = {
|
||||
fields?: string[];
|
||||
limit?: number;
|
||||
filter?: EntityFilterQuery;
|
||||
@@ -258,26 +266,18 @@ export type GetPaginatedEntitiesInitialRequest = {
|
||||
};
|
||||
|
||||
// @public
|
||||
export type GetPaginatedEntitiesRequest =
|
||||
| GetPaginatedEntitiesInitialRequest
|
||||
| GetPaginatedEntitiesCursorRequest;
|
||||
export type QueryEntitiesRequest =
|
||||
| QueryEntitiesInitialRequest
|
||||
| QueryEntitiesCursorRequest;
|
||||
|
||||
// @public
|
||||
export type GetPaginatedEntitiesResponse = {
|
||||
export type QueryEntitiesResponse = {
|
||||
entities: Entity[];
|
||||
totalItems: number;
|
||||
nextCursor?: string;
|
||||
prevCursor?: string;
|
||||
};
|
||||
|
||||
// @public
|
||||
type Location_2 = {
|
||||
id: string;
|
||||
type: string;
|
||||
target: string;
|
||||
};
|
||||
export { Location_2 as Location };
|
||||
|
||||
// @public
|
||||
export type ValidateEntityResponse =
|
||||
| {
|
||||
|
||||
@@ -249,7 +249,7 @@ describe('CatalogClient', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('getPaginatedEntities', () => {
|
||||
describe('queryEntities', () => {
|
||||
const defaultServiceResponse = {
|
||||
entities: [
|
||||
{
|
||||
@@ -307,7 +307,7 @@ describe('CatalogClient', () => {
|
||||
});
|
||||
|
||||
it('should fetch entities from correct endpoint', async () => {
|
||||
const response = await client.getPaginatedEntities({}, { token });
|
||||
const response = await client.queryEntities({}, { token });
|
||||
expect(response?.entities).toEqual(defaultClientResponse.entities);
|
||||
expect(response?.totalItems).toEqual(defaultClientResponse.totalItems);
|
||||
expect(response?.nextCursor).toBeDefined();
|
||||
@@ -323,7 +323,7 @@ describe('CatalogClient', () => {
|
||||
|
||||
server.use(rest.get(`${mockBaseUrl}/entities/by-query`, mockedEndpoint));
|
||||
|
||||
const response = await client.getPaginatedEntities(
|
||||
const response = await client.queryEntities(
|
||||
{
|
||||
filter: [
|
||||
{
|
||||
@@ -358,7 +358,7 @@ describe('CatalogClient', () => {
|
||||
|
||||
server.use(rest.get(`${mockBaseUrl}/entities/by-query`, mockedEndpoint));
|
||||
|
||||
await client.getPaginatedEntities({
|
||||
await client.queryEntities({
|
||||
fields: ['a', 'b'],
|
||||
limit: 100,
|
||||
query: 'query',
|
||||
@@ -381,7 +381,7 @@ describe('CatalogClient', () => {
|
||||
|
||||
server.use(rest.get(`${mockBaseUrl}/entities/by-query`, mockedEndpoint));
|
||||
|
||||
await client.getPaginatedEntities({
|
||||
await client.queryEntities({
|
||||
fields: ['a', 'b'],
|
||||
limit: 100,
|
||||
query: 'query',
|
||||
@@ -424,7 +424,7 @@ describe('CatalogClient', () => {
|
||||
|
||||
server.use(rest.get(`${mockBaseUrl}/entities/by-query`, mockedEndpoint));
|
||||
|
||||
const response = await client.getPaginatedEntities({
|
||||
const response = await client.queryEntities({
|
||||
limit: 2,
|
||||
});
|
||||
expect(mockedEndpoint.mock.calls[0][0].url.search).toBe('?limit=2');
|
||||
@@ -432,12 +432,12 @@ describe('CatalogClient', () => {
|
||||
expect(response?.nextCursor).toBeDefined();
|
||||
expect(response?.prevCursor).toBeDefined();
|
||||
|
||||
await client.getPaginatedEntities({ cursor: response!.nextCursor! });
|
||||
await client.queryEntities({ cursor: response!.nextCursor! });
|
||||
expect(mockedEndpoint.mock.calls[1][0].url.search).toBe(
|
||||
'?cursor=nextcursor',
|
||||
);
|
||||
|
||||
await client.getPaginatedEntities({ cursor: response!.prevCursor! });
|
||||
await client.queryEntities({ cursor: response!.prevCursor! });
|
||||
expect(mockedEndpoint.mock.calls[2][0].url.search).toBe(
|
||||
'?cursor=prevcursor',
|
||||
);
|
||||
|
||||
@@ -39,8 +39,8 @@ import {
|
||||
ValidateEntityResponse,
|
||||
GetEntitiesByRefsRequest,
|
||||
GetEntitiesByRefsResponse,
|
||||
GetPaginatedEntitiesRequest,
|
||||
GetPaginatedEntitiesResponse,
|
||||
QueryEntitiesRequest,
|
||||
QueryEntitiesResponse,
|
||||
EntityFilterQuery,
|
||||
} from './types/api';
|
||||
import { DiscoveryApi } from './types/discovery';
|
||||
@@ -205,12 +205,12 @@ export class CatalogClient implements CatalogApi {
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc CatalogApi.getPaginatedEntities}
|
||||
* {@inheritdoc CatalogApi.queryEntities}
|
||||
*/
|
||||
async getPaginatedEntities(
|
||||
request: GetPaginatedEntitiesRequest = {},
|
||||
async queryEntities(
|
||||
request: QueryEntitiesRequest = {},
|
||||
options?: CatalogRequestOptions,
|
||||
): Promise<GetPaginatedEntitiesResponse> {
|
||||
): Promise<QueryEntitiesResponse> {
|
||||
const params: string[] = [];
|
||||
|
||||
if (isPaginatedEntitiesInitialRequest(request)) {
|
||||
|
||||
@@ -378,16 +378,16 @@ export type ValidateEntityResponse =
|
||||
| { valid: false; errors: SerializedError[] };
|
||||
|
||||
/**
|
||||
* The request type for {@link CatalogClient.getPaginatedEntities}.
|
||||
* The request type for {@link CatalogClient.queryEntities}.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export type GetPaginatedEntitiesRequest =
|
||||
| GetPaginatedEntitiesInitialRequest
|
||||
| GetPaginatedEntitiesCursorRequest;
|
||||
export type QueryEntitiesRequest =
|
||||
| QueryEntitiesInitialRequest
|
||||
| QueryEntitiesCursorRequest;
|
||||
|
||||
/**
|
||||
* A request type for {@link CatalogClient.getPaginatedEntities}.
|
||||
* A request type for {@link CatalogClient.queryEntities}.
|
||||
* The method takes this type in an initial pagination request,
|
||||
* when requesting the first batch of entities.
|
||||
*
|
||||
@@ -396,7 +396,7 @@ export type GetPaginatedEntitiesRequest =
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export type GetPaginatedEntitiesInitialRequest = {
|
||||
export type QueryEntitiesInitialRequest = {
|
||||
fields?: string[];
|
||||
limit?: number;
|
||||
filter?: EntityFilterQuery;
|
||||
@@ -405,24 +405,24 @@ export type GetPaginatedEntitiesInitialRequest = {
|
||||
};
|
||||
|
||||
/**
|
||||
* A request type for {@link CatalogClient.getPaginatedEntities}.
|
||||
* A request type for {@link CatalogClient.queryEntities}.
|
||||
* The method takes this type in a pagination request, following
|
||||
* the initial request.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export type GetPaginatedEntitiesCursorRequest = {
|
||||
export type QueryEntitiesCursorRequest = {
|
||||
fields?: string[];
|
||||
limit?: number;
|
||||
cursor: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* The response type for {@link CatalogClient.getPaginatedEntities}.
|
||||
* The response type for {@link CatalogClient.queryEntities}.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export type GetPaginatedEntitiesResponse = {
|
||||
export type QueryEntitiesResponse = {
|
||||
/* The list of entities for the current request */
|
||||
entities: Entity[];
|
||||
/* The number of entities among all the requests */
|
||||
@@ -475,7 +475,7 @@ export interface CatalogApi {
|
||||
* Example:
|
||||
*
|
||||
* ```
|
||||
* const response = await catalogClient.getPaginatedEntities({
|
||||
* const response = await catalogClient.queryEntities({
|
||||
* filter: [{ kind: 'group' }],
|
||||
* limit: 20,
|
||||
* query: 'A',
|
||||
@@ -492,7 +492,7 @@ export interface CatalogApi {
|
||||
*
|
||||
* ```
|
||||
* const secondBatchResponse = await catalogClient
|
||||
* .getPaginatedEntities({ cursor: response.nextCursor });
|
||||
* .queryEntities({ cursor: response.nextCursor });
|
||||
* ```
|
||||
*
|
||||
* secondBatchResponse will contain the next batch of (maximum) 20 entities,
|
||||
@@ -503,10 +503,10 @@ export interface CatalogApi {
|
||||
* @param request - Request parameters
|
||||
* @param options - Additional options
|
||||
*/
|
||||
getPaginatedEntities(
|
||||
request?: GetPaginatedEntitiesRequest,
|
||||
queryEntities(
|
||||
request?: QueryEntitiesRequest,
|
||||
options?: CatalogRequestOptions,
|
||||
): Promise<GetPaginatedEntitiesResponse>;
|
||||
): Promise<QueryEntitiesResponse>;
|
||||
|
||||
/**
|
||||
* Gets entity ancestor information, i.e. the hierarchy of parent entities
|
||||
|
||||
@@ -33,9 +33,9 @@ export type {
|
||||
GetEntityFacetsResponse,
|
||||
Location,
|
||||
ValidateEntityResponse,
|
||||
GetPaginatedEntitiesCursorRequest,
|
||||
GetPaginatedEntitiesInitialRequest,
|
||||
GetPaginatedEntitiesRequest,
|
||||
GetPaginatedEntitiesResponse,
|
||||
QueryEntitiesCursorRequest,
|
||||
QueryEntitiesInitialRequest,
|
||||
QueryEntitiesRequest,
|
||||
QueryEntitiesResponse,
|
||||
} from './api';
|
||||
export { ENTITY_STATUS_CATALOG_PROCESSING_TYPE } from './status';
|
||||
|
||||
@@ -15,19 +15,19 @@
|
||||
*/
|
||||
|
||||
import {
|
||||
GetPaginatedEntitiesCursorRequest,
|
||||
GetPaginatedEntitiesInitialRequest,
|
||||
GetPaginatedEntitiesRequest,
|
||||
QueryEntitiesCursorRequest,
|
||||
QueryEntitiesInitialRequest,
|
||||
QueryEntitiesRequest,
|
||||
} from './types/api';
|
||||
|
||||
export function isPaginatedEntitiesInitialRequest(
|
||||
request: GetPaginatedEntitiesInitialRequest,
|
||||
): request is GetPaginatedEntitiesInitialRequest {
|
||||
return !(request as GetPaginatedEntitiesCursorRequest).cursor;
|
||||
request: QueryEntitiesInitialRequest,
|
||||
): request is QueryEntitiesInitialRequest {
|
||||
return !(request as QueryEntitiesCursorRequest).cursor;
|
||||
}
|
||||
|
||||
export function isPaginatedEntitiesCursorRequest(
|
||||
request: GetPaginatedEntitiesRequest,
|
||||
): request is GetPaginatedEntitiesCursorRequest {
|
||||
request: QueryEntitiesRequest,
|
||||
): request is QueryEntitiesCursorRequest {
|
||||
return !isPaginatedEntitiesInitialRequest(request);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user