Lines 100.00% 13 / 13
Functions and Methods 100.00% 1 / 1
Classes and Traits 100.00% 1 / 1
Name Lines Functions and Methods CRAP Classes and Traits
WorkstationProfileGet 100.00% 13 / 13 100.00% 1 / 1 1 100.00% 1 / 1
 readResponse 100.00% 13 / 13 100.00% 1 / 1 1
1<?php
2
3/**
4 * @package ZMS API
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 **/
7
8namespace BO\Zmsbackend\Workstation\Api;
9
10use BO\Slim\Render;
11use BO\Zmsbackend\Useraccount\Service\Profile as ProfileService;
12
13class WorkstationProfileGet extends \BO\Zmsbackend\Api\BaseController
14{
15    /**
16     * @SuppressWarnings(Param)
17     * @return \Psr\Http\Message\ResponseInterface
18     */
19    #[\Override]
20    public function readResponse(
21        \Psr\Http\Message\RequestInterface $request,
22        \Psr\Http\Message\ResponseInterface $response,
23        array $args
24    ): \Psr\Http\Message\ResponseInterface {
25        $workstation = (new \BO\Zmsbackend\Helper\User($request, 1))
26            ->checkPermissions();
27
28        $profile = (new ProfileService())->readEntity(
29            $workstation->getUseraccount()
30        );
31
32        $message = \BO\Zmsbackend\Api\Response\Message::create($request);
33        $message->data = $profile;
34
35        $response = Render::withLastModified($response, time(), '0');
36
37        return Render::withJson(
38            $response,
39            $message->setUpdatedMetaData(),
40            $message->getStatuscode()
41        );
42    }
43}