patch method
Updates the given deal at the buyer known revision number.
If the server revision has advanced since the passed-in proposal.proposal_revision an ABORTED error message will be returned. The revision number is incremented by the server whenever the proposal or its constituent deals are updated. Note: The revision number is kept at a proposal level. The buyer of the API is expected to keep track of the revision number after the last update operation and send it in as part of the next update request. This way, if there are further changes on the server (for example, seller making new updates), then the server can detect conflicts and reject the proposed changes.
request
- The metadata request object.
Request parameters:
name
- Immutable. The unique identifier of the deal. Auto-generated by
the server when a deal is created. Format:
buyers/{accountId}/proposals/{proposalId}/deals/{dealId}
Value must have pattern
^buyers/\[^/\]+/proposals/\[^/\]+/deals/\[^/\]+$
.
updateMask
- List of fields to be updated. If empty or unspecified, the
service will update all fields populated in the update request excluding
the output only fields and primitive fields with default value. Note that
explicit field mask is required in order to reset a primitive field back
to its default value, for example, false for boolean fields, 0 for integer
fields. A special field mask consisting of a single path "*" can be used
to indicate full replacement(the equivalent of PUT method), updatable
fields unset or unspecified in the input will be cleared or set to default
value. Output only fields will be ignored regardless of the value of
updateMask.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a Deal.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client
completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<Deal> patch(
Deal request,
core.String name, {
core.String? updateMask,
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if (updateMask != null) 'updateMask': [updateMask],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v1/' + core.Uri.encodeFull('$name');
final response_ = await _requester.request(
url_,
'PATCH',
body: body_,
queryParams: queryParams_,
);
return Deal.fromJson(response_ as core.Map<core.String, core.dynamic>);
}