src/Service/SessionParticipationService.php line 29

  1. <?php
  2. namespace App\Service;
  3. use Symfony\Component\HttpFoundation\RequestStack;
  4. use Symfony\Component\HttpFoundation\Session\Session;
  5. class SessionParticipationService
  6. {
  7.     public function __construct(private readonly RequestStack $requestStack)
  8.     {}
  9.     private function getSession(): Session
  10.     {
  11.         return $this->requestStack->getSession();
  12.     }
  13.     public function setParticipationInSession(string $idbool $toShow false): void
  14.     {
  15.         $this->getSession()->set('participation', [
  16.             'id' => $id,
  17.             'show' => $toShow
  18.         ]);
  19.     }
  20.     public function getParticipationFromSession(): array|null
  21.     {
  22.         return  $this->getSession()->get('participation');
  23.     }
  24.     public function toggleParticipationInSession(bool $toShow false): void
  25.     {
  26.         $tab $this->getParticipationFromSession();
  27.         if($tab !== null) {
  28.             $this->setParticipationInSession($tab["id"], $toShow);
  29.         }
  30.     }
  31.     public function removeParticipationFromSession(): void
  32.     {
  33.         $this->getSession()->remove('participation');
  34.     }
  35. }