Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
37 / 37
100.00% covered (success)
100.00%
37 / 37
CRAP
100.00% covered (success)
100.00%
1 / 1
CampaignEventsServices
100.00% covered (success)
100.00%
37 / 37
100.00% covered (success)
100.00%
37 / 37
37
100.00% covered (success)
100.00%
1 / 1
 getDatabaseHelper
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getPageFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getCentralUserLookup
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEventStore
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEventLookup
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getPermissionChecker
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getUserMailer
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEventFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getCampaignsPageFormatter
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getParticipantsStore
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getOrganizersStore
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEditEventCommand
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getDeleteEventCommand
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getRoleFormatter
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getRegisterParticipantCommand
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getUnregisterParticipantCommand
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEventsPagerFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEventPageDecoratorFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getHookRunner
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getPolicyMessagesLookup
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getAddressStore
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEventTimeFormatter
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getPageURLResolver
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getPageEventLookup
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getPageAuthorLookup
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getUserLinker
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getFrontendModulesFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getTrackingToolRegistry
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getUserNotifier
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getPermissionLookup
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEventPageCacheUpdater
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getTrackingToolEventWatcher
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getTrackingToolUpdater
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEventQuestionsRegistry
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEventQuestionsStore
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getParticipantAnswersStore
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEventAggregatedAnswersStore
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare( strict_types=1 );
4
5namespace MediaWiki\Extension\CampaignEvents;
6
7use MediaWiki\Extension\CampaignEvents\Address\AddressStore;
8use MediaWiki\Extension\CampaignEvents\Database\CampaignsDatabaseHelper;
9use MediaWiki\Extension\CampaignEvents\Event\DeleteEventCommand;
10use MediaWiki\Extension\CampaignEvents\Event\EditEventCommand;
11use MediaWiki\Extension\CampaignEvents\Event\EventFactory;
12use MediaWiki\Extension\CampaignEvents\Event\PageEventLookup;
13use MediaWiki\Extension\CampaignEvents\Event\Store\IEventLookup;
14use MediaWiki\Extension\CampaignEvents\Event\Store\IEventStore;
15use MediaWiki\Extension\CampaignEvents\EventPage\EventPageCacheUpdater;
16use MediaWiki\Extension\CampaignEvents\EventPage\EventPageDecoratorFactory;
17use MediaWiki\Extension\CampaignEvents\FrontendModules\FrontendModulesFactory;
18use MediaWiki\Extension\CampaignEvents\Hooks\CampaignEventsHookRunner;
19use MediaWiki\Extension\CampaignEvents\Messaging\CampaignsUserMailer;
20use MediaWiki\Extension\CampaignEvents\MWEntity\CampaignsCentralUserLookup;
21use MediaWiki\Extension\CampaignEvents\MWEntity\CampaignsPageFactory;
22use MediaWiki\Extension\CampaignEvents\MWEntity\CampaignsPageFormatter;
23use MediaWiki\Extension\CampaignEvents\MWEntity\MWPermissionsLookup;
24use MediaWiki\Extension\CampaignEvents\MWEntity\PageAuthorLookup;
25use MediaWiki\Extension\CampaignEvents\MWEntity\PageURLResolver;
26use MediaWiki\Extension\CampaignEvents\MWEntity\UserLinker;
27use MediaWiki\Extension\CampaignEvents\Notifications\UserNotifier;
28use MediaWiki\Extension\CampaignEvents\Organizers\OrganizersStore;
29use MediaWiki\Extension\CampaignEvents\Organizers\RoleFormatter;
30use MediaWiki\Extension\CampaignEvents\Pager\EventsPagerFactory;
31use MediaWiki\Extension\CampaignEvents\Participants\ParticipantsStore;
32use MediaWiki\Extension\CampaignEvents\Participants\RegisterParticipantCommand;
33use MediaWiki\Extension\CampaignEvents\Participants\UnregisterParticipantCommand;
34use MediaWiki\Extension\CampaignEvents\Permissions\PermissionChecker;
35use MediaWiki\Extension\CampaignEvents\Questions\EventAggregatedAnswersStore;
36use MediaWiki\Extension\CampaignEvents\Questions\EventQuestionsRegistry;
37use MediaWiki\Extension\CampaignEvents\Questions\EventQuestionsStore;
38use MediaWiki\Extension\CampaignEvents\Questions\ParticipantAnswersStore;
39use MediaWiki\Extension\CampaignEvents\Time\EventTimeFormatter;
40use MediaWiki\Extension\CampaignEvents\TrackingTool\TrackingToolEventWatcher;
41use MediaWiki\Extension\CampaignEvents\TrackingTool\TrackingToolRegistry;
42use MediaWiki\Extension\CampaignEvents\TrackingTool\TrackingToolUpdater;
43use MediaWiki\MediaWikiServices;
44use Psr\Container\ContainerInterface;
45
46/**
47 * Global service locator for CampaignEvents services. Should only be used where DI is not possible.
48 */
49class CampaignEventsServices {
50    /**
51     * @param ContainerInterface|null $services
52     * @return CampaignsDatabaseHelper
53     */
54    public static function getDatabaseHelper( ContainerInterface $services = null ): CampaignsDatabaseHelper {
55        return ( $services ?? MediaWikiServices::getInstance() )->get( CampaignsDatabaseHelper::SERVICE_NAME );
56    }
57
58    public static function getPageFactory( ContainerInterface $services = null ): CampaignsPageFactory {
59        return ( $services ?? MediaWikiServices::getInstance() )->get( CampaignsPageFactory::SERVICE_NAME );
60    }
61
62    /**
63     * @param ContainerInterface|null $services
64     * @return CampaignsCentralUserLookup
65     */
66    public static function getCentralUserLookup( ContainerInterface $services = null ): CampaignsCentralUserLookup {
67        return ( $services ?? MediaWikiServices::getInstance() )->get( CampaignsCentralUserLookup::SERVICE_NAME );
68    }
69
70    /**
71     * @param ContainerInterface|null $services
72     * @return IEventStore
73     */
74    public static function getEventStore( ContainerInterface $services = null ): IEventStore {
75        return ( $services ?? MediaWikiServices::getInstance() )->get( IEventStore::STORE_SERVICE_NAME );
76    }
77
78    /**
79     * @param ContainerInterface|null $services
80     * @return IEventLookup
81     */
82    public static function getEventLookup( ContainerInterface $services = null ): IEventLookup {
83        return ( $services ?? MediaWikiServices::getInstance() )->get( IEventLookup::LOOKUP_SERVICE_NAME );
84    }
85
86    public static function getPermissionChecker( ContainerInterface $services = null ): PermissionChecker {
87        return ( $services ?? MediaWikiServices::getInstance() )->get( PermissionChecker::SERVICE_NAME );
88    }
89
90    public static function getUserMailer( ContainerInterface $services = null ): CampaignsUserMailer {
91        return ( $services ?? MediaWikiServices::getInstance() )->get( CampaignsUserMailer::SERVICE_NAME );
92    }
93
94    public static function getEventFactory( ContainerInterface $services = null ): EventFactory {
95        return ( $services ?? MediaWikiServices::getInstance() )->get( EventFactory::SERVICE_NAME );
96    }
97
98    public static function getCampaignsPageFormatter( ContainerInterface $services = null ): CampaignsPageFormatter {
99        return ( $services ?? MediaWikiServices::getInstance() )->get( CampaignsPageFormatter::SERVICE_NAME );
100    }
101
102    /**
103     * @param ContainerInterface|null $services
104     * @return ParticipantsStore
105     */
106    public static function getParticipantsStore( ContainerInterface $services = null ): ParticipantsStore {
107        return ( $services ?? MediaWikiServices::getInstance() )->get( ParticipantsStore::SERVICE_NAME );
108    }
109
110    /**
111     * @param ContainerInterface|null $services
112     * @return OrganizersStore
113     */
114    public static function getOrganizersStore( ContainerInterface $services = null ): OrganizersStore {
115        return ( $services ?? MediaWikiServices::getInstance() )->get( OrganizersStore::SERVICE_NAME );
116    }
117
118    public static function getEditEventCommand( ContainerInterface $services = null ): EditEventCommand {
119        return ( $services ?? MediaWikiServices::getInstance() )->get( EditEventCommand::SERVICE_NAME );
120    }
121
122    public static function getDeleteEventCommand( ContainerInterface $services = null ): DeleteEventCommand {
123        return ( $services ?? MediaWikiServices::getInstance() )->get( DeleteEventCommand::SERVICE_NAME );
124    }
125
126    public static function getRoleFormatter( ContainerInterface $services = null ): RoleFormatter {
127        return ( $services ?? MediaWikiServices::getInstance() )->get( RoleFormatter::SERVICE_NAME );
128    }
129
130    public static function getRegisterParticipantCommand(
131        ContainerInterface $services = null
132    ): RegisterParticipantCommand {
133        return ( $services ?? MediaWikiServices::getInstance() )->get( RegisterParticipantCommand::SERVICE_NAME );
134    }
135
136    public static function getUnregisterParticipantCommand(
137        ContainerInterface $services = null
138    ): UnregisterParticipantCommand {
139        return ( $services ?? MediaWikiServices::getInstance() )->get( UnregisterParticipantCommand::SERVICE_NAME );
140    }
141
142    public static function getEventsPagerFactory( ContainerInterface $services = null ): EventsPagerFactory {
143        return ( $services ?? MediaWikiServices::getInstance() )->get( EventsPagerFactory::SERVICE_NAME );
144    }
145
146    public static function getEventPageDecoratorFactory(
147        ContainerInterface $services = null
148    ): EventPageDecoratorFactory {
149        return ( $services ?? MediaWikiServices::getInstance() )->get( EventPageDecoratorFactory::SERVICE_NAME );
150    }
151
152    public static function getHookRunner( ContainerInterface $services = null ): CampaignEventsHookRunner {
153        return ( $services ?? MediaWikiServices::getInstance() )->get( CampaignEventsHookRunner::SERVICE_NAME );
154    }
155
156    /**
157     * @param ContainerInterface|null $services
158     * @return PolicyMessagesLookup
159     */
160    public static function getPolicyMessagesLookup( ContainerInterface $services = null ): PolicyMessagesLookup {
161        return ( $services ?? MediaWikiServices::getInstance() )->get( PolicyMessagesLookup::SERVICE_NAME );
162    }
163
164    /**
165     * @param ContainerInterface|null $services
166     * @return AddressStore
167     */
168    public static function getAddressStore( ContainerInterface $services = null ): AddressStore {
169        return ( $services ?? MediaWikiServices::getInstance() )->get( AddressStore::SERVICE_NAME );
170    }
171
172    /**
173     * @param ContainerInterface|null $services
174     * @return EventTimeFormatter
175     */
176    public static function getEventTimeFormatter( ContainerInterface $services = null ): EventTimeFormatter {
177        return ( $services ?? MediaWikiServices::getInstance() )->get( EventTimeFormatter::SERVICE_NAME );
178    }
179
180    /**
181     * @param ContainerInterface|null $services
182     * @return PageURLResolver
183     */
184    public static function getPageURLResolver( ContainerInterface $services = null ): PageURLResolver {
185        return ( $services ?? MediaWikiServices::getInstance() )->get( PageURLResolver::SERVICE_NAME );
186    }
187
188    public static function getPageEventLookup( ContainerInterface $services = null ): PageEventLookup {
189        return ( $services ?? MediaWikiServices::getInstance() )->get( PageEventLookup::SERVICE_NAME );
190    }
191
192    public static function getPageAuthorLookup( ContainerInterface $services = null ): PageAuthorLookup {
193        return ( $services ?? MediaWikiServices::getInstance() )->get( PageAuthorLookup::SERVICE_NAME );
194    }
195
196    /**
197     * @param ContainerInterface|null $services
198     * @return UserLinker
199     */
200    public static function getUserLinker( ContainerInterface $services = null ): UserLinker {
201        return ( $services ?? MediaWikiServices::getInstance() )->get( UserLinker::SERVICE_NAME );
202    }
203
204    /**
205     * @param ContainerInterface|null $services
206     * @return FrontendModulesFactory
207     */
208    public static function getFrontendModulesFactory( ContainerInterface $services = null ): FrontendModulesFactory {
209        return ( $services ?? MediaWikiServices::getInstance() )->get( FrontendModulesFactory::SERVICE_NAME );
210    }
211
212    public static function getTrackingToolRegistry( ContainerInterface $services = null ): TrackingToolRegistry {
213        return ( $services ?? MediaWikiServices::getInstance() )->get( TrackingToolRegistry::SERVICE_NAME );
214    }
215
216    public static function getUserNotifier( ContainerInterface $services = null ): UserNotifier {
217        return ( $services ?? MediaWikiServices::getInstance() )->get( UserNotifier::SERVICE_NAME );
218    }
219
220    public static function getPermissionLookup( ContainerInterface $services = null ): MWPermissionsLookup {
221        return ( $services ?? MediaWikiServices::getInstance() )->get( MWPermissionsLookup::SERVICE_NAME );
222    }
223
224    public static function getEventPageCacheUpdater( ContainerInterface $services = null ): EventPageCacheUpdater {
225        return ( $services ?? MediaWikiServices::getInstance() )->get( EventPageCacheUpdater::SERVICE_NAME );
226    }
227
228    public static function getTrackingToolEventWatcher(
229        ContainerInterface $services = null
230    ): TrackingToolEventWatcher {
231        return ( $services ?? MediaWikiServices::getInstance() )->get( TrackingToolEventWatcher::SERVICE_NAME );
232    }
233
234    /**
235     * @param ContainerInterface|null $services
236     * @return TrackingToolUpdater
237     */
238    public static function getTrackingToolUpdater( ContainerInterface $services = null ): TrackingToolUpdater {
239        return ( $services ?? MediaWikiServices::getInstance() )->get( TrackingToolUpdater::SERVICE_NAME );
240    }
241
242    public static function getEventQuestionsRegistry( ContainerInterface $services = null ): EventQuestionsRegistry {
243        return ( $services ?? MediaWikiServices::getInstance() )->get( EventQuestionsRegistry::SERVICE_NAME );
244    }
245
246    public static function getEventQuestionsStore( ContainerInterface $services = null ): EventQuestionsStore {
247        return ( $services ?? MediaWikiServices::getInstance() )->get( EventQuestionsStore::SERVICE_NAME );
248    }
249
250    public static function getParticipantAnswersStore( ContainerInterface $services = null ): ParticipantAnswersStore {
251        return ( $services ?? MediaWikiServices::getInstance() )->get( ParticipantAnswersStore::SERVICE_NAME );
252    }
253
254    public static function getEventAggregatedAnswersStore(
255        ContainerInterface $services = null
256    ): EventAggregatedAnswersStore {
257        return ( $services ?? MediaWikiServices::getInstance() )->get( EventAggregatedAnswersStore::SERVICE_NAME );
258    }
259}