Options
All
  • Public
  • Public/Protected
  • All
Menu

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

Type parameters

  • EntityT: EntityBase

    Type of the entity to be updated

Hierarchy

Implements

  • EntityIdentifiable<EntityT>

Index

Constructors

  • new UpdateRequestBuilderBase<EntityT>(_entityConstructor: Constructable<EntityT, unknown>, _entity: EntityT, oDataUri: ODataUri, entitySerializer: EntitySerializer<any, any>, extractODataEtag: (json: Record<string, any>) => undefined | string, payloadManipulator: (body: Record<string, any>) => Record<string, any>): UpdateRequestBuilderBase<EntityT>
  • Creates an instance of UpdateRequestBuilder.

    Type parameters

    Parameters

    • _entityConstructor: Constructable<EntityT, unknown>

      Constructor type of the entity to be updated

    • _entity: EntityT

      Entity to be updated

    • oDataUri: ODataUri

      Collection of URI conversion methods

    • entitySerializer: EntitySerializer<any, any>

      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>

Properties

_entity: EntityT
_entityConstructor: Constructable<EntityT, unknown>
entitySerializer: EntitySerializer<any, any>
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
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>

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 UpdateRequestBuilderBase<EntityT>

    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 UpdateRequestBuilderBase<EntityT>

    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: Record<string, string>

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

    Returns UpdateRequestBuilderBase<EntityT>

    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>, "execute">

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

  • Executes the query.

    Parameters

    Returns Promise<EntityT>

    A promise resolving to the entity once it was updated.

  • getPayload(): Record<string, any>
  • 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 UpdateRequestBuilderBase<EntityT>

    The request itself to ease chaining while executing the request.

  • deprecated

    Since version 1.34.0 Use setIgnoredFields instead. Specifies entity fields to ignore by the update request.

    Parameters

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

      Enumeration of the fields to be ignored.

    Returns UpdateRequestBuilderBase<EntityT>

    The entity itself, to facilitate method chaining.

  • Parameters

    Returns UpdateRequestBuilderBase<EntityT>

  • isEmptyObject(obj: any): boolean
  • Parameters

    • obj: any

    Returns boolean

  • deprecated

    Since v1.29.0. This method should never be called, it has severe side effects. Builds the payload and the entity keys of the query.

    Returns UpdateRequestBuilderBase<EntityT>

    the builder itself

  • relativeUrl(): string
  • 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 UpdateRequestBuilderBase<EntityT>

    The entity itself, to facilitate method chaining.

  • deprecated

    Since version 1.34.0 Use setRequiredFields instead. Specifies required entity keys for the update request.

    Parameters

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

      Enumeration of the fields to be required.

    Returns UpdateRequestBuilderBase<EntityT>

    The entity itself, to facilitate method chaining.

  • Parameters

    Returns UpdateRequestBuilderBase<EntityT>

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

    Parameters

    • servicePath: string

      Path to override the default with

    Returns UpdateRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining

  • Sets entity fields to ignore by the update request.

    Parameters

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

      Enumeration of the fields to be ignored.

    Returns UpdateRequestBuilderBase<EntityT>

    The entity itself, to facilitate method chaining.

  • Parameters

    Returns UpdateRequestBuilderBase<EntityT>

  • Sets required entity keys for the update request.

    Parameters

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

      Enumeration of the fields to be required.

    Returns UpdateRequestBuilderBase<EntityT>

    The entity itself, to facilitate method chaining.

  • Parameters

    Returns UpdateRequestBuilderBase<EntityT>

  • 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 UpdateRequestBuilderBase<EntityT>

    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 UpdateRequestBuilderBase<EntityT>

    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

  • deprecated

    Since version 1.34.0 Use addCustomHeaders instead. Add custom headers to the request.

    Parameters

    • headers: Record<string, string>

      Key-value pairs denoting additional custom headers.

    Returns UpdateRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining.

  • deprecated

    Since version 1.34.0 Use addCustomQueryParameters instead. Add custom query parameters to the request.

    Parameters

    • queryParameters: Record<string, string>

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

    Returns UpdateRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining.

  • deprecated

    Since version 1.34.0 Use setCustomServicePath instead. 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.

    Parameters

    • servicePath: string

      Path to override the default with.

    Returns UpdateRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining.

  • deprecated

    Since version 1.34.0 Use setVersionIdentifier instead. Specifies a custom 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 UpdateRequestBuilderBase<EntityT>

    The request itself to ease chaining while executing the request.

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