Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
87.50% covered (warning)
87.50%
7 / 8
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
AvailabilityCheckDayOff
87.50% covered (warning)
87.50%
7 / 8
0.00% covered (danger)
0.00%
0 / 1
3.02
0.00% covered (danger)
0.00%
0 / 1
 readResponse
87.50% covered (warning)
87.50%
7 / 8
0.00% covered (danger)
0.00%
0 / 1
3.02
1<?php
2
3namespace BO\Zmsadmin\Helper;
4
5use BO\Slim\Render;
6use BO\Zmsadmin\BaseController;
7use BO\Zmsadmin\Exception\BadRequest;
8use BO\Zmsentities\Collection\AvailabilityList;
9use Psr\Http\Message\RequestInterface;
10use Psr\Http\Message\ResponseInterface;
11
12class AvailabilityCheckDayOff extends BaseController
13{
14    #[\Override]
15    public function readResponse(
16        RequestInterface $request,
17        ResponseInterface $response,
18        array $args
19    ) {
20        $validator = $request->getAttribute('validator');
21        $input = $validator->getInput()->isJson()->assertValid()->getValue();
22
23        if (!isset($input['availabilityList']) || !is_array($input['availabilityList'])) {
24            throw new BadRequest();
25        }
26
27        $collection = (new AvailabilityList())->addData($input['availabilityList']);
28
29        return Render::withJson($response, [
30            'overridesDayOff' => $collection->hasDayOffOverride()
31        ]);
32    }
33}