@sap-cloud-sdk/odata-common
Version:
SAP Cloud SDK for JavaScript common functions of OData client generator and OpenAPI clint generator.
42 lines (41 loc) • 3.17 kB
TypeScript
import { ODataBatchRequestConfig } from '../../request';
import { MethodRequestBuilder } from '../request-builder-base';
import { BatchChangeSet } from './batch-change-set';
import type { HttpDestinationOrFetchOptions } from '@sap-cloud-sdk/connectivity';
import type { HttpResponse } from '@sap-cloud-sdk/http-client';
import type { DefaultDeSerializers, DeSerializers } from '../../de-serializers';
import type { EntityApi } from '../../entity-api';
import type { EntityBase } from '../../entity-base';
import type { ODataRequestConfig, ODataRequest } from '../../request';
import type { OperationRequestBuilderBase } from '../operation-request-builder-base';
import type { GetAllRequestBuilderBase } from '../get-all-request-builder-base';
import type { GetByKeyRequestBuilderBase } from '../get-by-key-request-builder-base';
import type { BatchSubRequestPathType } from './batch-request-options';
/**
* Create a batch request to invoke multiple requests as a batch. The batch request builder accepts retrieve requests, i. e. {@link GetAllRequestBuilder | getAll} and {@link GetByKeyRequestBuilder | getByKey} requests and change sets, which in turn can contain {@link CreateRequestBuilder | create}, {@link UpdateRequestBuilder | update} or {@link DeleteRequestBuilder | delete} requests.
* The retrieve and change sets will be executed in order, while the order within a change set can vary.
* @internal
*/
export declare class BatchRequestBuilder<DeSerializersT extends DeSerializers = DefaultDeSerializers> extends MethodRequestBuilder<ODataBatchRequestConfig> {
readonly defaultBasePath: string;
readonly requests: (BatchChangeSet<DeSerializersT> | GetAllRequestBuilderBase<EntityBase, DeSerializersT> | GetByKeyRequestBuilderBase<EntityBase, DeSerializersT> | Omit<OperationRequestBuilderBase<DeSerializersT, unknown, ODataRequestConfig>, 'execute'>)[];
readonly deSerializers: DeSerializersT | undefined;
/**
* Creates an instance of ODataBatchRequestBuilder.
* @param defaultBasePath - Base path.
* @param requests - An array of retrieve requests or change sets.
*/
constructor(defaultBasePath: string, requests: (BatchChangeSet<DeSerializersT> | GetAllRequestBuilderBase<EntityBase, DeSerializersT> | GetByKeyRequestBuilderBase<EntityBase, DeSerializersT> | Omit<OperationRequestBuilderBase<DeSerializersT, unknown, ODataRequestConfig>, 'execute'>)[]);
withSubRequestPathType(subRequestPathType: BatchSubRequestPathType): this;
build(): ODataRequest<ODataBatchRequestConfig>;
build(destination: HttpDestinationOrFetchOptions): Promise<ODataRequest<ODataBatchRequestConfig>>;
/**
* Execute request and return an {@link @sap-cloud-sdk/http-client!HttpResponse}.
* @param destination - Destination or DestinationFetchOptions to execute the request against.
* @returns A promise resolving to an {@link @sap-cloud-sdk/http-client!HttpResponse}.
*/
executeRaw(destination: HttpDestinationOrFetchOptions): Promise<HttpResponse>;
protected getEntityToApiMap(): Record<string, EntityApi<EntityBase, DeSerializersT>>;
private setPayload;
private getOperationDeserializers;
}