Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 11
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
ChangeTagsStoreFactory
0.00% covered (danger)
0.00%
0 / 11
0.00% covered (danger)
0.00%
0 / 2
6
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
 getChangeTagsStore
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * @license GPL-2.0-or-later
4 * @file
5 */
6
7namespace MediaWiki\ChangeTags;
8
9use MediaWiki\Config\ServiceOptions;
10use MediaWiki\HookContainer\HookContainer;
11use MediaWiki\Storage\NameTableStoreFactory;
12use MediaWiki\User\UserFactory;
13use Psr\Log\LoggerInterface;
14use Wikimedia\ObjectCache\WANObjectCache;
15use Wikimedia\Rdbms\IConnectionProvider;
16
17/**
18 * A factory for ChangeTagsStore instances.
19 *
20 * @since 1.46
21 * @ingroup ChangeTags
22 */
23class ChangeTagsStoreFactory {
24
25    public function __construct(
26        private IConnectionProvider $dbProvider,
27        private NameTableStoreFactory $changeTagDefStoreFactory,
28        private WANObjectCache $wanCache,
29        private HookContainer $hookContainer,
30        private LoggerInterface $logger,
31        private UserFactory $userFactory,
32        private ServiceOptions $options
33    ) {
34    }
35
36    /**
37     * Returns a ChangeTagsStore for the requested wiki.
38     */
39    public function getChangeTagsStore( string|false $wiki = false ): ChangeTagsStore {
40        return new ChangeTagsStore(
41            $this->dbProvider,
42            $this->changeTagDefStoreFactory->getChangeTagDef( $wiki ),
43            $this->wanCache,
44            $this->hookContainer,
45            $this->logger,
46            $this->userFactory,
47            $this->options,
48            $wiki
49        );
50    }
51}