Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
53.33% covered (warning)
53.33%
8 / 15
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
AvailabilityListUpdate
53.33% covered (warning)
53.33%
8 / 15
0.00% covered (danger)
0.00%
0 / 1
2.41
0.00% covered (danger)
0.00%
0 / 1
 readResponse
53.33% covered (warning)
53.33%
8 / 15
0.00% covered (danger)
0.00%
0 / 1
2.41
1<?php
2
3/**
4 * @package Zmsadmin
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 **/
7
8namespace BO\Zmsadmin;
9
10use Psr\Http\Message\RequestInterface;
11use Psr\Http\Message\ResponseInterface;
12use BO\Zmsentities\Availability;
13use BO\Zmsentities\Collection\AvailabilityList;
14use BO\Slim\Render;
15
16/**
17 * Update availabilites, API proxy
18 *
19 */
20class AvailabilityListUpdate extends BaseController
21{
22    /**
23     * @SuppressWarnings(UnusedFormalParameter)
24     * @return \Psr\Http\Message\ResponseInterface
25     */
26    public function readResponse(
27        RequestInterface $request,
28        ResponseInterface $response,
29        array $args
30    ) {
31        $validator = $request->getAttribute('validator');
32        $input = $validator->getInput()->isJson()->assertValid()->getValue();
33        $collection = new AvailabilityList($input);
34
35        try {
36            $apiResponse = \App::$http->readPostResult('/availability/', $collection);
37            $availabilityList = $apiResponse->getCollection();
38            $statusCode = $apiResponse->getResponse()->getStatusCode();
39
40            $response = Render::withLastModified($response, time(), '0');
41            return Render::withJson($response, $availabilityList, $statusCode);
42        } catch (\Throwable $e) {
43            $response = Render::withLastModified($response, time(), '0');
44            return Render::withJson(
45                $response,
46                ['error' => true, 'message' => $e->getMessage()],
47                400
48            );
49        }
50    }
51}