* @license GPL2 or any later version * * @since Stud.IP 5.4 */ class UsersClipboardsIndex extends JsonApiController { use CoursewareInstancesHelper; protected $allowedIncludePaths = [ 'user', ]; protected $allowedPagingParameters = ['offset', 'limit']; /** * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function __invoke(Request $request, Response $response, $args) { $user = \User::find($args['id']); if (!$user) { throw new RecordNotFoundException(); } $request_user = $this->getUser($request); if (!Authority::canIndexClipboardsOfAUser($request_user, $user)) { throw new AuthorizationFailedException(); } $resources = Clipboard::findUsersClipboards($user); $total = count($resources); [$offset, $limit] = $this->getOffsetAndLimit(); return $this->getPaginatedContentResponse(array_slice($resources, $offset, $limit), $total); } }