Ejemplo n.º 1
0
 /**
  * @param DomainEvent $event
  * @param EventHandlerInterface $eventHandler
  */
 protected function queueEvent(DomainEvent $event, EventHandlerInterface $eventHandler)
 {
     $serializedEvent = $this->arraySerializer->serialize($event);
     $recipient = get_class($eventHandler);
     $this->queue->queue(new Message($recipient, $serializedEvent));
     $this->emitEventQueueingSuccess($event, $eventHandler);
 }
 /**
  * @param DomainEvent $event
  * @return WritableEvent
  */
 public function toWritableEvent(DomainEvent $event)
 {
     $serializedEvent = $this->arraySerializer->serialize($event);
     $eventType = $serializedEvent['messageType'];
     $data = $serializedEvent['payload'];
     unset($data['aggregateId']);
     unset($data['version']);
     return WritableEvent::newInstance($eventType, $data);
 }
Ejemplo n.º 3
0
 /**
  * @param Command $command
  * @return array
  */
 protected function getCommandData(Command $command)
 {
     return $this->commandSerializer->serialize($command);
 }
Ejemplo n.º 4
0
 /**
  * @param Message $message
  * @return string
  */
 public function serialize(Message $message)
 {
     return json_encode($this->arraySerializer->serialize($message));
 }
Ejemplo n.º 5
0
 /**
  * @param DomainEvent $event
  * @return array
  */
 protected function getEventData(DomainEvent $event)
 {
     return $this->commandSerializer->serialize($event);
 }