Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
DashboardController
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 index
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace App\Web\Controller;
6
7use App\Domain\Host\Repository\HostRecordRepository;
8use App\Shared\Host\ActiveHostProvider;
9use Psr\Http\Message\ResponseInterface;
10use Psr\Http\Message\ServerRequestInterface;
11use Yiisoft\Auth\IdentityInterface;
12use Yiisoft\Yii\View\Renderer\WebViewRenderer;
13
14 class DashboardController
15{
16    public function __construct(
17        private WebViewRenderer $viewRenderer,
18        private HostRecordRepository $hostRecordRepository,
19        private ActiveHostProvider $activeHostProvider
20    ) {
21        $this->viewRenderer = $viewRenderer->withControllerName('dashboard');
22    }
23
24    public function index(ServerRequestInterface $request): ResponseInterface
25    {
26        /** @var IdentityInterface|null $user */
27        $user = $request->getAttribute(IdentityInterface::class);
28
29        return $this->viewRenderer->render('//dashboard/index.twig', [
30            'user' => $user,
31            'allHosts' => $this->hostRecordRepository->findAll(),
32            'activeHost' => $this->activeHostProvider->getActiveHost(),
33        ]);
34    }
35}