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