jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/330403 )

Change subject: Inject dependencies of ListSubscribers API module
......................................................................


Inject dependencies of ListSubscribers API module

Bug: T154574
Change-Id: Iddeb00cf47d85acccdc744accb5365d319334b2b
---
M repo/Wikibase.php
M repo/includes/Api/ListSubscribers.php
M repo/tests/phpunit/includes/Api/ListSubscribersTest.php
3 files changed, 35 insertions(+), 9 deletions(-)

Approvals:
  WMDE-leszek: Looks good to me, approved
  jenkins-bot: Verified
  Thiemo Mättig (WMDE): Looks good to me, but someone else must approve



diff --git a/repo/Wikibase.php b/repo/Wikibase.php
index 40689e7..95dc6f3 100644
--- a/repo/Wikibase.php
+++ b/repo/Wikibase.php
@@ -177,7 +177,20 @@
        $wgAPIModules['wbavailablebadges'] = 
Wikibase\Repo\Api\AvailableBadges::class;
        $wgAPIModules['wbcreateredirect'] = 
Wikibase\Repo\Api\CreateRedirect::class;
        $wgAPIListModules['wbsearch'] = 
Wikibase\Repo\Api\QuerySearchEntities::class;
-       $wgAPIListModules['wbsubscribers'] = 
Wikibase\Repo\Api\ListSubscribers::class;
+       $wgAPIListModules['wbsubscribers'] = [
+               'class' => Wikibase\Repo\Api\ListSubscribers::class,
+               'factory' => function( $mainModule, $moduleName, $modulePrefix 
= 'wbls' ) {
+                       $wikibaseRepo = 
\Wikibase\Repo\WikibaseRepo::getDefaultInstance();
+                       $mediaWikiServices = 
\MediaWiki\MediaWikiServices::getInstance();
+                       return new Wikibase\Repo\Api\ListSubscribers(
+                               $mainModule,
+                               $moduleName,
+                               $modulePrefix,
+                               $wikibaseRepo->getEntityIdParser(),
+                               $mediaWikiServices->getSiteLookup()
+                       );
+               }
+       ];
 
        // Special page registration
        $wgSpecialPages['NewItem'] = function () {
diff --git a/repo/includes/Api/ListSubscribers.php 
b/repo/includes/Api/ListSubscribers.php
index 84e72f6..a3fea8d 100644
--- a/repo/includes/Api/ListSubscribers.php
+++ b/repo/includes/Api/ListSubscribers.php
@@ -6,7 +6,6 @@
 use ApiQueryBase;
 use ApiQuery;
 use ApiResult;
-use MediaWiki\MediaWikiServices;
 use ResultWrapper;
 use SiteLookup;
 use stdClass;
@@ -43,18 +42,25 @@
         * @param ApiQuery $mainModule
         * @param string $moduleName
         * @param string $modulePrefix
+        * @param EntityIdParser $idParser
+        * @param SiteLookup $siteLookup
         *
         * @see ApiBase::__construct
         */
-       public function __construct( ApiQuery $mainModule, $moduleName, 
$modulePrefix = 'wbls' ) {
+       public function __construct(
+               ApiQuery $mainModule,
+               $moduleName,
+               $modulePrefix,
+               EntityIdParser $idParser,
+               SiteLookup $siteLookup
+       ) {
                parent::__construct( $mainModule, $moduleName, $modulePrefix );
 
                $wikibaseRepo = WikibaseRepo::getDefaultInstance();
-               $apiHelperFactory = $wikibaseRepo->getApiHelperFactory( 
$this->getContext() );
-               $mediaWikiServices = MediaWikiServices::getInstance();
-               $this->errorReporter = $apiHelperFactory->getErrorReporter( 
$this );
-               $this->idParser = $wikibaseRepo->getEntityIdParser();
-               $this->siteLookup = $mediaWikiServices->getSiteLookup();
+               $this->errorReporter = $wikibaseRepo->getApiHelperFactory( 
$this->getContext() )
+                       ->getErrorReporter( $this );
+               $this->idParser = $idParser;
+               $this->siteLookup = $siteLookup;
        }
 
        public function execute() {
diff --git a/repo/tests/phpunit/includes/Api/ListSubscribersTest.php 
b/repo/tests/phpunit/includes/Api/ListSubscribersTest.php
index a0f81eb..b866847 100644
--- a/repo/tests/phpunit/includes/Api/ListSubscribersTest.php
+++ b/repo/tests/phpunit/includes/Api/ListSubscribersTest.php
@@ -5,9 +5,11 @@
 use ApiMain;
 use ApiQuery;
 use FauxRequest;
+use MediaWiki\MediaWikiServices;
 use MediaWikiLangTestCase;
 use RequestContext;
 use Wikibase\Repo\Api\ListSubscribers;
+use Wikibase\Repo\WikibaseRepo;
 
 /**
  * @covers Wikibase\Repo\Api\ListSubscribers
@@ -83,9 +85,14 @@
         * @return array[]
         */
        private function callApiModule( array $params ) {
+               $wikibaseRepo = WikibaseRepo::getDefaultInstance();
+               $mediaWikiServices = MediaWikiServices::getInstance();
                $module = new ListSubscribers(
                        $this->getQueryModule( $params ),
-                       'subscribers'
+                       'subscribers',
+                       'wbls',
+                       $wikibaseRepo->getEntityIdParser(),
+                       $mediaWikiServices->getSiteLookup()
                );
 
                $module->execute();

-- 
To view, visit https://gerrit.wikimedia.org/r/330403
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Iddeb00cf47d85acccdc744accb5365d319334b2b
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Ladsgroup <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: Ladsgroup <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: WMDE-leszek <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to