Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
19 / 19
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
ApiPageTriageStats
100.00% covered (success)
100.00%
19 / 19
100.00% covered (success)
100.00%
2 / 2
3
100.00% covered (success)
100.00%
1 / 1
 execute
100.00% covered (success)
100.00%
14 / 14
100.00% covered (success)
100.00%
1 / 1
2
 getAllowedParams
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace MediaWiki\Extension\PageTriage\Api;
4
5use ApiBase;
6use MediaWiki\Extension\PageTriage\PageTriageUtil;
7
8class 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}