Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
26 / 26
100.00% covered (success)
100.00%
4 / 4
CRAP
100.00% covered (success)
100.00%
1 / 1
ProviderHandler
100.00% covered (success)
100.00%
26 / 26
100.00% covered (success)
100.00%
4 / 4
6
100.00% covered (success)
100.00%
1 / 1
 readResponse
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
1
 readProviderList
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
1
 readProviderAssigned
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
2
 readProviderNotAssigned
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3/**
4 *
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 *
7 */
8
9namespace BO\Zmsadmin\Helper;
10
11use BO\Zmsadmin\BaseController;
12use BO\Zmsentities\Collection\ProviderList;
13use Psr\Http\Message\RequestInterface;
14use Psr\Http\Message\ResponseInterface;
15
16class ProviderHandler extends BaseController
17{
18    /**
19     * @SuppressWarnings(UnusedFormalParameter)
20     * @return ResponseInterface
21     */
22    #[\Override]
23    public function readResponse(
24        RequestInterface $request,
25        ResponseInterface $response,
26        array $args
27    ): ResponseInterface {
28        return \BO\Slim\Render::withJson(
29            $response,
30            static::readProviderList($args['source'])
31        );
32    }
33
34    public static function readProviderList($source)
35    {
36        return [
37            ['name' => 'assigned', 'items' => static::readProviderAssigned($source)],
38            ['name' => 'notAssigned', 'items' => static::readProviderNotAssigned($source)]
39        ];
40    }
41
42    protected static function readProviderAssigned($source)
43    {
44        $providerAssigned = \App::$http->readGetResult(
45            '/provider/' . $source . '/',
46            array(
47                'isAssigned' => true
48            )
49        )->getCollection();
50        return ($providerAssigned) ?
51            $providerAssigned->withUniqueProvider()->sortByName() :
52            new ProviderList();
53    }
54
55    protected static function readProviderNotAssigned($source)
56    {
57        $providerNotAssigned = \App::$http->readGetResult(
58            '/provider/' . $source . '/',
59            array(
60                'isAssigned' => false
61            )
62        )->getCollection();
63        return ($providerNotAssigned) ?
64            $providerNotAssigned->withUniqueProvider()->sortByName() :
65            new ProviderList();
66    }
67}