diff --git a/src/SKY/OneRoster/Endpoints/academicSessions.php b/src/SKY/OneRoster/Endpoints/academicSessions.php index 482eba68..e09738d9 100644 --- a/src/SKY/OneRoster/Endpoints/academicSessions.php +++ b/src/SKY/OneRoster/Endpoints/academicSessions.php @@ -31,7 +31,8 @@ public function getAll(): AcademicSessionsOutputModel /** * Returns a specific academic session. * - * @param string $id sourcedId for the academic session + * @param array{id: string} $params An associative array + * - id: sourcedId for the academic session * * @return \Blackbaud\SKY\OneRoster\Components\AcademicSessionOutputModel * OK - It was possible to read the collection. @@ -39,10 +40,10 @@ public function getAll(): AcademicSessionsOutputModel * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): AcademicSessionOutputModel + public function get(array $params): AcademicSessionOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new AcademicSessionOutputModel($this->send("get", ["{id}" => $id], [])); + return new AcademicSessionOutputModel($this->send("get", ["{id}" => $params['id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/categories.php b/src/SKY/OneRoster/Endpoints/categories.php index 69c7de70..2c6f4c55 100644 --- a/src/SKY/OneRoster/Endpoints/categories.php +++ b/src/SKY/OneRoster/Endpoints/categories.php @@ -32,7 +32,8 @@ public function getAll(): CategoriesOutputModel /** * Returns a specific category. * - * @param string $id sourcedId for the category + * @param array{id: string} $params An associative array + * - id: sourcedId for the category * * @return \Blackbaud\SKY\OneRoster\Components\CategoryOutputModel OK - It * was possible to read the resource. @@ -40,17 +41,18 @@ public function getAll(): CategoriesOutputModel * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): CategoryOutputModel + public function get(array $params): CategoryOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new CategoryOutputModel($this->send("get", ["{id}" => $id], [])); + return new CategoryOutputModel($this->send("get", ["{id}" => $params['id']], [])); } /** * Returns the category object that was created or updated. * - * @param string $id sourcedId for the category + * @param array{id: string} $params An associative array + * - id: sourcedId for the category * @param \Blackbaud\SKY\OneRoster\Components\CategoryInputModel * $requestBody input model for a category * @@ -60,11 +62,11 @@ public function get(string $id): CategoryOutputModel * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function put(string $id, CategoryInputModel $requestBody): CategoryOutputModel + public function put(array $params, CategoryInputModel $requestBody): CategoryOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return new CategoryOutputModel($this->send("put", ["{id}" => $id], [], $requestBody)); + return new CategoryOutputModel($this->send("put", ["{id}" => $params['id']], [], $requestBody)); } } diff --git a/src/SKY/OneRoster/Endpoints/classes.php b/src/SKY/OneRoster/Endpoints/classes.php index c0339dcf..8874a058 100644 --- a/src/SKY/OneRoster/Endpoints/classes.php +++ b/src/SKY/OneRoster/Endpoints/classes.php @@ -85,7 +85,8 @@ public function getAll(): ClassesOutputModel /** * Returns a specific class. * - * @param string $id sourcedId for the class + * @param array{id: string} $params An associative array + * - id: sourcedId for the class * * @return \Blackbaud\SKY\OneRoster\Components\ClassOutputModel OK - It * was possible to read the resource. @@ -93,10 +94,10 @@ public function getAll(): ClassesOutputModel * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): ClassOutputModel + public function get(array $params): ClassOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new ClassOutputModel($this->send("get", ["{id}" => $id], [])); + return new ClassOutputModel($this->send("get", ["{id}" => $params['id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/classes/categories.php b/src/SKY/OneRoster/Endpoints/classes/categories.php index 4ac694ec..1aad94ed 100644 --- a/src/SKY/OneRoster/Endpoints/classes/categories.php +++ b/src/SKY/OneRoster/Endpoints/classes/categories.php @@ -17,9 +17,11 @@ class Categories extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/classes/{class_id}/categories"; /** - * Returns a collection of categories for a specified `class_id`. + * Returns a collection of categories for a specified + * class_id. * - * @param string $class_id sourcedId for the category + * @param array{class_id: string} $params An associative array + * - class_id: sourcedId for the category * * @return \Blackbaud\SKY\OneRoster\Components\CategoriesOutputModel OK - * It was possible to read the resource. @@ -27,10 +29,10 @@ class Categories extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByClass(string $class_id): CategoriesOutputModel + public function getByClass(array $params): CategoriesOutputModel { - assert($class_id !== null, new ArgumentException("Parameter `class_id` is required")); + assert(isset($params['class_id']), new ArgumentException("Parameter `class_id` is required")); - return new CategoriesOutputModel($this->send("get", ["{class_id}" => $class_id], [])); + return new CategoriesOutputModel($this->send("get", ["{class_id}" => $params['class_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/classes/lineItems.php b/src/SKY/OneRoster/Endpoints/classes/lineItems.php index 78b78936..0cb2a7cf 100644 --- a/src/SKY/OneRoster/Endpoints/classes/lineItems.php +++ b/src/SKY/OneRoster/Endpoints/classes/lineItems.php @@ -37,9 +37,11 @@ class LineItems extends BaseEndpoint protected Results $_results = null; /** - * Returns a collection of lineItems for the specified `class_id`. + * Returns a collection of lineItems for the specified + * class_id. * - * @param string $class_id sourcedId for the class + * @param array{class_id: string} $params An associative array + * - class_id: sourcedId for the class * * @return \Blackbaud\SKY\OneRoster\Components\LineItemsOutputModel OK - * It was possible to read the resource. @@ -47,10 +49,10 @@ class LineItems extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByClass(string $class_id): LineItemsOutputModel + public function getByClass(array $params): LineItemsOutputModel { - assert($class_id !== null, new ArgumentException("Parameter `class_id` is required")); + assert(isset($params['class_id']), new ArgumentException("Parameter `class_id` is required")); - return new LineItemsOutputModel($this->send("get", ["{class_id}" => $class_id], [])); + return new LineItemsOutputModel($this->send("get", ["{class_id}" => $params['class_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/classes/lineItems/results.php b/src/SKY/OneRoster/Endpoints/classes/lineItems/results.php index 26604e33..d69346ed 100644 --- a/src/SKY/OneRoster/Endpoints/classes/lineItems/results.php +++ b/src/SKY/OneRoster/Endpoints/classes/lineItems/results.php @@ -17,11 +17,13 @@ class Results extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/classes/{class_id}/lineItems/{li_id}/results"; /** - * Returns a collection of results for the specified `class_id` and - * `li_id`. + * Returns a collection of results for the specified class_id + * and li_id. * - * @param string $class_id sourcedId for the class - * @param string $li_id sourcedId for the lineItem + * @param array{class_id: string, li_id: string} $params An associative + * array + * - class_id: sourcedId for the class + * - li_id: sourcedId for the lineItem * * @return \Blackbaud\SKY\OneRoster\Components\ResultsOutputModelSvc OK - * It was possible to read the resource. @@ -29,12 +31,12 @@ class Results extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByClassAndLi(string $class_id, string $li_id): ResultsOutputModelSvc + public function getByClassAndLi(array $params): ResultsOutputModelSvc { - assert($class_id !== null, new ArgumentException("Parameter `class_id` is required")); - assert($li_id !== null, new ArgumentException("Parameter `li_id` is required")); + assert(isset($params['class_id']), new ArgumentException("Parameter `class_id` is required")); + assert(isset($params['li_id']), new ArgumentException("Parameter `li_id` is required")); - return new ResultsOutputModelSvc($this->send("get", ["{class_id}" => $class_id, - "{li_id}" => $li_id], [])); + return new ResultsOutputModelSvc($this->send("get", ["{class_id}" => $params['class_id'], + "{li_id}" => $params['li_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/classes/results.php b/src/SKY/OneRoster/Endpoints/classes/results.php index f75834b0..c6065a62 100644 --- a/src/SKY/OneRoster/Endpoints/classes/results.php +++ b/src/SKY/OneRoster/Endpoints/classes/results.php @@ -17,9 +17,10 @@ class Results extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/classes/{class_id}/results"; /** - * Returns a collection of results for a specified `class_id`. + * Returns a collection of results for a specified class_id. * - * @param string $class_id sourcedId for the class + * @param array{class_id: string} $params An associative array + * - class_id: sourcedId for the class * * @return \Blackbaud\SKY\OneRoster\Components\ResultsOutputModelSvc OK - * It was possible to read the resource. @@ -27,10 +28,10 @@ class Results extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByClass(string $class_id): ResultsOutputModelSvc + public function getByClass(array $params): ResultsOutputModelSvc { - assert($class_id !== null, new ArgumentException("Parameter `class_id` is required")); + assert(isset($params['class_id']), new ArgumentException("Parameter `class_id` is required")); - return new ResultsOutputModelSvc($this->send("get", ["{class_id}" => $class_id], [])); + return new ResultsOutputModelSvc($this->send("get", ["{class_id}" => $params['class_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/classes/students.php b/src/SKY/OneRoster/Endpoints/classes/students.php index 840791c4..b5844314 100644 --- a/src/SKY/OneRoster/Endpoints/classes/students.php +++ b/src/SKY/OneRoster/Endpoints/classes/students.php @@ -37,19 +37,21 @@ class Students extends BaseEndpoint protected Results $_results = null; /** - * Returns a collection of student user data for the specified `class_id`. + * Returns a collection of student user data for the specified + * class_id. * - * @param string $class_id sourcedId for the class + * @param array{class_id: string} $params An associative array + * - class_id: sourcedId for the class * * @return \Blackbaud\SKY\OneRoster\Components\UsersOutputModel Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByClass(string $class_id): UsersOutputModel + public function getByClass(array $params): UsersOutputModel { - assert($class_id !== null, new ArgumentException("Parameter `class_id` is required")); + assert(isset($params['class_id']), new ArgumentException("Parameter `class_id` is required")); - return new UsersOutputModel($this->send("get", ["{class_id}" => $class_id], [])); + return new UsersOutputModel($this->send("get", ["{class_id}" => $params['class_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/classes/students/results.php b/src/SKY/OneRoster/Endpoints/classes/students/results.php index a46acb18..49f9133a 100644 --- a/src/SKY/OneRoster/Endpoints/classes/students/results.php +++ b/src/SKY/OneRoster/Endpoints/classes/students/results.php @@ -17,11 +17,13 @@ class Results extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/classes/{class_id}/students/{student_id}/results"; /** - * Returns a collection of results for a specified `class_id` and - * `student_id`. + * Returns a collection of results for a specified class_id + * and student_id. * - * @param string $class_id sourcedId for the class - * @param string $student_id sourcedId for the student + * @param array{class_id: string, student_id: string} $params An + * associative array + * - class_id: sourcedId for the class + * - student_id: sourcedId for the student * * @return \Blackbaud\SKY\OneRoster\Components\ResultsOutputModelSvc OK - * It was possible to read the resource. @@ -29,12 +31,12 @@ class Results extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByClassAndStudent(string $class_id, string $student_id): ResultsOutputModelSvc + public function getByClassAndStudent(array $params): ResultsOutputModelSvc { - assert($class_id !== null, new ArgumentException("Parameter `class_id` is required")); - assert($student_id !== null, new ArgumentException("Parameter `student_id` is required")); + assert(isset($params['class_id']), new ArgumentException("Parameter `class_id` is required")); + assert(isset($params['student_id']), new ArgumentException("Parameter `student_id` is required")); - return new ResultsOutputModelSvc($this->send("get", ["{class_id}" => $class_id, - "{student_id}" => $student_id], [])); + return new ResultsOutputModelSvc($this->send("get", ["{class_id}" => $params['class_id'], + "{student_id}" => $params['student_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/classes/teachers.php b/src/SKY/OneRoster/Endpoints/classes/teachers.php index c5b3d5ea..06098b73 100644 --- a/src/SKY/OneRoster/Endpoints/classes/teachers.php +++ b/src/SKY/OneRoster/Endpoints/classes/teachers.php @@ -17,26 +17,25 @@ class Teachers extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/classes/{class_id}/teachers"; /** - * Returns a collection of teacher user data for the specified `class_id`. + * Returns a collection of teacher user data for the specified + * class_id.
* + * Roles returned include: * - * Roles returned include: + * * - * - Teacher - * - * - Pending Teacher - * - * @param string $class_id sourcedId for the class + * @param array{class_id: string} $params An associative array + * - class_id: sourcedId for the class * * @return \Blackbaud\SKY\OneRoster\Components\UsersOutputModel Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByClass(string $class_id): UsersOutputModel + public function getByClass(array $params): UsersOutputModel { - assert($class_id !== null, new ArgumentException("Parameter `class_id` is required")); + assert(isset($params['class_id']), new ArgumentException("Parameter `class_id` is required")); - return new UsersOutputModel($this->send("get", ["{class_id}" => $class_id], [])); + return new UsersOutputModel($this->send("get", ["{class_id}" => $params['class_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/courses.php b/src/SKY/OneRoster/Endpoints/courses.php index 031aa3ab..c271d861 100644 --- a/src/SKY/OneRoster/Endpoints/courses.php +++ b/src/SKY/OneRoster/Endpoints/courses.php @@ -31,7 +31,8 @@ public function getAll(): CoursesOutputModel /** * Returns a specific course. * - * @param string $id sourcedId for the course + * @param array{id: string} $params An associative array + * - id: sourcedId for the course * * @return \Blackbaud\SKY\OneRoster\Components\CourseOutputModel OK - It * was possible to read the resource. @@ -39,10 +40,10 @@ public function getAll(): CoursesOutputModel * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): CourseOutputModel + public function get(array $params): CourseOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new CourseOutputModel($this->send("get", ["{id}" => $id], [])); + return new CourseOutputModel($this->send("get", ["{id}" => $params['id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/demographics.php b/src/SKY/OneRoster/Endpoints/demographics.php index 81360091..ad8747f5 100644 --- a/src/SKY/OneRoster/Endpoints/demographics.php +++ b/src/SKY/OneRoster/Endpoints/demographics.php @@ -29,9 +29,11 @@ public function getAll(): DemographicsOutputModel } /** - * Returns a single user's demographic data for the specified `id`.. + * Returns a single user's demographic data for the specified + * id.. * - * @param string $id sourcedId for the user + * @param array{id: string} $params An associative array + * - id: sourcedId for the user * * @return \Blackbaud\SKY\OneRoster\Components\DemographicOutputModel * Success @@ -39,10 +41,10 @@ public function getAll(): DemographicsOutputModel * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): DemographicOutputModel + public function get(array $params): DemographicOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new DemographicOutputModel($this->send("get", ["{id}" => $id], [])); + return new DemographicOutputModel($this->send("get", ["{id}" => $params['id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/enrollments.php b/src/SKY/OneRoster/Endpoints/enrollments.php index f49719f6..f1e90ac3 100644 --- a/src/SKY/OneRoster/Endpoints/enrollments.php +++ b/src/SKY/OneRoster/Endpoints/enrollments.php @@ -31,7 +31,8 @@ public function getAll(): EnrollmentsOutputModel /** * Returns a specific enrollment. * - * @param string $id sourcedId for the enrollment + * @param array{id: string} $params An associative array + * - id: sourcedId for the enrollment * * @return \Blackbaud\SKY\OneRoster\Components\EnrollmentOutputModel OK - * It was possible to read the resource. @@ -39,10 +40,10 @@ public function getAll(): EnrollmentsOutputModel * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): EnrollmentOutputModel + public function get(array $params): EnrollmentOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new EnrollmentOutputModel($this->send("get", ["{id}" => $id], [])); + return new EnrollmentOutputModel($this->send("get", ["{id}" => $params['id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/gradingPeriods.php b/src/SKY/OneRoster/Endpoints/gradingPeriods.php index 7c68c2fd..8022a68d 100644 --- a/src/SKY/OneRoster/Endpoints/gradingPeriods.php +++ b/src/SKY/OneRoster/Endpoints/gradingPeriods.php @@ -31,7 +31,8 @@ public function getAll(): AcademicSessionsOutputModel /** * Returns a specific grading period. * - * @param string $id sourcedId for the grading period + * @param array{id: string} $params An associative array + * - id: sourcedId for the grading period * * @return \Blackbaud\SKY\OneRoster\Components\AcademicSessionOutputModel * OK - It was possible to read the collection. @@ -39,10 +40,10 @@ public function getAll(): AcademicSessionsOutputModel * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): AcademicSessionOutputModel + public function get(array $params): AcademicSessionOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new AcademicSessionOutputModel($this->send("get", ["{id}" => $id], [])); + return new AcademicSessionOutputModel($this->send("get", ["{id}" => $params['id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/lineItems.php b/src/SKY/OneRoster/Endpoints/lineItems.php index e6d416bc..facfb38b 100644 --- a/src/SKY/OneRoster/Endpoints/lineItems.php +++ b/src/SKY/OneRoster/Endpoints/lineItems.php @@ -32,7 +32,8 @@ public function getAll(): LineItemsOutputModel /** * Returns a specific lineItem. * - * @param string $id sourcedId for the lineItem + * @param array{id: string} $params An associative array + * - id: sourcedId for the lineItem * * @return \Blackbaud\SKY\OneRoster\Components\LineItemOutputModel OK - It * was possible to read the resource. @@ -40,17 +41,18 @@ public function getAll(): LineItemsOutputModel * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): LineItemOutputModel + public function get(array $params): LineItemOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new LineItemOutputModel($this->send("get", ["{id}" => $id], [])); + return new LineItemOutputModel($this->send("get", ["{id}" => $params['id']], [])); } /** * Returns the lineItem object that was created or updated. * - * @param string $id sourcedId for the lineItem + * @param array{id: string} $params An associative array + * - id: sourcedId for the lineItem * @param \Blackbaud\SKY\OneRoster\Components\LineItemInputModel * $requestBody input model for the lineItem * @@ -60,11 +62,11 @@ public function get(string $id): LineItemOutputModel * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function put(string $id, LineItemInputModel $requestBody): LineItemOutputModel + public function put(array $params, LineItemInputModel $requestBody): LineItemOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return new LineItemOutputModel($this->send("put", ["{id}" => $id], [], $requestBody)); + return new LineItemOutputModel($this->send("put", ["{id}" => $params['id']], [], $requestBody)); } } diff --git a/src/SKY/OneRoster/Endpoints/orgs.php b/src/SKY/OneRoster/Endpoints/orgs.php index 431ff406..524646df 100644 --- a/src/SKY/OneRoster/Endpoints/orgs.php +++ b/src/SKY/OneRoster/Endpoints/orgs.php @@ -31,7 +31,8 @@ public function getAll(): OrgsOutputModel /** * Returns a specific org. * - * @param string $id sourcedId for the org + * @param array{id: string} $params An associative array + * - id: sourcedId for the org * * @return \Blackbaud\SKY\OneRoster\Components\OrgOutputModel OK - It was * possible to read the resource. @@ -39,10 +40,10 @@ public function getAll(): OrgsOutputModel * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): OrgOutputModel + public function get(array $params): OrgOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new OrgOutputModel($this->send("get", ["{id}" => $id], [])); + return new OrgOutputModel($this->send("get", ["{id}" => $params['id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/results.php b/src/SKY/OneRoster/Endpoints/results.php index 4156c5c1..cc630187 100644 --- a/src/SKY/OneRoster/Endpoints/results.php +++ b/src/SKY/OneRoster/Endpoints/results.php @@ -33,7 +33,8 @@ public function getAll(): ResultsOutputModelSvc /** * Returns a specific result. * - * @param string $id sourcedId for the result + * @param array{id: string} $params An associative array + * - id: sourcedId for the result * * @return \Blackbaud\SKY\OneRoster\Components\ResultOutputModelSvc OK - * It was possible to read the resource. @@ -41,17 +42,18 @@ public function getAll(): ResultsOutputModelSvc * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): ResultOutputModelSvc + public function get(array $params): ResultOutputModelSvc { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new ResultOutputModelSvc($this->send("get", ["{id}" => $id], [])); + return new ResultOutputModelSvc($this->send("get", ["{id}" => $params['id']], [])); } /** * Returns the result object that was created or updated. * - * @param string $id sourcedId for the result + * @param array{id: string} $params An associative array + * - id: sourcedId for the result * @param \Blackbaud\SKY\OneRoster\Components\ResultInputModelSvc * $requestBody input model for the result * @@ -61,18 +63,19 @@ public function get(string $id): ResultOutputModelSvc * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function put(string $id, ResultInputModelSvc $requestBody): ResultOutputModelSvc + public function put(array $params, ResultInputModelSvc $requestBody): ResultOutputModelSvc { - assert($id !== null, new ArgumentException("Parameter `id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return new ResultOutputModelSvc($this->send("put", ["{id}" => $id], [], $requestBody)); + return new ResultOutputModelSvc($this->send("put", ["{id}" => $params['id']], [], $requestBody)); } /** * Deletes the specified result sourcedId. * - * @param string $id sourcedId for the result + * @param array{id: string} $params An associative array + * - id: sourcedId for the result * * @return \Blackbaud\SKY\OneRoster\Components\ResultsOutputModelSvc OK - * Resource has been deleted. @@ -80,10 +83,10 @@ public function put(string $id, ResultInputModelSvc $requestBody): ResultOutputM * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function delete(string $id): ResultsOutputModelSvc + public function delete(array $params): ResultsOutputModelSvc { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new ResultsOutputModelSvc($this->send("delete", ["{id}" => $id], [])); + return new ResultsOutputModelSvc($this->send("delete", ["{id}" => $params['id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/schools.php b/src/SKY/OneRoster/Endpoints/schools.php index bfb871d8..7a3747ab 100644 --- a/src/SKY/OneRoster/Endpoints/schools.php +++ b/src/SKY/OneRoster/Endpoints/schools.php @@ -93,7 +93,8 @@ public function getAll(): OrgsOutputModel /** * Returns a specific school. * - * @param string $id sourcedId for the school + * @param array{id: string} $params An associative array + * - id: sourcedId for the school * * @return \Blackbaud\SKY\OneRoster\Components\OrgOutputModel OK - It was * possible to read the resource. @@ -101,10 +102,10 @@ public function getAll(): OrgsOutputModel * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): OrgOutputModel + public function get(array $params): OrgOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new OrgOutputModel($this->send("get", ["{id}" => $id], [])); + return new OrgOutputModel($this->send("get", ["{id}" => $params['id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/schools/classes.php b/src/SKY/OneRoster/Endpoints/schools/classes.php index 8321d677..390003a3 100644 --- a/src/SKY/OneRoster/Endpoints/schools/classes.php +++ b/src/SKY/OneRoster/Endpoints/schools/classes.php @@ -37,9 +37,11 @@ class Classes extends BaseEndpoint protected Enrollments $_enrollments = null; /** - * Returns a collection of classes for the specified `school_id`. + * Returns a collection of classes for the specified + * school_id. * - * @param string $school_id sourcedId for the school + * @param array{school_id: string} $params An associative array + * - school_id: sourcedId for the school * * @return \Blackbaud\SKY\OneRoster\Components\ClassOutputModel OK - It * was possible to read the resource. @@ -47,10 +49,10 @@ class Classes extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getBySchool(string $school_id): ClassOutputModel + public function getBySchool(array $params): ClassOutputModel { - assert($school_id !== null, new ArgumentException("Parameter `school_id` is required")); + assert(isset($params['school_id']), new ArgumentException("Parameter `school_id` is required")); - return new ClassOutputModel($this->send("get", ["{school_id}" => $school_id], [])); + return new ClassOutputModel($this->send("get", ["{school_id}" => $params['school_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/schools/classes/enrollments.php b/src/SKY/OneRoster/Endpoints/schools/classes/enrollments.php index 694d141d..77881c76 100644 --- a/src/SKY/OneRoster/Endpoints/schools/classes/enrollments.php +++ b/src/SKY/OneRoster/Endpoints/schools/classes/enrollments.php @@ -17,11 +17,13 @@ class Enrollments extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/schools/{school_id}/classes/{class_id}/enrollments"; /** - * Returns a collection of enrollments for the specified `class_id` in the - * `school_id`. + * Returns a collection of enrollments for the specified + * class_id in the school_id. * - * @param string $school_id sourcedId for the school - * @param string $class_id sourcedId for the class + * @param array{school_id: string, class_id: string} $params An + * associative array + * - school_id: sourcedId for the school + * - class_id: sourcedId for the class * * @return \Blackbaud\SKY\OneRoster\Components\EnrollmentsOutputModel OK - * It was possible to read the collection. @@ -29,12 +31,12 @@ class Enrollments extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getBySchoolAndClass(string $school_id, string $class_id): EnrollmentsOutputModel + public function getBySchoolAndClass(array $params): EnrollmentsOutputModel { - assert($school_id !== null, new ArgumentException("Parameter `school_id` is required")); - assert($class_id !== null, new ArgumentException("Parameter `class_id` is required")); + assert(isset($params['school_id']), new ArgumentException("Parameter `school_id` is required")); + assert(isset($params['class_id']), new ArgumentException("Parameter `class_id` is required")); - return new EnrollmentsOutputModel($this->send("get", ["{school_id}" => $school_id, - "{class_id}" => $class_id], [])); + return new EnrollmentsOutputModel($this->send("get", ["{school_id}" => $params['school_id'], + "{class_id}" => $params['class_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/schools/courses.php b/src/SKY/OneRoster/Endpoints/schools/courses.php index f3c7ad69..06ce60ba 100644 --- a/src/SKY/OneRoster/Endpoints/schools/courses.php +++ b/src/SKY/OneRoster/Endpoints/schools/courses.php @@ -17,9 +17,11 @@ class Courses extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/schools/{school_id}/courses"; /** - * Returns a collection of courses for the specified `school_id`. + * Returns a collection of courses for the specified + * school_id. * - * @param string $school_id sourcedId for the teacher + * @param array{school_id: string} $params An associative array + * - school_id: sourcedId for the teacher * * @return \Blackbaud\SKY\OneRoster\Components\CoursesOutputModel OK - It * was possible to read the collection. @@ -27,10 +29,10 @@ class Courses extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getBySchool(string $school_id): CoursesOutputModel + public function getBySchool(array $params): CoursesOutputModel { - assert($school_id !== null, new ArgumentException("Parameter `school_id` is required")); + assert(isset($params['school_id']), new ArgumentException("Parameter `school_id` is required")); - return new CoursesOutputModel($this->send("get", ["{school_id}" => $school_id], [])); + return new CoursesOutputModel($this->send("get", ["{school_id}" => $params['school_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/schools/enrollments.php b/src/SKY/OneRoster/Endpoints/schools/enrollments.php index deea1397..409b623e 100644 --- a/src/SKY/OneRoster/Endpoints/schools/enrollments.php +++ b/src/SKY/OneRoster/Endpoints/schools/enrollments.php @@ -17,9 +17,11 @@ class Enrollments extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/schools/{school_id}/enrollments"; /** - * Returns a collection of enrollments for the specified `school_id`. + * Returns a collection of enrollments for the specified + * school_id. * - * @param string $school_id sourcedId for the school + * @param array{school_id: string} $params An associative array + * - school_id: sourcedId for the school * * @return \Blackbaud\SKY\OneRoster\Components\EnrollmentsOutputModel OK - * It was possible to read the collection. @@ -27,10 +29,10 @@ class Enrollments extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getBySchool(string $school_id): EnrollmentsOutputModel + public function getBySchool(array $params): EnrollmentsOutputModel { - assert($school_id !== null, new ArgumentException("Parameter `school_id` is required")); + assert(isset($params['school_id']), new ArgumentException("Parameter `school_id` is required")); - return new EnrollmentsOutputModel($this->send("get", ["{school_id}" => $school_id], [])); + return new EnrollmentsOutputModel($this->send("get", ["{school_id}" => $params['school_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/schools/students.php b/src/SKY/OneRoster/Endpoints/schools/students.php index 00539a44..7f38442c 100644 --- a/src/SKY/OneRoster/Endpoints/schools/students.php +++ b/src/SKY/OneRoster/Endpoints/schools/students.php @@ -18,19 +18,20 @@ class Students extends BaseEndpoint /** * Returns a collection of student user data for the specified - * `school_id`. + * school_id. * - * @param string $school_id sourcedId for the school + * @param array{school_id: string} $params An associative array + * - school_id: sourcedId for the school * * @return \Blackbaud\SKY\OneRoster\Components\UsersOutputModel Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getBySchool(string $school_id): UsersOutputModel + public function getBySchool(array $params): UsersOutputModel { - assert($school_id !== null, new ArgumentException("Parameter `school_id` is required")); + assert(isset($params['school_id']), new ArgumentException("Parameter `school_id` is required")); - return new UsersOutputModel($this->send("get", ["{school_id}" => $school_id], [])); + return new UsersOutputModel($this->send("get", ["{school_id}" => $params['school_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/schools/teachers.php b/src/SKY/OneRoster/Endpoints/schools/teachers.php index 13eb1a60..77f6f503 100644 --- a/src/SKY/OneRoster/Endpoints/schools/teachers.php +++ b/src/SKY/OneRoster/Endpoints/schools/teachers.php @@ -18,25 +18,24 @@ class Teachers extends BaseEndpoint /** * Returns a collection of teacher user data for the specified - * `school_id`. + * school_id.
* - * Roles returned include: + * Roles returned include: * - * - Teacher + * * - * - Pending Teacher - * - * @param string $school_id sourcedId for the school + * @param array{school_id: string} $params An associative array + * - school_id: sourcedId for the school * * @return \Blackbaud\SKY\OneRoster\Components\UsersOutputModel Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getBySchool(string $school_id): UsersOutputModel + public function getBySchool(array $params): UsersOutputModel { - assert($school_id !== null, new ArgumentException("Parameter `school_id` is required")); + assert(isset($params['school_id']), new ArgumentException("Parameter `school_id` is required")); - return new UsersOutputModel($this->send("get", ["{school_id}" => $school_id], [])); + return new UsersOutputModel($this->send("get", ["{school_id}" => $params['school_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/schools/terms.php b/src/SKY/OneRoster/Endpoints/schools/terms.php index 932797a9..01a71a16 100644 --- a/src/SKY/OneRoster/Endpoints/schools/terms.php +++ b/src/SKY/OneRoster/Endpoints/schools/terms.php @@ -17,9 +17,10 @@ class Terms extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/schools/{school_id}/terms"; /** - * Returns a collection of terms for the specified `school_id`. + * Returns a collection of terms for the specified school_id. * - * @param string $school_id sourcedId for the school + * @param array{school_id: string} $params An associative array + * - school_id: sourcedId for the school * * @return \Blackbaud\SKY\OneRoster\Components\AcademicSessionsOutputModel * OK - It was possible to read the collection. @@ -27,10 +28,10 @@ class Terms extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getBySchool(string $school_id): AcademicSessionsOutputModel + public function getBySchool(array $params): AcademicSessionsOutputModel { - assert($school_id !== null, new ArgumentException("Parameter `school_id` is required")); + assert(isset($params['school_id']), new ArgumentException("Parameter `school_id` is required")); - return new AcademicSessionsOutputModel($this->send("get", ["{school_id}" => $school_id], [])); + return new AcademicSessionsOutputModel($this->send("get", ["{school_id}" => $params['school_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/students.php b/src/SKY/OneRoster/Endpoints/students.php index edc52fad..ea8af97b 100644 --- a/src/SKY/OneRoster/Endpoints/students.php +++ b/src/SKY/OneRoster/Endpoints/students.php @@ -28,19 +28,20 @@ public function getAll(): UsersOutputModel } /** - * Returns a single student user for the specified `id`. + * Returns a single student user for the specified id.
* - * @param string $id sourcedId for the student + * @param array{id: string} $params An associative array + * - id: sourcedId for the student * * @return \Blackbaud\SKY\OneRoster\Components\UserOutputModel Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): UserOutputModel + public function get(array $params): UserOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new UserOutputModel($this->send("get", ["{id}" => $id], [])); + return new UserOutputModel($this->send("get", ["{id}" => $params['id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/teachers.php b/src/SKY/OneRoster/Endpoints/teachers.php index 7ca97f35..e27d1588 100644 --- a/src/SKY/OneRoster/Endpoints/teachers.php +++ b/src/SKY/OneRoster/Endpoints/teachers.php @@ -36,13 +36,11 @@ class Teachers extends BaseEndpoint protected Classes $_classes = null; /** - * Returns a collection of teacher user data. + * Returns a collection of teacher user data.
* - * Roles returned include: + * Roles returned include: * - * - Teacher - * - * - Pending Teacher + * * * @return \Blackbaud\SKY\OneRoster\Components\UsersOutputModel Success */ @@ -52,25 +50,24 @@ public function getAll(): UsersOutputModel } /** - * Returns a single teacher user for the specified `id`. - * - * Roles returned include: + * Returns a single teacher user for the specified id.
* - * - Teacher + * Roles returned include: * - * - Pending Teacher + * * - * @param string $id sourcedId for the teacher + * @param array{id: string} $params An associative array + * - id: sourcedId for the teacher * * @return \Blackbaud\SKY\OneRoster\Components\UserOutputModel Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): UserOutputModel + public function get(array $params): UserOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new UserOutputModel($this->send("get", ["{id}" => $id], [])); + return new UserOutputModel($this->send("get", ["{id}" => $params['id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/teachers/classes.php b/src/SKY/OneRoster/Endpoints/teachers/classes.php index 1e91e2ea..d7727adb 100644 --- a/src/SKY/OneRoster/Endpoints/teachers/classes.php +++ b/src/SKY/OneRoster/Endpoints/teachers/classes.php @@ -17,9 +17,11 @@ class Classes extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/teachers/{teacher_id}/classes"; /** - * Returns a collection of classes for the specified `teacher_id`. + * Returns a collection of classes for the specified + * teacher_id. * - * @param string $teacher_id sourcedId for the teacher + * @param array{teacher_id: string} $params An associative array + * - teacher_id: sourcedId for the teacher * * @return \Blackbaud\SKY\OneRoster\Components\ClassOutputModel OK - It * was possible to read the resource. @@ -27,10 +29,10 @@ class Classes extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByTeacher(string $teacher_id): ClassOutputModel + public function getByTeacher(array $params): ClassOutputModel { - assert($teacher_id !== null, new ArgumentException("Parameter `teacher_id` is required")); + assert(isset($params['teacher_id']), new ArgumentException("Parameter `teacher_id` is required")); - return new ClassOutputModel($this->send("get", ["{teacher_id}" => $teacher_id], [])); + return new ClassOutputModel($this->send("get", ["{teacher_id}" => $params['teacher_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/terms.php b/src/SKY/OneRoster/Endpoints/terms.php index 712149fb..48076d80 100644 --- a/src/SKY/OneRoster/Endpoints/terms.php +++ b/src/SKY/OneRoster/Endpoints/terms.php @@ -51,7 +51,8 @@ public function getAll(): AcademicSessionsOutputModel /** * Returns a specific term. * - * @param string $id sourcedId for the term + * @param array{id: string} $params An associative array + * - id: sourcedId for the term * * @return \Blackbaud\SKY\OneRoster\Components\AcademicSessionOutputModel * OK - It was possible to read the collection. @@ -59,10 +60,10 @@ public function getAll(): AcademicSessionsOutputModel * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): AcademicSessionOutputModel + public function get(array $params): AcademicSessionOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new AcademicSessionOutputModel($this->send("get", ["{id}" => $id], [])); + return new AcademicSessionOutputModel($this->send("get", ["{id}" => $params['id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/terms/gradingPeriods.php b/src/SKY/OneRoster/Endpoints/terms/gradingPeriods.php index 00956996..3926fff8 100644 --- a/src/SKY/OneRoster/Endpoints/terms/gradingPeriods.php +++ b/src/SKY/OneRoster/Endpoints/terms/gradingPeriods.php @@ -17,9 +17,11 @@ class GradingPeriods extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/terms/{term_id}/gradingPeriods"; /** - * Returns a collection of grading periods for the specified `term_id` + * Returns a collection of grading periods for the specified + * term_id * - * @param string $term_id sourcedId for the term + * @param array{term_id: string} $params An associative array + * - term_id: sourcedId for the term * * @return \Blackbaud\SKY\OneRoster\Components\AcademicSessionsOutputModel * OK - It was possible to read the collection. @@ -27,10 +29,10 @@ class GradingPeriods extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByTerm(string $term_id): AcademicSessionsOutputModel + public function getByTerm(array $params): AcademicSessionsOutputModel { - assert($term_id !== null, new ArgumentException("Parameter `term_id` is required")); + assert(isset($params['term_id']), new ArgumentException("Parameter `term_id` is required")); - return new AcademicSessionsOutputModel($this->send("get", ["{term_id}" => $term_id], [])); + return new AcademicSessionsOutputModel($this->send("get", ["{term_id}" => $params['term_id']], [])); } } diff --git a/src/SKY/OneRoster/Endpoints/users.php b/src/SKY/OneRoster/Endpoints/users.php index eaf94a62..5d194803 100644 --- a/src/SKY/OneRoster/Endpoints/users.php +++ b/src/SKY/OneRoster/Endpoints/users.php @@ -28,19 +28,20 @@ public function getAll(): UsersOutputModel } /** - * Returns a single user for the specified `id`. + * Returns a single user for the specified id. * - * @param string $id sourcedId for the user + * @param array{id: string} $params An associative array + * - id: sourcedId for the user * * @return \Blackbaud\SKY\OneRoster\Components\UserOutputModel Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(string $id): UserOutputModel + public function get(array $params): UserOutputModel { - assert($id !== null, new ArgumentException("Parameter `id` is required")); + assert(isset($params['id']), new ArgumentException("Parameter `id` is required")); - return new UserOutputModel($this->send("get", ["{id}" => $id], [])); + return new UserOutputModel($this->send("get", ["{id}" => $params['id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/academics/assignments.php b/src/SKY/School/Endpoints/v1/academics/assignments.php index 80d3b210..486e502c 100644 --- a/src/SKY/School/Endpoints/v1/academics/assignments.php +++ b/src/SKY/School/Endpoints/v1/academics/assignments.php @@ -18,20 +18,22 @@ class Assignments extends BaseEndpoint /** * Returns assignments for a student that are assigned or due within the - * date range specified. + * date range specified.
* - * If no ```end\_date``` is supplied it defaults to 31 days past the - * ```start\_date``` Requires at least one of the following roles in the - * Education Management system: + * If no ```end_date``` is supplied it defaults to 31 days past the + * ```start_date``` * - * - Student + * Requires at least one of the following roles in the Education + * Management system: * - * - Parent + * * - * @param int $student_id Format - int32. - * @param string $start_date Format - date-time (as date-time in RFC3339). - * @param ?string $end_date Format - date-time (as date-time in RFC3339). - * @param ?string $section_ids + * @param array{student_id: int, start_date: string, end_date: string, + * section_ids: string} $params An associative array + * - student_id: Format - int32. + * - start_date: Format - date-time (as date-time in RFC3339). + * - end_date: Format - date-time (as date-time in RFC3339). + * - section_ids: * * @return \Blackbaud\SKY\School\Components\StudentAssignmentCollection * Success @@ -39,14 +41,14 @@ class Assignments extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByStudent(int $student_id, string $start_date, ?string $end_date, ?string $section_ids): StudentAssignmentCollection + public function getByStudent(array $params): StudentAssignmentCollection { - assert($student_id !== null, new ArgumentException("Parameter `student_id` is required")); - assert($start_date !== null, new ArgumentException("Parameter `start_date` is required")); - assert($end_date !== null, new ArgumentException("Parameter `end_date` is required")); - assert($section_ids !== null, new ArgumentException("Parameter `section_ids` is required")); + assert(isset($params['student_id']), new ArgumentException("Parameter `student_id` is required")); + assert(isset($params['start_date']), new ArgumentException("Parameter `start_date` is required")); + assert(isset($params['end_date']), new ArgumentException("Parameter `end_date` is required")); + assert(isset($params['section_ids']), new ArgumentException("Parameter `section_ids` is required")); - return new StudentAssignmentCollection($this->send("get", ["{student_id}" => $student_id], ["start_date" => $start_date, + return new StudentAssignmentCollection($this->send("get", ["{student_id}" => $params['student_id']], ["start_date" => $start_date, "end_date" => $end_date, "section_ids" => $section_ids])); } diff --git a/src/SKY/School/Endpoints/v1/academics/courses.php b/src/SKY/School/Endpoints/v1/academics/courses.php index 5e66b864..5c63fbe3 100644 --- a/src/SKY/School/Endpoints/v1/academics/courses.php +++ b/src/SKY/School/Endpoints/v1/academics/courses.php @@ -18,29 +18,28 @@ class Courses extends BaseEndpoint /** * Returns a collection of academic courses, filtered by department and/or - * school level. + * school level.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager + * * - * - Platform Manager - * - * @param ?int $department_id Format - int32. Identifier for a specific + * @param array{department_id: int, level_id: int} $params An associative + * array + * - department_id: Format - int32. Identifier for a specific * department. - * @param ?int $level_id Format - int32. Identifier for a specific school - * level. + * - level_id: Format - int32. Identifier for a specific school level. * * @return \Blackbaud\SKY\School\Components\CourseCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?int $department_id, ?int $level_id): CourseCollection + public function filterBy(array $params): CourseCollection { - assert($department_id !== null, new ArgumentException("Parameter `department_id` is required")); - assert($level_id !== null, new ArgumentException("Parameter `level_id` is required")); + assert(isset($params['department_id']), new ArgumentException("Parameter `department_id` is required")); + assert(isset($params['level_id']), new ArgumentException("Parameter `level_id` is required")); return new CourseCollection($this->send("get", [], ["department_id" => $department_id, "level_id" => $level_id])); diff --git a/src/SKY/School/Endpoints/v1/academics/departments.php b/src/SKY/School/Endpoints/v1/academics/departments.php index d54fbae6..e99a2554 100644 --- a/src/SKY/School/Endpoints/v1/academics/departments.php +++ b/src/SKY/School/Endpoints/v1/academics/departments.php @@ -17,27 +17,25 @@ class Departments extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/academics/departments"; /** - * Returns a collection of academic departments. + * Returns a collection of academic departments.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager + * * - * - Platform Manager - * - * - Any Manager Role - * - * @param ?int $level_id Format - int32. Level number. + * @param array{level_id: int} $params An associative array + * - level_id: Format - int32. Level number. * * @return \Blackbaud\SKY\School\Components\DepartmentCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?int $level_id): DepartmentCollection + public function filterBy(array $params): DepartmentCollection { - assert($level_id !== null, new ArgumentException("Parameter `level_id` is required")); + assert(isset($params['level_id']), new ArgumentException("Parameter `level_id` is required")); return new DepartmentCollection($this->send("get", [], ["level_id" => $level_id])); } diff --git a/src/SKY/School/Endpoints/v1/academics/enrollments.php b/src/SKY/School/Endpoints/v1/academics/enrollments.php index 367034fc..2d7d0ca5 100644 --- a/src/SKY/School/Endpoints/v1/academics/enrollments.php +++ b/src/SKY/School/Endpoints/v1/academics/enrollments.php @@ -38,18 +38,18 @@ class Enrollments extends BaseEndpoint /** * Returns a collection of course sections in which the provided student - * is enrolled. + * is enrolled.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager + * * - * - Schedule Manager - * - * @param int $user_id Format - int32. User identifier. - * @param ?string $school_year The school year to filter the collection of - * sections by. Corresponds to ```school\_year\_label``` in the [Year + * @param array{user_id: int, school_year: string} $params An associative + * array + * - user_id: Format - int32. User identifier. + * - school_year: The school year to filter the collection of sections + * by. Corresponds to ```school\_year\_label``` in the [Year * list](https://developer.sky.blackbaud.com/docs/services/school/operations/v1yearsget). Defaults to the current school year. * * @return \Blackbaud\SKY\School\Components\EnrollmentCollection Success @@ -57,11 +57,11 @@ class Enrollments extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(int $user_id, ?string $school_year): EnrollmentCollection + public function get(array $params): EnrollmentCollection { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($school_year !== null, new ArgumentException("Parameter `school_year` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['school_year']), new ArgumentException("Parameter `school_year` is required")); - return new EnrollmentCollection($this->send("get", ["{user_id}" => $user_id], ["school_year" => $school_year])); + return new EnrollmentCollection($this->send("get", ["{user_id}" => $params['user_id']], ["school_year" => $school_year])); } } diff --git a/src/SKY/School/Endpoints/v1/academics/enrollments/changes.php b/src/SKY/School/Endpoints/v1/academics/enrollments/changes.php index 122ea15e..035b8105 100644 --- a/src/SKY/School/Endpoints/v1/academics/enrollments/changes.php +++ b/src/SKY/School/Endpoints/v1/academics/enrollments/changes.php @@ -18,23 +18,23 @@ class Changes extends BaseEndpoint /** * Returns a collection of students with enrollment changes on or after - * the date parameter. + * the date parameter.
* - * The maximum period of time that can be specified is 30 days from - * start\_date, if end\_date is not provided or is greater than 30 days - * from start\_date it will be set to start\_date + 30 days. + * The maximum period of time that can be specified is 30 days from + * start_date, if end_date is not provided or is greater than 30 days from + * start_date it will be set to start_date + 30 days.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Schedule Manager + * * - * - Academic Group Manager - * - * @param string $start_date Format - date-time (as date-time in RFC3339). - * The DateTime of changes to academics enrollments to begin with - * @param ?string $end_date Format - date-time (as date-time in RFC3339). - * The DateTime of changes to academics enrollments to end with. + * @param array{start_date: string, end_date: string} $params An + * associative array + * - start_date: Format - date-time (as date-time in RFC3339). The + * DateTime of changes to academics enrollments to begin with + * - end_date: Format - date-time (as date-time in RFC3339). The + * DateTime of changes to academics enrollments to end with. * * @return \Blackbaud\SKY\School\Components\EnrollmentChangesCollection * Success @@ -42,10 +42,10 @@ class Changes extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(string $start_date, ?string $end_date): EnrollmentChangesCollection + public function filterBy(array $params): EnrollmentChangesCollection { - assert($start_date !== null, new ArgumentException("Parameter `start_date` is required")); - assert($end_date !== null, new ArgumentException("Parameter `end_date` is required")); + assert(isset($params['start_date']), new ArgumentException("Parameter `start_date` is required")); + assert(isset($params['end_date']), new ArgumentException("Parameter `end_date` is required")); return new EnrollmentChangesCollection($this->send("get", [], ["start_date" => $start_date, "end_date" => $end_date])); diff --git a/src/SKY/School/Endpoints/v1/academics/gradedassignments.php b/src/SKY/School/Endpoints/v1/academics/gradedassignments.php index bd8ac9d1..9418d949 100644 --- a/src/SKY/School/Endpoints/v1/academics/gradedassignments.php +++ b/src/SKY/School/Endpoints/v1/academics/gradedassignments.php @@ -17,22 +17,22 @@ class Gradedassignments extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/academics/{student_id}/{section_id}/gradedassignments"; /** - * Returns the graded assignments for the specified ```student\_id``` and - * their ```section\_id```. + * Returns the graded assignments for the specified ```student_id``` and + * their ```section_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Student + * * - * - Parent - * - * @param int $student_id Format - int32. The ID of the student to view - * graded assignments for. - * @param int $section_id Format - int32. The ID of the lead section for - * the student. - * @param int $marking_period_id Format - int32. The ID of the marking - * period to return grades for. + * @param array{student_id: int, section_id: int, marking_period_id: int} + * $params An associative array + * - student_id: Format - int32. The ID of the student to view graded + * assignments for. + * - section_id: Format - int32. The ID of the lead section for the + * student. + * - marking_period_id: Format - int32. The ID of the marking period + * to return grades for. * * @return \Blackbaud\SKY\School\Components\StudentGradedAssignmentCollection * Success @@ -40,13 +40,13 @@ class Gradedassignments extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByStudentAndSection(int $student_id, int $section_id, int $marking_period_id): StudentGradedAssignmentCollection + public function getByStudentAndSection(array $params): StudentGradedAssignmentCollection { - assert($student_id !== null, new ArgumentException("Parameter `student_id` is required")); - assert($section_id !== null, new ArgumentException("Parameter `section_id` is required")); - assert($marking_period_id !== null, new ArgumentException("Parameter `marking_period_id` is required")); + assert(isset($params['student_id']), new ArgumentException("Parameter `student_id` is required")); + assert(isset($params['section_id']), new ArgumentException("Parameter `section_id` is required")); + assert(isset($params['marking_period_id']), new ArgumentException("Parameter `marking_period_id` is required")); - return new StudentGradedAssignmentCollection($this->send("get", ["{student_id}" => $student_id, - "{section_id}" => $section_id], ["marking_period_id" => $marking_period_id])); + return new StudentGradedAssignmentCollection($this->send("get", ["{student_id}" => $params['student_id'], + "{section_id}" => $params['section_id']], ["marking_period_id" => $marking_period_id])); } } diff --git a/src/SKY/School/Endpoints/v1/academics/schedules/master.php b/src/SKY/School/Endpoints/v1/academics/schedules/master.php index 0c001cb4..05475061 100644 --- a/src/SKY/School/Endpoints/v1/academics/schedules/master.php +++ b/src/SKY/School/Endpoints/v1/academics/schedules/master.php @@ -18,27 +18,27 @@ class Master extends BaseEndpoint /** * Returns a collection of Master Schedule days within the date range - * provided. + * provided.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager + * * - * - Schedule Manager - * - * @param int $level_num Format - int32. Level Number indicates which - * school you are working with. - * @param string $start_date Format - date-time (as date-time in RFC3339). - * Start of the date range (inclusive). The earliest possible start\_date - * is 1/1/1900, any date entered before that date will be overwritten with + * @param array{level_num: int, start_date: string, end_date: string, + * offering_type: int} $params An associative array + * - level_num: Format - int32. Level Number indicates which school + * you are working with. + * - start_date: Format - date-time (as date-time in RFC3339). Start + * of the date range (inclusive). The earliest possible start\_date is + * 1/1/1900, any date entered before that date will be overwritten with * 1/1/1900. - * @param string $end_date Format - date-time (as date-time in RFC3339). - * End of the date range (inclusive). If the end\_date is earlier than the + * - end_date: Format - date-time (as date-time in RFC3339). End of + * the date range (inclusive). If the end\_date is earlier than the * start\_date the end\_date wil be overwritten with the start\_date plus * 7 days. - * @param ?int $offering_type Format - int32. Filters the results by a - * specific group type. Defaults to "All" offering types. + * - offering_type: Format - int32. Filters the results by a specific + * group type. Defaults to "All" offering types. * * @return \Blackbaud\SKY\School\Components\MasterScheduleDayCollection * Success @@ -46,12 +46,12 @@ class Master extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(int $level_num, string $start_date, string $end_date, ?int $offering_type): MasterScheduleDayCollection + public function filterBy(array $params): MasterScheduleDayCollection { - assert($level_num !== null, new ArgumentException("Parameter `level_num` is required")); - assert($start_date !== null, new ArgumentException("Parameter `start_date` is required")); - assert($end_date !== null, new ArgumentException("Parameter `end_date` is required")); - assert($offering_type !== null, new ArgumentException("Parameter `offering_type` is required")); + assert(isset($params['level_num']), new ArgumentException("Parameter `level_num` is required")); + assert(isset($params['start_date']), new ArgumentException("Parameter `start_date` is required")); + assert(isset($params['end_date']), new ArgumentException("Parameter `end_date` is required")); + assert(isset($params['offering_type']), new ArgumentException("Parameter `offering_type` is required")); return new MasterScheduleDayCollection($this->send("get", [], ["level_num" => $level_num, "start_date" => $start_date, diff --git a/src/SKY/School/Endpoints/v1/academics/schedules/sets.php b/src/SKY/School/Endpoints/v1/academics/schedules/sets.php index 9ddcf6b7..5b9a5bf6 100644 --- a/src/SKY/School/Endpoints/v1/academics/schedules/sets.php +++ b/src/SKY/School/Endpoints/v1/academics/schedules/sets.php @@ -20,21 +20,21 @@ class Sets extends BaseEndpoint /** * Returns a collection of Schedule Sets for the specified - * ```level\_num```. + * ```level_num```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager + * * - * - Schedule Manager - * - * @param int $level_num Format - int32. Level Number indicates which - * school you are working with. - * @param ?string $school_year The school year to get Schedule Sets for. + * @param array{level_num: int, school_year: string, group_type: int} + * $params An associative array + * - level_num: Format - int32. Level Number indicates which school + * you are working with. + * - school_year: The school year to get Schedule Sets for. * Corresponds to ```school\_year\_label``` in the [Year * list](https://developer.sky.blackbaud.com/docs/services/school/operations/v1yearsget). Defaults to the current school year. - * @param ?int $group_type Format - int32. The Group Type to filter the + * - group_type: Format - int32. The Group Type to filter the * collection of Schedule Sets. Defaults to the 'Academics' (1). * * @return \Blackbaud\SKY\School\Components\ScheduleSetCollection Success @@ -42,11 +42,11 @@ class Sets extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(int $level_num, ?string $school_year, ?int $group_type): ScheduleSetCollection + public function filterBy(array $params): ScheduleSetCollection { - assert($level_num !== null, new ArgumentException("Parameter `level_num` is required")); - assert($school_year !== null, new ArgumentException("Parameter `school_year` is required")); - assert($group_type !== null, new ArgumentException("Parameter `group_type` is required")); + assert(isset($params['level_num']), new ArgumentException("Parameter `level_num` is required")); + assert(isset($params['school_year']), new ArgumentException("Parameter `school_year` is required")); + assert(isset($params['group_type']), new ArgumentException("Parameter `group_type` is required")); return new ScheduleSetCollection($this->send("get", [], ["level_num" => $level_num, "school_year" => $school_year, @@ -54,27 +54,25 @@ public function filterBy(int $level_num, ?string $school_year, ?int $group_type) } /** - * Returns details about the specified ```schedule\_set\_id```. + * Returns details about the specified ```schedule_set_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager - * - * - Schedule Manager + * * - * @param int $schedule_set_id Format - int32. ID of the Schedule Set you - * seek. + * @param array{schedule_set_id: int} $params An associative array + * - schedule_set_id: Format - int32. ID of the Schedule Set you seek. * * @return \Blackbaud\SKY\School\Components\ScheduleSetDetails Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(int $schedule_set_id): ScheduleSetDetails + public function get(array $params): ScheduleSetDetails { - assert($schedule_set_id !== null, new ArgumentException("Parameter `schedule_set_id` is required")); + assert(isset($params['schedule_set_id']), new ArgumentException("Parameter `schedule_set_id` is required")); - return new ScheduleSetDetails($this->send("get", ["{schedule_set_id}" => $schedule_set_id], [])); + return new ScheduleSetDetails($this->send("get", ["{schedule_set_id}" => $params['schedule_set_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/academics/sections.php b/src/SKY/School/Endpoints/v1/academics/sections.php index 0f3cd469..8736238d 100644 --- a/src/SKY/School/Endpoints/v1/academics/sections.php +++ b/src/SKY/School/Endpoints/v1/academics/sections.php @@ -58,15 +58,17 @@ class Sections extends BaseEndpoint /** * Returns a collection of academic sections for the specified school - * level. + * level.
* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - Academic Group Manager + * * - * @param int $level_num Format - int32. Level number. - * @param ?string $school_year The school year to get sections for. - * Corresponds to ```school\_year\_label``` in the [Year + * @param array{level_num: int, school_year: string} $params An + * associative array + * - level_num: Format - int32. Level number. + * - school_year: The school year to get sections for. Corresponds to + * ```school\_year\_label``` in the [Year * list](https://developer.sky.blackbaud.com/docs/services/school/operations/v1yearsget). Defaults to the current school year. * * @return \Blackbaud\SKY\School\Components\AcademicsSectionCollection @@ -75,10 +77,10 @@ class Sections extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(int $level_num, ?string $school_year): AcademicsSectionCollection + public function filterBy(array $params): AcademicsSectionCollection { - assert($level_num !== null, new ArgumentException("Parameter `level_num` is required")); - assert($school_year !== null, new ArgumentException("Parameter `school_year` is required")); + assert(isset($params['level_num']), new ArgumentException("Parameter `level_num` is required")); + assert(isset($params['school_year']), new ArgumentException("Parameter `school_year` is required")); return new AcademicsSectionCollection($this->send("get", [], ["level_num" => $level_num, "school_year" => $school_year])); diff --git a/src/SKY/School/Endpoints/v1/academics/sections/assignments.php b/src/SKY/School/Endpoints/v1/academics/sections/assignments.php index 738b4aba..a3fa260a 100644 --- a/src/SKY/School/Endpoints/v1/academics/sections/assignments.php +++ b/src/SKY/School/Endpoints/v1/academics/sections/assignments.php @@ -18,48 +18,47 @@ class Assignments extends BaseEndpoint /** * Returns a collection of assignments for the specified - * ```section\_id```. + * ```section_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager + * * - * - Student - * - * - Teacher - * - * - Pending Teacher - * - * @param int $section_id Format - int32. The ID of the section. - * @param ?string $types Returns results that match a comma separated list - * of assignment type IDs. - * @param ?string $status The status of the assignment. The status - * corresponds with static system options. Allowed values: "0" for In - * Progress, "1" for Completed, "2" for Overdue, and "-1" for To Do. - * @param ?int $persona_id Format - int32. The ID of the persona to get + * @param array{section_id: int, types: string, status: string, + * persona_id: int, filter: string, search: string} $params An associative + * array + * - section_id: Format - int32. The ID of the section. + * - types: Returns results that match a comma separated list of + * assignment type IDs. + * - status: The status of the assignment. The status corresponds with + * static system options. Allowed values: "0" for In Progress, "1" for + * Completed, "2" for Overdue, and "-1" for To Do. + * - persona_id: Format - int32. The ID of the persona to get * assignments. 3 = Faculty, 2 = Student. Defaults to 3. - * @param ?string $filter Return assignments based on the entered string: + * - filter: Return assignments based on the entered string: * ```expired```, ```future```, or ```all```. All is the default sort * value. - * @param ?string $search Returns results with Descriptions or Titles that - * match search string. + * - search: Returns results with Descriptions or Titles that match + * search string. * * @return \Blackbaud\SKY\School\Components\AssignmentCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getBySection(int $section_id, ?string $types, ?string $status, ?int $persona_id, ?string $filter, ?string $search): AssignmentCollection + public function getBySection(array $params): AssignmentCollection { - assert($section_id !== null, new ArgumentException("Parameter `section_id` is required")); - assert($types !== null, new ArgumentException("Parameter `types` is required")); - assert($status !== null, new ArgumentException("Parameter `status` is required")); - assert($persona_id !== null, new ArgumentException("Parameter `persona_id` is required")); - assert($filter !== null, new ArgumentException("Parameter `filter` is required")); - assert($search !== null, new ArgumentException("Parameter `search` is required")); + assert(isset($params['section_id']), new ArgumentException("Parameter `section_id` is required")); + assert(isset($params['types']), new ArgumentException("Parameter `types` is required")); + assert(isset($params['status']), new ArgumentException("Parameter `status` is required")); + assert(isset($params['persona_id']), new ArgumentException("Parameter `persona_id` is required")); + assert(isset($params['filter']), new ArgumentException("Parameter `filter` is required")); + assert(isset($params['search']), new ArgumentException("Parameter `search` is required")); - return new AssignmentCollection($this->send("get", ["{section_id}" => $section_id], ["types" => $types, + return new AssignmentCollection($this->send("get", ["{section_id}" => $params['section_id']], ["types" => $types, "status" => $status, "persona_id" => $persona_id, "filter" => $filter, diff --git a/src/SKY/School/Endpoints/v1/academics/sections/cycles.php b/src/SKY/School/Endpoints/v1/academics/sections/cycles.php index 36afa6a5..b16a0fb5 100644 --- a/src/SKY/School/Endpoints/v1/academics/sections/cycles.php +++ b/src/SKY/School/Endpoints/v1/academics/sections/cycles.php @@ -17,17 +17,20 @@ class Cycles extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/academics/sections/{section_id}/cycles"; /** - * Returns a collection of cycles for the specified ```section\_id```. + * Returns a collection of cycles for the specified ```section_id```.
* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - Academic Group Manager + * * - * @param int $section_id Format - int32. The ID of the section. - * @param ?int $duration_id Format - int32. The ID of the term for which - * you want to return cycles. Defaults to the current term for the section + * @param array{section_id: int, duration_id: int, group_type: int} + * $params An associative array + * - section_id: Format - int32. The ID of the section. + * - duration_id: Format - int32. The ID of the term for which you + * want to return cycles. Defaults to the current term for the section * provided. - * @param ?int $group_type Format - int32. The Group Type for the section + * - group_type: Format - int32. The Group Type for the section * specified. Defaults to the 'Academics' (1). * * @return \Blackbaud\SKY\School\Components\SectionCycles Success @@ -35,13 +38,13 @@ class Cycles extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getBySection(int $section_id, ?int $duration_id, ?int $group_type): SectionCycles + public function getBySection(array $params): SectionCycles { - assert($section_id !== null, new ArgumentException("Parameter `section_id` is required")); - assert($duration_id !== null, new ArgumentException("Parameter `duration_id` is required")); - assert($group_type !== null, new ArgumentException("Parameter `group_type` is required")); + assert(isset($params['section_id']), new ArgumentException("Parameter `section_id` is required")); + assert(isset($params['duration_id']), new ArgumentException("Parameter `duration_id` is required")); + assert(isset($params['group_type']), new ArgumentException("Parameter `group_type` is required")); - return new SectionCycles($this->send("get", ["{section_id}" => $section_id], ["duration_id" => $duration_id, + return new SectionCycles($this->send("get", ["{section_id}" => $params['section_id']], ["duration_id" => $duration_id, "group_type" => $group_type])); } } diff --git a/src/SKY/School/Endpoints/v1/academics/sections/students.php b/src/SKY/School/Endpoints/v1/academics/sections/students.php index 732f9dcf..b78ce8ad 100644 --- a/src/SKY/School/Endpoints/v1/academics/sections/students.php +++ b/src/SKY/School/Endpoints/v1/academics/sections/students.php @@ -20,17 +20,17 @@ class Students extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/academics/sections/{section_id}/students"; /** - * Returns a collection of students in the specified ```section\_id```. + * Returns a collection of students in the specified ```section_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager + * * - * - Teacher - * - * @param int $section_id Format - int32. The ID of the section, which can - * be found using [Section + * @param array{section_id: int} $params An associative array + * - section_id: Format - int32. The ID of the section, which can be + * found using [Section * list](https://developer.sky.blackbaud.com/docs/services/school/operations/V1AcademicsSectionsGet). * * @return \Blackbaud\SKY\School\Components\StudentCollection Success @@ -38,25 +38,23 @@ class Students extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getBySection(int $section_id): StudentCollection + public function getBySection(array $params): StudentCollection { - assert($section_id !== null, new ArgumentException("Parameter `section_id` is required")); + assert(isset($params['section_id']), new ArgumentException("Parameter `section_id` is required")); - return new StudentCollection($this->send("get", ["{section_id}" => $section_id], [])); + return new StudentCollection($this->send("get", ["{section_id}" => $params['section_id']], [])); } /** * Adds bulk enrollment data (students and/or teachers) for the specified - * section(s). + * section(s).
* - * Returns True if successful, otherwise false. + * Returns True if successful, otherwise false.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager - * - * - Schedule Manager + * * * @param \Blackbaud\SKY\School\Components\BulkEnrollment $requestBody * Defines which users (students and/or teachers) should be added to which @@ -69,7 +67,7 @@ public function getBySection(int $section_id): StudentCollection */ public function post(BulkEnrollment $requestBody): PostResponse { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return new PostResponse($this->send("post", [], [], $requestBody)); } diff --git a/src/SKY/School/Endpoints/v1/academics/specialdays.php b/src/SKY/School/Endpoints/v1/academics/specialdays.php index 21462b39..a0cffd27 100644 --- a/src/SKY/School/Endpoints/v1/academics/specialdays.php +++ b/src/SKY/School/Endpoints/v1/academics/specialdays.php @@ -17,26 +17,24 @@ class Specialdays extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/academics/specialdays"; /** - * Returns a collection of special days. + * Returns a collection of special days.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager + * * - * - Schedule Manager - * - * @param ?int $level_id Format - int32. Identifier for a specific school - * level. + * @param array{level_id: int} $params An associative array + * - level_id: Format - int32. Identifier for a specific school level. * * @return \Blackbaud\SKY\School\Components\SpecialDayCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?int $level_id): SpecialDayCollection + public function filterBy(array $params): SpecialDayCollection { - assert($level_id !== null, new ArgumentException("Parameter `level_id` is required")); + assert(isset($params['level_id']), new ArgumentException("Parameter `level_id` is required")); return new SpecialDayCollection($this->send("get", [], ["level_id" => $level_id])); } diff --git a/src/SKY/School/Endpoints/v1/academics/student/sections.php b/src/SKY/School/Endpoints/v1/academics/student/sections.php index b380f260..6f01fe94 100644 --- a/src/SKY/School/Endpoints/v1/academics/student/sections.php +++ b/src/SKY/School/Endpoints/v1/academics/student/sections.php @@ -17,24 +17,22 @@ class Sections extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/academics/student/{student_id}/sections"; /** - * Returns a collection of sections for the specified ```student\_id```. + * Returns a collection of sections for the specified ```student_id```.
* - * The user requesting the information must be the student, parent of the - * student or faculty member associated with the student. + * The user requesting the information must be the student, parent of the + * student or faculty member associated with the student.
* - * The ```cumulative\_gade``` is shown if the user has the correct access - * to view it. + * The ```cumulative_gade``` is shown if the user has the correct access + * to view it.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Student + * * - * - Parent - * - * - Faculty - * - * @param int $student_id Format - int32. The ID of the student to view + * @param array{student_id: int} $params An associative array + * - student_id: Format - int32. The ID of the student to view * sections and grades for. * * @return \Blackbaud\SKY\School\Components\AcademicsSectionStudentCollection @@ -43,10 +41,10 @@ class Sections extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByStudent(int $student_id): AcademicsSectionStudentCollection + public function getByStudent(array $params): AcademicsSectionStudentCollection { - assert($student_id !== null, new ArgumentException("Parameter `student_id` is required")); + assert(isset($params['student_id']), new ArgumentException("Parameter `student_id` is required")); - return new AcademicsSectionStudentCollection($this->send("get", ["{student_id}" => $student_id], [])); + return new AcademicsSectionStudentCollection($this->send("get", ["{student_id}" => $params['student_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/academics/teachers/sections.php b/src/SKY/School/Endpoints/v1/academics/teachers/sections.php index 4ebe35b6..42876781 100644 --- a/src/SKY/School/Endpoints/v1/academics/teachers/sections.php +++ b/src/SKY/School/Endpoints/v1/academics/teachers/sections.php @@ -17,18 +17,19 @@ class Sections extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/academics/teachers/{teacher_id}/sections"; /** - * Returns a collection of sections for the specified ```teacher\_id```. + * Returns a collection of sections for the specified ```teacher_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager + * * - * - Teacher - * - * @param int $teacher_id Format - int32. The ID of the teacher to get - * sections for. - * @param ?string $school_year The school year. Corresponds to + * @param array{teacher_id: int, school_year: string} $params An + * associative array + * - teacher_id: Format - int32. The ID of the teacher to get sections + * for. + * - school_year: The school year. Corresponds to * ```school\_year\_label``` in the [Year * list](https://developer.sky.blackbaud.com/docs/services/school/operations/v1yearsget). * @@ -38,11 +39,11 @@ class Sections extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByTeacher(int $teacher_id, ?string $school_year): AcademicsSectionCollection + public function getByTeacher(array $params): AcademicsSectionCollection { - assert($teacher_id !== null, new ArgumentException("Parameter `teacher_id` is required")); - assert($school_year !== null, new ArgumentException("Parameter `school_year` is required")); + assert(isset($params['teacher_id']), new ArgumentException("Parameter `teacher_id` is required")); + assert(isset($params['school_year']), new ArgumentException("Parameter `school_year` is required")); - return new AcademicsSectionCollection($this->send("get", ["{teacher_id}" => $teacher_id], ["school_year" => $school_year])); + return new AcademicsSectionCollection($this->send("get", ["{teacher_id}" => $params['teacher_id']], ["school_year" => $school_year])); } } diff --git a/src/SKY/School/Endpoints/v1/activities/sections.php b/src/SKY/School/Endpoints/v1/activities/sections.php index 76ed5670..92f80e85 100644 --- a/src/SKY/School/Endpoints/v1/activities/sections.php +++ b/src/SKY/School/Endpoints/v1/activities/sections.php @@ -18,15 +18,16 @@ class Sections extends BaseEndpoint /** * Returns a collection of activity sections for the specified school - * level. + * level.
* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - Activity Group Manager + * * - * @param int $level_num Format - int32. Level number - * @param ?string $school_year The school year to get activity sections - * for. + * @param array{level_num: int, school_year: string} $params An + * associative array + * - level_num: Format - int32. Level number + * - school_year: The school year to get activity sections for. * Defaults to the current school year. * * @return \Blackbaud\SKY\School\Components\ActivitiesSectionCollection @@ -35,10 +36,10 @@ class Sections extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(int $level_num, ?string $school_year): ActivitiesSectionCollection + public function filterBy(array $params): ActivitiesSectionCollection { - assert($level_num !== null, new ArgumentException("Parameter `level_num` is required")); - assert($school_year !== null, new ArgumentException("Parameter `school_year` is required")); + assert(isset($params['level_num']), new ArgumentException("Parameter `level_num` is required")); + assert(isset($params['school_year']), new ArgumentException("Parameter `school_year` is required")); return new ActivitiesSectionCollection($this->send("get", [], ["level_num" => $level_num, "school_year" => $school_year])); diff --git a/src/SKY/School/Endpoints/v1/admissions/candidates.php b/src/SKY/School/Endpoints/v1/admissions/candidates.php index 4ec2f91c..a0700e5b 100644 --- a/src/SKY/School/Endpoints/v1/admissions/candidates.php +++ b/src/SKY/School/Endpoints/v1/admissions/candidates.php @@ -18,42 +18,38 @@ class Candidates extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/admissions/candidates"; /** - * Returns a collection of admissions candidates. + * Returns a collection of admissions candidates.

* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Admissions Manager + * * - * - Platform Manager + * NOTE: The following fields have been deprecated and are no longer + * returned as of 01/01/2023. * - * - SKY API Data Sync - * - * NOTE: The following fields have been deprecated and are no longer - * returned as of 01/01/2023. - school\_decision - * - * - school\_decision\_type - * - * - candidate\_decision - * - * - candidate\_decision\_type + * + * - * Use the school decision and candidate decision objects instead. + * Use the school decision and candidate decision objects instead.

* - * NOTE: The filter for school\_year\_id has been replaced by - * school\_year. + * NOTE: The filter for school_year_id has been replaced by + * school_year.
* - * The school\_year\_id filter has been deprecated and no longer - * functions as of 01/01/2023. + * The school_year_id filter has been deprecated and no longer functions + * as of 01/01/2023. * - * @param ?string $school_year The school year for which to return - * results. Corresponds to ```school\_year\_label``` in the [Year + * @param array{school_year: string, status_ids: string, modified_date: + * string} $params An associative array + * - school_year: The school year for which to return results. + * Corresponds to ```school\_year\_label``` in the [Year * list](https://developer.sky.blackbaud.com/docs/services/school/operations/v1yearsget). Default is current year. - * @param ?string $status_ids One or more comma delimited status Id(s) to - * filter results on. Corresponds to ```id``` in the [Status + * - status_ids: One or more comma delimited status Id(s) to filter + * results on. Corresponds to ```id``` in the [Status * list](https://developer.sky.blackbaud.com/docs/services/school/operations/V1AdmissionsStatusGet). Default is no status Id filter. - * @param ?string $modified_date Format - date-time (as date-time in - * RFC3339). The date last modified to filter results to on or after. Use + * - modified_date: Format - date-time (as date-time in RFC3339). The + * date last modified to filter results to on or after. Use * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) date format: * 2003-04-21. Default is no modified date filter * @@ -63,11 +59,11 @@ class Candidates extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?string $school_year, ?string $status_ids, ?string $modified_date): CandidateReadCollection + public function filterBy(array $params): CandidateReadCollection { - assert($school_year !== null, new ArgumentException("Parameter `school_year` is required")); - assert($status_ids !== null, new ArgumentException("Parameter `status_ids` is required")); - assert($modified_date !== null, new ArgumentException("Parameter `modified_date` is required")); + assert(isset($params['school_year']), new ArgumentException("Parameter `school_year` is required")); + assert(isset($params['status_ids']), new ArgumentException("Parameter `status_ids` is required")); + assert(isset($params['modified_date']), new ArgumentException("Parameter `modified_date` is required")); return new CandidateReadCollection($this->send("get", [], ["school_year" => $school_year, "status_ids" => $status_ids, @@ -75,16 +71,13 @@ public function filterBy(?string $school_year, ?string $status_ids, ?string $mod } /** - * Creates a new admissions candidate record. - * - * Returns the ID of the newly created candidate. + * Creates a new admissions candidate record.

* - * Requires one of the following roles in the Education Management - * system: + * Returns the ID of the newly created candidate.

* - * - Admissions Manager + * Requires one of the following roles in the Education Management system: * - * - Admissions Staff + * * * @param \Blackbaud\SKY\School\Components\CandidateCreate $requestBody * @@ -95,7 +88,7 @@ public function filterBy(?string $school_year, ?string $status_ids, ?string $mod */ public function post(CandidateCreate $requestBody): int { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return $this->send("post", [], [], $requestBody); } diff --git a/src/SKY/School/Endpoints/v1/admissions/checklists.php b/src/SKY/School/Endpoints/v1/admissions/checklists.php index 7e858eee..6e788446 100644 --- a/src/SKY/School/Endpoints/v1/admissions/checklists.php +++ b/src/SKY/School/Endpoints/v1/admissions/checklists.php @@ -17,22 +17,24 @@ class Checklists extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/admissions/checklists"; /** - * Returns a collection of admissions checklists. + * Returns a collection of admissions checklists.

