diff options
| author | Ron Lucke <lucke@elan-ev.de> | 2022-02-07 14:27:25 +0000 |
|---|---|---|
| committer | Ron Lucke <lucke@elan-ev.de> | 2022-02-07 14:27:25 +0000 |
| commit | 333b1181662f26afe13256b26c6c87605d627d10 (patch) | |
| tree | 4b7220f5eb8794d654cb03c1f015cb43ea071c6a /lib/classes/JsonApi/Routes/Courseware/StructuralElementFeedbackOfStructuralElementsIndex.php | |
| parent | e40d838a4f73cf1a0bd5a35fdfd7a476b523d3f1 (diff) | |
StEP 00357
Diffstat (limited to 'lib/classes/JsonApi/Routes/Courseware/StructuralElementFeedbackOfStructuralElementsIndex.php')
| -rwxr-xr-x | lib/classes/JsonApi/Routes/Courseware/StructuralElementFeedbackOfStructuralElementsIndex.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/classes/JsonApi/Routes/Courseware/StructuralElementFeedbackOfStructuralElementsIndex.php b/lib/classes/JsonApi/Routes/Courseware/StructuralElementFeedbackOfStructuralElementsIndex.php new file mode 100755 index 0000000..855ce60 --- /dev/null +++ b/lib/classes/JsonApi/Routes/Courseware/StructuralElementFeedbackOfStructuralElementsIndex.php @@ -0,0 +1,38 @@ +<?php + +namespace JsonApi\Routes\Courseware; + +use Courseware\StructuralElement; +use Courseware\StructuralElementFeedback; +use JsonApi\Errors\AuthorizationFailedException; +use JsonApi\Errors\RecordNotFoundException; +use JsonApi\JsonApiController; +use Psr\Http\Message\ResponseInterface as Response; +use Psr\Http\Message\ServerRequestInterface as Request; + +/** + * Displays the feedback of a StructuralElement. + */ +class StructuralElementFeedbackOfStructuralElementsIndex extends JsonApiController +{ + protected $allowedIncludePaths = ['user', 'structural-element']; + + /** + * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ + public function __invoke(Request $request, Response $response, $args) + { + /** @var ?Block $block */ + $structuralElement = StructuralElement::find($args['id']); + if (!$structuralElement) { + throw new RecordNotFoundException(); + } + if (!Authority::canIndexStructuralElementFeedback($this->getUser($request), $structuralElement)) { + throw new AuthorizationFailedException(); + } + /** @var StructuralElementFeedback[] $resources */ + $resources = $structuralElement->feedback; + + return $this->getContentResponse($resources); + } +} |
