upload method

Uploads rotating barcode values for the transit object referenced by the given object ID.

Note the max upload size is specified in google3/production/config/cdd/apps-upload/customers/payments-consumer-passes/config.gcl and enforced by Scotty.

request - The metadata request object.

Request parameters:

resourceId - The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.

$fields - Selector specifying which fields to include in a partial response.

uploadMedia - The media to upload.

Completes with a TransitObjectUploadRotatingBarcodeValuesResponse.

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<TransitObjectUploadRotatingBarcodeValuesResponse> upload(
  TransitObjectUploadRotatingBarcodeValuesRequest request,
  core.String resourceId, {
  core.String? $fields,
  commons.Media? uploadMedia,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  core.String url_;
  if (uploadMedia == null) {
    url_ = 'walletobjects/v1/transitObject/' +
        commons.escapeVariable('$resourceId') +
        '/uploadRotatingBarcodeValues';
  } else {
    url_ = '/upload/walletobjects/v1/transitObject/' +
        commons.escapeVariable('$resourceId') +
        '/uploadRotatingBarcodeValues';
  }

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
    uploadMedia: uploadMedia,
    uploadOptions: commons.UploadOptions.defaultOptions,
  );
  return TransitObjectUploadRotatingBarcodeValuesResponse.fromJson(
      response_ as core.Map<core.String, core.dynamic>);
}