catalog:client rename method to queryEntities

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
This commit is contained in:
Vincenzo Scamporlino
2023-02-02 11:17:49 +01:00
parent b17bc01913
commit cdbe702d35
6 changed files with 61 additions and 61 deletions
+20 -20
View File
@@ -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',
);
+6 -6
View File
@@ -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)) {
+15 -15
View File
@@ -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
+4 -4
View File
@@ -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';
+8 -8
View File
@@ -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);
}