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 (view full)

Implements

Constructors

  • Creates an instance of UpdateRequestBuilder.

    Type Parameters

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

    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) => undefined | string)

      Extractor for ETag from payload.

        • (json): undefined | string
        • Parameters

          • json: Record<string, any>

          Returns undefined | string

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

      Manipulator for the payload.

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

          • body: Record<string, any>

          Returns Record<string, any>

    Returns UpdateRequestBuilderBase<EntityT, DeSerializersT>

Properties

_deSerializers: DeSerializersT

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

_entity: EntityT

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

entitySerializer: EntitySerializer
extractODataEtag: ((json) => undefined | string)

Type declaration

    • (json): undefined | string
    • Parameters

      • json: Record<string, any>

      Returns undefined | string

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

Type declaration

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

      • body: Record<string, any>

      Returns Record<string, any>

Accessors

  • get entity(): EntityT
  • Returns EntityT

Methods

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

    Parameters

    • headers: Record<string, string>

      Key-value pairs denoting additional custom headers.

    Returns this

    The request builder itself, to facilitate method chaining.

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

    Parameters

    • queryParameters: Record<string, string>

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

    Returns this

    The request builder itself, to facilitate method chaining.

  • 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.

    Parameters

    • requestConfiguration: CustomRequestConfig

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

    Returns this

    The request builder itself, to facilitate method chaining.

  • 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.

    Parameters

    • Rest ...path: string[]

      Path to be appended.

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

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

  • 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 this

    The request itself to ease chaining while executing the request.

  • Parameters

    • obj: any

    Returns boolean

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

    Parameters

    Returns this

    The request builder itself, to facilitate method chaining.

  • Parameters

    Returns this

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

    Returns string

    The relative URL for the request.

  • 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 this

    The entity itself, to facilitate method chaining.

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

    Parameters

    • basePath: string

      Path to override the default with.

    Returns this

    The request builder itself, to facilitate method chaining.

  • Sets user-defined identifier for the batch reference.

    Parameters

    • id: string

      User-defined batch request identifier.

    Returns void

  • Sets entity fields to ignore by the update request.

    Parameters

    Returns this

    The entity itself, to facilitate method chaining.

  • Parameters

    Returns this

  • Sets required entity keys for the update request.

    Parameters

    Returns this

    The entity itself, to facilitate method chaining.

  • Parameters

    Returns this

  • Sets ETag version identifier of the entity to update.

    Parameters

    • etag: string

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

    Returns this

    The request itself to ease chaining while executing the request.

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

    Returns this

    The request builder itself, to facilitate method chaining.

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

    Parameters

    Returns Promise<string>

    Promise resolving to the URL for the request.

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