/** * @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); }
/** * @param Command $command * @return array */ protected function getCommandData(Command $command) { return $this->commandSerializer->serialize($command); }
/** * @param Message $message * @return string */ public function serialize(Message $message) { return json_encode($this->arraySerializer->serialize($message)); }
/** * @param DomainEvent $event * @return array */ protected function getEventData(DomainEvent $event) { return $this->commandSerializer->serialize($event); }