purge method
Asynchronous API to delete all Products in a ProductSet or all Products that are in no ProductSet.
If a Product is a member of the specified ProductSet in addition to other
ProductSets, the Product will still be deleted. It is recommended to not
delete the specified ProductSet until after this operation has completed.
It is also recommended to not add any of the Products involved in the
batch delete to a new ProductSet while this operation is running because
those Products may still end up deleted. It's not possible to undo the
PurgeProducts operation. Therefore, it is recommended to keep the csv
files used in ImportProductSets (if that was how you originally built the
Product Set) before starting PurgeProducts, in case you need to re-import
the data after deletion. If the plan is to purge all of the Products from
a ProductSet and then re-use the empty ProductSet to re-import new
Products into the empty ProductSet, you must wait until the PurgeProducts
operation has finished for that ProductSet. The
google.longrunning.Operation API can be used to keep track of the progress
and results of the request. Operation.metadata
contains
BatchOperationMetadata
. (progress)
request
- The metadata request object.
Request parameters:
parent
- Required. The project and location in which the Products should
be deleted. Format is projects/PROJECT_ID/locations/LOC_ID
.
Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+$
.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a Operation.
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<Operation> purge(
PurgeProductsRequest request,
core.String parent, {
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/products:purge';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>);
}