Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
100.00% |
19 / 19 |
|
100.00% |
2 / 2 |
CRAP | |
100.00% |
1 / 1 |
ApiPageTriageStats | |
100.00% |
19 / 19 |
|
100.00% |
2 / 2 |
3 | |
100.00% |
1 / 1 |
execute | |
100.00% |
14 / 14 |
|
100.00% |
1 / 1 |
2 | |||
getAllowedParams | |
100.00% |
5 / 5 |
|
100.00% |
1 / 1 |
1 |
1 | <?php |
2 | |
3 | namespace MediaWiki\Extension\PageTriage\Api; |
4 | |
5 | use ApiBase; |
6 | use MediaWiki\Extension\PageTriage\PageTriageUtil; |
7 | |
8 | class ApiPageTriageStats extends ApiBase { |
9 | |
10 | public function execute() { |
11 | // Remove empty params. This unfortunately means you can't query for User:0 :( |
12 | $params = array_filter( $this->extractRequestParams() ); |
13 | |
14 | // set default namespace |
15 | if ( empty( $params['namespace'] ) ) { |
16 | $params['namespace'] = 0; |
17 | } |
18 | |
19 | $data = [ |
20 | 'unreviewedarticle' => PageTriageUtil::getUnreviewedArticleStat( $params['namespace'] ), |
21 | 'unreviewedredirect' => PageTriageUtil::getUnreviewedRedirectStat( $params['namespace'] ), |
22 | 'reviewedarticle' => PageTriageUtil::getReviewedArticleStat( $params['namespace'] ), |
23 | 'reviewedredirect' => PageTriageUtil::getReviewedRedirectStat( $params['namespace'] ), |
24 | 'filteredarticle' => PageTriageUtil::getArticleFilterStat( $params ), |
25 | 'unrevieweddraft' => PageTriageUtil::getUnreviewedDraftStats(), |
26 | 'namespace' => $params['namespace'] |
27 | ]; |
28 | |
29 | $result = [ 'result' => 'success', 'stats' => $data ]; |
30 | $this->getResult()->addValue( null, $this->getModuleName(), $result ); |
31 | } |
32 | |
33 | /** |
34 | * @inheritDoc |
35 | */ |
36 | public function getAllowedParams() { |
37 | return array_merge( |
38 | PageTriageUtil::getOresApiParams(), |
39 | PageTriageUtil::getCopyvioApiParam(), |
40 | PageTriageUtil::getCommonApiParams(), |
41 | ); |
42 | } |
43 | } |