patch method

Future<Course> patch(
  1. Course request,
  2. String id, {
  3. String? updateMask,
  4. String? $fields,
})

Updates one or more fields in a course.

This method returns the following error codes: * PERMISSION_DENIED if the requesting user is not permitted to modify the requested course or for access errors. * NOT_FOUND if no course exists with the requested ID. * INVALID_ARGUMENT if invalid fields are specified in the update mask or if no update mask is supplied. * FAILED_PRECONDITION for the following request errors: * CourseNotModifiable * InactiveCourseOwner * IneligibleOwner

request - The metadata request object.

Request parameters:

id - Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an alias.

updateMask - Mask that identifies which fields on the course to update. This field is required to do an update. The update will fail if invalid fields are specified. The following fields are valid: * name * section

  • descriptionHeading * description * room * courseState * ownerId Note: patches to ownerId are treated as being effective immediately, but in practice it may take some time for the ownership transfer of all affected resources to complete. When set in a query parameter, this field should be specified as updateMask=,,...

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

Completes with a Course.

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<Course> patch(
  Course request,
  core.String id, {
  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/courses/' + commons.escapeVariable('$id');

  final response_ = await _requester.request(
    url_,
    'PATCH',
    body: body_,
    queryParams: queryParams_,
  );
  return Course.fromJson(response_ as core.Map<core.String, core.dynamic>);
}