| Index: generated/googleapis/lib/classroom/v1.dart
|
| diff --git a/generated/googleapis/lib/classroom/v1.dart b/generated/googleapis/lib/classroom/v1.dart
|
| index 49bbcea48024f21e83125e67ddc0a82eb509a256..73350f63aad36b85a6bfc9cb5ffaa2ad2d9ac89f 100644
|
| --- a/generated/googleapis/lib/classroom/v1.dart
|
| +++ b/generated/googleapis/lib/classroom/v1.dart
|
| @@ -244,7 +244,8 @@ class CoursesResourceApi {
|
|
|
| /**
|
| * Returns a list of courses that the requesting user is permitted to view,
|
| - * restricted to those that match the request.
|
| + * restricted to those that match the request. Returned courses are ordered by
|
| + * creation time, with the most recently created coming first.
|
| *
|
| * This method returns the following error codes:
|
| *
|
| @@ -254,12 +255,6 @@ class CoursesResourceApi {
|
| *
|
| * Request parameters:
|
| *
|
| - * [pageSize] - Maximum number of items to return. Zero or unspecified
|
| - * indicates that the
|
| - * server may assign a maximum.
|
| - *
|
| - * The server may return fewer than the specified number of results.
|
| - *
|
| * [courseStates] - Restricts returned courses to those in one of the
|
| * specified states
|
| * The default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED.
|
| @@ -288,6 +283,12 @@ class CoursesResourceApi {
|
| * The list request must be
|
| * otherwise identical to the one that resulted in this token.
|
| *
|
| + * [pageSize] - Maximum number of items to return. Zero or unspecified
|
| + * indicates that the
|
| + * server may assign a maximum.
|
| + *
|
| + * The server may return fewer than the specified number of results.
|
| + *
|
| * Completes with a [ListCoursesResponse].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| @@ -296,7 +297,7 @@ class CoursesResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<ListCoursesResponse> list({core.int pageSize, core.List<core.String> courseStates, core.String teacherId, core.String studentId, core.String pageToken}) {
|
| + async.Future<ListCoursesResponse> list({core.List<core.String> courseStates, core.String teacherId, core.String studentId, core.String pageToken, core.int pageSize}) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -304,9 +305,6 @@ class CoursesResourceApi {
|
| var _downloadOptions = commons.DownloadOptions.Metadata;
|
| var _body = null;
|
|
|
| - if (pageSize != null) {
|
| - _queryParams["pageSize"] = ["${pageSize}"];
|
| - }
|
| if (courseStates != null) {
|
| _queryParams["courseStates"] = courseStates;
|
| }
|
| @@ -319,6 +317,9 @@ class CoursesResourceApi {
|
| if (pageToken != null) {
|
| _queryParams["pageToken"] = [pageToken];
|
| }
|
| + if (pageSize != null) {
|
| + _queryParams["pageSize"] = ["${pageSize}"];
|
| + }
|
|
|
| _url = 'v1/courses';
|
|
|
| @@ -363,6 +364,11 @@ class CoursesResourceApi {
|
| * * `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
|
| *
|
| @@ -854,17 +860,6 @@ class CoursesCourseWorkResourceApi {
|
| * This identifier can be either the Classroom-assigned identifier or an
|
| * alias.
|
| *
|
| - * [pageSize] - Maximum number of items to return. Zero or unspecified
|
| - * indicates that the
|
| - * server may assign a maximum.
|
| - *
|
| - * The server may return fewer than the specified number of results.
|
| - *
|
| - * [courseWorkStates] - Restriction on the work status to return. Only
|
| - * courseWork that matches
|
| - * is returned. If unspecified, items with a work status of `PUBLISHED`
|
| - * is returned.
|
| - *
|
| * [pageToken] - nextPageToken
|
| * value returned from a previous
|
| * list call,
|
| @@ -880,6 +875,17 @@ class CoursesCourseWorkResourceApi {
|
| * If not specified, `updateTime desc` is the default behavior.
|
| * Examples: `dueDate asc,updateTime desc`, `updateTime,dueDate desc`
|
| *
|
| + * [pageSize] - Maximum number of items to return. Zero or unspecified
|
| + * indicates that the
|
| + * server may assign a maximum.
|
| + *
|
| + * The server may return fewer than the specified number of results.
|
| + *
|
| + * [courseWorkStates] - Restriction on the work status to return. Only
|
| + * courseWork that matches
|
| + * is returned. If unspecified, items with a work status of `PUBLISHED`
|
| + * is returned.
|
| + *
|
| * Completes with a [ListCourseWorkResponse].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| @@ -888,7 +894,7 @@ class CoursesCourseWorkResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<ListCourseWorkResponse> list(core.String courseId, {core.int pageSize, core.List<core.String> courseWorkStates, core.String pageToken, core.String orderBy}) {
|
| + async.Future<ListCourseWorkResponse> list(core.String courseId, {core.String pageToken, core.String orderBy, core.int pageSize, core.List<core.String> courseWorkStates}) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -899,18 +905,18 @@ class CoursesCourseWorkResourceApi {
|
| if (courseId == null) {
|
| throw new core.ArgumentError("Parameter courseId is required.");
|
| }
|
| - if (pageSize != null) {
|
| - _queryParams["pageSize"] = ["${pageSize}"];
|
| - }
|
| - if (courseWorkStates != null) {
|
| - _queryParams["courseWorkStates"] = courseWorkStates;
|
| - }
|
| if (pageToken != null) {
|
| _queryParams["pageToken"] = [pageToken];
|
| }
|
| if (orderBy != null) {
|
| _queryParams["orderBy"] = [orderBy];
|
| }
|
| + if (pageSize != null) {
|
| + _queryParams["pageSize"] = ["${pageSize}"];
|
| + }
|
| + if (courseWorkStates != null) {
|
| + _queryParams["courseWorkStates"] = courseWorkStates;
|
| + }
|
|
|
| _url = 'v1/courses/' + commons.Escaper.ecapeVariable('$courseId') + '/courseWork';
|
|
|
| @@ -1105,7 +1111,7 @@ class CoursesCourseWorkStudentSubmissionsResourceApi {
|
| * This identifier can be either the Classroom-assigned identifier or an
|
| * alias.
|
| *
|
| - * [courseWorkId] - Identifer of the student work to request.
|
| + * [courseWorkId] - Identifier of the student work to request.
|
| * This may be set to the string literal `"-"` to request student work for
|
| * all course work in the specified course.
|
| *
|
| @@ -1790,10 +1796,6 @@ class CoursesStudentsResourceApi {
|
| * This identifier can be either the Classroom-assigned identifier or an
|
| * alias.
|
| *
|
| - * [pageSize] - Maximum number of items to return. Zero means no maximum.
|
| - *
|
| - * The server may return fewer than the specified number of results.
|
| - *
|
| * [pageToken] - nextPageToken
|
| * value returned from a previous
|
| * list call, indicating that
|
| @@ -1802,6 +1804,10 @@ class CoursesStudentsResourceApi {
|
| * The list request must be
|
| * otherwise identical to the one that resulted in this token.
|
| *
|
| + * [pageSize] - Maximum number of items to return. Zero means no maximum.
|
| + *
|
| + * The server may return fewer than the specified number of results.
|
| + *
|
| * Completes with a [ListStudentsResponse].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| @@ -1810,7 +1816,7 @@ class CoursesStudentsResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<ListStudentsResponse> list(core.String courseId, {core.int pageSize, core.String pageToken}) {
|
| + async.Future<ListStudentsResponse> list(core.String courseId, {core.String pageToken, core.int pageSize}) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -1821,12 +1827,12 @@ class CoursesStudentsResourceApi {
|
| if (courseId == null) {
|
| throw new core.ArgumentError("Parameter courseId is required.");
|
| }
|
| - if (pageSize != null) {
|
| - _queryParams["pageSize"] = ["${pageSize}"];
|
| - }
|
| if (pageToken != null) {
|
| _queryParams["pageToken"] = [pageToken];
|
| }
|
| + if (pageSize != null) {
|
| + _queryParams["pageSize"] = ["${pageSize}"];
|
| + }
|
|
|
| _url = 'v1/courses/' + commons.Escaper.ecapeVariable('$courseId') + '/students';
|
|
|
| @@ -2608,14 +2614,6 @@ class UserProfilesGuardianInvitationsResourceApi {
|
| * all students that the requesting user is permitted to view guardian
|
| * invitations.
|
| *
|
| - * [pageToken] - nextPageToken
|
| - * value returned from a previous
|
| - * list call,
|
| - * indicating that the subsequent page of results should be returned.
|
| - *
|
| - * The list request
|
| - * must be otherwise identical to the one that resulted in this token.
|
| - *
|
| * [pageSize] - Maximum number of items to return. Zero or unspecified
|
| * indicates that the
|
| * server may assign a maximum.
|
| @@ -2630,6 +2628,14 @@ class UserProfilesGuardianInvitationsResourceApi {
|
| * `invited_email_address`
|
| * will be returned.
|
| *
|
| + * [pageToken] - nextPageToken
|
| + * value returned from a previous
|
| + * list call,
|
| + * indicating that the subsequent page of results should be returned.
|
| + *
|
| + * The list request
|
| + * must be otherwise identical to the one that resulted in this token.
|
| + *
|
| * Completes with a [ListGuardianInvitationsResponse].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| @@ -2638,7 +2644,7 @@ class UserProfilesGuardianInvitationsResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<ListGuardianInvitationsResponse> list(core.String studentId, {core.String pageToken, core.int pageSize, core.List<core.String> states, core.String invitedEmailAddress}) {
|
| + async.Future<ListGuardianInvitationsResponse> list(core.String studentId, {core.int pageSize, core.List<core.String> states, core.String invitedEmailAddress, core.String pageToken}) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -2649,9 +2655,6 @@ class UserProfilesGuardianInvitationsResourceApi {
|
| if (studentId == null) {
|
| throw new core.ArgumentError("Parameter studentId is required.");
|
| }
|
| - if (pageToken != null) {
|
| - _queryParams["pageToken"] = [pageToken];
|
| - }
|
| if (pageSize != null) {
|
| _queryParams["pageSize"] = ["${pageSize}"];
|
| }
|
| @@ -2661,6 +2664,9 @@ class UserProfilesGuardianInvitationsResourceApi {
|
| if (invitedEmailAddress != null) {
|
| _queryParams["invitedEmailAddress"] = [invitedEmailAddress];
|
| }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
|
|
| _url = 'v1/userProfiles/' + commons.Escaper.ecapeVariable('$studentId') + '/guardianInvitations';
|
|
|
| @@ -3221,8 +3227,9 @@ class Course {
|
| * * the email address of the user
|
| * * the string literal `"me"`, indicating the requesting user
|
| *
|
| - * This must be set in a create request. Specifying this field in a course
|
| - * update mask results in an `INVALID_ARGUMENT` error.
|
| + * This must be set in a create request. Admins can also specify this field
|
| + * in a patch course request to
|
| + * transfer ownership. In other contexts, it is read-only.
|
| */
|
| core.String ownerId;
|
| /**
|
| @@ -4035,6 +4042,75 @@ class GlobalPermission {
|
| }
|
| }
|
|
|
| +/** The history of each grade on this submission. */
|
| +class GradeHistory {
|
| + /** The teacher who made the grade change. */
|
| + core.String actorUserId;
|
| + /**
|
| + * The type of grade change at this time in the submission grade history.
|
| + * Possible string values are:
|
| + * - "UNKNOWN_GRADE_CHANGE_TYPE" : No grade change type specified. This should
|
| + * never be returned.
|
| + * - "DRAFT_GRADE_POINTS_EARNED_CHANGE" : A change in the numerator of the
|
| + * draft grade.
|
| + * - "ASSIGNED_GRADE_POINTS_EARNED_CHANGE" : A change in the numerator of the
|
| + * assigned grade.
|
| + * - "MAX_POINTS_CHANGE" : A change in the denominator of the grade.
|
| + */
|
| + core.String gradeChangeType;
|
| + /** When the grade of the submission was changed. */
|
| + core.String gradeTimestamp;
|
| + /**
|
| + * The denominator of the grade at this time in the submission grade
|
| + * history.
|
| + */
|
| + core.double maxPoints;
|
| + /**
|
| + * The numerator of the grade at this time in the submission grade history.
|
| + */
|
| + core.double pointsEarned;
|
| +
|
| + GradeHistory();
|
| +
|
| + GradeHistory.fromJson(core.Map _json) {
|
| + if (_json.containsKey("actorUserId")) {
|
| + actorUserId = _json["actorUserId"];
|
| + }
|
| + if (_json.containsKey("gradeChangeType")) {
|
| + gradeChangeType = _json["gradeChangeType"];
|
| + }
|
| + if (_json.containsKey("gradeTimestamp")) {
|
| + gradeTimestamp = _json["gradeTimestamp"];
|
| + }
|
| + if (_json.containsKey("maxPoints")) {
|
| + maxPoints = _json["maxPoints"];
|
| + }
|
| + if (_json.containsKey("pointsEarned")) {
|
| + pointsEarned = _json["pointsEarned"];
|
| + }
|
| + }
|
| +
|
| + core.Map<core.String, core.Object> toJson() {
|
| + final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
|
| + if (actorUserId != null) {
|
| + _json["actorUserId"] = actorUserId;
|
| + }
|
| + if (gradeChangeType != null) {
|
| + _json["gradeChangeType"] = gradeChangeType;
|
| + }
|
| + if (gradeTimestamp != null) {
|
| + _json["gradeTimestamp"] = gradeTimestamp;
|
| + }
|
| + if (maxPoints != null) {
|
| + _json["maxPoints"] = maxPoints;
|
| + }
|
| + if (pointsEarned != null) {
|
| + _json["pointsEarned"] = pointsEarned;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| /**
|
| * Association between a student and a guardian of that student. The guardian
|
| * may receive information about the student's course work.
|
| @@ -4180,6 +4256,7 @@ class Invitation {
|
| * - "COURSE_ROLE_UNSPECIFIED" : No course role.
|
| * - "STUDENT" : Student in the course.
|
| * - "TEACHER" : Teacher of the course.
|
| + * - "OWNER" : Owner of the course.
|
| */
|
| core.String role;
|
| /**
|
| @@ -4841,6 +4918,61 @@ class ShortAnswerSubmission {
|
| }
|
| }
|
|
|
| +/** The history of each state this submission has been in. */
|
| +class StateHistory {
|
| + /** The teacher or student who made the change */
|
| + core.String actorUserId;
|
| + /**
|
| + * The workflow pipeline stage.
|
| + * Possible string values are:
|
| + * - "STATE_UNSPECIFIED" : No state specified. This should never be returned.
|
| + * - "CREATED" : The Submission has been created.
|
| + * - "TURNED_IN" : The student has turned in an assigned document, which may
|
| + * or may not be
|
| + * a template.
|
| + * - "RETURNED" : The teacher has returned the assigned document to the
|
| + * student.
|
| + * - "RECLAIMED_BY_STUDENT" : The student turned in the assigned document, and
|
| + * then chose to
|
| + * "unsubmit" the assignment, giving the student control again as the
|
| + * owner.
|
| + * - "STUDENT_EDITED_AFTER_TURN_IN" : The student edited their submission
|
| + * after turning it in. Currently,
|
| + * only used by Questions, when the student edits their answer.
|
| + */
|
| + core.String state;
|
| + /** When the submission entered this state. */
|
| + core.String stateTimestamp;
|
| +
|
| + StateHistory();
|
| +
|
| + StateHistory.fromJson(core.Map _json) {
|
| + if (_json.containsKey("actorUserId")) {
|
| + actorUserId = _json["actorUserId"];
|
| + }
|
| + if (_json.containsKey("state")) {
|
| + state = _json["state"];
|
| + }
|
| + if (_json.containsKey("stateTimestamp")) {
|
| + stateTimestamp = _json["stateTimestamp"];
|
| + }
|
| + }
|
| +
|
| + core.Map<core.String, core.Object> toJson() {
|
| + final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
|
| + if (actorUserId != null) {
|
| + _json["actorUserId"] = actorUserId;
|
| + }
|
| + if (state != null) {
|
| + _json["state"] = state;
|
| + }
|
| + if (stateTimestamp != null) {
|
| + _json["stateTimestamp"] = stateTimestamp;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| /** Student in a course. */
|
| class Student {
|
| /**
|
| @@ -4926,7 +5058,8 @@ class StudentSubmission {
|
| core.String alternateLink;
|
| /**
|
| * Optional grade. If unset, no grade was set.
|
| - * This must be a non-negative integer value.
|
| + * This value must be non-negative. Decimal (i.e. non-integer) values are
|
| + * allowed, but will be rounded to two decimal places.
|
| *
|
| * This may be modified only by course teachers.
|
| */
|
| @@ -4976,7 +5109,8 @@ class StudentSubmission {
|
| core.String creationTime;
|
| /**
|
| * Optional pending grade. If unset, no grade was set.
|
| - * This must be a non-negative integer value.
|
| + * This value must be non-negative. Decimal (i.e. non-integer) values are
|
| + * allowed, but will be rounded to two decimal places.
|
| *
|
| * This is only visible to and modifiable by course teachers.
|
| */
|
| @@ -5014,6 +5148,12 @@ class StudentSubmission {
|
| * - "RECLAIMED_BY_STUDENT" : Student chose to "unsubmit" the assignment.
|
| */
|
| core.String state;
|
| + /**
|
| + * The history of the submission (includes state and grade histories).
|
| + *
|
| + * Read-only.
|
| + */
|
| + core.List<SubmissionHistory> submissionHistory;
|
| /**
|
| * Last update time of this submission.
|
| * This may be unset if the student has not accessed this item.
|
| @@ -5073,6 +5213,9 @@ class StudentSubmission {
|
| if (_json.containsKey("state")) {
|
| state = _json["state"];
|
| }
|
| + if (_json.containsKey("submissionHistory")) {
|
| + submissionHistory = _json["submissionHistory"].map((value) => new SubmissionHistory.fromJson(value)).toList();
|
| + }
|
| if (_json.containsKey("updateTime")) {
|
| updateTime = _json["updateTime"];
|
| }
|
| @@ -5125,6 +5268,9 @@ class StudentSubmission {
|
| if (state != null) {
|
| _json["state"] = state;
|
| }
|
| + if (submissionHistory != null) {
|
| + _json["submissionHistory"] = submissionHistory.map((value) => (value).toJson()).toList();
|
| + }
|
| if (updateTime != null) {
|
| _json["updateTime"] = updateTime;
|
| }
|
| @@ -5135,6 +5281,39 @@ class StudentSubmission {
|
| }
|
| }
|
|
|
| +/**
|
| + * The history of the submission. This currently includes state and grade
|
| + * histories.
|
| + */
|
| +class SubmissionHistory {
|
| + /** The grade history information of the submission, if present. */
|
| + GradeHistory gradeHistory;
|
| + /** The state history information of the submission, if present. */
|
| + StateHistory stateHistory;
|
| +
|
| + SubmissionHistory();
|
| +
|
| + SubmissionHistory.fromJson(core.Map _json) {
|
| + if (_json.containsKey("gradeHistory")) {
|
| + gradeHistory = new GradeHistory.fromJson(_json["gradeHistory"]);
|
| + }
|
| + if (_json.containsKey("stateHistory")) {
|
| + stateHistory = new StateHistory.fromJson(_json["stateHistory"]);
|
| + }
|
| + }
|
| +
|
| + core.Map<core.String, core.Object> toJson() {
|
| + final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
|
| + if (gradeHistory != null) {
|
| + _json["gradeHistory"] = (gradeHistory).toJson();
|
| + }
|
| + if (stateHistory != null) {
|
| + _json["stateHistory"] = (stateHistory).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| /** Teacher of a course. */
|
| class Teacher {
|
| /**
|
|
|