* - * Use the optional ```search\_text``` to apply a case-insensitive search - * against check lists "name". + * Use the optional ```search_text``` to apply a case-insensitive search + * against check lists "name".
* - * Use the optional ```inactive``` to return only inactive checklists - * (default is both). + * Use the optional ```inactive``` to return only inactive checklists + * (default is both).
* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - Admissions Manager + * * - * @param ?string $search_text Applies a case-insensitive search against - * check lists "name". - * @param ?bool $inactive flag to return only inactive checklists (default - * is both). + * @param array{search_text: string, inactive: bool} $params An + * associative array + * - search_text: Applies a case-insensitive search against check + * lists "name". + * - inactive: flag to return only inactive checklists (default is + * both). * * @return \Blackbaud\SKY\School\Components\AdmissionsCheckListCollection * Success @@ -40,10 +42,10 @@ class Checklists extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?string $search_text, ?bool $inactive): AdmissionsCheckListCollection + public function filterBy(array $params): AdmissionsCheckListCollection { - assert($search_text !== null, new ArgumentException("Parameter `search_text` is required")); - assert($inactive !== null, new ArgumentException("Parameter `inactive` is required")); + assert(isset($params['search_text']), new ArgumentException("Parameter `search_text` is required")); + assert(isset($params['inactive']), new ArgumentException("Parameter `inactive` is required")); return new AdmissionsCheckListCollection($this->send("get", [], ["search_text" => $search_text, "inactive" => $inactive])); diff --git a/src/SKY/School/Endpoints/v1/admissions/checkliststatus.php b/src/SKY/School/Endpoints/v1/admissions/checkliststatus.php index b010d7f2..5c4e46e1 100644 --- a/src/SKY/School/Endpoints/v1/admissions/checkliststatus.php +++ b/src/SKY/School/Endpoints/v1/admissions/checkliststatus.php @@ -16,11 +16,11 @@ class Checkliststatus extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/admissions/checkliststatus"; /** - * Returns a collection of admissions checklist statuses. + * Returns a collection of admissions checklist statuses.
* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - Admissions Manager + * * * @return \Blackbaud\SKY\School\Components\AdmissionsChecklistStatusCollection * Success diff --git a/src/SKY/School/Endpoints/v1/admissions/status.php b/src/SKY/School/Endpoints/v1/admissions/status.php index 11c702e5..3664fea3 100644 --- a/src/SKY/School/Endpoints/v1/admissions/status.php +++ b/src/SKY/School/Endpoints/v1/admissions/status.php @@ -16,16 +16,12 @@ class Status extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/admissions/status"; /** - * Returns a collection of admissions statuses. + * Returns a collection of admissions statuses.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Admissions Manager - * - * - Platform Manager - * - * - SKY API Data Sync + * * * @return \Blackbaud\SKY\School\Components\AdmissionsStatusesCollection * Success diff --git a/src/SKY/School/Endpoints/v1/advisories/sections.php b/src/SKY/School/Endpoints/v1/advisories/sections.php index d48f1f6f..7c5ee118 100644 --- a/src/SKY/School/Endpoints/v1/advisories/sections.php +++ b/src/SKY/School/Endpoints/v1/advisories/sections.php @@ -18,15 +18,16 @@ class Sections extends BaseEndpoint /** * Returns a collection of advisory sections for the specified school - * level + * level

* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - Sky API Advisory Group Manager + * * - * @param int $level_num Format - int32. Level number - * @param ?string $school_year The school year to get advisory sections - * for. + * @param array{level_num: int, school_year: string} $params An + * associative array + * - level_num: Format - int32. Level number + * - school_year: The school year to get advisory sections for. * Defaults to the current school year. * * @return \Blackbaud\SKY\School\Components\AdvisoriesSectionCollection @@ -35,10 +36,10 @@ class Sections extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(int $level_num, ?string $school_year): AdvisoriesSectionCollection + public function filterBy(array $params): AdvisoriesSectionCollection { - assert($level_num !== null, new ArgumentException("Parameter `level_num` is required")); - assert($school_year !== null, new ArgumentException("Parameter `school_year` is required")); + assert(isset($params['level_num']), new ArgumentException("Parameter `level_num` is required")); + assert(isset($params['school_year']), new ArgumentException("Parameter `school_year` is required")); return new AdvisoriesSectionCollection($this->send("get", [], ["level_num" => $level_num, "school_year" => $school_year])); diff --git a/src/SKY/School/Endpoints/v1/athletics/highlights.php b/src/SKY/School/Endpoints/v1/athletics/highlights.php index abbda80e..72d4cdf4 100644 --- a/src/SKY/School/Endpoints/v1/athletics/highlights.php +++ b/src/SKY/School/Endpoints/v1/athletics/highlights.php @@ -18,38 +18,30 @@ class Highlights extends BaseEndpoint /** * Returns an athletic game's highlights for the specified - * ```highlight\_id```. + * ```highlight_id```.
* - * This ID can be obtained via the GET athletics schedules endpoint for a - * game if highlights exist for that game. + * This ID can be obtained via the GET athletics schedules endpoint for a + * game if highlights exist for that game.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager + * * - * - Team Schedule Manager - * - * - Schedule Manager - * - * - Page Manager - * - * - Coach - * - * - Pending Coach - * - * @param int $highlight_id Format - int32. ID of the highlight to be - * returned. + * @param array{highlight_id: int} $params An associative array + * - highlight_id: Format - int32. ID of the highlight to be returned. * * @return \Blackbaud\SKY\School\Components\Highlight Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(int $highlight_id): Highlight + public function get(array $params): Highlight { - assert($highlight_id !== null, new ArgumentException("Parameter `highlight_id` is required")); + assert(isset($params['highlight_id']), new ArgumentException("Parameter `highlight_id` is required")); - return new Highlight($this->send("get", ["{highlight_id}" => $highlight_id], [])); + return new Highlight($this->send("get", ["{highlight_id}" => $params['highlight_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/athletics/locations.php b/src/SKY/School/Endpoints/v1/athletics/locations.php index dc042318..26c016de 100644 --- a/src/SKY/School/Endpoints/v1/athletics/locations.php +++ b/src/SKY/School/Endpoints/v1/athletics/locations.php @@ -18,20 +18,14 @@ class Locations extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/athletics/locations"; /** - * Returns a collection of athletic locations. + * Returns a collection of athletic locations.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager - * - * - Team Schedule Manager - * - * - Schedule Manager - * - * - Coach - * - * - Pending Coach + * * * @return \Blackbaud\SKY\School\Components\LocationCollection Success */ @@ -41,23 +35,17 @@ public function getAll(): LocationCollection } /** - * Creates a new athletic location. + * Creates a new athletic location.
* - * The location can optionally be tied to an opponent using the - * ```opponent\_id``` from the GET opponents endpoint. + * The location can optionally be tied to an opponent using the + * ```opponent_id``` from the GET opponents endpoint.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager - * - * - Team Schedule Manager - * - * - Schedule Manager - * - * - Coach - * - * - Pending Coach + * * * @param \Blackbaud\SKY\School\Components\LocationCreateModel * $requestBody The location to be created @@ -69,7 +57,7 @@ public function getAll(): LocationCollection */ public function post(LocationCreateModel $requestBody): int { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return $this->send("post", [], [], $requestBody); } diff --git a/src/SKY/School/Endpoints/v1/athletics/opponents.php b/src/SKY/School/Endpoints/v1/athletics/opponents.php index 12260c5f..fc4e1eee 100644 --- a/src/SKY/School/Endpoints/v1/athletics/opponents.php +++ b/src/SKY/School/Endpoints/v1/athletics/opponents.php @@ -18,20 +18,14 @@ class Opponents extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/athletics/opponents"; /** - * Returns a collection of athletic opponents. + * Returns a collection of athletic opponents.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager - * - * - Team Schedule Manager - * - * - Page Manager - * - * - Coach - * - * - Pending Coach + * * * @return \Blackbaud\SKY\School\Components\OpponentFlyweightCollection * Success @@ -42,22 +36,14 @@ public function getAll(): OpponentFlyweightCollection } /** - * Creates a new athletic opponent. + * Creates a new athletic opponent.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager - * - * - Team Schedule Manager - * - * - Schedule Manager - * - * - Page Manager - * - * - Coach - * - * - Pending Coach + * * * @param \Blackbaud\SKY\School\Components\OpponentUpdateModel * $requestBody The opponent to be created @@ -69,7 +55,7 @@ public function getAll(): OpponentFlyweightCollection */ public function post(OpponentUpdateModel $requestBody): int { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return $this->send("post", [], [], $requestBody); } diff --git a/src/SKY/School/Endpoints/v1/athletics/result.php b/src/SKY/School/Endpoints/v1/athletics/result.php index ba1b95a4..7ce4325f 100644 --- a/src/SKY/School/Endpoints/v1/athletics/result.php +++ b/src/SKY/School/Endpoints/v1/athletics/result.php @@ -18,21 +18,16 @@ class Result extends BaseEndpoint /** * Creates a result/score for the specified athletic game - * ```schedule\_id```. + * ```schedule_id```.
* - * Existing IDs can be retrieved via the GET athletics schedules endpoint - * as well as after a POST athletics game. + * Existing IDs can be retrieved via the GET athletics schedules endpoint + * as well as after a POST athletics game.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Team Schedule Manager - * - * - Page Manager - * - * - Coach - * - * - Pending Coach + * * * @param \Blackbaud\SKY\School\Components\ResultCreate $requestBody * @@ -43,7 +38,7 @@ class Result extends BaseEndpoint */ public function post(ResultCreate $requestBody): void { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return $this->send("post", [], [], $requestBody); } diff --git a/src/SKY/School/Endpoints/v1/athletics/schedules.php b/src/SKY/School/Endpoints/v1/athletics/schedules.php index 6e557678..84f9e178 100644 --- a/src/SKY/School/Endpoints/v1/athletics/schedules.php +++ b/src/SKY/School/Endpoints/v1/athletics/schedules.php @@ -17,57 +17,55 @@ class Schedules extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/athletics/schedules"; /** - * Returns a collection of athletic games for the current school year. + * Returns a collection of athletic games for the current school year.
* - * Use the ```start\_date``` and/or ```end\_date``` to filter to a - * specific timeframe. + * Use the ```start_date``` and/or ```end_date``` to filter to a specific + * timeframe.
* - * Returns data for a specific team by setting the ```team\_id``` using - * the GET teams endpoint. + * Returns data for a specific team by setting the ```team_id``` using the + * GET teams endpoint.
* - * Returns both games and practices by setting ```include\_practice``` to - * true. + * Returns both games and practices by setting ```include_practice``` to + * true.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager + * * - * - Team Schedule Manager - * - * - Schedule Manager - * - * - Coach - * - * - Pending Coach - * - * @param ?string $start_date Format - date-time (as date-time in - * RFC3339). Filter games/practices after this date - * @param ?string $end_date Format - date-time (as date-time in RFC3339). - * Filter games/practices before this date - * @param ?string $school_year Filter on a specific school year. Defaults - * to current school year. - * @param ?bool $include_practice Set to ```true``` to include practices - * with games. Defaults to false. - * @param ?int $team_id Format - int32. Filter games/practices for a - * specific team. Defaults to all teams. - * @param ?string $last_modified Format - date-time (as date-time in - * RFC3339). Set date to limit results to games with information changed - * on and after that date. + * @param array{start_date: string, end_date: string, school_year: string, + * include_practice: bool, team_id: int, last_modified: string} $params An + * associative array + * - start_date: Format - date-time (as date-time in RFC3339). Filter + * games/practices after this date + * - end_date: Format - date-time (as date-time in RFC3339). Filter + * games/practices before this date + * - school_year: Filter on a specific school year. Defaults to + * current school year. + * - include_practice: Set to ```true``` to include practices with + * games. Defaults to false. + * - team_id: Format - int32. Filter games/practices for a specific + * team. Defaults to all teams. + * - last_modified: Format - date-time (as date-time in RFC3339). Set + * date to limit results to games with information changed on and after + * that date. * * @return \Blackbaud\SKY\School\Components\ScheduleItemCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?string $start_date, ?string $end_date, ?string $school_year, ?bool $include_practice, ?int $team_id, ?string $last_modified): ScheduleItemCollection + public function filterBy(array $params): ScheduleItemCollection { - assert($start_date !== null, new ArgumentException("Parameter `start_date` is required")); - assert($end_date !== null, new ArgumentException("Parameter `end_date` is required")); - assert($school_year !== null, new ArgumentException("Parameter `school_year` is required")); - assert($include_practice !== null, new ArgumentException("Parameter `include_practice` is required")); - assert($team_id !== null, new ArgumentException("Parameter `team_id` is required")); - assert($last_modified !== null, new ArgumentException("Parameter `last_modified` is required")); + assert(isset($params['start_date']), new ArgumentException("Parameter `start_date` is required")); + assert(isset($params['end_date']), new ArgumentException("Parameter `end_date` is required")); + assert(isset($params['school_year']), new ArgumentException("Parameter `school_year` is required")); + assert(isset($params['include_practice']), new ArgumentException("Parameter `include_practice` is required")); + assert(isset($params['team_id']), new ArgumentException("Parameter `team_id` is required")); + assert(isset($params['last_modified']), new ArgumentException("Parameter `last_modified` is required")); return new ScheduleItemCollection($this->send("get", [], ["start_date" => $start_date, "end_date" => $end_date, diff --git a/src/SKY/School/Endpoints/v1/athletics/sports.php b/src/SKY/School/Endpoints/v1/athletics/sports.php index 45f3009a..cd264e66 100644 --- a/src/SKY/School/Endpoints/v1/athletics/sports.php +++ b/src/SKY/School/Endpoints/v1/athletics/sports.php @@ -17,33 +17,27 @@ class Sports extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/athletics/sports"; /** - * Returns a collection of athletic sports. + * Returns a collection of athletic sports.
* - * Use the optional ```season\_id``` to filter the results by season. + * Use the optional ```season_id``` to filter the results by season.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager + * * - * - Schedule Manager - * - * - Page Manager - * - * - Coach - * - * - Pending Coach - * - * @param ?int $season_id Format - int32. Season ID + * @param array{season_id: int} $params An associative array + * - season_id: Format - int32. Season ID * * @return \Blackbaud\SKY\School\Components\SportCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?int $season_id): SportCollection + public function filterBy(array $params): SportCollection { - assert($season_id !== null, new ArgumentException("Parameter `season_id` is required")); + assert(isset($params['season_id']), new ArgumentException("Parameter `season_id` is required")); return new SportCollection($this->send("get", [], ["season_id" => $season_id])); } diff --git a/src/SKY/School/Endpoints/v1/athletics/sportslevels.php b/src/SKY/School/Endpoints/v1/athletics/sportslevels.php index 871bf377..56097cbf 100644 --- a/src/SKY/School/Endpoints/v1/athletics/sportslevels.php +++ b/src/SKY/School/Endpoints/v1/athletics/sportslevels.php @@ -16,18 +16,13 @@ class Sportslevels extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/athletics/sportslevels"; /** - * Returns a collection of athletic sports levels. + * Returns a collection of athletic sports levels.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Team Schedule Manager - * - * - Coach - * - * - Pending Coach - * - * - Any Manager Role + * * * @return \Blackbaud\SKY\School\Components\SportsLevelCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/athletics/teams.php b/src/SKY/School/Endpoints/v1/athletics/teams.php index 5f1fe348..c65f3328 100644 --- a/src/SKY/School/Endpoints/v1/athletics/teams.php +++ b/src/SKY/School/Endpoints/v1/athletics/teams.php @@ -45,32 +45,29 @@ class Teams extends BaseEndpoint protected Schedule $_schedule = null; /** - * Returns a collection of athletic teams for the current school year. + * Returns a collection of athletic teams for the current school year.
* - * Use the optional ```school\_year``` parameter to specify a different - * year. + * Use the optional ```school_year``` parameter to specify a different + * year.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager + * * - * - Team Schedule Manager - * - * - Coach - * - * - Pending Coach - * - * @param ?string $school_year School year + * @param array{school_year: string} $params An associative array + * - school_year: School year * * @return \Blackbaud\SKY\School\Components\TeamCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?string $school_year): TeamCollection + public function filterBy(array $params): TeamCollection { - assert($school_year !== null, new ArgumentException("Parameter `school_year` is required")); + assert(isset($params['school_year']), new ArgumentException("Parameter `school_year` is required")); return new TeamCollection($this->send("get", [], ["school_year" => $school_year])); } diff --git a/src/SKY/School/Endpoints/v1/athletics/teams/roster.php b/src/SKY/School/Endpoints/v1/athletics/teams/roster.php index c3602ebc..76782ce4 100644 --- a/src/SKY/School/Endpoints/v1/athletics/teams/roster.php +++ b/src/SKY/School/Endpoints/v1/athletics/teams/roster.php @@ -18,34 +18,30 @@ class Roster extends BaseEndpoint /** * Returns a collection of players and coaches for the specified athletic - * team's ID. + * team's ID.
* - * The ```team\_id``` can be retrieved using the GET athletics teams - * endpoint. + * The ```team_id``` can be retrieved using the GET athletics teams + * endpoint.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager + * * - * - Team Schedule Manager - * - * - Coach - * - * - Pending Coach - * - * @param int $team_id Format - int32. The ID for the team to get the - * roster for. + * @param array{team_id: int} $params An associative array + * - team_id: Format - int32. The ID for the team to get the roster + * for. * * @return \Blackbaud\SKY\School\Components\Roster Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByTeam(int $team_id): RosterDisambiguate + public function getByTeam(array $params): Roster { - assert($team_id !== null, new ArgumentException("Parameter `team_id` is required")); + assert(isset($params['team_id']), new ArgumentException("Parameter `team_id` is required")); - return new RosterDisambiguate($this->send("get", ["{team_id}" => $team_id], [])); + return new RosterDisambiguate($this->send("get", ["{team_id}" => $params['team_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/athletics/teams/schedule.php b/src/SKY/School/Endpoints/v1/athletics/teams/schedule.php index 1d22e825..b1ffcfe6 100644 --- a/src/SKY/School/Endpoints/v1/athletics/teams/schedule.php +++ b/src/SKY/School/Endpoints/v1/athletics/teams/schedule.php @@ -39,22 +39,17 @@ class Schedule extends BaseEndpoint protected Practice $_practice = null; /** - * Creates a new athletic game for the specified ```team\_id```. + * Creates a new athletic game for the specified ```team_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager + * * - * - Team Schedule Manager - * - * - Schedule Manager - * - * - Coach - * - * - Pending Coach - * - * @param int $team_id Format - int32. ID of the team for the game to be + * @param array{team_id: int} $params An associative array + * - team_id: Format - int32. ID of the team for the game to be * created * @param \Blackbaud\SKY\School\Components\GameCreate $requestBody * Information about the game to be created @@ -64,32 +59,27 @@ class Schedule extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function postByTeam(int $team_id, GameCreate $requestBody): int + public function postByTeam(array $params, GameCreate $requestBody): int { - assert($team_id !== null, new ArgumentException("Parameter `team_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['team_id']), new ArgumentException("Parameter `team_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{team_id}" => $team_id], [], $requestBody); + return $this->send("post", ["{team_id}" => $params['team_id']], [], $requestBody); } /** - * Updates the game data for the specified ```team\_id``` and athletic - * ```game\_id```. + * Updates the game data for the specified ```team_id``` and athletic + * ```game_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager - * - * - Team Schedule Manager + * * - * - Schedule Manager - * - * - Coach - * - * - Pending Coach - * - * @param int $team_id Format - int32. ID of the team for the game to be + * @param array{team_id: int} $params An associative array + * - team_id: Format - int32. ID of the team for the game to be * updated * @param \Blackbaud\SKY\School\Components\GameUpdate $requestBody * Information for the game to be updated @@ -99,39 +89,39 @@ public function postByTeam(int $team_id, GameCreate $requestBody): int * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function patchByTeam(int $team_id, GameUpdate $requestBody): void + public function patchByTeam(array $params, GameUpdate $requestBody): void { - assert($team_id !== null, new ArgumentException("Parameter `team_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['team_id']), new ArgumentException("Parameter `team_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("patch", ["{team_id}" => $team_id], [], $requestBody); + return $this->send("patch", ["{team_id}" => $params['team_id']], [], $requestBody); } /** - * Removes an athletic ```game\_id``` for the specified ```team\_id```. + * Removes an athletic ```game_id``` for the specified ```team_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Team Schedule Manager - * - * - Page Manager + * * - * @param int $team_id Format - int32. ID of the team for the game to be + * @param array{team_id: int, game_id: int} $params An associative array + * - team_id: Format - int32. ID of the team for the game to be * deleted - * @param int $game_id Format - int32. ID of the game to be deleted + * - game_id: Format - int32. ID of the game to be deleted * * @return void Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function deleteByTeam(int $team_id, int $game_id): void + public function deleteByTeam(array $params): void { - assert($team_id !== null, new ArgumentException("Parameter `team_id` is required")); - assert($game_id !== null, new ArgumentException("Parameter `game_id` is required")); + assert(isset($params['team_id']), new ArgumentException("Parameter `team_id` is required")); + assert(isset($params['game_id']), new ArgumentException("Parameter `game_id` is required")); - return $this->send("delete", ["{team_id}" => $team_id, - "{game_id}" => $game_id], []); + return $this->send("delete", ["{team_id}" => $params['team_id'], + "{game_id}" => $params['game_id']], []); } } diff --git a/src/SKY/School/Endpoints/v1/athletics/teams/schedule/practice.php b/src/SKY/School/Endpoints/v1/athletics/teams/schedule/practice.php index e3dce237..87d73332 100644 --- a/src/SKY/School/Endpoints/v1/athletics/teams/schedule/practice.php +++ b/src/SKY/School/Endpoints/v1/athletics/teams/schedule/practice.php @@ -19,17 +19,16 @@ class Practice extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/athletics/teams/{team_id}/schedule/practice/{practice_id}"; /** - * Creates a new athletic practice for the specified ```team\_id```. + * Creates a new athletic practice for the specified ```team_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Team Schedule Manager + * * - * - Page Manager - * - * @param int $team_id Format - int32. ID of the team for the practice to - * be created + * @param array{team_id: int} $params An associative array + * - team_id: Format - int32. ID of the team for the practice to be + * created * @param \Blackbaud\SKY\School\Components\PracticeCreate $requestBody * Information about the practice to be created * @@ -38,25 +37,26 @@ class Practice extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function postByTeam(int $team_id, PracticeCreate $requestBody): int + public function postByTeam(array $params, PracticeCreate $requestBody): int { - assert($team_id !== null, new ArgumentException("Parameter `team_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['team_id']), new ArgumentException("Parameter `team_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{team_id}" => $team_id], [], $requestBody); + return $this->send("post", ["{team_id}" => $params['team_id']], [], $requestBody); } /** * Updates the practice data for the specified athletic practice ```id```. + *
* - * - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager + * * - * @param int $team_id Format - int32. The ID of the team for the practice - * to be updated + * @param array{team_id: int} $params An associative array + * - team_id: Format - int32. The ID of the team for the practice to + * be updated * @param \Blackbaud\SKY\School\Components\PracticeUpdate $requestBody * Information about the practice to be updated * @@ -65,41 +65,40 @@ public function postByTeam(int $team_id, PracticeCreate $requestBody): int * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function patchByTeam(int $team_id, PracticeUpdate $requestBody): void + public function patchByTeam(array $params, PracticeUpdate $requestBody): void { - assert($team_id !== null, new ArgumentException("Parameter `team_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['team_id']), new ArgumentException("Parameter `team_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("patch", ["{team_id}" => $team_id], [], $requestBody); + return $this->send("patch", ["{team_id}" => $params['team_id']], [], $requestBody); } /** - * Removes the athletic ```practice\_id``` for the specified - * ```team\_id```. + * Removes the athletic ```practice_id``` for the specified ```team_id```. + *
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Team Schedule Manager - * - * - Page Manager + * * - * @param int $team_id Format - int32. ID of the team for the practice to - * be deleted - * @param int $practice_id Format - int32. ID of the practice to be + * @param array{team_id: int, practice_id: int} $params An associative + * array + * - team_id: Format - int32. ID of the team for the practice to be * deleted + * - practice_id: Format - int32. ID of the practice to be deleted * * @return void Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function deleteByTeam(int $team_id, int $practice_id): void + public function deleteByTeam(array $params): void { - assert($team_id !== null, new ArgumentException("Parameter `team_id` is required")); - assert($practice_id !== null, new ArgumentException("Parameter `practice_id` is required")); + assert(isset($params['team_id']), new ArgumentException("Parameter `team_id` is required")); + assert(isset($params['practice_id']), new ArgumentException("Parameter `practice_id` is required")); - return $this->send("delete", ["{team_id}" => $team_id, - "{practice_id}" => $practice_id], []); + return $this->send("delete", ["{team_id}" => $params['team_id'], + "{practice_id}" => $params['practice_id']], []); } } diff --git a/src/SKY/School/Endpoints/v1/athletics/transportationtypes.php b/src/SKY/School/Endpoints/v1/athletics/transportationtypes.php index e451aec6..3c5b4618 100644 --- a/src/SKY/School/Endpoints/v1/athletics/transportationtypes.php +++ b/src/SKY/School/Endpoints/v1/athletics/transportationtypes.php @@ -16,22 +16,14 @@ class Transportationtypes extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/athletics/transportationtypes"; /** - * Returns a collection of athletic transportation types. + * Returns a collection of athletic transportation types.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager - * - * - Team Schedule Manager - * - * - Schedule Manager - * - * - Coach - * - * - Pending Coach - * - * - Any Manager Role + * * * @return \Blackbaud\SKY\School\Components\TransportationCollection * Success diff --git a/src/SKY/School/Endpoints/v1/athletics/venues.php b/src/SKY/School/Endpoints/v1/athletics/venues.php index 91b0fafb..a4638826 100644 --- a/src/SKY/School/Endpoints/v1/athletics/venues.php +++ b/src/SKY/School/Endpoints/v1/athletics/venues.php @@ -16,18 +16,13 @@ class Venues extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/athletics/venues"; /** - * Returns a collection of athletic venues. + * Returns a collection of athletic venues.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Athletic Group Manager - * - * - Team Schedule Manager - * - * - Coach - * - * - Pending Coach + * * * @return \Blackbaud\SKY\School\Components\AthleticVenueCollection * Success diff --git a/src/SKY/School/Endpoints/v1/attendance.php b/src/SKY/School/Endpoints/v1/attendance.php index 0c29bd08..d6b107a5 100644 --- a/src/SKY/School/Endpoints/v1/attendance.php +++ b/src/SKY/School/Endpoints/v1/attendance.php @@ -19,23 +19,25 @@ class Attendance extends BaseEndpoint /** * Returns a collection of student attendance records for the specified - * day. + * day.

* - * Please use this [ Attendance Setup - * Guide](https://webfiles-sc1.blackbaud.com/support/helpfiles/k12-kb/sis-tutorial-attendance-setup.html) to verify your attendance settings. + * Please use this Attendance Setup Guide to verify your attendance settings.

* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - Attendance Manager + * * - * @param int $level_id Format - int32. The ID of the school level to - * retrieve attendance records. - * @param string $day Format - date-time (as date-time in RFC3339). The - * date to return attendance for. - * @param int $offering_type Format - int32. The offering type to retrieve + * @param array{level_id: int, day: string, offering_type: int, + * excuse_type: int} $params An associative array + * - level_id: Format - int32. The ID of the school level to retrieve + * attendance records. + * - day: Format - date-time (as date-time in RFC3339). The date to + * return attendance for. + * - offering_type: Format - int32. The offering type to retrieve * records for. - * @param ?int $excuse_type Format - int32. Filters results to a specific - * excuse type. + * - excuse_type: Format - int32. Filters results to a specific excuse + * type. * * @return \Blackbaud\SKY\School\Components\AttendanceGetCollection * Success @@ -43,12 +45,12 @@ class Attendance extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(int $level_id, string $day, int $offering_type, ?int $excuse_type): AttendanceGetCollection + public function filterBy(array $params): AttendanceGetCollection { - assert($level_id !== null, new ArgumentException("Parameter `level_id` is required")); - assert($day !== null, new ArgumentException("Parameter `day` is required")); - assert($offering_type !== null, new ArgumentException("Parameter `offering_type` is required")); - assert($excuse_type !== null, new ArgumentException("Parameter `excuse_type` is required")); + assert(isset($params['level_id']), new ArgumentException("Parameter `level_id` is required")); + assert(isset($params['day']), new ArgumentException("Parameter `day` is required")); + assert(isset($params['offering_type']), new ArgumentException("Parameter `offering_type` is required")); + assert(isset($params['excuse_type']), new ArgumentException("Parameter `excuse_type` is required")); return new AttendanceGetCollection($this->send("get", [], ["level_id" => $level_id, "day" => $day, @@ -57,14 +59,14 @@ public function filterBy(int $level_id, string $day, int $offering_type, ?int $e } /** - * Creates a new attendance record for the specified student. + * Creates a new attendance record for the specified student.

* - * Please use this [ Attendance Setup - * Guide](https://webfiles-sc1.blackbaud.com/support/helpfiles/k12-kb/sis-tutorial-attendance-setup.html) to verify your attendance settings. + * Please use this Attendance Setup Guide to verify your attendance settings.

* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - Attendance Manager + * * * @param \Blackbaud\SKY\School\Components\AttendanceCreate $requestBody * Information about the attendance report @@ -76,7 +78,7 @@ public function filterBy(int $level_id, string $day, int $offering_type, ?int $e */ public function post(AttendanceCreate $requestBody): void { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return $this->send("post", [], [], $requestBody); } diff --git a/src/SKY/School/Endpoints/v1/content/events/categories.php b/src/SKY/School/Endpoints/v1/content/events/categories.php index 9c036807..2f578d56 100644 --- a/src/SKY/School/Endpoints/v1/content/events/categories.php +++ b/src/SKY/School/Endpoints/v1/content/events/categories.php @@ -16,17 +16,15 @@ class Categories extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/content/events/categories"; /** - * Returns a collection of Content Events Categories Requires at least one - * of the following roles in the Education Management System: + * Returns a collection of Content Events Categories * - * - Parent + * Requires at least one of the following roles in the Education + * Management System: * - * - Faculty + * * - * - Student - * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * * @return \Blackbaud\SKY\School\Components\EventsCategoryCollection * Success diff --git a/src/SKY/School/Endpoints/v1/content/news/categories.php b/src/SKY/School/Endpoints/v1/content/news/categories.php index 8bf7d8ef..a6c17fa8 100644 --- a/src/SKY/School/Endpoints/v1/content/news/categories.php +++ b/src/SKY/School/Endpoints/v1/content/news/categories.php @@ -16,14 +16,12 @@ class Categories extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/content/news/categories"; /** - * Returns a collection of Content News Categories Requires at least one - * of the following roles in the Education Management System: + * Returns a collection of Content News Categories * - * - Parent + * Requires at least one of the following roles in the Education + * Management System: * - * - Faculty - * - * - Student + * * * @return \Blackbaud\SKY\School\Components\NewsCategoryCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/content/news/items.php b/src/SKY/School/Endpoints/v1/content/news/items.php index ef3ff37b..88d1a23e 100644 --- a/src/SKY/School/Endpoints/v1/content/news/items.php +++ b/src/SKY/School/Endpoints/v1/content/news/items.php @@ -17,25 +17,24 @@ class Items extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/content/news/items"; /** - * Returns a collection of Content News Items Requires at least one of the - * following roles in the Education Management System: + * Returns a collection of Content News Items * - * - Parent + * Requires at least one of the following roles in the Education + * Management System: * - * - Faculty + * * - * - Student - * - * @param ?string $categories + * @param array{categories: string} $params An associative array + * - categories: * * @return \Blackbaud\SKY\School\Components\NewsItemCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?string $categories): NewsItemCollection + public function filterBy(array $params): NewsItemCollection { - assert($categories !== null, new ArgumentException("Parameter `categories` is required")); + assert(isset($params['categories']), new ArgumentException("Parameter `categories` is required")); return new NewsItemCollection($this->send("get", [], ["categories" => $categories])); } diff --git a/src/SKY/School/Endpoints/v1/content/resources.php b/src/SKY/School/Endpoints/v1/content/resources.php index cd342653..ca022036 100644 --- a/src/SKY/School/Endpoints/v1/content/resources.php +++ b/src/SKY/School/Endpoints/v1/content/resources.php @@ -16,17 +16,15 @@ class Resources extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/content/resources"; /** - * Returns a collection of Resources Requires at least one of the - * following roles in the Education Management System: + * Returns a collection of Resources * - * - Parent + * Requires at least one of the following roles in the Education + * Management System: * - * - Faculty + * * - * - Student - * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * * @return \Blackbaud\SKY\School\Components\ResourceCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/customfields.php b/src/SKY/School/Endpoints/v1/customfields.php index 1960f360..831ac2b2 100644 --- a/src/SKY/School/Endpoints/v1/customfields.php +++ b/src/SKY/School/Endpoints/v1/customfields.php @@ -16,12 +16,12 @@ class Customfields extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/customfields"; /** - * Returns a collection of admin custom fields. + * Returns a collection of admin custom fields.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Platform Manager + * * * @return \Blackbaud\SKY\School\Components\AdminCustomFieldsCollection * Success diff --git a/src/SKY/School/Endpoints/v1/degrees/studentdegrees.php b/src/SKY/School/Endpoints/v1/degrees/studentdegrees.php index 9243f4dd..d654be7e 100644 --- a/src/SKY/School/Endpoints/v1/degrees/studentdegrees.php +++ b/src/SKY/School/Endpoints/v1/degrees/studentdegrees.php @@ -17,22 +17,19 @@ class Studentdegrees extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/degrees/studentdegrees/{student_id}"; /** - * Returns a collection of degree/diplomas assigned to the student. + * Returns a collection of degree/diplomas assigned to the + * student.

* - * Each degree/diploma has a collection of majors, minors and/or - * concentrations as appropriate for that degree or diploma. + * Each degree/diploma has a collection of majors, minors and/or + * concentrations as appropriate for that degree or diploma.

* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - Degree Manager + * * - * - Diploma Manager - * - * - Student - * - * - Parent - * - * @param int $student_id Format - int32. user Id + * @param array{student_id: int} $params An associative array + * - student_id: Format - int32. user Id * * @return \Blackbaud\SKY\School\Components\UserDegreeOutputModelCollection * Success @@ -40,10 +37,10 @@ class Studentdegrees extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(int $student_id): UserDegreeOutputModelCollection + public function get(array $params): UserDegreeOutputModelCollection { - assert($student_id !== null, new ArgumentException("Parameter `student_id` is required")); + assert(isset($params['student_id']), new ArgumentException("Parameter `student_id` is required")); - return new UserDegreeOutputModelCollection($this->send("get", ["{student_id}" => $student_id], [])); + return new UserDegreeOutputModelCollection($this->send("get", ["{student_id}" => $params['student_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/directories.php b/src/SKY/School/Endpoints/v1/directories.php index bc0075b1..2d6e9823 100644 --- a/src/SKY/School/Endpoints/v1/directories.php +++ b/src/SKY/School/Endpoints/v1/directories.php @@ -19,14 +19,11 @@ class Directories extends BaseEndpoint /** * Returns a collection of directories the logged in user has access to + * * Requires at least one of the following roles in the Education * Management System: * - * - Parent - * - * - Faculty - * - * - Student + * * * @return \Blackbaud\SKY\School\Components\DirectoryModelCollection * Success @@ -38,27 +35,23 @@ public function getAll(): DirectoryModelCollection /** * Returns a collection of directory results the logged in user has access - * to - * - * ```search``` is an optional search string to filter directory results. + * to
```search``` is an optional search string to filter directory + * results.
```search_all``` allows the search string to be used for + * all fields.
* - * ```search\_all``` allows the search string to be used for all fields. + * When set to ```false```, only searches name fields. defaults to + * ```true```.
* - * When set to ```false```, only searches name fields. defaults to - * ```true```. - * - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management System: * - * - Parent - * - * - Faculty - * - * - Student + * * - * @param int $directory_id Format - int32. - * @param ?string $search - * @param ?bool $search_all + * @param array{directory_id: int, search: string, search_all: bool} + * $params An associative array + * - directory_id: Format - int32. + * - search: + * - search_all: * * @return \Blackbaud\SKY\School\Components\DirectoryResultCollection * Success @@ -66,13 +59,13 @@ public function getAll(): DirectoryModelCollection * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(int $directory_id, ?string $search, ?bool $search_all): DirectoryResultCollection + public function get(array $params): DirectoryResultCollection { - assert($directory_id !== null, new ArgumentException("Parameter `directory_id` is required")); - assert($search !== null, new ArgumentException("Parameter `search` is required")); - assert($search_all !== null, new ArgumentException("Parameter `search_all` is required")); + assert(isset($params['directory_id']), new ArgumentException("Parameter `directory_id` is required")); + assert(isset($params['search']), new ArgumentException("Parameter `search` is required")); + assert(isset($params['search_all']), new ArgumentException("Parameter `search_all` is required")); - return new DirectoryResultCollection($this->send("get", ["{directory_id}" => $directory_id], ["search" => $search, + return new DirectoryResultCollection($this->send("get", ["{directory_id}" => $params['directory_id']], ["search" => $search, "search_all" => $search_all])); } } diff --git a/src/SKY/School/Endpoints/v1/dorms/all.php b/src/SKY/School/Endpoints/v1/dorms/all.php index 96a20a83..6c0e922d 100644 --- a/src/SKY/School/Endpoints/v1/dorms/all.php +++ b/src/SKY/School/Endpoints/v1/dorms/all.php @@ -20,25 +20,23 @@ class All extends BaseEndpoint * Requires at least one of the following roles in the Education * Management system: * - * - Dorm Group Manager + * * - * - Dorm Supervisor - * - * - Pending Dorm Supervisor - * - * @param ?int $level_number Format - int32. Identifier for the school - * level - * @param ?string $school_year Identifier for the school year + * @param array{level_number: int, school_year: string} $params An + * associative array + * - level_number: Format - int32. Identifier for the school level + * - school_year: Identifier for the school year * * @return \Blackbaud\SKY\School\Components\DormCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?int $level_number, ?string $school_year): DormCollection + public function filterBy(array $params): DormCollection { - assert($level_number !== null, new ArgumentException("Parameter `level_number` is required")); - assert($school_year !== null, new ArgumentException("Parameter `school_year` is required")); + assert(isset($params['level_number']), new ArgumentException("Parameter `level_number` is required")); + assert(isset($params['school_year']), new ArgumentException("Parameter `school_year` is required")); return new DormCollection($this->send("get", [], ["level_number" => $level_number, "school_year" => $school_year])); diff --git a/src/SKY/School/Endpoints/v1/events/calendar.php b/src/SKY/School/Endpoints/v1/events/calendar.php index ce8b36b6..c7ed7903 100644 --- a/src/SKY/School/Endpoints/v1/events/calendar.php +++ b/src/SKY/School/Endpoints/v1/events/calendar.php @@ -17,31 +17,29 @@ class Calendar extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/events/calendar"; /** - * Returns a list of events for the calling user. Requires one of the - * following roles in the Education Management system: + * Returns a list of events for the calling user. * - * - Student + * Requires one of the following roles in the Education Management system: * - * - Parent + * * - * - Teacher + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* - * - * @param ?string $start_date Format - date-time (as date-time in - * RFC3339). - * @param ?string $end_date Format - date-time (as date-time in RFC3339). + * @param array{start_date: string, end_date: string} $params An + * associative array + * - start_date: Format - date-time (as date-time in RFC3339). + * - end_date: Format - date-time (as date-time in RFC3339). * * @return \Blackbaud\SKY\School\Components\CalendarItemCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?string $start_date, ?string $end_date): CalendarItemCollection + public function filterBy(array $params): CalendarItemCollection { - assert($start_date !== null, new ArgumentException("Parameter `start_date` is required")); - assert($end_date !== null, new ArgumentException("Parameter `end_date` is required")); + assert(isset($params['start_date']), new ArgumentException("Parameter `start_date` is required")); + assert(isset($params['end_date']), new ArgumentException("Parameter `end_date` is required")); return new CalendarItemCollection($this->send("get", [], ["start_date" => $start_date, "end_date" => $end_date])); diff --git a/src/SKY/School/Endpoints/v1/events/categories.php b/src/SKY/School/Endpoints/v1/events/categories.php index 284c3ac6..9a20031f 100644 --- a/src/SKY/School/Endpoints/v1/events/categories.php +++ b/src/SKY/School/Endpoints/v1/events/categories.php @@ -19,16 +19,14 @@ class Categories extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/events/categories"; /** - * Returns a collection of event categories. + * Returns a collection of event categories.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Content Manager + * * - * - Platform Manager - * - * @param ?int $page Format - int32. The page of results to start from. + * @param array{page: int} $params An associative array + * - page: Format - int32. The page of results to start from. * * @return \Blackbaud\SKY\School\Components\EventCategoryCollection * Success @@ -36,25 +34,20 @@ class Categories extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?int $page): EventCategoryCollection + public function filterBy(array $params): EventCategoryCollection { - assert($page !== null, new ArgumentException("Parameter `page` is required")); + assert(isset($params['page']), new ArgumentException("Parameter `page` is required")); return new EventCategoryCollection($this->send("get", [], ["page" => $page])); } /** - * Returns the Id of the created Events Category - * - * Requires one of the following roles in the Education Management - * system: - * - * - Content Manager + * Returns the Id of the created Events Category
* - * - Platform Manager + * Requires one of the following roles in the Education Management system: * - * + * * * @param \Blackbaud\SKY\School\Components\EventCategory $requestBody * @@ -66,7 +59,7 @@ public function filterBy(?int $page): EventCategoryCollection */ public function post(EventCategory $requestBody): EventCategoryCreateResponseExample { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return new EventCategoryCreateResponseExample($this->send("post", [], [], $requestBody)); } diff --git a/src/SKY/School/Endpoints/v1/gradelevels.php b/src/SKY/School/Endpoints/v1/gradelevels.php index 005438e6..92d7f11f 100644 --- a/src/SKY/School/Endpoints/v1/gradelevels.php +++ b/src/SKY/School/Endpoints/v1/gradelevels.php @@ -16,18 +16,13 @@ class Gradelevels extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/gradelevels"; /** - * Returns a collection of core school grade levels. + * Returns a collection of core school grade levels.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager - * - * - Schedule Manager - * - * - Platform Manager - * - * - Any Manager Role + * * * @return \Blackbaud\SKY\School\Components\GradeLevelCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/levels.php b/src/SKY/School/Endpoints/v1/levels.php index 91edfb56..5a8ebc7c 100644 --- a/src/SKY/School/Endpoints/v1/levels.php +++ b/src/SKY/School/Endpoints/v1/levels.php @@ -16,14 +16,12 @@ class Levels extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/levels"; /** - * Returns a collection of core school levels. + * Returns a collection of core school levels.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync - * - * - Any Manager Role + * * * @return \Blackbaud\SKY\School\Components\LevelCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/lists.php b/src/SKY/School/Endpoints/v1/lists.php index 87464d04..6de3ff58 100644 --- a/src/SKY/School/Endpoints/v1/lists.php +++ b/src/SKY/School/Endpoints/v1/lists.php @@ -35,57 +35,21 @@ class Lists extends BaseEndpoint /** * Returns a list of basic or advanced lists the authorized user has - * access to - * - * Requires the following role in the Education Management system: - * - * - Page Manager - * - * - Content Editor - * - * - Teacher - * - * - Coach - * - * - Community Group Manager - * - * - Mentor Manager - * - * - Alumni Group Manager - * - * - Athletic Group Manager - * - * - Academic Group Manager - * - * - System Group Manager - * - * - Content Manager - * - * - Community Group Owner - * - * - Dorm Group Manager - * - * - Activity Group Manager - * - * - Advisory Group Manager - * - * - Advisor - * - * - Dorm Supervisor - * - * - Activity Leader - * - * - Pending Teacher - * - * - Pending Advisor - * - * - Pending Dorm Supervisor - * - * - Pending Activity Leader - * - * - Platform Manager - * - * - SkyApi Data Sync + * access to
+ * + * Requires the following role in the Education Management system: + * + * * * @return \Blackbaud\SKY\School\Components\ListReadCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/lists/advanced.php b/src/SKY/School/Endpoints/v1/lists/advanced.php index afb914d3..c1472c7f 100644 --- a/src/SKY/School/Endpoints/v1/lists/advanced.php +++ b/src/SKY/School/Endpoints/v1/lists/advanced.php @@ -17,83 +17,47 @@ class Advanced extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/lists/advanced/{list_id}"; /** - * Returns a collection of results from a basic or advanced list. - * - * **Note**: The requested list must have access permissions enabled for a - * role listed below or the user requesting the list needs read permission - * to that list. - * - * Requires one of the following roles in the Education Management - * system: - * - * - Page Manager - * - * - Content Editor - * - * - Teacher - * - * - Coach - * - * - Community Group Manager - * - * - Mentor Manager - * - * - Alumni Group Manager - * - * - Athletic Group Manager - * - * - Academic Group Manager - * - * - System Group Manager - * - * - Content Manager - * - * - Community Group Owner - * - * - Dorm Group Manager - * - * - Activity Group Manager - * - * - Advisory Group Manager - * - * - Advisor - * - * - Dorm Supervisor - * - * - Activity Leader - * - * - Pending Teacher - * - * - Pending Advisor - * - * - Pending Dorm Supervisor - * - * - Pending Activity Leader - * - * - Platform Manager - * - * - SkyApi Data Sync - * - * @param int $list_id Format - int32. The ID of the list. To learn how to - * find the list ID, see [KB article + * Returns a collection of results from a basic or advanced list.
Note: The requested list must have access permissions enabled + * for a role listed below or the user requesting the list needs read + * permission to that list.
+ * + * Requires one of the following roles in the Education Management system: + * + * + * + * @param array{list_id: int, page: int, page_size: int} $params An + * associative array + * - list_id: Format - int32. The ID of the list. To learn how to find + * the list ID, see [KB article * 108336](https://kb.blackbaud.com/articles/Article/108336). - * @param ?int $page Format - int32. The number of the page to return. - * Defaults to **1**. - * @param ?int $page_size Format - int32. Number of rows to return per - * page. Default is 1000. Maximum allowed is 1000. + * - page: Format - int32. The number of the page to return. Defaults + * to **1**. + * - page_size: Format - int32. Number of rows to return per page. + * Default is 1000. Maximum allowed is 1000. * * @return \Blackbaud\SKY\School\Components\ListResult Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(int $list_id, ?int $page, ?int $page_size): ListResult + public function get(array $params): ListResult { - assert($list_id !== null, new ArgumentException("Parameter `list_id` is required")); - assert($page !== null, new ArgumentException("Parameter `page` is required")); - assert($page_size !== null, new ArgumentException("Parameter `page_size` is required")); + assert(isset($params['list_id']), new ArgumentException("Parameter `list_id` is required")); + assert(isset($params['page']), new ArgumentException("Parameter `page` is required")); + assert(isset($params['page_size']), new ArgumentException("Parameter `page_size` is required")); - return new ListResult($this->send("get", ["{list_id}" => $list_id], ["page" => $page, + return new ListResult($this->send("get", ["{list_id}" => $params['list_id']], ["page" => $page, "page_size" => $page_size])); } } diff --git a/src/SKY/School/Endpoints/v1/medical/allergies.php b/src/SKY/School/Endpoints/v1/medical/allergies.php index 6a451dfe..78e3b15c 100644 --- a/src/SKY/School/Endpoints/v1/medical/allergies.php +++ b/src/SKY/School/Endpoints/v1/medical/allergies.php @@ -19,42 +19,42 @@ class Allergies extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/medical/allergies/{allergy_id}"; /** - * Delete a medical allergy for a student. + * Delete a medical allergy for a student.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $allergy_id Format - int32. The ID of the student's allergy. + * @param array{allergy_id: int} $params An associative array + * - allergy_id: Format - int32. The ID of the student's allergy. * * @return int Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function delete(int $allergy_id): int + public function delete(array $params): int { - assert($allergy_id !== null, new ArgumentException("Parameter `allergy_id` is required")); + assert(isset($params['allergy_id']), new ArgumentException("Parameter `allergy_id` is required")); - return $this->send("delete", ["{allergy_id}" => $allergy_id], []); + return $this->send("delete", ["{allergy_id}" => $params['allergy_id']], []); } /** - * Update a medical allergy for a student. + * Update a medical allergy for a student.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $allergy_id Format - int32. The ID of the student's allergy. + * @param array{allergy_id: int} $params An associative array + * - allergy_id: Format - int32. The ID of the student's allergy. * @param \Blackbaud\SKY\School\Components\StudentAllergyUpdate * $requestBody The allergy changes * @@ -63,26 +63,25 @@ public function delete(int $allergy_id): int * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function patch(int $allergy_id, StudentAllergyUpdate $requestBody): int + public function patch(array $params, StudentAllergyUpdate $requestBody): int { - assert($allergy_id !== null, new ArgumentException("Parameter `allergy_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['allergy_id']), new ArgumentException("Parameter `allergy_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("patch", ["{allergy_id}" => $allergy_id], [], $requestBody); + return $this->send("patch", ["{allergy_id}" => $params['allergy_id']], [], $requestBody); } /** - * Creates an allergy for a student. + * Creates an allergy for a student.
* - * Returns the newly created ID. + * Returns the newly created ID.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * * @param \Blackbaud\SKY\School\Components\StudentMedicalAllergy * $requestBody The medical allergy to be created for student @@ -94,7 +93,7 @@ public function patch(int $allergy_id, StudentAllergyUpdate $requestBody): int */ public function post(StudentMedicalAllergy $requestBody): int { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return $this->send("post", [], [], $requestBody); } diff --git a/src/SKY/School/Endpoints/v1/medical/allergiesconditions.php b/src/SKY/School/Endpoints/v1/medical/allergiesconditions.php index 25da6172..ebcf6b6b 100644 --- a/src/SKY/School/Endpoints/v1/medical/allergiesconditions.php +++ b/src/SKY/School/Endpoints/v1/medical/allergiesconditions.php @@ -17,17 +17,16 @@ class Allergiesconditions extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/medical/allergiesconditions"; /** - * Creates medical allergy/condition record for a student. + * Creates medical allergy/condition record for a student.
* - * Returns the newly created ID. + * Returns the newly created ID.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * * @param \Blackbaud\SKY\School\Components\StudentMedicalAllergyCondition * $requestBody The medical allergy/condition to be created for student @@ -39,7 +38,7 @@ class Allergiesconditions extends BaseEndpoint */ public function post(StudentMedicalAllergyCondition $requestBody): int { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return $this->send("post", [], [], $requestBody); } diff --git a/src/SKY/School/Endpoints/v1/medical/athleticclearance.php b/src/SKY/School/Endpoints/v1/medical/athleticclearance.php index 2b687bc3..bc6e0892 100644 --- a/src/SKY/School/Endpoints/v1/medical/athleticclearance.php +++ b/src/SKY/School/Endpoints/v1/medical/athleticclearance.php @@ -18,15 +18,14 @@ class Athleticclearance extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/medical/athleticclearance"; /** - * Updates a medical athletic requirements for a student. + * Updates a medical athletic requirements for a student.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * * @param \Blackbaud\SKY\School\Components\StudentAthleticRequirementUpdate * $requestBody The athletics requirements to update @@ -38,7 +37,7 @@ class Athleticclearance extends BaseEndpoint */ public function post(StudentAthleticRequirementUpdate $requestBody): array { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return array_map(fn($a) => new string($a), $this->send("post", [], [], $requestBody)); } diff --git a/src/SKY/School/Endpoints/v1/medical/conditions.php b/src/SKY/School/Endpoints/v1/medical/conditions.php index caf6b6ee..dd816c12 100644 --- a/src/SKY/School/Endpoints/v1/medical/conditions.php +++ b/src/SKY/School/Endpoints/v1/medical/conditions.php @@ -19,44 +19,42 @@ class Conditions extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/medical/conditions/{condition_id}"; /** - * Delete a medical condition for a student. + * Delete a medical condition for a student.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $condition_id Format - int32. The ID of the student's - * condition. + * @param array{condition_id: int} $params An associative array + * - condition_id: Format - int32. The ID of the student's condition. * * @return int Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function delete(int $condition_id): int + public function delete(array $params): int { - assert($condition_id !== null, new ArgumentException("Parameter `condition_id` is required")); + assert(isset($params['condition_id']), new ArgumentException("Parameter `condition_id` is required")); - return $this->send("delete", ["{condition_id}" => $condition_id], []); + return $this->send("delete", ["{condition_id}" => $params['condition_id']], []); } /** - * Update a medical condition for a student. + * Update a medical condition for a student.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $condition_id Format - int32. The ID of the student's - * condition. + * @param array{condition_id: int} $params An associative array + * - condition_id: Format - int32. The ID of the student's condition. * @param \Blackbaud\SKY\School\Components\StudentConditionUpdate * $requestBody The condition changes * @@ -65,26 +63,25 @@ public function delete(int $condition_id): int * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function patch(int $condition_id, StudentConditionUpdate $requestBody): int + public function patch(array $params, StudentConditionUpdate $requestBody): int { - assert($condition_id !== null, new ArgumentException("Parameter `condition_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['condition_id']), new ArgumentException("Parameter `condition_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("patch", ["{condition_id}" => $condition_id], [], $requestBody); + return $this->send("patch", ["{condition_id}" => $params['condition_id']], [], $requestBody); } /** - * Creates a condition for a student. + * Creates a condition for a student.
* - * Returns the newly created ID. + * Returns the newly created ID.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * * @param \Blackbaud\SKY\School\Components\StudentMedicalCondition * $requestBody The medical condition to be created for student @@ -96,7 +93,7 @@ public function patch(int $condition_id, StudentConditionUpdate $requestBody): i */ public function post(StudentMedicalCondition $requestBody): int { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return $this->send("post", [], [], $requestBody); } diff --git a/src/SKY/School/Endpoints/v1/medical/immunizations.php b/src/SKY/School/Endpoints/v1/medical/immunizations.php index 1473d45a..7236d72d 100644 --- a/src/SKY/School/Endpoints/v1/medical/immunizations.php +++ b/src/SKY/School/Endpoints/v1/medical/immunizations.php @@ -17,15 +17,14 @@ class Immunizations extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/medical/immunizations"; /** - * Updates a medical immunization for a student. + * Updates a medical immunization for a student.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * * @param \Blackbaud\SKY\School\Components\StudentImmunizationUpdate * $requestBody The immunizations to update @@ -37,7 +36,7 @@ class Immunizations extends BaseEndpoint */ public function post(StudentImmunizationUpdate $requestBody): void { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return $this->send("post", [], [], $requestBody); } diff --git a/src/SKY/School/Endpoints/v1/medical/medications.php b/src/SKY/School/Endpoints/v1/medical/medications.php index e923a2b2..2ef5c234 100644 --- a/src/SKY/School/Endpoints/v1/medical/medications.php +++ b/src/SKY/School/Endpoints/v1/medical/medications.php @@ -19,17 +19,16 @@ class Medications extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/medical/medications/{medication_id}"; /** - * Create a medication for a student. + * Create a medication for a student.
* - * Returns the newly created ID. + * Returns the newly created ID.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * * @param \Blackbaud\SKY\School\Components\StudentMedicationCreate * $requestBody The medication to be created for student @@ -41,23 +40,23 @@ class Medications extends BaseEndpoint */ public function post(StudentMedicationCreate $requestBody): int { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return $this->send("post", [], [], $requestBody); } /** - * Delete a medication for a student. + * Delete a medication for a student.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $medication_id Format - int32. The ID of the student's + * @param array{medication_id: int} $params An associative array + * - medication_id: Format - int32. The ID of the student's * medication. * * @return int Success @@ -65,25 +64,25 @@ public function post(StudentMedicationCreate $requestBody): int * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function delete(int $medication_id): int + public function delete(array $params): int { - assert($medication_id !== null, new ArgumentException("Parameter `medication_id` is required")); + assert(isset($params['medication_id']), new ArgumentException("Parameter `medication_id` is required")); - return $this->send("delete", ["{medication_id}" => $medication_id], []); + return $this->send("delete", ["{medication_id}" => $params['medication_id']], []); } /** - * Updates a medical medication for a student. + * Updates a medical medication for a student.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $medication_id Format - int32. >The student medication ID + * @param array{medication_id: int} $params An associative array + * - medication_id: Format - int32. >The student medication ID * @param \Blackbaud\SKY\School\Components\StudentMedicationUpdate * $requestBody The medication changes to update * @@ -92,11 +91,11 @@ public function delete(int $medication_id): int * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function patch(int $medication_id, StudentMedicationUpdate $requestBody): int + public function patch(array $params, StudentMedicationUpdate $requestBody): int { - assert($medication_id !== null, new ArgumentException("Parameter `medication_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['medication_id']), new ArgumentException("Parameter `medication_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("patch", ["{medication_id}" => $medication_id], [], $requestBody); + return $this->send("patch", ["{medication_id}" => $params['medication_id']], [], $requestBody); } } diff --git a/src/SKY/School/Endpoints/v1/medical/securityroles.php b/src/SKY/School/Endpoints/v1/medical/securityroles.php index ca240ac0..3f8b1cb6 100644 --- a/src/SKY/School/Endpoints/v1/medical/securityroles.php +++ b/src/SKY/School/Endpoints/v1/medical/securityroles.php @@ -17,11 +17,14 @@ class Securityroles extends BaseEndpoint /** * Returns the user roles available for additional access control when - * posting medical data like student allergies or student medication. + * posting medical data like student allergies or student medication.
* - * The ```role\_access``` object in those post endpoints takes in the - * role IDs returned here. \*\*\*This endpoint is in BETA. It may be - * removed or replaced with a 90 day deprecation period.\*\*\* + * The ```role_access``` object in those post endpoints takes in the role + * IDs returned here. + * + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * * @return \Blackbaud\SKY\School\Components\SecurityRoleCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/medical/users/allergies.php b/src/SKY/School/Endpoints/v1/medical/users/allergies.php index ab758c63..dbce9428 100644 --- a/src/SKY/School/Endpoints/v1/medical/users/allergies.php +++ b/src/SKY/School/Endpoints/v1/medical/users/allergies.php @@ -17,27 +17,28 @@ class Allergies extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/medical/users/{user_id}/allergies"; /** - * Returns the medical allergies for a student. + * Returns the medical allergies for a student.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $user_id Format - int32. ID of the student + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. ID of the student * * @return \Blackbaud\SKY\School\Components\StudentAllergiesView[] Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id): array + public function getByUser(array $params): array { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return array_map(fn($a) => new StudentAllergiesView($a), $this->send("get", ["{user_id}" => $user_id], [])); + return array_map(fn($a) => new StudentAllergiesView($a), $this->send("get", ["{user_id}" => $params['user_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/medical/users/allergiesconditions.php b/src/SKY/School/Endpoints/v1/medical/users/allergiesconditions.php index 6a993b0d..95cede23 100644 --- a/src/SKY/School/Endpoints/v1/medical/users/allergiesconditions.php +++ b/src/SKY/School/Endpoints/v1/medical/users/allergiesconditions.php @@ -17,18 +17,19 @@ class Allergiesconditions extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/medical/users/{user_id}/allergiesconditions"; /** - * Returns a list of allergies/conditions for the specified - * ```user\_id```. + * Returns a list of allergies/conditions for the specified ```user_id```. + *
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $user_id Format - int32. ID of the student + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. ID of the student * * @return \Blackbaud\SKY\School\Components\AllergiesAndConditionsView[] * Success @@ -36,10 +37,10 @@ class Allergiesconditions extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id): array + public function getByUser(array $params): array { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return array_map(fn($a) => new AllergiesAndConditionsView($a), $this->send("get", ["{user_id}" => $user_id], [])); + return array_map(fn($a) => new AllergiesAndConditionsView($a), $this->send("get", ["{user_id}" => $params['user_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/medical/users/athleticrequirements.php b/src/SKY/School/Endpoints/v1/medical/users/athleticrequirements.php index b85f1da4..1b0b3816 100644 --- a/src/SKY/School/Endpoints/v1/medical/users/athleticrequirements.php +++ b/src/SKY/School/Endpoints/v1/medical/users/athleticrequirements.php @@ -18,22 +18,23 @@ class Athleticrequirements extends BaseEndpoint /** * Returns a collection of medical athletic requirements for a student. + *
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Nurse + * * - * - Coach + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* - * - * @param int $user_id Format - int32. The ID of the student - * @param ?string $schoolYear The description of the school year - * @param ?string $season The description of the season - * @param ?string $include_ Show all athletic requirements or only those - * completed or missing. School year and season are required if not set to + * @param array{user_id: int, schoolYear: string, season: string, + * include_: string} $params An associative array + * - user_id: Format - int32. The ID of the student + * - schoolYear: The description of the school year + * - season: The description of the season + * - include_: Show all athletic requirements or only those completed + * or missing. School year and season are required if not set to * completed. Allowed values: all, completed, missing * * @return \Blackbaud\SKY\School\Components\StudentAthleticRequirementRead[] @@ -42,14 +43,14 @@ class Athleticrequirements extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id, ?string $schoolYear, ?string $season, ?string $include_): array + public function getByUser(array $params): array { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($schoolYear !== null, new ArgumentException("Parameter `schoolYear` is required")); - assert($season !== null, new ArgumentException("Parameter `season` is required")); - assert($include_ !== null, new ArgumentException("Parameter `include_` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['schoolYear']), new ArgumentException("Parameter `schoolYear` is required")); + assert(isset($params['season']), new ArgumentException("Parameter `season` is required")); + assert(isset($params['include_']), new ArgumentException("Parameter `include_` is required")); - return array_map(fn($a) => new StudentAthleticRequirementRead($a), $this->send("get", ["{user_id}" => $user_id], ["schoolYear" => $schoolYear, + return array_map(fn($a) => new StudentAthleticRequirementRead($a), $this->send("get", ["{user_id}" => $params['user_id']], ["schoolYear" => $schoolYear, "season" => $season, "include_" => $include_])); } diff --git a/src/SKY/School/Endpoints/v1/medical/users/conditions.php b/src/SKY/School/Endpoints/v1/medical/users/conditions.php index 75f13249..5bb6d394 100644 --- a/src/SKY/School/Endpoints/v1/medical/users/conditions.php +++ b/src/SKY/School/Endpoints/v1/medical/users/conditions.php @@ -17,27 +17,28 @@ class Conditions extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/medical/users/{user_id}/conditions"; /** - * Returns the medical conditions for a student. + * Returns the medical conditions for a student.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $user_id Format - int32. ID of the student + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. ID of the student * * @return \Blackbaud\SKY\School\Components\StudentConditionView[] Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id): array + public function getByUser(array $params): array { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return array_map(fn($a) => new StudentConditionView($a), $this->send("get", ["{user_id}" => $user_id], [])); + return array_map(fn($a) => new StudentConditionView($a), $this->send("get", ["{user_id}" => $params['user_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/medical/users/immunizations.php b/src/SKY/School/Endpoints/v1/medical/users/immunizations.php index 04d202df..ad7d0420 100644 --- a/src/SKY/School/Endpoints/v1/medical/users/immunizations.php +++ b/src/SKY/School/Endpoints/v1/medical/users/immunizations.php @@ -18,19 +18,21 @@ class Immunizations extends BaseEndpoint /** * Returns a collection of medical immunizations for the specified - * ```user\_id```. + * ```user_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $user_id Format - int32. The ID of the student - * @param ?string $include_ Show all required immunizations or just those - * completed or missing. Allowed values: all, completed, missing. + * @param array{user_id: int, include_: string} $params An associative + * array + * - user_id: Format - int32. The ID of the student + * - include_: Show all required immunizations or just those completed + * or missing. Allowed values: all, completed, missing. * * @return \Blackbaud\SKY\School\Components\StudentImmunizationRead[] * Success @@ -38,11 +40,11 @@ class Immunizations extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id, ?string $include_): array + public function getByUser(array $params): array { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($include_ !== null, new ArgumentException("Parameter `include_` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['include_']), new ArgumentException("Parameter `include_` is required")); - return array_map(fn($a) => new StudentImmunizationRead($a), $this->send("get", ["{user_id}" => $user_id], ["include_" => $include_])); + return array_map(fn($a) => new StudentImmunizationRead($a), $this->send("get", ["{user_id}" => $params['user_id']], ["include_" => $include_])); } } diff --git a/src/SKY/School/Endpoints/v1/medical/users/medications.php b/src/SKY/School/Endpoints/v1/medical/users/medications.php index 5892fff1..51ee9f1f 100644 --- a/src/SKY/School/Endpoints/v1/medical/users/medications.php +++ b/src/SKY/School/Endpoints/v1/medical/users/medications.php @@ -17,17 +17,18 @@ class Medications extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/medical/users/{user_id}/medications"; /** - * Returns a list of medications for the specified ```user\_id```. + * Returns a list of medications for the specified ```user_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Nurse + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $user_id Format - int32. ID of the student + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. ID of the student * * @return \Blackbaud\SKY\School\Components\StudentMedicationRead[] * Success @@ -35,10 +36,10 @@ class Medications extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id): array + public function getByUser(array $params): array { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return array_map(fn($a) => new StudentMedicationRead($a), $this->send("get", ["{user_id}" => $user_id], [])); + return array_map(fn($a) => new StudentMedicationRead($a), $this->send("get", ["{user_id}" => $params['user_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/offeringtypes.php b/src/SKY/School/Endpoints/v1/offeringtypes.php index 4ddbc721..390677d8 100644 --- a/src/SKY/School/Endpoints/v1/offeringtypes.php +++ b/src/SKY/School/Endpoints/v1/offeringtypes.php @@ -16,16 +16,13 @@ class Offeringtypes extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/offeringtypes"; /** - * Returns a collection of core school offering types. + * Returns a collection of core school offering types.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager - * - * - Schedule Manager - * - * - Platform Manager + * * * @return \Blackbaud\SKY\School\Components\OfferingTypeCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/roles.php b/src/SKY/School/Endpoints/v1/roles.php index 26d5d0c7..5dbf3d99 100644 --- a/src/SKY/School/Endpoints/v1/roles.php +++ b/src/SKY/School/Endpoints/v1/roles.php @@ -16,14 +16,12 @@ class Roles extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/roles"; /** - * Returns a collection of core school user roles. + * Returns a collection of core school user roles.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync - * - * - Any Manager Role + * * * @return \Blackbaud\SKY\School\Components\RoleCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/schedules/meetings.php b/src/SKY/School/Endpoints/v1/schedules/meetings.php index 6065506c..73443db0 100644 --- a/src/SKY/School/Endpoints/v1/schedules/meetings.php +++ b/src/SKY/School/Endpoints/v1/schedules/meetings.php @@ -19,54 +19,43 @@ class Meetings extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/schedules/{student_id}/meetings"; /** - * Returns a list of section meetings for a given date. When - * ```end\_date``` is supplied a range of meetings between the given dates - * is returned. - * - * ```offering\_types``` can take a single or multiple values as a comma - * delimited ```string``` of integers, defaults to 1 - * - * ```end\_date``` cannot be more than 30 days past the ```start\_date```. - * Default date range is 30 days. - * - * - Academics: 1 - * - * - Activities: 2 - * - * - Advisory: 3 - * - * - Athletics: 9 - * - * Requires at least one of the following roles in the Education - * Management system: - Academics Group Manager - * - * - Advisory Group Manager - * - * - Platform Manager - * - * - Activity Group Manager - * - * - Athletic Group Manager + * Returns a list of section meetings for a given date. When + * ```end_date``` is supplied a range of meetings between the given dates + * is returned.
```offering_types``` can take a single or multiple + * values as a comma delimited ```string``` of integers, defaults to 1
```end_date``` cannot be more than 30 days past the ```start_date```. + * Default date range is 30 days.
+ * + * Requires at least one of the following roles in the Education + * Management system: * - * - Scheduling Manager + * * - * @param string $start_date Format - date-time (as date-time in RFC3339). - * Use [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) date format: + * @param array{start_date: string, end_date: string, offering_types: + * string, section_ids: string, last_modified: string, + * show_time_for_current_date: bool} $params An associative array + * - start_date: Format - date-time (as date-time in RFC3339). Use + * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) date format: * 2022-04-01. - * @param ?string $end_date Format - date-time (as date-time in RFC3339). - * Use [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) date format: + * - end_date: Format - date-time (as date-time in RFC3339). Use + * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) date format: * 2022-04-08. - * @param ?string $offering_types Comma delimited list of integer values - * above. Defaults to 1. - * @param ?string $section_ids Comma delimited list of integer values for - * the section identifiers to return. By default the route returns all + * - offering_types: Comma delimited list of integer values above. + * Defaults to 1. + * - section_ids: Comma delimited list of integer values for the + * section identifiers to return. By default the route returns all * sections. - * @param ?string $last_modified Format - date-time (as date-time in - * RFC3339). Filters meetings to sections that were modified on or after - * the date provided. + * - last_modified: Format - date-time (as date-time in RFC3339). + * Filters meetings to sections that were modified on or after the date + * provided. * Use [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) date format: * 2022-04-01. - * @param ?bool $show_time_for_current_date Set to true to calculate the + * - show_time_for_current_date: Set to true to calculate the * ```start\_time``` and ```end\_time``` or meetings based on the current * day instead of the meeting day. Defaults to false. * @@ -75,14 +64,14 @@ class Meetings extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(string $start_date, ?string $end_date, ?string $offering_types, ?string $section_ids, ?string $last_modified, ?bool $show_time_for_current_date): MeetingCollection + public function filterBy(array $params): MeetingCollection { - assert($start_date !== null, new ArgumentException("Parameter `start_date` is required")); - assert($end_date !== null, new ArgumentException("Parameter `end_date` is required")); - assert($offering_types !== null, new ArgumentException("Parameter `offering_types` is required")); - assert($section_ids !== null, new ArgumentException("Parameter `section_ids` is required")); - assert($last_modified !== null, new ArgumentException("Parameter `last_modified` is required")); - assert($show_time_for_current_date !== null, new ArgumentException("Parameter `show_time_for_current_date` is required")); + assert(isset($params['start_date']), new ArgumentException("Parameter `start_date` is required")); + assert(isset($params['end_date']), new ArgumentException("Parameter `end_date` is required")); + assert(isset($params['offering_types']), new ArgumentException("Parameter `offering_types` is required")); + assert(isset($params['section_ids']), new ArgumentException("Parameter `section_ids` is required")); + assert(isset($params['last_modified']), new ArgumentException("Parameter `last_modified` is required")); + assert(isset($params['show_time_for_current_date']), new ArgumentException("Parameter `show_time_for_current_date` is required")); return new MeetingCollection($this->send("get", [], ["start_date" => $start_date, "end_date" => $end_date, @@ -94,28 +83,21 @@ public function filterBy(string $start_date, ?string $end_date, ?string $offerin /** * Returns a list of meetings for a given student for a specific date. - * When ```end\_date``` is supplied a range of meetings between the given - * dates is returned. - * - * ```end\_date``` cannot be more than 30 days past the ```start\_date```. - * Default date range is 30 days. + * When ```end_date``` is supplied a range of meetings between the given + * dates is returned.
```end_date``` cannot be more than 30 days past + * the ```start_date```. Default date range is 30 days.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Student - * - * - Parent - * - * - Platform Manager - * - * - Attendance Manager - * - * - Schedule Manager + * * - * @param int $student_id Format - int32. - * @param string $start_date Format - date-time (as date-time in RFC3339). - * @param ?string $end_date Format - date-time (as date-time in RFC3339). + * @param array{student_id: int, start_date: string, end_date: string} + * $params An associative array + * - student_id: Format - int32. + * - start_date: Format - date-time (as date-time in RFC3339). + * - end_date: Format - date-time (as date-time in RFC3339). * * @return \Blackbaud\SKY\School\Components\StudentScheduleCollection * Success @@ -123,13 +105,13 @@ public function filterBy(string $start_date, ?string $end_date, ?string $offerin * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByStudent(int $student_id, string $start_date, ?string $end_date): StudentScheduleCollection + public function getByStudent(array $params): StudentScheduleCollection { - assert($student_id !== null, new ArgumentException("Parameter `student_id` is required")); - assert($start_date !== null, new ArgumentException("Parameter `start_date` is required")); - assert($end_date !== null, new ArgumentException("Parameter `end_date` is required")); + assert(isset($params['student_id']), new ArgumentException("Parameter `student_id` is required")); + assert(isset($params['start_date']), new ArgumentException("Parameter `start_date` is required")); + assert(isset($params['end_date']), new ArgumentException("Parameter `end_date` is required")); - return new StudentScheduleCollection($this->send("get", ["{student_id}" => $student_id], ["start_date" => $start_date, + return new StudentScheduleCollection($this->send("get", ["{student_id}" => $params['student_id']], ["start_date" => $start_date, "end_date" => $end_date])); } } diff --git a/src/SKY/School/Endpoints/v1/sessions.php b/src/SKY/School/Endpoints/v1/sessions.php index 8ee79e88..67606230 100644 --- a/src/SKY/School/Endpoints/v1/sessions.php +++ b/src/SKY/School/Endpoints/v1/sessions.php @@ -17,19 +17,20 @@ class Sessions extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/sessions"; /** - * Returns a collection of sessions for a higher education institution. + * Returns a collection of sessions for a higher education institution.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager + * * - * - Platform Manager - * - * @param ?int $level_num Format - int32. Filter for a specific - * ```level\_num``` (level number) - * @param ?string $school_year Filter for a specific ```school\_year``` - * (required format YYYY - YYYY (11 chars)) + * @param array{level_num: int, school_year: string} $params An + * associative array + * - level_num: Format - int32. Filter for a specific ```level\_num``` + * (level number) + * - school_year: Filter for a specific ```school\_year``` (required + * format YYYY - YYYY (11 chars)) * * @return \Blackbaud\SKY\School\Components\SchoolSessionCollection * Success @@ -37,10 +38,10 @@ class Sessions extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?int $level_num, ?string $school_year): SchoolSessionCollection + public function filterBy(array $params): SchoolSessionCollection { - assert($level_num !== null, new ArgumentException("Parameter `level_num` is required")); - assert($school_year !== null, new ArgumentException("Parameter `school_year` is required")); + assert(isset($params['level_num']), new ArgumentException("Parameter `level_num` is required")); + assert(isset($params['school_year']), new ArgumentException("Parameter `school_year` is required")); return new SchoolSessionCollection($this->send("get", [], ["level_num" => $level_num, "school_year" => $school_year])); diff --git a/src/SKY/School/Endpoints/v1/terms.php b/src/SKY/School/Endpoints/v1/terms.php index a7ffab81..71f1b026 100644 --- a/src/SKY/School/Endpoints/v1/terms.php +++ b/src/SKY/School/Endpoints/v1/terms.php @@ -17,33 +17,30 @@ class Terms extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/terms"; /** - * Returns a collection of core school terms. + * Returns a collection of core school terms.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager + * * - * - Schedule Manager - * - * - Platform Manager - * - * - Any Manager Role - * - * @param ?string $school_year The school year to get terms for. Defaults - * to the current school year. - * @param ?int $offering_type Format - int32. The offering type to filter - * terms by. + * @param array{school_year: string, offering_type: int} $params An + * associative array + * - school_year: The school year to get terms for. Defaults to the + * current school year. + * - offering_type: Format - int32. The offering type to filter terms + * by. * * @return \Blackbaud\SKY\School\Components\TermCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?string $school_year, ?int $offering_type): TermCollection + public function filterBy(array $params): TermCollection { - assert($school_year !== null, new ArgumentException("Parameter `school_year` is required")); - assert($offering_type !== null, new ArgumentException("Parameter `offering_type` is required")); + assert(isset($params['school_year']), new ArgumentException("Parameter `school_year` is required")); + assert(isset($params['offering_type']), new ArgumentException("Parameter `offering_type` is required")); return new TermCollection($this->send("get", [], ["school_year" => $school_year, "offering_type" => $offering_type])); diff --git a/src/SKY/School/Endpoints/v1/testscores.php b/src/SKY/School/Endpoints/v1/testscores.php index 6477781c..5466aa51 100644 --- a/src/SKY/School/Endpoints/v1/testscores.php +++ b/src/SKY/School/Endpoints/v1/testscores.php @@ -39,34 +39,36 @@ class Testscores extends BaseEndpoint protected Testtypes $_testtypes = null; /** - * Returns a collection of test scores. + * Returns a collection of test scores.

* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - Grading Manager + * * - * @param ?int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * * @return \Blackbaud\SKY\School\Components\TestScoreCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?int $user_id): TestScoreCollection + public function filterBy(array $params): TestScoreCollection { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); return new TestScoreCollection($this->send("get", [], ["user_id" => $user_id])); } /** - * Creates a test score for a student ```user\_id``` + * Creates a test score for a student ```user_id```
* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - Grading Manager + * * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * @param \Blackbaud\SKY\School\Components\TestScoreAdd $requestBody * * @return int Success @@ -74,11 +76,11 @@ public function filterBy(?int $user_id): TestScoreCollection * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function post(int $user_id, TestScoreAdd $requestBody): int + public function post(array $params, TestScoreAdd $requestBody): int { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("post", ["{user_id}" => $params['user_id']], [], $requestBody); } } diff --git a/src/SKY/School/Endpoints/v1/testscores/testtypes.php b/src/SKY/School/Endpoints/v1/testscores/testtypes.php index 17128620..da944d44 100644 --- a/src/SKY/School/Endpoints/v1/testscores/testtypes.php +++ b/src/SKY/School/Endpoints/v1/testscores/testtypes.php @@ -16,13 +16,11 @@ class Testtypes extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/testscores/testtypes"; /** - * Returns a collection of test and subtest types for a school. + * Returns a collection of test and subtest types for a school.
* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - Grading Manager - * - * - Any Manager Role + * * * @return \Blackbaud\SKY\School\Components\TestTypeCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/timezone.php b/src/SKY/School/Endpoints/v1/timezone.php index 9ecd4742..6e097bdf 100644 --- a/src/SKY/School/Endpoints/v1/timezone.php +++ b/src/SKY/School/Endpoints/v1/timezone.php @@ -16,20 +16,17 @@ class Timezone extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/timezone"; /** - * Returns the current time zone set for the school. + * Returns the current time zone set for the school.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager - * - * - Platform Manager - * - * - Any Manager Role + * * * @return \Blackbaud\SKY\School\Components\Timezone Success */ - public function getAll(): TimezoneDisambiguate + public function getAll(): Timezone { return new TimezoneDisambiguate($this->send("get", [], [])); } diff --git a/src/SKY/School/Endpoints/v1/types/attendancetypes.php b/src/SKY/School/Endpoints/v1/types/attendancetypes.php index c17917f2..36a43951 100644 --- a/src/SKY/School/Endpoints/v1/types/attendancetypes.php +++ b/src/SKY/School/Endpoints/v1/types/attendancetypes.php @@ -16,11 +16,11 @@ class Attendancetypes extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/types/attendancetypes"; /** - * Returns a collection of attendance types. + * Returns a collection of attendance types.

* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - SKY API Basic + * * * @return \Blackbaud\SKY\School\Components\AttendanceTypes Success */ diff --git a/src/SKY/School/Endpoints/v1/types/excusedtypes.php b/src/SKY/School/Endpoints/v1/types/excusedtypes.php index bfcbee52..8ec302cd 100644 --- a/src/SKY/School/Endpoints/v1/types/excusedtypes.php +++ b/src/SKY/School/Endpoints/v1/types/excusedtypes.php @@ -16,13 +16,11 @@ class Excusedtypes extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/types/excusedtypes"; /** - * Returns a collection of excused types. + * Returns a collection of excused types.

* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - SKY API Basic - * - * - Any Manager Role + * * * @return \Blackbaud\SKY\School\Components\ExcusedTypesCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/types/excusedurationtypes.php b/src/SKY/School/Endpoints/v1/types/excusedurationtypes.php index ffb3040a..b97c497d 100644 --- a/src/SKY/School/Endpoints/v1/types/excusedurationtypes.php +++ b/src/SKY/School/Endpoints/v1/types/excusedurationtypes.php @@ -16,11 +16,11 @@ class Excusedurationtypes extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/types/excusedurationtypes"; /** - * Returns a collection of excuse duration types. + * Returns a collection of excuse duration types.

* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - SKY API Basic + * * * @return \Blackbaud\SKY\School\Components\ExcuseDurationTypes Success */ diff --git a/src/SKY/School/Endpoints/v1/types/tables.php b/src/SKY/School/Endpoints/v1/types/tables.php index f914f143..c25ee1b5 100644 --- a/src/SKY/School/Endpoints/v1/types/tables.php +++ b/src/SKY/School/Endpoints/v1/types/tables.php @@ -16,12 +16,15 @@ class Tables extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/types/tables"; /** - * Returns a collection of table types. + * Returns a collection of table types.

* - * System tables will have an Id that is a negative number (Example: - * -100) User defined tables will have an Id that is a positive number - * (Example: 100) \*\*\*This endpoint is in BETA. It may be removed or - * replaced with a 90 day deprecation period.\*\*\* + * System tables will have an Id that is a negative number (Example: -100) + * + * User defined tables will have an Id that is a positive number (Example: + * 100) + * + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * * @return \Blackbaud\SKY\School\Components\TableCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/types/tablevalues.php b/src/SKY/School/Endpoints/v1/types/tablevalues.php index 318e6651..9018bb01 100644 --- a/src/SKY/School/Endpoints/v1/types/tablevalues.php +++ b/src/SKY/School/Endpoints/v1/types/tablevalues.php @@ -17,34 +17,39 @@ class Tablevalues extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/types/tablevalues"; /** - * Returns a collection of table values. + * Returns a collection of table values.

* - * Either ```tableId``` or ```tableName``` parameter is required, but not - * both. For example, If a ```tableId``` is provided, then any value - * provided for ```tableName``` will be ignored. In the case that the - * calling user does not have permissions to view the data being requested - * no results will be returned. \*\*\*This endpoint is in BETA. It may be - * removed or replaced with a 90 day deprecation period.\*\*\* + * Either ```tableId``` or ```tableName``` parameter is required, but not + * both. For example, If a ```tableId``` is provided, then any value + * provided for ```tableName``` will be ignored. * - * @param ?int $tableId Format - int32. The ID of the table type. The - * tableId is returned by [Types table - * types](https://developer.sky.blackbaud.com/docs/services/school/operations/V1TypesTablesGet) or from the settings area for the table within Blackbaud Education Management. - * @param ?string $tableName The name of the table type. The name is + * In the case that the calling user does not have permissions to view the + * data being requested no results will be returned. + * + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** + * + * @param array{tableId: int, tableName: string, includeInactive: bool} + * $params An associative array + * - tableId: Format - int32. The ID of the table type. The tableId is * returned by [Types table * types](https://developer.sky.blackbaud.com/docs/services/school/operations/V1TypesTablesGet) or from the settings area for the table within Blackbaud Education Management. - * @param ?bool $includeInactive If set to true, returns inactive items - * for the table. Defaults to false. + * - tableName: The name of the table type. The name is returned by + * [Types table + * types](https://developer.sky.blackbaud.com/docs/services/school/operations/V1TypesTablesGet) or from the settings area for the table within Blackbaud Education Management. + * - includeInactive: If set to true, returns inactive items for the + * table. Defaults to false. * * @return \Blackbaud\SKY\School\Components\TableValueCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?int $tableId, ?string $tableName, ?bool $includeInactive): TableValueCollection + public function filterBy(array $params): TableValueCollection { - assert($tableId !== null, new ArgumentException("Parameter `tableId` is required")); - assert($tableName !== null, new ArgumentException("Parameter `tableName` is required")); - assert($includeInactive !== null, new ArgumentException("Parameter `includeInactive` is required")); + assert(isset($params['tableId']), new ArgumentException("Parameter `tableId` is required")); + assert(isset($params['tableName']), new ArgumentException("Parameter `tableName` is required")); + assert(isset($params['includeInactive']), new ArgumentException("Parameter `includeInactive` is required")); return new TableValueCollection($this->send("get", [], ["tableId" => $tableId, "tableName" => $tableName, diff --git a/src/SKY/School/Endpoints/v1/users.php b/src/SKY/School/Endpoints/v1/users.php index 2f8c6463..bbae8646 100644 --- a/src/SKY/School/Endpoints/v1/users.php +++ b/src/SKY/School/Endpoints/v1/users.php @@ -196,54 +196,51 @@ class Users extends BaseEndpoint protected Enrollments $_enrollments = null; /** - * Returns a paginated collection of users, limited to 100 users per page. + * Returns a paginated collection of users, limited to 100 users per + * page.
* - * - * Use the record number as the ```marker``` value to return the next set + * Use the record number as the ```marker``` value to return the next set * of results. For example: ```marker=101``` will return the second set of - * results. + * results.
* - * Results dependant on the directory settings of each user. + * Results dependant on the directory settings of each user.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Billing Clerk - * - * - Password Manager - * - * - Contact Card Manager + * * - * - Platform Manager - * - * @param string $roles Comma delimited list of role IDs to get users for. - * @param ?string $first_name Filter results by first name. - * @param ?string $last_name Filter results by last name. - * @param ?string $email Filter results by e-mail. - * @param ?string $maiden_name Filter results by maiden name. - * @param ?string $grad_year The beginning date in a school year (ex. - * 2017). - * @param ?string $end_grad_year The end date in a school year (ex. 2018). - * Enter a grad\_year and end\_grad\_year to find matching results in the - * date range. - * @param ?int $marker Format - int32. The record number start at to - * return the next batch of data. + * @param array{roles: string, first_name: string, last_name: string, + * email: string, maiden_name: string, grad_year: string, end_grad_year: + * string, marker: int} $params An associative array + * - roles: Comma delimited list of role IDs to get users for. + * - first_name: Filter results by first name. + * - last_name: Filter results by last name. + * - email: Filter results by e-mail. + * - maiden_name: Filter results by maiden name. + * - grad_year: The beginning date in a school year (ex. 2017). + * - end_grad_year: The end date in a school year (ex. 2018). Enter a + * grad\_year and end\_grad\_year to find matching results in the date + * range. + * - marker: Format - int32. The record number start at to return the + * next batch of data. * * @return \Blackbaud\SKY\School\Components\UserReadCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(string $roles, ?string $first_name, ?string $last_name, ?string $email, ?string $maiden_name, ?string $grad_year, ?string $end_grad_year, ?int $marker): UserReadCollection + public function filterBy(array $params): UserReadCollection { - assert($roles !== null, new ArgumentException("Parameter `roles` is required")); - assert($first_name !== null, new ArgumentException("Parameter `first_name` is required")); - assert($last_name !== null, new ArgumentException("Parameter `last_name` is required")); - assert($email !== null, new ArgumentException("Parameter `email` is required")); - assert($maiden_name !== null, new ArgumentException("Parameter `maiden_name` is required")); - assert($grad_year !== null, new ArgumentException("Parameter `grad_year` is required")); - assert($end_grad_year !== null, new ArgumentException("Parameter `end_grad_year` is required")); - assert($marker !== null, new ArgumentException("Parameter `marker` is required")); + assert(isset($params['roles']), new ArgumentException("Parameter `roles` is required")); + assert(isset($params['first_name']), new ArgumentException("Parameter `first_name` is required")); + assert(isset($params['last_name']), new ArgumentException("Parameter `last_name` is required")); + assert(isset($params['email']), new ArgumentException("Parameter `email` is required")); + assert(isset($params['maiden_name']), new ArgumentException("Parameter `maiden_name` is required")); + assert(isset($params['grad_year']), new ArgumentException("Parameter `grad_year` is required")); + assert(isset($params['end_grad_year']), new ArgumentException("Parameter `end_grad_year` is required")); + assert(isset($params['marker']), new ArgumentException("Parameter `marker` is required")); return new UserReadCollection($this->send("get", [], ["roles" => $roles, "first_name" => $first_name, @@ -256,16 +253,14 @@ public function filterBy(string $roles, ?string $first_name, ?string $last_name, } /** - * Creates a new user record. + * Creates a new user record.
* - * Returns the newly created ID. + * Returns the newly created ID.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Platform Manager - * - * - Contact Card Manager + * * * @param \Blackbaud\SKY\School\Components\UserAdd $requestBody The user * to be created @@ -277,22 +272,20 @@ public function filterBy(string $roles, ?string $first_name, ?string $last_name, */ public function post(UserAdd $requestBody): int { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return $this->send("post", [], [], $requestBody); } /** - * Updates the record of a single user. + * Updates the record of a single user.
* - * Returns the ID of the user just updated upon success. + * Returns the ID of the user just updated upon success.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Platform Manager - * - * - Contact Card Manager + * * * @param \Blackbaud\SKY\School\Components\UserEdit $requestBody User * information to be updated @@ -304,30 +297,31 @@ public function post(UserAdd $requestBody): int */ public function patch(UserEdit $requestBody): int { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return $this->send("patch", [], [], $requestBody); } /** - * Returns data for the specified ```user\_id```. + * Returns data for the specified ```user_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync + * * - * @param int $user_id Format - int32. ID of the user to be returned. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. ID of the user to be returned. * * @return \Blackbaud\SKY\School\Components\UserRead Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(int $user_id): UserRead + public function get(array $params): UserRead { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return new UserRead($this->send("get", ["{user_id}" => $user_id], [])); + return new UserRead($this->send("get", ["{user_id}" => $params['user_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/users/addresses.php b/src/SKY/School/Endpoints/v1/users/addresses.php index a6d4a349..7202f6ed 100644 --- a/src/SKY/School/Endpoints/v1/users/addresses.php +++ b/src/SKY/School/Endpoints/v1/users/addresses.php @@ -39,40 +39,39 @@ class Addresses extends BaseEndpoint protected Share $_share = null; /** - * Returns a collection of addresses. + * Returns a collection of addresses.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync + * * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * * @return \Blackbaud\SKY\School\Components\AddressReadCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id): AddressReadCollection + public function getByUser(array $params): AddressReadCollection { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return new AddressReadCollection($this->send("get", ["{user_id}" => $user_id], [])); + return new AddressReadCollection($this->send("get", ["{user_id}" => $params['user_id']], [])); } /** - * Returns the ID of the address just created. + * Returns the ID of the address just created.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync + * * - * - Platform Manager - * - * - Contact Card Manager - * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * @param \Blackbaud\SKY\School\Components\AddressAdd $requestBody Address * information to be updated. * @@ -81,29 +80,27 @@ public function getByUser(int $user_id): AddressReadCollection * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function postByUser(int $user_id, AddressAdd $requestBody): int + public function postByUser(array $params, AddressAdd $requestBody): int { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("post", ["{user_id}" => $params['user_id']], [], $requestBody); } /** - * Returns ID of the address just updated. + * Returns ID of the address just updated.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync - * - * - Platform Manager + * * - * - Contact Card Manager - * - * @param int $user_id Format - int32. The ID of the user. - * @param int $address_id Format - int32. The ID of the address to be - * updated. + * @param array{user_id: int, address_id: int} $params An associative + * array + * - user_id: Format - int32. The ID of the user. + * - address_id: Format - int32. The ID of the address to be updated. * @param \Blackbaud\SKY\School\Components\AddressEdit $requestBody * Address information to be updated. * @@ -112,53 +109,52 @@ public function postByUser(int $user_id, AddressAdd $requestBody): int * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function patchByUser(int $user_id, int $address_id, AddressEdit $requestBody): int + public function patchByUser(array $params, AddressEdit $requestBody): int { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($address_id !== null, new ArgumentException("Parameter `address_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['address_id']), new ArgumentException("Parameter `address_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("patch", ["{user_id}" => $user_id, - "{address_id}" => $address_id], [], $requestBody); + return $this->send("patch", ["{user_id}" => $params['user_id'], + "{address_id}" => $params['address_id']], [], $requestBody); } /** - * Removes the specified address from the user. + * Removes the specified address from the user.
* - * If the address is shared, other users linked to the address will not - * be affected. + * If the address is shared, other users linked to the address will not be + * affected.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync - * - * - Platform Manager - * - * - Contact Card Manager + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $user_id Format - int32. The ID of the user - * @param int $address_id Format - int32. The ID of the user's address to + * @param array{user_id: int, address_id: int, address_type_id: int} + * $params An associative array + * - user_id: Format - int32. The ID of the user + * - address_id: Format - int32. The ID of the user's address to * delete. - * @param int $address_type_id Format - int32. The ID of the user's - * address type to delete. + * - address_type_id: Format - int32. The ID of the user's address + * type to delete. * * @return void Returned when the operation succeeds. * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function deleteByUserAndAddress(int $user_id, int $address_id, int $address_type_id): void + public function deleteByUserAndAddress(array $params): void { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($address_id !== null, new ArgumentException("Parameter `address_id` is required")); - assert($address_type_id !== null, new ArgumentException("Parameter `address_type_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['address_id']), new ArgumentException("Parameter `address_id` is required")); + assert(isset($params['address_type_id']), new ArgumentException("Parameter `address_type_id` is required")); - return $this->send("delete", ["{user_id}" => $user_id, - "{address_id}" => $address_id, - "{address_type_id}" => $address_type_id], []); + return $this->send("delete", ["{user_id}" => $params['user_id'], + "{address_id}" => $params['address_id'], + "{address_type_id}" => $params['address_type_id']], []); } } diff --git a/src/SKY/School/Endpoints/v1/users/addresses/share.php b/src/SKY/School/Endpoints/v1/users/addresses/share.php index f9c92576..823cbe95 100644 --- a/src/SKY/School/Endpoints/v1/users/addresses/share.php +++ b/src/SKY/School/Endpoints/v1/users/addresses/share.php @@ -17,24 +17,22 @@ class Share extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/users/{user_id}/addresses/share"; /** - * For an existing user, create a link to an existing address. + * For an existing user, create a link to an existing address.
* - * Returns the ID of the address just shared. + * Returns the ID of the address just shared.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Contact Card Manager + * * - * - Platform Manager + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * - SKY API Data Sync - * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* - * - * @param int $user_id Format - int32. The Id of the user the existing - * address should be shared. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The Id of the user the existing address + * should be shared. * @param \Blackbaud\SKY\School\Components\AddressShare $requestBody The * details about the address that should be shared with the user. * @@ -43,11 +41,11 @@ class Share extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function postByUser(int $user_id, AddressShare $requestBody): int + public function postByUser(array $params, AddressShare $requestBody): int { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("post", ["{user_id}" => $params['user_id']], [], $requestBody); } } diff --git a/src/SKY/School/Endpoints/v1/users/addresstypes.php b/src/SKY/School/Endpoints/v1/users/addresstypes.php index 7131ecab..969e0c08 100644 --- a/src/SKY/School/Endpoints/v1/users/addresstypes.php +++ b/src/SKY/School/Endpoints/v1/users/addresstypes.php @@ -16,14 +16,12 @@ class Addresstypes extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/users/addresstypes"; /** - * Returns a collection of address types. + * Returns a collection of address types.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync - * - * - Any Manager Role + * * * @return \Blackbaud\SKY\School\Components\AddressTypeCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/users/audit.php b/src/SKY/School/Endpoints/v1/users/audit.php index 447116f5..544417af 100644 --- a/src/SKY/School/Endpoints/v1/users/audit.php +++ b/src/SKY/School/Endpoints/v1/users/audit.php @@ -18,20 +18,21 @@ class Audit extends BaseEndpoint /** * Returns a collection of audit information based on the specified - * ```role\_id``` within the dates provided. + * ```role_id``` within the dates provided.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync + * * - * @param string $role_id Role to return audit information for. - * @param ?string $start_date Format - date-time (as date-time in - * RFC3339). The date to begin looking for changes. Must be greater than - * 01/01/1990. - * @param ?string $end_date Format - date-time (as date-time in RFC3339). - * The date to end looking for changes. Must be within 1 year of - * start\_date. Null returns start\_date + 7 days. + * @param array{role_id: string, start_date: string, end_date: string} + * $params An associative array + * - role_id: Role to return audit information for. + * - start_date: Format - date-time (as date-time in RFC3339). The + * date to begin looking for changes. Must be greater than 01/01/1990. + * - end_date: Format - date-time (as date-time in RFC3339). The date + * to end looking for changes. Must be within 1 year of start\_date. Null + * returns start\_date + 7 days. * * @return \Blackbaud\SKY\School\Components\UserAuditReadCollection * Success @@ -39,11 +40,11 @@ class Audit extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(string $role_id, ?string $start_date, ?string $end_date): UserAuditReadCollection + public function filterBy(array $params): UserAuditReadCollection { - assert($role_id !== null, new ArgumentException("Parameter `role_id` is required")); - assert($start_date !== null, new ArgumentException("Parameter `start_date` is required")); - assert($end_date !== null, new ArgumentException("Parameter `end_date` is required")); + assert(isset($params['role_id']), new ArgumentException("Parameter `role_id` is required")); + assert(isset($params['start_date']), new ArgumentException("Parameter `start_date` is required")); + assert(isset($params['end_date']), new ArgumentException("Parameter `end_date` is required")); return new UserAuditReadCollection($this->send("get", [], ["role_id" => $role_id, "start_date" => $start_date, diff --git a/src/SKY/School/Endpoints/v1/users/bbidstatus.php b/src/SKY/School/Endpoints/v1/users/bbidstatus.php index 9eede402..293f067a 100644 --- a/src/SKY/School/Endpoints/v1/users/bbidstatus.php +++ b/src/SKY/School/Endpoints/v1/users/bbidstatus.php @@ -18,23 +18,22 @@ class Bbidstatus extends BaseEndpoint /** * Returns a paginated collection of users education management BBID - * status, limited to 1000 users per page. + * status, limited to 1000 users per page.
* - * Use the last user's ID as the ```marker``` value to return the next - * set of results. + * Use the last user's ID as the ```marker``` value to return the next set + * of results.
* - * Requires one of the following roles in the Education Management - * system: + * Requires one of the following roles in the Education Management system: * - * - SKY API Data Sync + * * - * - Platform Manager - * - * @param string $base_role_ids Comma delimited list of base role IDs to - * get users for. - * @param ?int $marker Format - int32. The user's ID to start at to return - * the next batch of data. Results will start with the next user in the - * result set. + * @param array{base_role_ids: string, marker: int} $params An associative + * array + * - base_role_ids: Comma delimited list of base role IDs to get users + * for. + * - marker: Format - int32. The user's ID to start at to return the + * next batch of data. Results will start with the next user in the result + * set. * * @return \Blackbaud\SKY\School\Components\SchoolBbidStatusCollection * Success @@ -42,10 +41,10 @@ class Bbidstatus extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(string $base_role_ids, ?int $marker): SchoolBbidStatusCollection + public function filterBy(array $params): SchoolBbidStatusCollection { - assert($base_role_ids !== null, new ArgumentException("Parameter `base_role_ids` is required")); - assert($marker !== null, new ArgumentException("Parameter `marker` is required")); + assert(isset($params['base_role_ids']), new ArgumentException("Parameter `base_role_ids` is required")); + assert(isset($params['marker']), new ArgumentException("Parameter `marker` is required")); return new SchoolBbidStatusCollection($this->send("get", [], ["base_role_ids" => $base_role_ids, "marker" => $marker])); diff --git a/src/SKY/School/Endpoints/v1/users/changed.php b/src/SKY/School/Endpoints/v1/users/changed.php index c75955a2..1a904257 100644 --- a/src/SKY/School/Endpoints/v1/users/changed.php +++ b/src/SKY/School/Endpoints/v1/users/changed.php @@ -19,16 +19,18 @@ class Changed extends BaseEndpoint /** * Returns a paginated collection of users that have been created or * modified within the specified timeframe. The timeframe is from the - * start\_date to the start\_date plus seven days. + * start_date to the start_date plus seven days.
* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - SKY API Data Sync + * * - * @param string $base_role_ids Comma delimited list of base role IDs to - * get users for. - * @param string $start_date Format - date-time (as date-time in RFC3339). - * The date to begin looking for changes. Use + * @param array{base_role_ids: string, start_date: string} $params An + * associative array + * - base_role_ids: Comma delimited list of base role IDs to get users + * for. + * - start_date: Format - date-time (as date-time in RFC3339). The + * date to begin looking for changes. Use * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) date format: * 2003-04-21. * @@ -37,10 +39,10 @@ class Changed extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(string $base_role_ids, string $start_date): UserExtendedCollection + public function filterBy(array $params): UserExtendedCollection { - assert($base_role_ids !== null, new ArgumentException("Parameter `base_role_ids` is required")); - assert($start_date !== null, new ArgumentException("Parameter `start_date` is required")); + assert(isset($params['base_role_ids']), new ArgumentException("Parameter `base_role_ids` is required")); + assert(isset($params['start_date']), new ArgumentException("Parameter `start_date` is required")); return new UserExtendedCollection($this->send("get", [], ["base_role_ids" => $base_role_ids, "start_date" => $start_date])); diff --git a/src/SKY/School/Endpoints/v1/users/customfields.php b/src/SKY/School/Endpoints/v1/users/customfields.php index 02f04633..fd03ce63 100644 --- a/src/SKY/School/Endpoints/v1/users/customfields.php +++ b/src/SKY/School/Endpoints/v1/users/customfields.php @@ -42,29 +42,34 @@ class Customfields extends BaseEndpoint /** * Returns a paginated collection of users with custom admin fields, - * limited to 100 users per page. This includes both user custom fields - * and administration view only custom fields. + * limited to 100 users per page. * - * Use the last user ```id``` number as the ```marker``` value to return - * the next set of results. For example: ```marker=23232323``` will return - * a second set of results beginning with the next user ID in the result - * set. + * This includes both user custom fields and administration view only + * custom fields.
* - * Requires at least one of the following roles in the Education + * Use the last user ```id``` number as the ```marker``` value to return + * the next set of results. + * + * For example: ```marker=23232323``` will return a second set of results + * beginning with the next user ID in the result set.
+ * + * Requires at least one of the following roles in the Education * Management system: * - * - Platform Manager + * * - * @param string $base_role_ids A comma delimited list of base role IDs to - * get users for. Example: ```base\_role\_ids=14,16``` for Students and + * @param array{base_role_ids: string, marker: int, field_ids: string} + * $params An associative array + * - base_role_ids: A comma delimited list of base role IDs to get + * users for. Example: ```base\_role\_ids=14,16``` for Students and * Parents. - * @param ?int $marker Format - int32. The user's ```id``` to start at to - * return the next batch of data. Results will start with the next user in - * the result set. - * @param ?string $field_ids A comma delimited list of field IDs to filter - * the result set down to. Only matching custom fields will be returned - * from that result set for all users in that set even if they don't have - * any data for the given ```field\_ids```. + * - marker: Format - int32. The user's ```id``` to start at to return + * the next batch of data. Results will start with the next user in the + * result set. + * - field_ids: A comma delimited list of field IDs to filter the + * result set down to. Only matching custom fields will be returned from + * that result set for all users in that set even if they don't have any + * data for the given ```field\_ids```. * * @return \Blackbaud\SKY\School\Components\UserAdminCustomFieldCollection * Success @@ -72,11 +77,11 @@ class Customfields extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(string $base_role_ids, ?int $marker, ?string $field_ids): UserAdminCustomFieldCollection + public function filterBy(array $params): UserAdminCustomFieldCollection { - assert($base_role_ids !== null, new ArgumentException("Parameter `base_role_ids` is required")); - assert($marker !== null, new ArgumentException("Parameter `marker` is required")); - assert($field_ids !== null, new ArgumentException("Parameter `field_ids` is required")); + assert(isset($params['base_role_ids']), new ArgumentException("Parameter `base_role_ids` is required")); + assert(isset($params['marker']), new ArgumentException("Parameter `marker` is required")); + assert(isset($params['field_ids']), new ArgumentException("Parameter `field_ids` is required")); return new UserAdminCustomFieldCollection($this->send("get", [], ["base_role_ids" => $base_role_ids, "marker" => $marker, @@ -84,44 +89,47 @@ public function filterBy(string $base_role_ids, ?int $marker, ?string $field_ids } /** - * Returns a collection of custom fields for a single ```user\_id```. This - * includes both user custom fields and administration view only custom - * fields. + * Returns a collection of custom fields for a single ```user_id```. + * + * This includes both user custom fields and administration view only + * custom fields.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Platform Manager + * * - * @param int $user_id Format - int32. The id of the user to get custom - * fields for. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The id of the user to get custom fields + * for. * * @return \Blackbaud\SKY\School\Components\UserAdminCustomField Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id): UserAdminCustomField + public function getByUser(array $params): UserAdminCustomField { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return new UserAdminCustomField($this->send("get", ["{user_id}" => $user_id], [])); + return new UserAdminCustomField($this->send("get", ["{user_id}" => $params['user_id']], [])); } /** - * Creates an admin custom field for a user. + * Creates an admin custom field for a user.
* - * Does not create any of the ten default custom fields, every user has - * those fields created for them by default. To update those fields see - * User Custom Field Values Update. + * Does not create any of the ten default custom fields, every user has + * those fields created for them by default. To update those fields see + * User Custom Field Values Update.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Platform Manager + * * - * @param int $user_id Format - int32. The Id of the user to create a - * custom field for + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The Id of the user to create a custom + * field for * @param \Blackbaud\SKY\School\Components\UserAdminCustomFieldCreate * $requestBody Object that describes the custom field that will be * created. @@ -131,24 +139,25 @@ public function getByUser(int $user_id): UserAdminCustomField * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function postByUser(int $user_id, UserAdminCustomFieldCreate $requestBody): bool + public function postByUser(array $params, UserAdminCustomFieldCreate $requestBody): bool { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("post", ["{user_id}" => $params['user_id']], [], $requestBody); } /** - * Updates an admin custom field for a user. + * Updates an admin custom field for a user.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Platform Manager + * * - * @param int $user_id Format - int32. The Id of the user to update an - * existing custom field for. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The Id of the user to update an existing + * custom field for. * @param \Blackbaud\SKY\School\Components\UserAdminCustomFieldUpdate * $requestBody Object that describes the custom field that should be * updated. @@ -158,11 +167,11 @@ public function postByUser(int $user_id, UserAdminCustomFieldCreate $requestBody * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function patchByUser(int $user_id, UserAdminCustomFieldUpdate $requestBody): bool + public function patchByUser(array $params, UserAdminCustomFieldUpdate $requestBody): bool { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("patch", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("patch", ["{user_id}" => $params['user_id']], [], $requestBody); } } diff --git a/src/SKY/School/Endpoints/v1/users/customfields/List.php b/src/SKY/School/Endpoints/v1/users/customfields/List.php index 1018cee2..2c226f6e 100644 --- a/src/SKY/School/Endpoints/v1/users/customfields/List.php +++ b/src/SKY/School/Endpoints/v1/users/customfields/List.php @@ -16,22 +16,23 @@ class List_ extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/users/{user_id}/customfields/list"; /** - * Creates a list of admin custom field for a user. + * Creates a list of admin custom field for a user.
* - * Does not create any of the ten default custom fields, every user has - * those fields created for them by default. To update those fields see - * User Custom Field Values Update. + * Does not create any of the ten default custom fields, every user has + * those fields created for them by default. To update those fields see + * User Custom Field Values Update.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Platform Manager + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $user_id Format - int32. The Id of the user to create a - * custom field for + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The Id of the user to create a custom + * field for * @param \Blackbaud\SKY\School\Components\UserAdminCustomFieldCreate[] * $requestBody Object that describes the list of custom fields that will * be created for the user. @@ -41,24 +42,25 @@ class List_ extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function postByUser(int $user_id, array $requestBody): bool + public function postByUser(array $params, array $requestBody): bool { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("post", ["{user_id}" => $params['user_id']], [], $requestBody); } /** - * Updates a list of admin custom field for a user. + * Updates a list of admin custom field for a user.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Platform Manager + * * - * @param int $user_id Format - int32. The Id of the user to update an - * existing custom field for. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The Id of the user to update an existing + * custom field for. * @param \Blackbaud\SKY\School\Components\UserAdminCustomFieldUpdate[] * $requestBody Object that describes the custom field that should be * updated. @@ -68,11 +70,11 @@ public function postByUser(int $user_id, array $requestBody): bool * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function patchByUser(int $user_id, array $requestBody): bool + public function patchByUser(array $params, array $requestBody): bool { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("patch", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("patch", ["{user_id}" => $params['user_id']], [], $requestBody); } } diff --git a/src/SKY/School/Endpoints/v1/users/education.php b/src/SKY/School/Endpoints/v1/users/education.php index 9fd1e60b..afbf6435 100644 --- a/src/SKY/School/Endpoints/v1/users/education.php +++ b/src/SKY/School/Endpoints/v1/users/education.php @@ -21,14 +21,15 @@ class Education extends BaseEndpoint /** * Returns a collection of education information for the specified - * ```user\_id```. + * ```user_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync + * * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * * @return \Blackbaud\SKY\School\Components\EducationReadCollection * Success @@ -36,29 +37,27 @@ class Education extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id): EducationReadCollection + public function getByUser(array $params): EducationReadCollection { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return new EducationReadCollection($this->send("get", ["{user_id}" => $user_id], [])); + return new EducationReadCollection($this->send("get", ["{user_id}" => $params['user_id']], [])); } /** - * Creates an education entry for a user. + * Creates an education entry for a user.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync + * * - * - Platform Manager + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * - Contact Card Manager - * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* - * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * @param \Blackbaud\SKY\School\Components\EducationAdd $requestBody The * education model. * @@ -67,63 +66,61 @@ public function getByUser(int $user_id): EducationReadCollection * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function postByUser(int $user_id, EducationAdd $requestBody): int + public function postByUser(array $params, EducationAdd $requestBody): int { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("post", ["{user_id}" => $params['user_id']], [], $requestBody); } /** - * Deletes an education entry for a user. + * Deletes an education entry for a user.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync - * - * - Platform Manager + * * - * - Contact Card Manager + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* - * - * @param int $user_id Format - int32. - * @param int $education_id Format - int32. + * @param array{user_id: int, education_id: int} $params An associative + * array + * - user_id: Format - int32. + * - education_id: Format - int32. * * @return void Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function deleteByUser(int $user_id, int $education_id): void + public function deleteByUser(array $params): void { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($education_id !== null, new ArgumentException("Parameter `education_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['education_id']), new ArgumentException("Parameter `education_id` is required")); - return $this->send("delete", ["{user_id}" => $user_id, - "{education_id}" => $education_id], []); + return $this->send("delete", ["{user_id}" => $params['user_id'], + "{education_id}" => $params['education_id']], []); } /** - * Updates an education entry for a user. + * Updates an education entry for a user.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync - * - * - Platform Manager - * - * - Contact Card Manager + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $user_id Format - int32. The ID of the user. - * @param int $education_id Format - int32. The ID of the education. + * @param array{user_id: int, education_id: int} $params An associative + * array + * - user_id: Format - int32. The ID of the user. + * - education_id: Format - int32. The ID of the education. * @param \Blackbaud\SKY\School\Components\EducationUpdate $requestBody * The education model. * @@ -132,13 +129,13 @@ public function deleteByUser(int $user_id, int $education_id): void * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function patchByUser(int $user_id, int $education_id, EducationUpdate $requestBody): int + public function patchByUser(array $params, EducationUpdate $requestBody): int { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($education_id !== null, new ArgumentException("Parameter `education_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['education_id']), new ArgumentException("Parameter `education_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("patch", ["{user_id}" => $user_id, - "{education_id}" => $education_id], [], $requestBody); + return $this->send("patch", ["{user_id}" => $params['user_id'], + "{education_id}" => $params['education_id']], [], $requestBody); } } diff --git a/src/SKY/School/Endpoints/v1/users/emergencycontacts.php b/src/SKY/School/Endpoints/v1/users/emergencycontacts.php index 1853ab8c..07289f5c 100644 --- a/src/SKY/School/Endpoints/v1/users/emergencycontacts.php +++ b/src/SKY/School/Endpoints/v1/users/emergencycontacts.php @@ -58,22 +58,25 @@ class Emergencycontacts extends BaseEndpoint /** * Returns a collection of a emergency contacts for the specified - * ```user\_id```. Requires at least one of the following roles in the - * Education Management system: + * ```user_id```. * - * - SKY API Data Sync + * Requires at least one of the following roles in the Education + * Management system: * - * @param int $user_id Format - int32. The ID of the user. + * + * + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * * @return \Blackbaud\SKY\School\Components\EmergencyContactList Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id): EmergencyContactList + public function getByUser(array $params): EmergencyContactList { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return new EmergencyContactList($this->send("get", ["{user_id}" => $user_id], [])); + return new EmergencyContactList($this->send("get", ["{user_id}" => $params['user_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/users/emergencycontacts/changed.php b/src/SKY/School/Endpoints/v1/users/emergencycontacts/changed.php index f237c0fb..80ee5ef8 100644 --- a/src/SKY/School/Endpoints/v1/users/emergencycontacts/changed.php +++ b/src/SKY/School/Endpoints/v1/users/emergencycontacts/changed.php @@ -18,26 +18,28 @@ class Changed extends BaseEndpoint /** * Returns a paginated collection of all emergency contacts for all users - * that have had changes since the specified ```start\_date```. + * that have had changes since the specified ```start_date```.
* - * If no date is specified then this returns a paginated collection of - * all emergency contacts for all users. + * If no date is specified then this returns a paginated collection of all + * emergency contacts for all users.
* - * Use the last user's ID as the ```marker``` value to return the next - * set of results. + * Use the last user's ID as the ```marker``` value to return the next set + * of results.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync + * * - * @param ?string $start_date Format - date-time (as date-time in - * RFC3339). The date to begin looking for changes. Use + * @param array{start_date: string, marker: int} $params An associative + * array + * - start_date: Format - date-time (as date-time in RFC3339). The + * date to begin looking for changes. Use * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) date format: * 2022-04-16. - * @param ?int $marker Format - int32. The user's ID to start at to return - * the next batch of data. Results will start with the next user in the - * result set. + * - marker: Format - int32. The user's ID to start at to return the + * next batch of data. Results will start with the next user in the result + * set. * * @return \Blackbaud\SKY\School\Components\EmergencyContactChangeCollection * Success @@ -45,10 +47,10 @@ class Changed extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(?string $start_date, ?int $marker): EmergencyContactChangeCollection + public function filterBy(array $params): EmergencyContactChangeCollection { - assert($start_date !== null, new ArgumentException("Parameter `start_date` is required")); - assert($marker !== null, new ArgumentException("Parameter `marker` is required")); + assert(isset($params['start_date']), new ArgumentException("Parameter `start_date` is required")); + assert(isset($params['marker']), new ArgumentException("Parameter `marker` is required")); return new EmergencyContactChangeCollection($this->send("get", [], ["start_date" => $start_date, "marker" => $marker])); diff --git a/src/SKY/School/Endpoints/v1/users/emergencycontacts/nonuser.php b/src/SKY/School/Endpoints/v1/users/emergencycontacts/nonuser.php index 958104cd..a62b157c 100644 --- a/src/SKY/School/Endpoints/v1/users/emergencycontacts/nonuser.php +++ b/src/SKY/School/Endpoints/v1/users/emergencycontacts/nonuser.php @@ -17,14 +17,15 @@ class Nonuser extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/users/{user_id}/emergencycontacts/nonuser"; /** - * Creates a non-user emergency contact for the given user. + * Creates a non-user emergency contact for the given user.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync + * * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * @param \Blackbaud\SKY\School\Components\EmergencyContactNonUserCreate * $requestBody * @@ -33,11 +34,11 @@ class Nonuser extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function postByUser(int $user_id, EmergencyContactNonUserCreate $requestBody): void + public function postByUser(array $params, EmergencyContactNonUserCreate $requestBody): void { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("post", ["{user_id}" => $params['user_id']], [], $requestBody); } } diff --git a/src/SKY/School/Endpoints/v1/users/emergencycontacts/user.php b/src/SKY/School/Endpoints/v1/users/emergencycontacts/user.php index 2254db0b..91e43cd5 100644 --- a/src/SKY/School/Endpoints/v1/users/emergencycontacts/user.php +++ b/src/SKY/School/Endpoints/v1/users/emergencycontacts/user.php @@ -18,18 +18,19 @@ class User extends BaseEndpoint /** * Activates an existing inactive or suggested emergency contact for a - * user. To add a new user emergency contact, add the correct relationship - * between users first. + * user. To add a new user emergency contact, add the correct + * relationship between users first.
* - * To add a non-user emergency contact please see the Emergency Contact - * Non-User Create route. + * To add a non-user emergency contact please see the Emergency Contact + * Non-User Create route.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync + * * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * @param \Blackbaud\SKY\School\Components\EmergencyContactUserCreate * $requestBody * @@ -38,11 +39,11 @@ class User extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function postByUser(int $user_id, EmergencyContactUserCreate $requestBody): void + public function postByUser(array $params, EmergencyContactUserCreate $requestBody): void { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("post", ["{user_id}" => $params['user_id']], [], $requestBody); } } diff --git a/src/SKY/School/Endpoints/v1/users/employment.php b/src/SKY/School/Endpoints/v1/users/employment.php index b84e3d4b..0947b4c6 100644 --- a/src/SKY/School/Endpoints/v1/users/employment.php +++ b/src/SKY/School/Endpoints/v1/users/employment.php @@ -17,24 +17,25 @@ class Employment extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/users/{user_id}/employment"; /** - * Returns the employment details for the specified ```user\_id```. + * Returns the employment details for the specified ```user_id```.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync + * * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * * @return \Blackbaud\SKY\School\Components\FacultyEmploymentRead Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id): FacultyEmploymentRead + public function getByUser(array $params): FacultyEmploymentRead { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return new FacultyEmploymentRead($this->send("get", ["{user_id}" => $user_id], [])); + return new FacultyEmploymentRead($this->send("get", ["{user_id}" => $params['user_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/users/enroll.php b/src/SKY/School/Endpoints/v1/users/enroll.php index 0b77ee8c..a257b11b 100644 --- a/src/SKY/School/Endpoints/v1/users/enroll.php +++ b/src/SKY/School/Endpoints/v1/users/enroll.php @@ -18,12 +18,12 @@ class Enroll extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/users/enroll"; /** - * Creates the users enrollment record. + * Creates the users enrollment record.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync + * * * @param \Blackbaud\SKY\School\Components\UserEnrollmentCreate * $requestBody @@ -35,7 +35,7 @@ class Enroll extends BaseEndpoint */ public function post(UserEnrollmentCreate $requestBody): UserEnrollmentResponse { - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); return new UserEnrollmentResponse($this->send("post", [], [], $requestBody)); } diff --git a/src/SKY/School/Endpoints/v1/users/enrollments.php b/src/SKY/School/Endpoints/v1/users/enrollments.php index d97cc494..cbe18c0a 100644 --- a/src/SKY/School/Endpoints/v1/users/enrollments.php +++ b/src/SKY/School/Endpoints/v1/users/enrollments.php @@ -18,27 +18,26 @@ class Enrollments extends BaseEndpoint /** * Returns a collection of users and their enrollments for a single school - * year. + * year.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Admissions manager + * * - * - Platform manager - * - * - SKY API Data Sync - * - * @param string $school_year The school year label to get enrollments - * for. The school year should be formatted like ```2022-2023``` - * @param ?int $school_level_id Format - int32. The school level Id to - * return enrollments for. Optional. - * @param ?int $grade_level_id Format - int32. The grade level Id to - * return enrollments for. Optional. - * @param ?int $limit Format - int32. The number of records to return. - * Defaults to 1000. Maximum is 5000. - * @param ?int $offset Format - int32. The record to start the next - * collection on. Defaults to 0. + * @param array{school_year: string, school_level_id: int, grade_level_id: + * int, limit: int, offset: int} $params An associative array + * - school_year: The school year label to get enrollments for. The + * school year should be formatted like ```2022-2023``` + * - school_level_id: Format - int32. The school level Id to return + * enrollments for. Optional. + * - grade_level_id: Format - int32. The grade level Id to return + * enrollments for. Optional. + * - limit: Format - int32. The number of records to return. Defaults + * to 1000. Maximum is 5000. + * - offset: Format - int32. The record to start the next collection + * on. Defaults to 0. * * @return \Blackbaud\SKY\School\Components\UserEnrollmentCollection * Success @@ -46,13 +45,13 @@ class Enrollments extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(string $school_year, ?int $school_level_id, ?int $grade_level_id, ?int $limit, ?int $offset): UserEnrollmentCollection + public function filterBy(array $params): UserEnrollmentCollection { - assert($school_year !== null, new ArgumentException("Parameter `school_year` is required")); - assert($school_level_id !== null, new ArgumentException("Parameter `school_level_id` is required")); - assert($grade_level_id !== null, new ArgumentException("Parameter `grade_level_id` is required")); - assert($limit !== null, new ArgumentException("Parameter `limit` is required")); - assert($offset !== null, new ArgumentException("Parameter `offset` is required")); + assert(isset($params['school_year']), new ArgumentException("Parameter `school_year` is required")); + assert(isset($params['school_level_id']), new ArgumentException("Parameter `school_level_id` is required")); + assert(isset($params['grade_level_id']), new ArgumentException("Parameter `grade_level_id` is required")); + assert(isset($params['limit']), new ArgumentException("Parameter `limit` is required")); + assert(isset($params['offset']), new ArgumentException("Parameter `offset` is required")); return new UserEnrollmentCollection($this->send("get", [], ["school_year" => $school_year, "school_level_id" => $school_level_id, diff --git a/src/SKY/School/Endpoints/v1/users/extended.php b/src/SKY/School/Endpoints/v1/users/extended.php index 32017e60..3f124cc0 100644 --- a/src/SKY/School/Endpoints/v1/users/extended.php +++ b/src/SKY/School/Endpoints/v1/users/extended.php @@ -20,53 +20,56 @@ class Extended extends BaseEndpoint /** * Returns a paginated collection of extended user details, limited to - * 1000 users per page. + * 1000 users per page.
* - * Use the last user's ID as the ```marker``` value to return the next - * set of results. + * Use the last user's ID as the ```marker``` value to return the next set + * of results.
* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - SKY API Data Sync + * * - * @param string $base_role_ids Comma delimited list of base role IDs to - * get users for. - * @param ?int $marker Format - int32. The user's ID to start at to return - * the next batch of data. Results will start with the next user in the - * result set. + * @param array{base_role_ids: string, marker: int} $params An associative + * array + * - base_role_ids: Comma delimited list of base role IDs to get users + * for. + * - marker: Format - int32. The user's ID to start at to return the + * next batch of data. Results will start with the next user in the result + * set. * * @return \Blackbaud\SKY\School\Components\UserExtendedCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function filterBy(string $base_role_ids, ?int $marker): UserExtendedCollection + public function filterBy(array $params): UserExtendedCollection { - assert($base_role_ids !== null, new ArgumentException("Parameter `base_role_ids` is required")); - assert($marker !== null, new ArgumentException("Parameter `marker` is required")); + assert(isset($params['base_role_ids']), new ArgumentException("Parameter `base_role_ids` is required")); + assert(isset($params['marker']), new ArgumentException("Parameter `marker` is required")); return new UserExtendedCollection($this->send("get", [], ["base_role_ids" => $base_role_ids, "marker" => $marker])); } /** - * Returns extended user details for the specified ```user\_id```. + * Returns extended user details for the specified ```user_id```.
* - * Requires the following role in the Education Management system: + * Requires the following role in the Education Management system: * - * - SKY API Data Sync + * * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * * @return \Blackbaud\SKY\School\Components\UserExtended Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function get(int $user_id): UserExtended + public function get(array $params): UserExtended { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return new UserExtended($this->send("get", ["{user_id}" => $user_id], [])); + return new UserExtended($this->send("get", ["{user_id}" => $params['user_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/users/gendertypes.php b/src/SKY/School/Endpoints/v1/users/gendertypes.php index 6f17e5cb..cbeb7d55 100644 --- a/src/SKY/School/Endpoints/v1/users/gendertypes.php +++ b/src/SKY/School/Endpoints/v1/users/gendertypes.php @@ -16,14 +16,12 @@ class Gendertypes extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/users/gendertypes"; /** - * Returns a collection of gender types. + * Returns a collection of gender types.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync - * - * - Any Manager Role + * * * @return \Blackbaud\SKY\School\Components\GenderTypeCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/users/occupations.php b/src/SKY/School/Endpoints/v1/users/occupations.php index acdb12e5..c77c17b3 100644 --- a/src/SKY/School/Endpoints/v1/users/occupations.php +++ b/src/SKY/School/Endpoints/v1/users/occupations.php @@ -20,14 +20,16 @@ class Occupations extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/users/{user_id}/occupations/{occupation_id}"; /** - * Returns a collection of occupations for the specified ```user\_id```. + * Returns a collection of occupations for the specified ```user_id```. + *
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync + * * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * * @return \Blackbaud\SKY\School\Components\OccupationReadCollection * Success @@ -35,28 +37,26 @@ class Occupations extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id): OccupationReadCollection + public function getByUser(array $params): OccupationReadCollection { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return new OccupationReadCollection($this->send("get", ["{user_id}" => $user_id], [])); + return new OccupationReadCollection($this->send("get", ["{user_id}" => $params['user_id']], [])); } /** - * Creates an occupation record for the specified ```user\_id```. + * Creates an occupation record for the specified ```user_id```.
* - * Returns the ID of the occupation created. + * Returns the ID of the occupation created.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync + * * - * - Platform Manager - * - * - Contact Card Manager - * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * @param \Blackbaud\SKY\School\Components\OccupationCreate $requestBody * The occupation information to be created. * @@ -65,64 +65,62 @@ public function getByUser(int $user_id): OccupationReadCollection * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function postByUser(int $user_id, OccupationCreate $requestBody): int + public function postByUser(array $params, OccupationCreate $requestBody): int { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("post", ["{user_id}" => $params['user_id']], [], $requestBody); } /** - * Deletes an occupation entry for a user. + * Deletes an occupation entry for a user.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync - * - * - Platform Manager + * * - * - Contact Card Manager + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* - * - * @param int $user_id Format - int32. The ID of the user. - * @param int $occupation_id Format - int32. The ID of the occupation. - * @param ?bool $current Current Employment Status + * @param array{user_id: int, occupation_id: int, current: bool} $params + * An associative array + * - user_id: Format - int32. The ID of the user. + * - occupation_id: Format - int32. The ID of the occupation. + * - current: Current Employment Status * * @return int Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function deleteByUser(int $user_id, int $occupation_id, ?bool $current): int + public function deleteByUser(array $params): int { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($occupation_id !== null, new ArgumentException("Parameter `occupation_id` is required")); - assert($current !== null, new ArgumentException("Parameter `current` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['occupation_id']), new ArgumentException("Parameter `occupation_id` is required")); + assert(isset($params['current']), new ArgumentException("Parameter `current` is required")); - return $this->send("delete", ["{user_id}" => $user_id, - "{occupation_id}" => $occupation_id], ["current" => $current]); + return $this->send("delete", ["{user_id}" => $params['user_id'], + "{occupation_id}" => $params['occupation_id']], ["current" => $current]); } /** - * Updates an occupation entry for a user. + * Updates an occupation entry for a user.
* - * Returns the ID of the occupation updated. + * Returns the ID of the occupation updated.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync - * - * - Platform Manager - * - * - Contact Card Manager + * * - * @param int $user_id Format - int32. The ID of the user. - * @param int $occupation_id Format - int32. The ID of the occupation. + * @param array{user_id: int, occupation_id: int} $params An associative + * array + * - user_id: Format - int32. The ID of the user. + * - occupation_id: Format - int32. The ID of the occupation. * @param \Blackbaud\SKY\School\Components\OccupationUpdate $requestBody * The occupation information to be updated. * @@ -131,13 +129,13 @@ public function deleteByUser(int $user_id, int $occupation_id, ?bool $current): * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function patchByUser(int $user_id, int $occupation_id, OccupationUpdate $requestBody): int + public function patchByUser(array $params, OccupationUpdate $requestBody): int { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($occupation_id !== null, new ArgumentException("Parameter `occupation_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['occupation_id']), new ArgumentException("Parameter `occupation_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("patch", ["{user_id}" => $user_id, - "{occupation_id}" => $occupation_id], [], $requestBody); + return $this->send("patch", ["{user_id}" => $params['user_id'], + "{occupation_id}" => $params['occupation_id']], [], $requestBody); } } diff --git a/src/SKY/School/Endpoints/v1/users/phones.php b/src/SKY/School/Endpoints/v1/users/phones.php index 3114e812..0022f65e 100644 --- a/src/SKY/School/Endpoints/v1/users/phones.php +++ b/src/SKY/School/Endpoints/v1/users/phones.php @@ -39,35 +39,36 @@ class Phones extends BaseEndpoint protected Share $_share = null; /** - * Returns a collection phone numbers for the specified ```user\_id```. + * Returns a collection phone numbers for the specified ```user_id```. * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * * @return \Blackbaud\SKY\School\Components\PhoneReadCollection Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id): PhoneReadCollection + public function getByUser(array $params): PhoneReadCollection { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return new PhoneReadCollection($this->send("get", ["{user_id}" => $user_id], [])); + return new PhoneReadCollection($this->send("get", ["{user_id}" => $params['user_id']], [])); } /** - * Creates a new phone record for the specified ```user\_id```. + * Creates a new phone record for the specified ```user_id```.
* - * Returns the ID of the phone number created. Requires at least one of - * the following roles in the Education Management system: + * Returns the ID of the phone number created. * - * - SKY API Data Sync - * - * - Platform Manager + * Requires at least one of the following roles in the Education + * Management system: * - * - Contact Card Manager + * * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * @param \Blackbaud\SKY\School\Components\PhoneAdd $requestBody The phone * information to be created. * @@ -76,62 +77,61 @@ public function getByUser(int $user_id): PhoneReadCollection * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function postByUser(int $user_id, PhoneAdd $requestBody): int + public function postByUser(array $params, PhoneAdd $requestBody): int { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("post", ["{user_id}" => $params['user_id']], [], $requestBody); } /** - * Removes the specified phone from the user. + * Removes the specified phone from the user.
* - * If the phone is shared, other users linked to the phone will not be - * affected. + * If the phone is shared, other users linked to the phone will not be + * affected.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - SKY API Data Sync - * - * - Platform Manager - * - * - Contact Card Manager + * * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * @param int $user_id Format - int32. The ID of the user. - * @param int $phone_id Format - int32. The ID of the user's phone to - * delete. - * @param int $phone_type_id Format - int32. The ID of the phone type. + * @param array{user_id: int, phone_id: int, phone_type_id: int} $params + * An associative array + * - user_id: Format - int32. The ID of the user. + * - phone_id: Format - int32. The ID of the user's phone to delete. + * - phone_type_id: Format - int32. The ID of the phone type. * * @return void Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function deleteByUserAndPhone(int $user_id, int $phone_id, int $phone_type_id): void + public function deleteByUserAndPhone(array $params): void { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($phone_id !== null, new ArgumentException("Parameter `phone_id` is required")); - assert($phone_type_id !== null, new ArgumentException("Parameter `phone_type_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['phone_id']), new ArgumentException("Parameter `phone_id` is required")); + assert(isset($params['phone_type_id']), new ArgumentException("Parameter `phone_type_id` is required")); - return $this->send("delete", ["{user_id}" => $user_id, - "{phone_id}" => $phone_id, - "{phone_type_id}" => $phone_type_id], []); + return $this->send("delete", ["{user_id}" => $params['user_id'], + "{phone_id}" => $params['phone_id'], + "{phone_type_id}" => $params['phone_type_id']], []); } /** - * Updates an exising phone record for the specified ```user\_id```. + * Updates an exising phone record for the specified ```user_id```.
* - * Returns the ID of the phone number updated. + * Returns the ID of the phone number updated. * - * @param int $user_id Format - int32. The ID of the user. - * @param int $phone_id Format - int32. The phone id to be updated. - * @param ?bool $split_phone_if_shared Set to true if phone number is - * shared + * @param array{user_id: int, phone_id: int, split_phone_if_shared: bool} + * $params An associative array + * - user_id: Format - int32. The ID of the user. + * - phone_id: Format - int32. The phone id to be updated. + * - split_phone_if_shared: Set to true if phone number is shared * @param \Blackbaud\SKY\School\Components\PhoneUpdate $requestBody The * phone information to be updated. * @@ -140,14 +140,14 @@ public function deleteByUserAndPhone(int $user_id, int $phone_id, int $phone_typ * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function patchByUser(int $user_id, int $phone_id, ?bool $split_phone_if_shared, PhoneUpdate $requestBody): int + public function patchByUser(array $params, PhoneUpdate $requestBody): int { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($phone_id !== null, new ArgumentException("Parameter `phone_id` is required")); - assert($split_phone_if_shared !== null, new ArgumentException("Parameter `split_phone_if_shared` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['phone_id']), new ArgumentException("Parameter `phone_id` is required")); + assert(isset($params['split_phone_if_shared']), new ArgumentException("Parameter `split_phone_if_shared` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("patch", ["{user_id}" => $user_id, - "{phone_id}" => $phone_id], ["split_phone_if_shared" => $split_phone_if_shared], $requestBody); + return $this->send("patch", ["{user_id}" => $params['user_id'], + "{phone_id}" => $params['phone_id']], ["split_phone_if_shared" => $split_phone_if_shared], $requestBody); } } diff --git a/src/SKY/School/Endpoints/v1/users/phones/share.php b/src/SKY/School/Endpoints/v1/users/phones/share.php index 6a621f0f..9d5e3c9c 100644 --- a/src/SKY/School/Endpoints/v1/users/phones/share.php +++ b/src/SKY/School/Endpoints/v1/users/phones/share.php @@ -17,24 +17,22 @@ class Share extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/users/{user_id}/phones/share"; /** - * For an existing user, create a link to an existing phone number. + * For an existing user, create a link to an existing phone number.
* - * Returns the ID of the phone number just shared. + * Returns the ID of the phone number just shared.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Contact Card Manager + * * - * - Platform Manager + * ***This endpoint is in BETA. It may be removed or replaced with a 90 + * day deprecation period.*** * - * - SKY API Data Sync - * - * \*\*\*This endpoint is in BETA. It may be removed or replaced with a 90 - * day deprecation period.\*\*\* - * - * @param int $user_id Format - int32. The Id of the user the existing - * address should be shared. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The Id of the user the existing address + * should be shared. * @param \Blackbaud\SKY\School\Components\PhoneShare $requestBody The * details about the phone number that should be shared with the user. * @@ -43,11 +41,11 @@ class Share extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function postByUser(int $user_id, PhoneShare $requestBody): int + public function postByUser(array $params, PhoneShare $requestBody): int { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("post", ["{user_id}" => $params['user_id']], [], $requestBody); } } diff --git a/src/SKY/School/Endpoints/v1/users/phonetypes.php b/src/SKY/School/Endpoints/v1/users/phonetypes.php index fd755ab5..a58d891c 100644 --- a/src/SKY/School/Endpoints/v1/users/phonetypes.php +++ b/src/SKY/School/Endpoints/v1/users/phonetypes.php @@ -16,12 +16,12 @@ class Phonetypes extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/users/phonetypes"; /** - * Returns a collection of phone types. Requires at least one of the - * following roles in the Education Management system: + * Returns a collection of phone types. * - * - SKY API Data Sync + * Requires at least one of the following roles in the Education + * Management system: * - * - Any Manager Role + * * * @return \Blackbaud\SKY\School\Components\PhoneTypeCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/users/relationships.php b/src/SKY/School/Endpoints/v1/users/relationships.php index 9e80b056..92e47666 100644 --- a/src/SKY/School/Endpoints/v1/users/relationships.php +++ b/src/SKY/School/Endpoints/v1/users/relationships.php @@ -19,18 +19,16 @@ class Relationships extends BaseEndpoint /** * Returns a collection of a relationships for the specified - * ```user\_id```. Requires at least one of the following roles in the - * Education Management system: + * ```user_id```. * - * - Payment Services Manager + * Requires at least one of the following roles in the Education + * Management system: * - * - Integration Manager + * * - * - Contact Card Manager - * - * - Platform Manager - * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * * @return \Blackbaud\SKY\School\Components\RelationshipReadCollection * Success @@ -38,30 +36,28 @@ class Relationships extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByUser(int $user_id): RelationshipReadCollection + public function getByUser(array $params): RelationshipReadCollection { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); - return new RelationshipReadCollection($this->send("get", ["{user_id}" => $user_id], [])); + return new RelationshipReadCollection($this->send("get", ["{user_id}" => $params['user_id']], [])); } /** - * Creates a relationship record for the specified ```user\_id```. - * - * This doesn't create a user profile for the related individual. + * Creates a relationship record for the specified ```user_id```.
* - * Returns 200 OK Requires at least one of the following roles in the - * Education Management system: + * This doesn't create a user profile for the related individual.
* - * - Payment Services Manager + * Returns 200 OK * - * - Integration Manager + * Requires at least one of the following roles in the Education + * Management system: * - * - Contact Card Manager + * * - * - Platform Manager - * - * @param int $user_id Format - int32. The ID of the user. + * @param array{user_id: int} $params An associative array + * - user_id: Format - int32. The ID of the user. * @param \Blackbaud\SKY\School\Components\RelationshipCreate $requestBody * Defines the relationship to be created. * @@ -70,50 +66,48 @@ public function getByUser(int $user_id): RelationshipReadCollection * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function postByUser(int $user_id, RelationshipCreate $requestBody): void + public function postByUser(array $params, RelationshipCreate $requestBody): void { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($requestBody !== null, new ArgumentException("Parameter `requestBody` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['requestBody']), new ArgumentException("Parameter `requestBody` is required")); - return $this->send("post", ["{user_id}" => $user_id], [], $requestBody); + return $this->send("post", ["{user_id}" => $params['user_id']], [], $requestBody); } /** - * Removes a relationship record from the specified ```user\_id```. - * - * If the related individual is also a user, the user profile of that - * user is preserved. Individuals may need to review or update their - * emergency contacts. Requires at least one of the following roles in the - * Education Management system: - * - * - Payment Services Manager + * Removes a relationship record from the specified ```user_id```.
* - * - Integration Manager + * If the related individual is also a user, the user profile of that user + * is preserved. Individuals may need to review or update their emergency + * contacts. * - * - Contact Card Manager + * Requires at least one of the following roles in the Education + * Management system: * - * - Platform Manager + * * - * @param int $user_id Format - int32. The ID of the user for whom you are + * @param array{user_id: int, left_user: int, relationship_type: + * "NOT_SET"|"StepParent_StepChild"|"GrGrandParent_GrGrandChild"|"Guardian_Ward"|"AuntUncle_NieceNephew"|"Grandparent_Grandchild"|"Parent_Child"|"Custodian_Student"|"Consultant_Student"|"Caretaker_Charge"|"SpousePartner_SpousePartner"|"StepSibling_StepSibling"|"ExHusband_ExWife"|"Associate_Associate"|"HalfSibling_HalfSibling"|"Husband_Wife"|"Spouse_Spouse"|"Sibling_Sibling"|"Cousin_Cousin"|"Friend_Friend"} $params An associative array + * - user_id: Format - int32. The ID of the user for whom you are * deleting the relationship. - * @param int $left_user Format - int32. ID of the other user in the + * - left_user: Format - int32. ID of the other user in the * relationship. - * @param "NOT_SET"|"StepParent_StepChild"|"GrGrandParent_GrGrandChild"|"Guardian_Ward"|"AuntUncle_NieceNephew"|"Grandparent_Grandchild"|"Parent_Child"|"Custodian_Student"|"Consultant_Student"|"Caretaker_Charge"|"SpousePartner_SpousePartner"|"StepSibling_StepSibling"|"ExHusband_ExWife"|"Associate_Associate"|"HalfSibling_HalfSibling"|"Husband_Wife"|"Spouse_Spouse"|"Sibling_Sibling"|"Cousin_Cousin"|"Friend_Friend" - * $relationship_type Defines the relationship between left\_user and this - * user. + * - relationship_type: Defines the relationship between left\_user + * and this user. * * @return void Success * * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function deleteByUser(int $user_id, int $left_user, string $relationship_type): void + public function deleteByUser(array $params): void { - assert($user_id !== null, new ArgumentException("Parameter `user_id` is required")); - assert($left_user !== null, new ArgumentException("Parameter `left_user` is required")); - assert($relationship_type !== null, new ArgumentException("Parameter `relationship_type` is required")); + assert(isset($params['user_id']), new ArgumentException("Parameter `user_id` is required")); + assert(isset($params['left_user']), new ArgumentException("Parameter `left_user` is required")); + assert(isset($params['relationship_type']), new ArgumentException("Parameter `relationship_type` is required")); - return $this->send("delete", ["{user_id}" => $user_id], ["left_user" => $left_user, + return $this->send("delete", ["{user_id}" => $params['user_id']], ["left_user" => $left_user, "relationship_type" => $relationship_type]); } } diff --git a/src/SKY/School/Endpoints/v1/users/students.php b/src/SKY/School/Endpoints/v1/users/students.php index 1dc8b236..6b792d8a 100644 --- a/src/SKY/School/Endpoints/v1/users/students.php +++ b/src/SKY/School/Endpoints/v1/users/students.php @@ -17,15 +17,18 @@ class Students extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/users/{parent_id}/students"; /** - * Returns a collection of children of the specified ```parent\_id```. + * Returns a collection of children of the specified ```parent_id```.
* - * Requires the logged in ```user\_id``` matches the specified - * ```parent\_id```. Requires the following role in the Education - * Management system: + * Requires the logged in ```user_id``` matches the specified + * ```parent_id```. * - * - Parent + * Requires the following role in the Education Management system: * - * @param int $parent_id Format - int32. + * + * + * @param array{parent_id: int} $params An associative array + * - parent_id: Format - int32. * * @return \Blackbaud\SKY\School\Components\ChildOfParentCollection * Success @@ -33,10 +36,10 @@ class Students extends BaseEndpoint * @throws \Battis\OpenAPI\Client\Exceptions\ArgumentException if required * parameters are not defined */ - public function getByParent(int $parent_id): ChildOfParentCollection + public function getByParent(array $params): ChildOfParentCollection { - assert($parent_id !== null, new ArgumentException("Parameter `parent_id` is required")); + assert(isset($params['parent_id']), new ArgumentException("Parameter `parent_id` is required")); - return new ChildOfParentCollection($this->send("get", ["{parent_id}" => $parent_id], [])); + return new ChildOfParentCollection($this->send("get", ["{parent_id}" => $params['parent_id']], [])); } } diff --git a/src/SKY/School/Endpoints/v1/venues/buildings.php b/src/SKY/School/Endpoints/v1/venues/buildings.php index 6a691068..a24c42ee 100644 --- a/src/SKY/School/Endpoints/v1/venues/buildings.php +++ b/src/SKY/School/Endpoints/v1/venues/buildings.php @@ -18,8 +18,8 @@ class Buildings extends BaseEndpoint /** * Returns a collection of buildings. * - * **Requires the 'Team Schedule Manager', 'Coach', 'Athletic Group - * Manager' or 'Pending Coach' role in the K12 system.** + *

Requires the 'Team Schedule Manager', 'Coach', 'Athletic Group + * Manager' or 'Pending Coach' role in the K12 system.

* * @return \Blackbaud\SKY\School\Components\BuildingReadCollection Success */ diff --git a/src/SKY/School/Endpoints/v1/years.php b/src/SKY/School/Endpoints/v1/years.php index faf3375a..c10a3686 100644 --- a/src/SKY/School/Endpoints/v1/years.php +++ b/src/SKY/School/Endpoints/v1/years.php @@ -16,18 +16,13 @@ class Years extends BaseEndpoint protected string $url = "https://api.sky.blackbaud.com/school/v1/years"; /** - * Returns a collection of core school years. + * Returns a collection of core school years.
* - * Requires at least one of the following roles in the Education + * Requires at least one of the following roles in the Education * Management system: * - * - Academic Group Manager - * - * - Schedule Manager - * - * - Platform Manager - * - * - Any Manager Role + * * * @return \Blackbaud\SKY\School\Components\YearCollection Success */