Lines 14.28% 3 / 21
Methods 50.00% 1 / 2
Classes 0.00% 0 / 1
Name Lines Methods CRAP
 readResponse 0.00% 0 / 18 0.00% 0 / 1 2
 [BO\Zmsbackend\Api\BaseController] __invoke 100.00% 3 / 3 100.00% 1 / 1 1
17class MailTemplatesPreview extends \BO\Zmsbackend\Api\BaseController
18{
19    /**
20     * @SuppressWarnings(Param)
21     * @return \Psr\Http\Message\ResponseInterface
22     */
23    #[\Override]
24    public function readResponse(
25        \Psr\Http\Message\RequestInterface $request,
26        \Psr\Http\Message\ResponseInterface $response,
27        array $args
28    ) {
29        (new \BO\Zmsbackend\Helper\User($request))->checkPermissions('mailtemplates');
30
31        $mailStatus = $args['mailStatus'];
32        $providerId = $args['providerId'];
33
34        $mainProcessExample = ((new \BO\Zmsentities\Process())->getExample());
35        $mainProcessExample->id = 987654;
36        $mainProcessExample->scope->provider['id'] = $providerId;
37        $dateTime = new \DateTimeImmutable("2015-10-23 08:00:00", new \DateTimeZone('Europe/Berlin'));
38        $mainProcessExample->getFirstAppointment()->setDateTime($dateTime);
39        $mainProcessExample->requests[] = (new \BO\Zmsentities\Request())->getExample();
40
41        $config = (new \BO\Zmsbackend\Config\Service\Config())->readEntity();
42        $mail = (new \BO\Zmsentities\Mail())
43            ->setTemplateProvider(new \BO\Zmsbackend\Helper\MailTemplateProvider($mainProcessExample))
44            ->toResolvedEntity($mainProcessExample, $config, $mailStatus);
45
46        $message = \BO\Zmsbackend\Api\Response\Message::create($request);
47        $message->data = array('xy' => 'Missing dummy template.','previewHtml' => $mail->getHtmlPart(),'previewPlain' => $mail->getPlainPart());
48
49        $response = Render::withLastModified($response, time(), '0');
50        $response = Render::withJson($response, $message, $message->getStatuscode());
51
52        return $response;
53    }
54}

Inherited from BO\Zmsbackend\Api\BaseController

20    public function __invoke(RequestInterface $request, ResponseInterface $response, array $args)
21    {
22        $request = $this->initRequest($request);
23        $noCacheResponse = \BO\Slim\Render::withLastModified($response, time(), '0');
24        return $this->readResponse($request, $noCacheResponse, $args);
25    }