slovocast/app/src/Controller/DashboardPage.php

29 lines
893 B
PHP

<?php
namespace Slovocast\Controller;
use Odan\Session\SessionInterface;
use Slovocast\Domain\Entity\User;
use Slovocast\Domain\Repository\Channel\ChannelRepositoryInterface;
use Slovocast\Domain\Repository\User\UserRepositoryInterface;
use Psr\Http\Message\ResponseInterface as Response;
class DashboardPage extends Controller
{
public function __construct(
protected UserRepositoryInterface $userRepository,
protected ChannelRepositoryInterface $channelRepository,
protected SessionInterface $session
) { }
public function handle(): Response
{
// get the user details
// get the channels
$userData = $this->session->get("user");
$user = User::fromArray($userData);
$channels = $this->channelRepository->getFromUser($user);
return $this->render('dashboard.twig', [ 'channel' => $channels ]);
}
}