src/Service/SessionParticipationService.php line 29
<?php
namespace App\Service;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Session\Session;
class SessionParticipationService
{
public function __construct(private readonly RequestStack $requestStack)
{}
private function getSession(): Session
{
return $this->requestStack->getSession();
}
public function setParticipationInSession(string $id, bool $toShow = false): void
{
$this->getSession()->set('participation', [
'id' => $id,
'show' => $toShow
]);
}
public function getParticipationFromSession(): array|null
{
return $this->getSession()->get('participation');
}
public function toggleParticipationInSession(bool $toShow = false): void
{
$tab = $this->getParticipationFromSession();
if($tab !== null) {
$this->setParticipationInSession($tab["id"], $toShow);
}
}
public function removeParticipationFromSession(): void
{
$this->getSession()->remove('participation');
}
}