<?php
namespace App\EventSubscriber;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Workflow\Event\Event;
class WorkflowNotificacionesSubscriber implements EventSubscriberInterface
{
// private $ponderacionService;
// public function __construct(PonderacionService $ponderacionService)
// {
// $this->ponderacionService = $ponderacionService;
// }
public function onLeido(Event $event)
{
$notificacionUsuario = $event->getSubject();
$notificacionUsuario->setFechaHoraLeido(new \DateTimeImmutable());
}
public function onPublicar(Event $event)
{
$notificacion = $event->getSubject();
$notificacion->setFechaHoraPublicacion(new \DateTimeImmutable());
}
public function onDespublicar(Event $event)
{
$notificacion = $event->getSubject();
$notificacion->setFechaHoraPublicacion(null);
}
public function onEliminar(Event $event)
{
$notificacion = $event->getSubject();
$notificacion->setFechaEliminacion(new \DateTimeImmutable());
}
public static function getSubscribedEvents()
{
return [
'workflow.notificacion_usuario.completed.leido' => 'onLeido',
'workflow.notificacion.completed.publicar' => 'onPublicar',
'workflow.notificacion.completed.despublicar' => 'onDespublicar',
'workflow.notificacion.completed.eliminar' => 'onEliminar',
];
}
}