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
 handlePageRevisionUpdatedEvent
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\PageRevisionUpdatedEvent;
8use MediaWiki\Title\TitleValue;
9
10/**
11 * Event subscriber acting as an ingress for relevant events emitted
12 * by MediaWiki core.
13 */
14class EventIngress extends DomainEventIngress {
15    private GadgetRepo $gadgetRepo;
16
17    public function __construct(
18        GadgetRepo $gadgetRepo
19    ) {
20        $this->gadgetRepo = $gadgetRepo;
21    }
22
23    /**
24     * Handle PageRevisionUpdatedEvent
25     */
26    public function handlePageRevisionUpdatedEvent(
27        PageRevisionUpdatedEvent $event
28    ): void {
29        $title = TitleValue::newFromPage( $event->getPage() );
30        $this->gadgetRepo->handlePageUpdate( $title );
31    }
32
33    /**
34     * Handle PageDeletedEvent
35     */
36    public function handlePageDeletedEvent(
37        PageDeletedEvent $event
38    ): void {
39        $title = TitleValue::newFromPage( $event->getPage() );
40        $this->gadgetRepo->handlePageUpdate( $title );
41    }
42
43}