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    /**
15     * @return ResponseInterface
16     */
17    #[\Override]
18    public function readResponse(
19        RequestInterface $request,
20        ResponseInterface $response,
21        array $args
22    ) {
23        $validator = $request->getAttribute('validator');
24        $input = $validator->getInput()->isJson()->assertValid()->getValue();
25
26        if (!isset($input['availabilityList']) || !is_array($input['availabilityList'])) {
27            throw new BadRequest();
28        }
29
30        $collection = (new AvailabilityList())->addData($input['availabilityList']);
31
32        return Render::withJson($response, [
33            'overridesDayOff' => $collection->hasDayOffOverride()
34        ]);
35    }
36}