updateGradingPeriodSettings method
- GradingPeriodSettings request,
- String courseId, {
- String? updateMask,
- String? $fields,
Updates grading period settings of a course.
Individual grading periods can be added, removed, or modified using this
method. The requesting user and course owner must be eligible to modify
Grading Periods. For details, see
licensing requirements.
This method returns the following error codes: * PERMISSION_DENIED
if
the requesting user is not permitted to modify the grading period settings
in a course or for access errors: *
UserIneligibleToUpdateGradingPeriodSettings * INVALID_ARGUMENT
if the
request is malformed. * NOT_FOUND
if the requested course does not
exist.
request
- The metadata request object.
Request parameters:
courseId
- Required. The identifier of the course.
updateMask
- Mask that identifies which fields in the
GradingPeriodSettings to update. The GradingPeriodSettings
grading_periods
list will be fully replaced by the grading periods
specified in the update request. For example: * Grading periods included
in the list without an ID are considered additions, and a new ID will be
assigned when the request is made. * Grading periods that currently exist,
but are missing from the request will be considered deletions. * Grading
periods with an existing ID and modified data are considered edits.
Unmodified data will be left as is. * Grading periods included with an
unknown ID will result in an error. The following fields may be specified:
grading_periods
*apply_to_existing_coursework
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a GradingPeriodSettings.
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<GradingPeriodSettings> updateGradingPeriodSettings(
GradingPeriodSettings request,
core.String courseId, {
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('$courseId') +
'/gradingPeriodSettings';
final response_ = await _requester.request(
url_,
'PATCH',
body: body_,
queryParams: queryParams_,
);
return GradingPeriodSettings.fromJson(
response_ as core.Map<core.String, core.dynamic>,
);
}