3 namespace Wallabag\ImportBundle\Component\AMPQ
;
5 use Doctrine\ORM\EntityManager
;
6 use OldSound\RabbitMqBundle\RabbitMq\ConsumerInterface
;
7 use PhpAmqpLib\Message\AMQPMessage
;
8 use Wallabag\CoreBundle\Helper\ContentProxy
;
9 use Wallabag\CoreBundle\Repository\EntryRepository
;
11 class EntryConsumer
implements ConsumerInterface
14 private $contentProxy;
15 private $entryRepository;
17 public function __construct(EntityManager
$em, EntryRepository
$entryRepository, ContentProxy
$contentProxy)
20 $this->entryRepository
= $entryRepository;
21 $this->contentProxy
= $contentProxy;
27 public function execute(AMQPMessage
$msg)
29 $storedEntry = unserialize($msg->body
);
30 $entry = $this->entryRepository
->findByUrlAndUserId($storedEntry['url'], $storedEntry['userId']);
32 $entry = $this->contentProxy
->updateEntry($entry, $entry->getUrl());
34 $this->em
->persist($entry);