mail-account-admin/src/Common/UserHelper.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);
}
}