Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
66.67% covered (warning)
66.67%
8 / 12
60.00% covered (warning)
60.00%
6 / 10
CRAP
0.00% covered (danger)
0.00%
0 / 1
MediaUploaderServices
66.67% covered (warning)
66.67%
8 / 12
60.00% covered (warning)
60.00%
6 / 10
15.48
0.00% covered (danger)
0.00%
0 / 1
 getService
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
2
 getCampaignStore
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getCampaignStats
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getCampaignValidator
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getConfigFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getConfigParserFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getConfigCacheInvalidator
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getRawConfig
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getSystemUser
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 isSystemUser
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace MediaWiki\Extension\MediaUploader;
4
5use MediaWiki\Extension\MediaUploader\Campaign\CampaignStats;
6use MediaWiki\Extension\MediaUploader\Campaign\CampaignStore;
7use MediaWiki\Extension\MediaUploader\Campaign\Validator;
8use MediaWiki\Extension\MediaUploader\Config\ConfigCacheInvalidator;
9use MediaWiki\Extension\MediaUploader\Config\ConfigFactory;
10use MediaWiki\Extension\MediaUploader\Config\ConfigParserFactory;
11use MediaWiki\Extension\MediaUploader\Config\RawConfig;
12use MediaWiki\MediaWikiServices;
13use MediaWiki\User\UserIdentity;
14use User;
15
16class MediaUploaderServices {
17
18    /**
19     * @param MediaWikiServices|null $services
20     * @param string $name
21     *
22     * @return mixed
23     */
24    private static function getService( ?MediaWikiServices $services, string $name ) {
25        if ( $services === null ) {
26            $services = MediaWikiServices::getInstance();
27        }
28        return $services->getService( 'MediaUploader' . $name );
29    }
30
31    public static function getCampaignStore( MediaWikiServices $services = null ): CampaignStore {
32        return self::getService( $services, 'CampaignStore' );
33    }
34
35    public static function getCampaignStats( MediaWikiServices $services = null ): CampaignStats {
36        return self::getService( $services, 'CampaignStats' );
37    }
38
39    public static function getCampaignValidator( MediaWikiServices $services = null ): Validator {
40        return self::getService( $services, 'CampaignValidator' );
41    }
42
43    public static function getConfigFactory( MediaWikiServices $services = null ): ConfigFactory {
44        return self::getService( $services, 'ConfigFactory' );
45    }
46
47    public static function getConfigParserFactory( MediaWikiServices $services = null ): ConfigParserFactory {
48        return self::getService( $services, 'ConfigParserFactory' );
49    }
50
51    public static function getConfigCacheInvalidator( MediaWikiServices $services = null ): ConfigCacheInvalidator {
52        return self::getService( $services, 'ConfigCacheInvalidator' );
53    }
54
55    public static function getRawConfig( MediaWikiServices $services = null ): RawConfig {
56        return self::getService( $services, 'RawConfig' );
57    }
58
59    /**
60     * Returns the system (MediaUploader) user used for maintenance tasks.
61     * @return User
62     */
63    public static function getSystemUser(): User {
64        return User::newSystemUser( 'MediaUploader', [ 'steal' => true ] );
65    }
66
67    /**
68     * Checks whether a given user is the system (MediaUploader) user.
69     *
70     * @param UserIdentity $user
71     *
72     * @return bool
73     */
74    public static function isSystemUser( UserIdentity $user ): bool {
75        return $user->getName() === 'MediaUploader';
76    }
77}