43 lines
840 B
PHP
43 lines
840 B
PHP
<?php
|
|
|
|
namespace App\Libraries\Beheer\Session;
|
|
|
|
use CodeIgniter\Session\Session;
|
|
|
|
class CreateUserSession
|
|
{
|
|
private Session $session;
|
|
private object $user;
|
|
private array $sessionArray = [];
|
|
|
|
public function __construct(Session $session)
|
|
{
|
|
$this->session = $session;
|
|
}
|
|
|
|
public function handle(object $user): void
|
|
{
|
|
$this->setUser($user);
|
|
$this->setSessionArray();
|
|
$this->createSession();
|
|
}
|
|
|
|
private function setUser(object $user): void
|
|
{
|
|
$this->user = $user;
|
|
}
|
|
|
|
private function setSessionArray(): void
|
|
{
|
|
$this->sessionArray = [
|
|
'userID' => $this->user->id,
|
|
'role' => $this->user->role
|
|
];
|
|
}
|
|
|
|
private function createSession(): void
|
|
{
|
|
$this->session->set($this->sessionArray);
|
|
}
|
|
}
|