source: vendor/google/apiclient-services/src/Classroom/Resource/CoursesCourseWork.php@ e3d4e0a

Last change on this file since e3d4e0a was e3d4e0a, checked in by Vlado 222039 <vlado.popovski@…>, 10 days ago

Upload project files

  • Property mode set to 100644
File size: 15.1 KB
Line 
1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18namespace Google\Service\Classroom\Resource;
19
20use Google\Service\Classroom\AddOnContext;
21use Google\Service\Classroom\ClassroomEmpty;
22use Google\Service\Classroom\CourseWork;
23use Google\Service\Classroom\ListCourseWorkResponse;
24use Google\Service\Classroom\ModifyCourseWorkAssigneesRequest;
25use Google\Service\Classroom\Rubric;
26
27/**
28 * The "courseWork" collection of methods.
29 * Typical usage is:
30 * <code>
31 * $classroomService = new Google\Service\Classroom(...);
32 * $courseWork = $classroomService->courses_courseWork;
33 * </code>
34 */
35class CoursesCourseWork extends \Google\Service\Resource
36{
37 /**
38 * Creates course work. The resulting course work (and corresponding student
39 * submissions) are associated with the Developer Console project of the [OAuth
40 * client ID](https://support.google.com/cloud/answer/6158849) used to make the
41 * request. Classroom API requests to modify course work and student submissions
42 * must be made with an OAuth client ID from the associated Developer Console
43 * project. This method returns the following error codes: * `PERMISSION_DENIED`
44 * if the requesting user is not permitted to access the requested course,
45 * create course work in the requested course, share a Drive attachment, or for
46 * access errors. * `INVALID_ARGUMENT` if the request is malformed. *
47 * `NOT_FOUND` if the requested course does not exist. * `FAILED_PRECONDITION`
48 * for the following request error: * AttachmentNotVisible (courseWork.create)
49 *
50 * @param string $courseId Identifier of the course. This identifier can be
51 * either the Classroom-assigned identifier or an alias.
52 * @param CourseWork $postBody
53 * @param array $optParams Optional parameters.
54 * @return CourseWork
55 * @throws \Google\Service\Exception
56 */
57 public function create($courseId, CourseWork $postBody, $optParams = [])
58 {
59 $params = ['courseId' => $courseId, 'postBody' => $postBody];
60 $params = array_merge($params, $optParams);
61 return $this->call('create', [$params], CourseWork::class);
62 }
63 /**
64 * Deletes a course work. This request must be made by the Developer Console
65 * project of the [OAuth client
66 * ID](https://support.google.com/cloud/answer/6158849) used to create the
67 * corresponding course work item. This method returns the following error
68 * codes: * `PERMISSION_DENIED` if the requesting developer project did not
69 * create the corresponding course work, if the requesting user is not permitted
70 * to delete the requested course or for access errors. * `FAILED_PRECONDITION`
71 * if the requested course work has already been deleted. * `NOT_FOUND` if no
72 * course exists with the requested ID. (courseWork.delete)
73 *
74 * @param string $courseId Identifier of the course. This identifier can be
75 * either the Classroom-assigned identifier or an alias.
76 * @param string $id Identifier of the course work to delete. This identifier is
77 * a Classroom-assigned identifier.
78 * @param array $optParams Optional parameters.
79 * @return ClassroomEmpty
80 * @throws \Google\Service\Exception
81 */
82 public function delete($courseId, $id, $optParams = [])
83 {
84 $params = ['courseId' => $courseId, 'id' => $id];
85 $params = array_merge($params, $optParams);
86 return $this->call('delete', [$params], ClassroomEmpty::class);
87 }
88 /**
89 * Returns course work. This method returns the following error codes: *
90 * `PERMISSION_DENIED` if the requesting user is not permitted to access the
91 * requested course or course work, or for access errors. * `INVALID_ARGUMENT`
92 * if the request is malformed. * `NOT_FOUND` if the requested course or course
93 * work does not exist. (courseWork.get)
94 *
95 * @param string $courseId Identifier of the course. This identifier can be
96 * either the Classroom-assigned identifier or an alias.
97 * @param string $id Identifier of the course work.
98 * @param array $optParams Optional parameters.
99 * @return CourseWork
100 * @throws \Google\Service\Exception
101 */
102 public function get($courseId, $id, $optParams = [])
103 {
104 $params = ['courseId' => $courseId, 'id' => $id];
105 $params = array_merge($params, $optParams);
106 return $this->call('get', [$params], CourseWork::class);
107 }
108 /**
109 * Gets metadata for Classroom add-ons in the context of a specific post. To
110 * maintain the integrity of its own data and permissions model, an add-on
111 * should call this to validate query parameters and the requesting user's role
112 * whenever the add-on is opened in an
113 * [iframe](https://developers.google.com/classroom/add-ons/get-
114 * started/iframes/iframes-overview). This method returns the following error
115 * codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the
116 * request is malformed. * `NOT_FOUND` if one of the identified resources does
117 * not exist. (courseWork.getAddOnContext)
118 *
119 * @param string $courseId Required. Identifier of the course.
120 * @param string $itemId Identifier of the `Announcement`, `CourseWork`, or
121 * `CourseWorkMaterial` under which the attachment is attached. This field is
122 * required, but is not marked as such while we are migrating from post_id.
123 * @param array $optParams Optional parameters.
124 *
125 * @opt_param string addOnToken Optional. Token that authorizes the request. The
126 * token is passed as a query parameter when the user is redirected from
127 * Classroom to the add-on's URL. The authorization token is required when
128 * neither of the following is true: * The add-on has attachments on the post. *
129 * The developer project issuing the request is the same project that created
130 * the post.
131 * @opt_param string attachmentId Optional. The identifier of the attachment.
132 * This field is required for all requests except when the user is in the
133 * [Attachment Discovery iframe](https://developers.google.com/classroom/add-
134 * ons/get-started/iframes/attachment-discovery-iframe).
135 * @opt_param string postId Optional. Deprecated, use `item_id` instead.
136 * @return AddOnContext
137 * @throws \Google\Service\Exception
138 */
139 public function getAddOnContext($courseId, $itemId, $optParams = [])
140 {
141 $params = ['courseId' => $courseId, 'itemId' => $itemId];
142 $params = array_merge($params, $optParams);
143 return $this->call('getAddOnContext', [$params], AddOnContext::class);
144 }
145 /**
146 * Returns a list of course work that the requester is permitted to view. Course
147 * students may only view `PUBLISHED` course work. Course teachers and domain
148 * administrators may view all course work. This method returns the following
149 * error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to
150 * access the requested course or for access errors. * `INVALID_ARGUMENT` if the
151 * request is malformed. * `NOT_FOUND` if the requested course does not exist.
152 * (courseWork.listCoursesCourseWork)
153 *
154 * @param string $courseId Identifier of the course. This identifier can be
155 * either the Classroom-assigned identifier or an alias.
156 * @param array $optParams Optional parameters.
157 *
158 * @opt_param string courseWorkStates Restriction on the work status to return.
159 * Only courseWork that matches is returned. If unspecified, items with a work
160 * status of `PUBLISHED` is returned.
161 * @opt_param string orderBy Optional sort ordering for results. A comma-
162 * separated list of fields with an optional sort direction keyword. Supported
163 * fields are `updateTime` and `dueDate`. Supported direction keywords are `asc`
164 * and `desc`. If not specified, `updateTime desc` is the default behavior.
165 * Examples: `dueDate asc,updateTime desc`, `updateTime,dueDate desc`
166 * @opt_param int pageSize Maximum number of items to return. Zero or
167 * unspecified indicates that the server may assign a maximum. The server may
168 * return fewer than the specified number of results.
169 * @opt_param string pageToken nextPageToken value returned from a previous list
170 * call, indicating that the subsequent page of results should be returned. The
171 * list request must be otherwise identical to the one that resulted in this
172 * token.
173 * @return ListCourseWorkResponse
174 * @throws \Google\Service\Exception
175 */
176 public function listCoursesCourseWork($courseId, $optParams = [])
177 {
178 $params = ['courseId' => $courseId];
179 $params = array_merge($params, $optParams);
180 return $this->call('list', [$params], ListCourseWorkResponse::class);
181 }
182 /**
183 * Modifies assignee mode and options of a coursework. Only a teacher of the
184 * course that contains the coursework may call this method. This method returns
185 * the following error codes: * `PERMISSION_DENIED` if the requesting user is
186 * not permitted to access the requested course or course work or for access
187 * errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if
188 * the requested course or course work does not exist.
189 * (courseWork.modifyAssignees)
190 *
191 * @param string $courseId Identifier of the course. This identifier can be
192 * either the Classroom-assigned identifier or an alias.
193 * @param string $id Identifier of the coursework.
194 * @param ModifyCourseWorkAssigneesRequest $postBody
195 * @param array $optParams Optional parameters.
196 * @return CourseWork
197 * @throws \Google\Service\Exception
198 */
199 public function modifyAssignees($courseId, $id, ModifyCourseWorkAssigneesRequest $postBody, $optParams = [])
200 {
201 $params = ['courseId' => $courseId, 'id' => $id, 'postBody' => $postBody];
202 $params = array_merge($params, $optParams);
203 return $this->call('modifyAssignees', [$params], CourseWork::class);
204 }
205 /**
206 * Updates one or more fields of a course work. See
207 * google.classroom.v1.CourseWork for details of which fields may be updated and
208 * who may change them. This request must be made by the Developer Console
209 * project of the [OAuth client
210 * ID](https://support.google.com/cloud/answer/6158849) used to create the
211 * corresponding course work item. This method returns the following error
212 * codes: * `PERMISSION_DENIED` if the requesting developer project did not
213 * create the corresponding course work, if the user is not permitted to make
214 * the requested modification to the student submission, or for access errors. *
215 * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if
216 * the requested course work has already been deleted. * `NOT_FOUND` if the
217 * requested course or course work does not exist. (courseWork.patch)
218 *
219 * @param string $courseId Identifier of the course. This identifier can be
220 * either the Classroom-assigned identifier or an alias.
221 * @param string $id Identifier of the course work.
222 * @param CourseWork $postBody
223 * @param array $optParams Optional parameters.
224 *
225 * @opt_param string updateMask Mask that identifies which fields on the course
226 * work to update. This field is required to do an update. The update fails if
227 * invalid fields are specified. If a field supports empty values, it can be
228 * cleared by specifying it in the update mask and not in the `CourseWork`
229 * object. If a field that does not support empty values is included in the
230 * update mask and not set in the `CourseWork` object, an `INVALID_ARGUMENT`
231 * error is returned. The following fields may be specified by teachers: *
232 * `title` * `description` * `state` * `due_date` * `due_time` * `max_points` *
233 * `scheduled_time` * `submission_modification_mode` * `topic_id` *
234 * `grading_period_id` Available in [V1_20240401_PREVIEW](https://developers.goo
235 * gle.com/classroom/reference/preview) and later.
236 * @return CourseWork
237 * @throws \Google\Service\Exception
238 */
239 public function patch($courseId, $id, CourseWork $postBody, $optParams = [])
240 {
241 $params = ['courseId' => $courseId, 'id' => $id, 'postBody' => $postBody];
242 $params = array_merge($params, $optParams);
243 return $this->call('patch', [$params], CourseWork::class);
244 }
245 /**
246 * Updates a rubric. See google.classroom.v1.Rubric for details of which fields
247 * can be updated. Rubric update capabilities are
248 * [limited](/classroom/rubrics/limitations) once grading has started. This
249 * request must be made by the Google Cloud console of the [OAuth client
250 * ID](https://support.google.com/cloud/answer/6158849) used to create the
251 * parent course work item. This method returns the following error codes: *
252 * `PERMISSION_DENIED` if the requesting developer project didn't create the
253 * corresponding course work, if the user isn't permitted to make the requested
254 * modification to the rubric, or for access errors. This error code is also
255 * returned if grading has already started on the rubric. * `INVALID_ARGUMENT`
256 * if the request is malformed and for the following request error: *
257 * `RubricCriteriaInvalidFormat` * `NOT_FOUND` if the requested course, course
258 * work, or rubric doesn't exist or if the user doesn't have access to the
259 * corresponding course work. * `INTERNAL` if grading has already started on the
260 * rubric. (courseWork.updateRubric)
261 *
262 * @param string $courseId Required. Identifier of the course.
263 * @param string $courseWorkId Required. Identifier of the course work.
264 * @param Rubric $postBody
265 * @param array $optParams Optional parameters.
266 *
267 * @opt_param string id Optional. Identifier of the rubric.
268 * @opt_param string updateMask Optional. Mask that identifies which fields on
269 * the rubric to update. This field is required to do an update. The update
270 * fails if invalid fields are specified. There are multiple options to define
271 * the criteria of a rubric: the `source_spreadsheet_id` and the `criteria`
272 * list. Only one of these can be used at a time to define a rubric. The rubric
273 * `criteria` list is fully replaced by the rubric criteria specified in the
274 * update request. For example, if a criterion or level is missing from the
275 * request, it is deleted. New criteria and levels are added and an ID is
276 * assigned. Existing criteria and levels retain the previously assigned ID if
277 * the ID is specified in the request. The following fields can be specified by
278 * teachers: * `criteria` * `source_spreadsheet_id`
279 * @return Rubric
280 * @throws \Google\Service\Exception
281 */
282 public function updateRubric($courseId, $courseWorkId, Rubric $postBody, $optParams = [])
283 {
284 $params = ['courseId' => $courseId, 'courseWorkId' => $courseWorkId, 'postBody' => $postBody];
285 $params = array_merge($params, $optParams);
286 return $this->call('updateRubric', [$params], Rubric::class);
287 }
288}
289
290// Adding a class alias for backwards compatibility with the previous class name.
291class_alias(CoursesCourseWork::class, 'Google_Service_Classroom_Resource_CoursesCourseWork');
Note: See TracBrowser for help on using the repository browser.