Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
93.33% covered (success)
93.33%
14 / 15
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
UseraccountList
93.33% covered (success)
93.33%
14 / 15
0.00% covered (danger)
0.00%
0 / 1
3.00
0.00% covered (danger)
0.00%
0 / 1
 readResponse
93.33% covered (success)
93.33%
14 / 15
0.00% covered (danger)
0.00%
0 / 1
3.00
1<?php
2
3/**
4 * @package ZMS API
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 **/
7
8namespace BO\Zmsapi;
9
10use BO\Mellon\Validator;
11use BO\Slim\Render;
12use BO\Zmsdb\Useraccount;
13use BO\Zmsentities\Collection\UseraccountList as Collection;
14use Psr\Http\Message\RequestInterface;
15use Psr\Http\Message\ResponseInterface;
16
17class UseraccountList extends BaseController
18{
19    /**
20     * @SuppressWarnings(Param)
21     * @return String
22     */
23    public function readResponse(
24        RequestInterface $request,
25        ResponseInterface $response,
26        array $args
27    ) {
28        (new Helper\User($request, 1))->checkRights('useraccount');
29        $resolveReferences = Validator::param('resolveReferences')->isNumber()->setDefault(1)->getValue();
30
31        /** @var Useraccount $useraccount */
32        $useraccountList = new Collection();
33        $useraccountList = (new Useraccount())->readList($resolveReferences)->withLessData();
34
35        $validUserAccounts = [];
36        foreach ($useraccountList as $useraccount) {
37            try {
38                Helper\User::testWorkstationAccessRights($useraccount);
39                $validUserAccounts[] = $useraccount;
40            } catch (\BO\Zmsentities\Exception\UserAccountAccessRightsFailed $e) {
41                continue;
42            }
43        }
44        $useraccountList = $validUserAccounts;
45
46        $message = Response\Message::create($request);
47        $message->data = $useraccountList;
48
49        $response = Render::withLastModified($response, time(), '0');
50        return Render::withJson($response, $message, 200);
51    }
52}