patch method
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 asupdateMask=,,...
$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>);
}