Completed
Push — main ( 2daa48...b5d932 )
by
unknown
08:38
created

PageWatcher   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 8

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 8
dl 0
loc 25
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A watch() 0 16 4
1
<?php
2
3
namespace Addwiki\Mediawiki\Api\Service;
4
5
use Addwiki\Mediawiki\Api\Client\SimpleRequest;
6
use Addwiki\Mediawiki\DataModel\Page;
7
8
/**
9
 * @access private
10
 *
11
 * @author Addshore
12
 */
13
class PageWatcher extends Service {
14
15
	/**
16
	 * @param Page $page
17
	 */
18
	public function watch( Page $page ): bool {
19
		$params = [
20
			'token' => $this->api->getToken( 'watch' ),
21
		];
22
		if ( $page->getPageIdentifier()->getId() !== null ) {
23
			$params['pageids'] = $page->getPageIdentifier()->getId();
24
		} elseif ( $page->getPageIdentifier()->getTitle() !== null ) {
25
			$params['titles'] = $page->getPageIdentifier()->getTitle()->getTitle();
26
		} elseif ( $page->getRevisions()->getLatest() !== null ) {
27
			$params['revids'] = $page->getRevisions()->getLatest()->getId();
28
		}
29
30
		$this->api->postRequest( new SimpleRequest( 'watch', $params ) );
31
32
		return true;
33
	}
34
35
}
36