aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2025-08-07 12:15:23 +0200
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2025-08-07 12:15:23 +0200
commit563a7f50f4315021a73d57d456e9e1ba5a802098 (patch)
tree0fdf204f2ea2cad363c9eeb16be4263e147256b6 /lib
parentc21b2a599bb5b41c453c7bdf59903fc19d8f3b00 (diff)
don't let route break when semester filter query parameter is empty (and some...
Closes #5763 Merge request studip/studip!4400
Diffstat (limited to 'lib')
-rw-r--r--lib/classes/JsonApi/Routes/Courses/CoursesByUserIndex.php17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/classes/JsonApi/Routes/Courses/CoursesByUserIndex.php b/lib/classes/JsonApi/Routes/Courses/CoursesByUserIndex.php
index 9f0843a..ae293fd 100644
--- a/lib/classes/JsonApi/Routes/Courses/CoursesByUserIndex.php
+++ b/lib/classes/JsonApi/Routes/Courses/CoursesByUserIndex.php
@@ -42,7 +42,8 @@ class CoursesByUserIndex extends JsonApiController
*/
public function __invoke(Request $request, Response $response, array $args): Response
{
- if (!$user = User::find($args['id'])) {
+ $user = User::find($args['id']);
+ if (!$user) {
throw new RecordNotFoundException();
}
@@ -50,7 +51,8 @@ class CoursesByUserIndex extends JsonApiController
throw new AuthorizationFailedException();
}
- if ($error = $this->validateFilters()) {
+ $error = $this->validateFilters();
+ if ($error) {
throw new BadRequestException($error);
}
@@ -58,7 +60,7 @@ class CoursesByUserIndex extends JsonApiController
$user,
$this->getSemesterFilter()
);
- list($offset, $limit) = $this->getOffsetAndLimit();
+ [$offset, $limit] = $this->getOffsetAndLimit();
return $this->getPaginatedContentResponse(
array_slice($courses, $offset, $limit),
@@ -71,10 +73,11 @@ class CoursesByUserIndex extends JsonApiController
$filtering = $this->getQueryParameters()->getFilteringParameters() ?: [];
// semester
- if (isset($filtering['semester'])) {
- if (!Semester::exists($filtering['semester'])) {
- return 'Invalid "semester".';
- }
+ if (
+ !empty($filtering['semester'])
+ && !Semester::exists($filtering['semester'])
+ ) {
+ return 'Invalid "semester".';
}
}