Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
EventIngress
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 3
12
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 handlePageLatestRevisionChangedEvent
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 handlePageDeletedEvent
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace MediaWiki\Extension\Gadgets;
4
5use MediaWiki\DomainEvent\DomainEventIngress;
6use MediaWiki\Page\Event\PageDeletedEvent;
7use MediaWiki\Page\Event\PageDeletedListener;
8use MediaWiki\Page\Event\PageLatestRevisionChangedEvent;
9use MediaWiki\Page\Event\PageLatestRevisionChangedListener;
10use MediaWiki\Title\TitleValue;
11
12/**
13 * Event subscriber acting as an ingress for relevant events emitted
14 * by MediaWiki core.
15 *
16 * @noinspection PhpUnused
17 */
18class EventIngress
19    extends DomainEventIngress
20    implements PageLatestRevisionChangedListener, PageDeletedListener
21{
22    public function __construct(
23        private readonly GadgetRepo $gadgetRepo,
24    ) {
25    }
26
27    /**
28     * Handle PageLatestRevisionChangedEvent
29     */
30    public function handlePageLatestRevisionChangedEvent(
31        PageLatestRevisionChangedEvent $event
32    ): void {
33        $title = TitleValue::newFromPage( $event->getPage() );
34        $this->gadgetRepo->handlePageUpdate( $title );
35    }
36
37    /**
38     * Handle PageDeletedEvent
39     */
40    public function handlePageDeletedEvent(
41        PageDeletedEvent $event
42    ): void {
43        $title = TitleValue::newFromPage( $event->getDeletedPage() );
44        $this->gadgetRepo->handlePageUpdate( $title );
45    }
46
47}