modifyAttachments method

Future<StudentSubmission> modifyAttachments(
  1. ModifyAttachmentsRequest request,
  2. String courseId,
  3. String courseWorkId,
  4. String id, {
  5. String? $fields,
})

Modifies attachments of student submission.

Attachments may only be added to student submissions belonging to course work objects with a workType of ASSIGNMENT. This request must be made by the Developer Console project of the OAuth client ID used to create the corresponding course work item. This method returns the following error codes: * PERMISSION_DENIED if the requesting user is not permitted to access the requested course or course work, if the user is not permitted to modify attachments on the requested student submission, or for access errors. * INVALID_ARGUMENT if the request is malformed. * NOT_FOUND if the requested course, course work, or student submission does not exist.

request - The metadata request object.

Request parameters:

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

courseWorkId - Identifier of the course work.

id - Identifier of the student submission.

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

Completes with a StudentSubmission.

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<StudentSubmission> modifyAttachments(
  ModifyAttachmentsRequest request,
  core.String courseId,
  core.String courseWorkId,
  core.String id, {
  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/courses/' +
      commons.escapeVariable('$courseId') +
      '/courseWork/' +
      commons.escapeVariable('$courseWorkId') +
      '/studentSubmissions/' +
      commons.escapeVariable('$id') +
      ':modifyAttachments';

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