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

constructor

  • 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

Readonly _entity

_entity: EntityT

Readonly _entityConstructor

_entityConstructor: Constructable<EntityT, unknown>

Readonly entitySerializer

entitySerializer: EntitySerializer<any, any>

Readonly extractODataEtag

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

Type declaration

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

      • json: Record<string, any>

      Returns undefined | string

Readonly oDataUri

oDataUri: ODataUri

Readonly payloadManipulator

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

requestConfig: ODataUpdateRequestConfig<EntityT>

Accessors

entity

  • get entity(): EntityT
  • Returns EntityT

Methods

addCustomHeaders

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

addCustomQueryParameters

  • 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

addCustomRequestConfiguration

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

appendPath

  • appendPath(...path: string[]): Pick<UpdateRequestBuilderBase<EntityT>, "_entityConstructor" | "_entity" | "entity" | "prepare" | "requestConfig" | "url" | "relativeUrl" | "withCustomHeaders" | "addCustomHeaders" | "withCustomQueryParameters" | "addCustomQueryParameters" | "withCustomServicePath" | "setCustomServicePath" | "addCustomRequestConfiguration" | "appendPath" | "skipCsrfTokenFetching" | "build" | "setVersionIdentifier" | "ignoreVersionIdentifier" | "oDataUri" | "entitySerializer" | "extractODataEtag" | "payloadManipulator" | "replaceWholeEntityWithPut" | "requiredFields" | "setRequiredFields" | "ignoredFields" | "setIgnoredFields" | "withCustomVersionIdentifier">
  • 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 Pick<UpdateRequestBuilderBase<EntityT>, "_entityConstructor" | "_entity" | "entity" | "prepare" | "requestConfig" | "url" | "relativeUrl" | "withCustomHeaders" | "addCustomHeaders" | "withCustomQueryParameters" | "addCustomQueryParameters" | "withCustomServicePath" | "setCustomServicePath" | "addCustomRequestConfiguration" | "appendPath" | "skipCsrfTokenFetching" | "build" | "setVersionIdentifier" | "ignoreVersionIdentifier" | "oDataUri" | "entitySerializer" | "extractODataEtag" | "payloadManipulator" | "replaceWholeEntityWithPut" | "requiredFields" | "setRequiredFields" | "ignoredFields" | "setIgnoredFields" | "withCustomVersionIdentifier">

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

build

Protected executeRequest

  • Executes the query.

    Parameters

    Returns Promise<EntityT>

    A promise resolving to the entity once it was updated

Protected executeRequestRaw

Protected getPayload

  • getPayload(): Record<string, any>
  • Returns Record<string, any>

ignoreVersionIdentifier

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

    this The request itself to ease chaining while executing the request

ignoredFields

  • Specifies entity fields to ignore by the update request.

    deprecated

    Since version 1.34.0 Use setIgnoredFields instead.

    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>

Protected isEmptyObject

  • isEmptyObject(obj: any): boolean
  • Parameters

    • obj: any

    Returns boolean

prepare

  • 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

  • relativeUrl(): string
  • Create the relative url based on configuration of the given builder.

    Returns string

    The relative url for the request

replaceWholeEntityWithPut

  • 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

requiredFields

  • Specifies required entity keys for the update request.

    deprecated

    Since version 1.34.0 Use setRequiredFields instead.

    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>

setCustomServicePath

  • Replace the default service path with the given custom path. In case of the S/4HANA apis the servicePath defaults to '/sap/opu/odata/sap/' 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

setIgnoredFields

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

setRequiredFields

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

setVersionIdentifier

  • 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

skipCsrfTokenFetching

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

url

withCustomHeaders

  • Add custom headers to the request.

    deprecated

    Since version 1.34.0 Use addCustomHeaders instead.

    Parameters

    • headers: Record<string, string>

      Key-value pairs denoting additional custom headers

    Returns UpdateRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining

withCustomQueryParameters

  • Add custom query parameters to the request.

    deprecated

    Since version 1.34.0 Use addCustomQueryParameters instead.

    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

withCustomServicePath

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

    deprecated

    Since version 1.34.0 Use setCustomServicePath instead.

    Parameters

    • servicePath: string

      Path to override the default with

    Returns UpdateRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining

withCustomVersionIdentifier

  • Specifies a custom ETag version identifier of the entity to update.

    deprecated

    Since version 1.34.0 Use setVersionIdentifier instead.

    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