/** * @TODO: Move queue messages into an event * * @param Entity\Subscriber $subscriber * @param Entity\Message|null $systemMessage * * @return bool */ public function queueMessage(Entity\Subscriber $subscriber, Entity\Message $systemMessage = null) { if (!$systemMessage) { return false; } /** @var Entity\QueueItem $queueItem */ $queueItem = $this->queueItemRepository->getNewEntity(); $queueItem->setMessage($systemMessage); $queueItem->setSubscriber($subscriber); $queueItem->setDefaultSecurityKey(); $this->entityManager->persist($queueItem); $this->entityManager->persist($systemMessage); return true; }
/** * @param MessageEntity $message * @param SubscriberEntity $subscriber */ private function createItem(MessageEntity $message, SubscriberEntity $subscriber) { /** @var QueueItemEntity $queueItem */ $queueItem = $this->queueItemRepository->getNewEntity(); $queueItem->setMessage($message); $queueItem->setSubscriber($subscriber); $queueItem->setSystemMessage(true); $queueItem->setSecurityKey(); $this->saveEntity($queueItem, false); }