Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
AvailabilityDelete
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
1 / 1
3
100.00% covered (success)
100.00%
1 / 1
 readResponse
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
1 / 1
3
1<?php
2
3/**
4 * @package ZMS API
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 **/
7
8namespace BO\Zmsapi;
9
10use BO\Slim\Render;
11use BO\Zmsdb\Availability as AvailabilityRepository;
12use BO\Zmsdb\Helper\CalculateSlots as CalculateSlotsHelper;
13use Psr\Http\Message\RequestInterface;
14use Psr\Http\Message\ResponseInterface;
15use BO\Zmsentities\Availability as Entity;
16
17class AvailabilityDelete extends BaseController
18{
19    /**
20     * @SuppressWarnings(Param)
21     * @return ResponseInterface
22     */
23    public function readResponse(
24        RequestInterface $request,
25        ResponseInterface $response,
26        array $args
27    ): ResponseInterface {
28        (new Helper\User($request))->checkRights();
29        $repository = new AvailabilityRepository();
30        $entity = $repository->readEntity($args['id'], 2);
31
32        if ($entity->hasId() && $repository->deleteEntity($entity->getId())) {
33            (new CalculateSlotsHelper(\App::DEBUG))->writePostProcessingByScope($entity->scope, \App::$now);
34        } else {
35            $entity = new Entity(['id' => $args['id']]);
36        }
37
38        $message = Response\Message::create($request);
39        $message->data = $entity;
40
41        $response = Render::withLastModified($response, time(), '0');
42        $response = Render::withJson($response, $message->setUpdatedMetaData(), 200);
43        return $response;
44    }
45}