Lines 100.00% 10 / 10
Functions and Methods 100.00% 1 / 1
Classes and Traits 100.00% 1 / 1
Name Lines Functions and Methods CRAP Classes and Traits
RoleGet 100.00% 10 / 10 100.00% 1 / 1 3 100.00% 1 / 1
 readResponse 100.00% 10 / 10 100.00% 1 / 1 3
1<?php
2
3namespace BO\Zmsbackend\Role\Api;
4
5use BO\Slim\Render;
6use BO\Zmsbackend\Role\Service\Role;
7
8class RoleGet extends \BO\Zmsbackend\Api\BaseController
9{
10    /**
11     * @return \Psr\Http\Message\ResponseInterface
12     */
13    #[\Override]
14    public function readResponse($request, $response, array $args)
15    {
16        (new \BO\Zmsbackend\Helper\User($request, 1))->checkPermissions('superuser');
17
18        $roleId = (int) $args['id'];
19        $role = (new \BO\Zmsbackend\Role\Service\Role())->readRoleById($roleId);
20
21        if (!$role || ! $role->hasId()) {
22            throw new \BO\Zmsbackend\Role\Exception\RoleDoesNotExist();
23        }
24
25        $message = \BO\Zmsbackend\Api\Response\Message::create($request);
26        $message->data = $role;
27
28        $response = Render::withLastModified($response, time(), '0');
29        $response = Render::withJson($response, $message->setUpdatedMetaData(), $message->getStatuscode());
30        return $response;
31    }
32}