Passed
Push — master ( 60a4ae...29fcc8 )
by
unknown
46:42 queued 14:26
created

CmsPageUpdateMessageBrokerPublisherPlugin   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
c 1
b 0
f 0
dl 0
loc 29
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getSubscribedEvents() 0 6 1
A processEventChunk() 0 7 1
1
<?php
2
3
/**
4
 * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace Spryker\Zed\Cms\Communication\Plugin\Publisher;
9
10
use Generated\Shared\Transfer\CmsPageMessageBrokerRequestTransfer;
11
use Spryker\Zed\Cms\Dependency\CmsEvents;
12
use Spryker\Zed\PublisherExtension\Dependency\Plugin\PublisherPluginInterface;
13
14
/**
15
 * @method \Spryker\Zed\Cms\Business\CmsFacadeInterface getFacade()
16
 * @method \Spryker\Zed\Cms\CmsConfig getConfig()
17
 * @method \Spryker\Zed\Cms\Communication\CmsCommunicationFactory getFactory()
18
 * @method \Spryker\Zed\Cms\Business\CmsBusinessFactory getBusinessFactory()
19
 */
20
class CmsPageUpdateMessageBrokerPublisherPlugin extends AbstractCmsPageMessageBrokerPublisherPlugin implements PublisherPluginInterface
21
{
22
    /**
23
     * @param array<\Generated\Shared\Transfer\EventEntityTransfer> $eventEntityTransfers
24
     *
25
     * @return void
26
     */
27
    protected function processEventChunk(array $eventEntityTransfers): void
28
    {
29
        $cmsPageIds = $this->getIds($eventEntityTransfers);
30
        $cmsPageMessageBrokerRequestTransfer = new CmsPageMessageBrokerRequestTransfer();
31
        $cmsPageMessageBrokerRequestTransfer->setCmsPageIds($cmsPageIds);
32
33
        $this->getBusinessFactory()->createCmsPageMessageBrokerPublisher()->sendCmsPagesToMessageBroker($cmsPageMessageBrokerRequestTransfer);
34
    }
35
36
    /**
37
     * {@inheritDoc}
38
     *
39
     * @api
40
     *
41
     * @return array<string>
42
     */
43
    public function getSubscribedEvents(): array
44
    {
45
        return [
46
            CmsEvents::ENTITY_SPY_CMS_PAGE_UPDATE,
47
            CmsEvents::ENTITY_SPY_CMS_PAGE_EXPORT,
48
            CmsEvents::ENTITY_SPY_CMS_PAGE_DELETE,
49
        ];
50
    }
51
}
52