mail-account-admin/src/Frontend/Accounts/AccountController.php

38 lines
1.2 KiB
PHP
Raw Normal View History

<?php
declare(strict_types=1);
namespace MailAccountAdmin\Frontend\Accounts;
use MailAccountAdmin\Common\UserHelper;
use MailAccountAdmin\Frontend\BaseController;
use MailAccountAdmin\Repositories\AccountRepository;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Views\Twig;
class AccountController extends BaseController
{
/** @var AccountRepository */
private $accountRepository;
public function __construct(Twig $view, UserHelper $userHelper, AccountRepository $accountRepository)
{
parent::__construct($view, $userHelper);
$this->accountRepository = $accountRepository;
}
public function showAccounts(Request $request, Response $response): Response
{
// Parse query parameters for filters
$queryParams = $request->getQueryParams();
$filterByDomain = $queryParams['domain'] ?? null;
$renderData = [
'filterDomain' => $filterByDomain,
'accountList' => $this->accountRepository->fetchAccountList($filterByDomain),
];
return $this->view->render($response, 'accounts.html.twig', $renderData);
}
}