37 lines
945 B
PHP
37 lines
945 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
namespace MailAccountAdmin\Common;
|
|
|
|
use RuntimeException;
|
|
use MailAccountAdmin\Models\AdminUser;
|
|
use MailAccountAdmin\Repositories\AdminUserRepository;
|
|
|
|
class UserHelper
|
|
{
|
|
/** @var SessionHelper */
|
|
private $sessionHelper;
|
|
/** @var AdminUserRepository */
|
|
private $adminUserRepository;
|
|
|
|
public function __construct(SessionHelper $sessionHelper, AdminUserRepository $adminUserRepository)
|
|
{
|
|
$this->sessionHelper = $sessionHelper;
|
|
$this->adminUserRepository = $adminUserRepository;
|
|
}
|
|
|
|
public function isLoggedIn(): bool
|
|
{
|
|
return $this->sessionHelper->getUserId() !== null;
|
|
}
|
|
|
|
public function getCurrentUser(): AdminUser
|
|
{
|
|
$userId = $this->sessionHelper->getUserId();
|
|
if (empty($userId)) {
|
|
throw new RuntimeException('Not logged in!');
|
|
}
|
|
return $this->adminUserRepository->getUserById($userId);
|
|
}
|
|
}
|