<?php
declare(strict_types=1);
namespace App\Provider;
use Symfony\Component\HttpFoundation\RequestStack;
final class ConfiguratorSessionProvider
{
private const SESSION_CONFIGURATOR_KEY = 'configurator_upload_key';
private const SESSION_COMFY_CONSUME = 'configurator_comfy_consume';
public function __construct(private RequestStack $requestStack){}
public function getSessionKey(): string
{
$session = $this->requestStack->getSession();
if (!$session->has(self::SESSION_CONFIGURATOR_KEY)) {
$session->set(
self::SESSION_CONFIGURATOR_KEY,
bin2hex(random_bytes(16))
);
}
return $session->get(self::SESSION_CONFIGURATOR_KEY);
}
public function clearSessionKey(): void
{
$session = $this->requestStack->getSession();
$session->remove(self::SESSION_CONFIGURATOR_KEY);
}
/*
public function getSessionComfyConsume(): int
{
$session = $this->requestStack->getSession();
if (!$session->has(self::SESSION_COMFY_CONSUME)) {
$session->set(self::SESSION_COMFY_CONSUME, 0);
}
return $session->get(self::SESSION_COMFY_CONSUME);
}
public function incrementSessionComfyConsume(): int
{
$session = $this->requestStack->getSession();
$count = $session->get(self::SESSION_COMFY_CONSUME, 0);
$count++;
$session->set(self::SESSION_COMFY_CONSUME, $count);
return $count;
}
public function clearSessionComfyConsume(): void
{
$session = $this->requestStack->getSession();
$session->remove(self::SESSION_COMFY_CONSUME);
}
*/
}