Class UpdateRequestBuilderBase<EntityT, DeSerializersT>Abstract

Abstract class to create OData query to update an entity containing methods shared for OData v2 and v4.

Type Parameters

Hierarchy

Implements

Constructors

  • Creates an instance of UpdateRequestBuilder.

    Type Parameters

    • EntityT extends EntityBase<EntityT>

    • DeSerializersT extends DeSerializers<any, any, any, any, any, any, any, any, any, any, any, any, any, any, DeSerializersT>

    Parameters

    • _entityApi: EntityApi<EntityT, DeSerializersT>

      Entity API for building and executing the request.

    • _entity: EntityT

      Entity to be updated.

    • oDataUri: ODataUri<DeSerializersT>

      URI conversion functions.

    • entitySerializer: EntitySerializer

      Entity serializer.

    • extractODataEtag: ((json: Record<string, any>) => undefined | string)

      Extractor for ETag from payload.

        • (json: Record<string, any>): undefined | string
        • Parameters

          • json: Record<string, any>

          Returns undefined | string

    • payloadManipulator: ((body: Record<string, any>) => Record<string, any>)

      Manipulator for the payload.

        • (body: Record<string, any>): Record<string, any>
        • Parameters

          • body: Record<string, any>

          Returns Record<string, any>

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

Properties

_deSerializers: DeSerializersT

Dummy property to include also the deserializer type in the strucutre of the entity type.

_entity: EntityT

Dummy property whose type makes structurally identical entities distiguishable in TypeScript.

_entityApi: EntityApi<EntityT, DeSerializersT>
entitySerializer: EntitySerializer
extractODataEtag: ((json: Record<string, any>) => undefined | string)

Type declaration

    • (json: Record<string, any>): undefined | string
    • Parameters

      • json: Record<string, any>

      Returns undefined | string

oDataUri: ODataUri<DeSerializersT>
payloadManipulator: ((body: Record<string, any>) => Record<string, any>)

Type declaration

    • (body: Record<string, any>): Record<string, any>
    • Parameters

      • body: Record<string, any>

      Returns Record<string, any>

requestConfig: ODataUpdateRequestConfig<EntityT, DeSerializersT>

Accessors

  • get entity(): EntityT
  • Returns EntityT

Methods

  • Add custom headers to the request. Existing headers will be overwritten.

    Returns

    The request builder itself, to facilitate method chaining.

    Parameters

    • headers: Record<string, string>

      Key-value pairs denoting additional custom headers.

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

  • Add custom query parameters to the request. If a query parameter with the given name already exists it is overwritten.

    Returns

    The request builder itself, to facilitate method chaining.

    Parameters

    • queryParameters: Record<string, string>

      Key-value pairs denoting additional custom query parameters to be set in the request.

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

  • Add a custom request configuration to the request. Typically, this is used when specifying a response type for downloading files. If the custom request configuration contains disallowed keys, those will be ignored.

    Returns

    The request builder itself, to facilitate method chaining.

    Parameters

    • requestConfiguration: Record<string, string>

      Key-value pairs denoting additional custom request configuration options to be set in the request.

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

  • Append the given path to the URL. This can be used for querying navigation properties of an entity. To execute a request with an appended path use executeRaw to avoid errors during deserialization. When using this, the execute method is omitted from the return type.

    Returns

    The request builder itself without "execute" function, to facilitate method chaining.

    Parameters

    • Rest ...path: string[]

      Path to be appended.

    Returns Omit<UpdateRequestBuilderBase<EntityT, DeSerializersT>, "execute">

  • Executes the query.

    Returns

    A promise resolving to the entity once it was updated.

    Parameters

    Returns Promise<EntityT>

  • Gets identifier for the batch request.

    Returns

    Batch request identifier.

    Returns BatchReference

  • Returns Record<string, any>

  • Instructs the request to force an overwrite of the entity by sending an 'If-Match: *' header instead of sending the ETag version identifier.

    Returns

    The request itself to ease chaining while executing the request.

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

  • Parameters

    • obj: any

    Returns boolean

  • Create the relative URL based on configuration of the given builder.

    Returns

    The relative URL for the request.

    Returns string

  • Explicitly configure 'PUT' as the method of the update request. By default, only the properties that have changed compared to the last known remote state are sent using 'PATCH', while with 'PUT', the whole entity is sent.

    Returns

    The entity itself, to facilitate method chaining.

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

  • Sets user-defined identifier for the batch reference.

    Parameters

    • id: string

      User-defined batch reuest identifier.

    Returns void

  • Replace the default service path with the given custom path. In case of the SAP S/4HANA APIs the servicePath defaults to /sap/opu/odata/sap/<SERVICE_NAME> and can be overwritten here.

    Returns

    The request builder itself, to facilitate method chaining.

    Parameters

    • servicePath: string

      Path to override the default with.

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

  • Sets entity fields to ignore by the update request.

    Returns

    The entity itself, to facilitate method chaining.

    Parameters

    • Rest ...fields: Selectable<EntityT, DeSerializersT>[]

      Enumeration of the fields to be ignored.

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

  • Parameters

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

  • Sets required entity keys for the update request.

    Returns

    The entity itself, to facilitate method chaining.

    Parameters

    • Rest ...fields: Selectable<EntityT, DeSerializersT>[]

      Enumeration of the fields to be required.

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

  • Parameters

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

  • Sets ETag version identifier of the entity to update.

    Returns

    The request itself to ease chaining while executing the request.

    Parameters

    • etag: string

      Custom ETag version identifier to be sent in the header of the request.

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

  • Skip fetching csrf token for this request, which is typically useful when the csrf token is not required.

    Returns

    The request builder itself, to facilitate method chaining.

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

  • Set timeout for requests towards the target system given in the destination.

    Returns

    The request builder itself, to facilitate method chaining.

    Deprecated

    Since v2.13.0. The timeout configuration is replaced by the more general middleware approach in version 3.0 of the SAP Cloud SDK.

    Parameters

    • timeout: number

      Value is in milliseconds and default value is 10000 (10 seconds).

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

  • Create the URL based on configuration of the given builder.

    Returns

    Promise resolving to the URL for the request.

    Parameters

    Returns Promise<string>

Copyright Ⓒ 2023 SAP SE or an SAP affiliate company. All rights reserved.