UNPKG

@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
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; }