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\ClassroomEmpty; 21use Google\Service\Classroom\Guardian; 22use Google\Service\Classroom\ListGuardiansResponse; 23 24/** 25 * The "guardians" collection of methods. 26 * Typical usage is: 27 * <code> 28 * $classroomService = new Google\Service\Classroom(...); 29 * $guardians = $classroomService->guardians; 30 * </code> 31 */ 32class UserProfilesGuardians extends \Google\Service\Resource 33{ 34 /** 35 * Deletes a guardian. The guardian will no longer receive guardian 36 * notifications and the guardian will no longer be accessible via the API. This 37 * method returns the following error codes: * `PERMISSION_DENIED` if no user 38 * that matches the provided `student_id` is visible to the requesting user, if 39 * the requesting user is not permitted to manage guardians for the student 40 * identified by the `student_id`, if guardians are not enabled for the domain 41 * in question, or for other access errors. * `INVALID_ARGUMENT` if a 42 * `student_id` is specified, but its format cannot be recognized (it is not an 43 * email address, nor a `student_id` from the API). * `NOT_FOUND` if the 44 * requesting user is permitted to modify guardians for the requested 45 * `student_id`, but no `Guardian` record exists for that student with the 46 * provided `guardian_id`. (guardians.delete) 47 * 48 * @param string $studentId The student whose guardian is to be deleted. One of 49 * the following: * the numeric identifier for the user * the email address of 50 * the user * the string literal `"me"`, indicating the requesting user 51 * @param string $guardianId The `id` field from a `Guardian`. 52 * @param array $optParams Optional parameters. 53 * @return ClassroomEmpty 54 */ 55 public function delete($studentId, $guardianId, $optParams = []) 56 { 57 $params = ['studentId' => $studentId, 'guardianId' => $guardianId]; 58 $params = array_merge($params, $optParams); 59 return $this->call('delete', [$params], ClassroomEmpty::class); 60 } 61 /** 62 * Returns a specific guardian. This method returns the following error codes: * 63 * `PERMISSION_DENIED` if no user that matches the provided `student_id` is 64 * visible to the requesting user, if the requesting user is not permitted to 65 * view guardian information for the student identified by the `student_id`, if 66 * guardians are not enabled for the domain in question, or for other access 67 * errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but its format 68 * cannot be recognized (it is not an email address, nor a `student_id` from the 69 * API, nor the literal string `me`). * `NOT_FOUND` if the requesting user is 70 * permitted to view guardians for the requested `student_id`, but no `Guardian` 71 * record exists for that student that matches the provided `guardian_id`. 72 * (guardians.get) 73 * 74 * @param string $studentId The student whose guardian is being requested. One 75 * of the following: * the numeric identifier for the user * the email address 76 * of the user * the string literal `"me"`, indicating the requesting user 77 * @param string $guardianId The `id` field from a `Guardian`. 78 * @param array $optParams Optional parameters. 79 * @return Guardian 80 */ 81 public function get($studentId, $guardianId, $optParams = []) 82 { 83 $params = ['studentId' => $studentId, 'guardianId' => $guardianId]; 84 $params = array_merge($params, $optParams); 85 return $this->call('get', [$params], Guardian::class); 86 } 87 /** 88 * Returns a list of guardians that the requesting user is permitted to view, 89 * restricted to those that match the request. To list guardians for any student 90 * that the requesting user may view guardians for, use the literal character 91 * `-` for the student ID. This method returns the following error codes: * 92 * `PERMISSION_DENIED` if a `student_id` is specified, and the requesting user 93 * is not permitted to view guardian information for that student, if `"-"` is 94 * specified as the `student_id` and the user is not a domain administrator, if 95 * guardians are not enabled for the domain in question, if the 96 * `invited_email_address` filter is set by a user who is not a domain 97 * administrator, or for other access errors. * `INVALID_ARGUMENT` if a 98 * `student_id` is specified, but its format cannot be recognized (it is not an 99 * email address, nor a `student_id` from the API, nor the literal string `me`). 100 * May also be returned if an invalid `page_token` is provided. * `NOT_FOUND` if 101 * a `student_id` is specified, and its format can be recognized, but Classroom 102 * has no record of that student. (guardians.listUserProfilesGuardians) 103 * 104 * @param string $studentId Filter results by the student who the guardian is 105 * linked to. The identifier can be one of the following: * the numeric 106 * identifier for the user * the email address of the user * the string literal 107 * `"me"`, indicating the requesting user * the string literal `"-"`, indicating 108 * that results should be returned for all students that the requesting user has 109 * access to view. 110 * @param array $optParams Optional parameters. 111 * 112 * @opt_param string invitedEmailAddress Filter results by the email address 113 * that the original invitation was sent to, resulting in this guardian link. 114 * This filter can only be used by domain administrators. 115 * @opt_param int pageSize Maximum number of items to return. Zero or 116 * unspecified indicates that the server may assign a maximum. The server may 117 * return fewer than the specified number of results. 118 * @opt_param string pageToken nextPageToken value returned from a previous list 119 * call, indicating that the subsequent page of results should be returned. The 120 * list request must be otherwise identical to the one that resulted in this 121 * token. 122 * @return ListGuardiansResponse 123 */ 124 public function listUserProfilesGuardians($studentId, $optParams = []) 125 { 126 $params = ['studentId' => $studentId]; 127 $params = array_merge($params, $optParams); 128 return $this->call('list', [$params], ListGuardiansResponse::class); 129 } 130} 131 132// Adding a class alias for backwards compatibility with the previous class name. 133class_alias(UserProfilesGuardians::class, 'Google_Service_Classroom_Resource_UserProfilesGuardians'); 134