Merge "DatabaseBlockStore: fetch correct ActorNormalization"
This commit is contained in:
commit
b6fea99341
3 changed files with 16 additions and 11 deletions
|
|
@ -372,7 +372,7 @@ return [
|
|||
$services->getMainConfig()
|
||||
),
|
||||
LoggerFactory::getInstance( 'DatabaseBlockStore' ),
|
||||
$services->getActorNormalization(),
|
||||
$services->getActorStoreFactory(),
|
||||
$services->getBlockRestrictionStore(),
|
||||
$services->getCommentStore(),
|
||||
$services->getHookContainer(),
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ use DeferredUpdates;
|
|||
use MediaWiki\Config\ServiceOptions;
|
||||
use MediaWiki\HookContainer\HookContainer;
|
||||
use MediaWiki\HookContainer\HookRunner;
|
||||
use MediaWiki\User\ActorNormalization;
|
||||
use MediaWiki\User\ActorStoreFactory;
|
||||
use MediaWiki\User\UserIdentity;
|
||||
use MWException;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
|
@ -58,8 +58,8 @@ class DatabaseBlockStore {
|
|||
/** @var LoggerInterface */
|
||||
private $logger;
|
||||
|
||||
/** @var ActorNormalization */
|
||||
private $actorNormalization;
|
||||
/** @var ActorStoreFactory */
|
||||
private $actorStoreFactory;
|
||||
|
||||
/** @var BlockRestrictionStore */
|
||||
private $blockRestrictionStore;
|
||||
|
|
@ -79,7 +79,7 @@ class DatabaseBlockStore {
|
|||
/**
|
||||
* @param ServiceOptions $options
|
||||
* @param LoggerInterface $logger
|
||||
* @param ActorNormalization $actorNormalization
|
||||
* @param ActorStoreFactory $actorStoreFactory
|
||||
* @param BlockRestrictionStore $blockRestrictionStore
|
||||
* @param CommentStore $commentStore
|
||||
* @param HookContainer $hookContainer
|
||||
|
|
@ -89,7 +89,7 @@ class DatabaseBlockStore {
|
|||
public function __construct(
|
||||
ServiceOptions $options,
|
||||
LoggerInterface $logger,
|
||||
ActorNormalization $actorNormalization,
|
||||
ActorStoreFactory $actorStoreFactory,
|
||||
BlockRestrictionStore $blockRestrictionStore,
|
||||
CommentStore $commentStore,
|
||||
HookContainer $hookContainer,
|
||||
|
|
@ -100,7 +100,7 @@ class DatabaseBlockStore {
|
|||
|
||||
$this->options = $options;
|
||||
$this->logger = $logger;
|
||||
$this->actorNormalization = $actorNormalization;
|
||||
$this->actorStoreFactory = $actorStoreFactory;
|
||||
$this->blockRestrictionStore = $blockRestrictionStore;
|
||||
$this->commentStore = $commentStore;
|
||||
$this->hookRunner = new HookRunner( $hookContainer );
|
||||
|
|
@ -354,7 +354,10 @@ class DatabaseBlockStore {
|
|||
if ( !$block->getBlocker() ) {
|
||||
throw new \RuntimeException( __METHOD__ . ': this block does not have a blocker' );
|
||||
}
|
||||
$blockerActor = $this->actorNormalization->acquireActorId( $block->getBlocker(), $dbw );
|
||||
// DatabaseBlockStore supports inserting cross-wiki blocks by passing non-local IDatabase and blocker.
|
||||
$blockerActor = $this->actorStoreFactory
|
||||
->getActorStore( $block->getBlocker()->getWikiId() )
|
||||
->acquireActorId( $block->getBlocker(), $dbw );
|
||||
|
||||
$blockArray = [
|
||||
'ipb_address' => (string)$target,
|
||||
|
|
@ -395,7 +398,9 @@ class DatabaseBlockStore {
|
|||
throw new \RuntimeException( __METHOD__ . ': this block does not have a blocker' );
|
||||
}
|
||||
$dbw = $this->loadBalancer->getConnectionRef( DB_PRIMARY );
|
||||
$blockerActor = $this->actorNormalization->acquireActorId( $block->getBlocker(), $dbw );
|
||||
$blockerActor = $this->actorStoreFactory
|
||||
->getActorNormalization()
|
||||
->acquireActorId( $block->getBlocker(), $dbw );
|
||||
$blockArray = [
|
||||
'ipb_by_actor' => $blockerActor,
|
||||
'ipb_create_account' => $block->isCreateAccountBlocked(),
|
||||
|
|
@ -472,7 +477,7 @@ class DatabaseBlockStore {
|
|||
'LIMIT' => 1,
|
||||
];
|
||||
|
||||
$actor = $this->actorNormalization->findActorId( $target, $dbr );
|
||||
$actor = $this->actorStoreFactory->getActorNormalization()->findActorId( $target, $dbr );
|
||||
if ( !$actor ) {
|
||||
$this->logger->debug( 'No actor found to retroactively autoblock' );
|
||||
return [];
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ class DatabaseBlockStoreTest extends MediaWikiIntegrationTestCase {
|
|||
$config
|
||||
),
|
||||
'logger' => new NullLogger(),
|
||||
'actorNormalization' => $services->getActorNormalization(),
|
||||
'actorStoreFactory' => $services->getActorStoreFactory(),
|
||||
'blockRestrictionStore' => $services->getBlockRestrictionStore(),
|
||||
'commentStore' => $services->getCommentStore(),
|
||||
'hookContainer' => $hookContainer,
|
||||
|
|
|
|||
Loading…
Reference in a new issue