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