Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 21
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
ApiListExtDistRepos
0.00% covered (danger)
0.00%
0 / 21
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
 execute
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 1
2
 getExamplesMessages
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace MediaWiki\Extension\ExtensionDistributor\Api;
4
5use ApiQuery;
6use ApiQueryBase;
7use MediaWiki\Extension\ExtensionDistributor\Providers\ExtDistProvider;
8use MediaWiki\Logger\LoggerFactory;
9
10/**
11 * @author Legoktm
12 */
13class ApiListExtDistRepos extends ApiQueryBase {
14
15    public function __construct( ApiQuery $query, $moduleName ) {
16        parent::__construct( $query, $moduleName, 'edr' );
17    }
18
19    public function execute() {
20        $logger = LoggerFactory::getInstance( 'ExtensionDistributor' );
21        $extProvider = ExtDistProvider::getProviderFor( ExtDistProvider::EXTENSIONS );
22        $extProvider->setLogger( $logger );
23        $skinProvider = ExtDistProvider::getProviderFor( ExtDistProvider::SKINS );
24        $skinProvider->setLogger( $logger );
25        $info = [
26            'extensions' => $extProvider->getRepositoryList(),
27            'skins' => $skinProvider->getRepositoryList(),
28        ];
29        $this->getResult()->setIndexedTagName( $info['extensions'], 'extension' );
30        $this->getResult()->setIndexedTagName( $info['skins'], 'skin' );
31        $this->getResult()->addValue(
32            'query',
33            $this->getModuleName(),
34            $info
35        );
36    }
37
38    /**
39     * @see ApiBase::getExamplesMessages()
40     * @return array
41     */
42    protected function getExamplesMessages() {
43        return [
44            'action=query&list=extdistrepos'
45                => 'apihelp-query+extdistrepos-example-1',
46        ];
47    }
48}