add SessionTimeout logic

This commit is contained in:
root
2026-03-10 16:45:08 -04:00
parent 2e9a391280
commit 311bb93977
15 changed files with 534 additions and 292 deletions
@@ -0,0 +1,39 @@
<?php
namespace App\Services\Auth;
use Illuminate\Session\Store;
class SessionActivityService
{
public function __construct(private Store $session)
{
}
public function hasLastActivity(): bool
{
return $this->session->has('last_activity');
}
public function getLastActivity(): ?int
{
$value = $this->session->get('last_activity');
return $value !== null ? (int) $value : null;
}
public function setLastActivity(int $timestamp): void
{
$this->session->put('last_activity', $timestamp);
}
public function clearLastActivity(): void
{
$this->session->forget('last_activity');
}
public function invalidate(): void
{
$this->session->invalidate();
$this->session->regenerateToken();
}
}