Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 76 |
|
0.00% |
0 / 73 |
CRAP | |
0.00% |
0 / 1 |
GrowthExperimentsServices | |
0.00% |
0 / 76 |
|
0.00% |
0 / 73 |
5550 | |
0.00% |
0 / 1 |
__construct | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
wrap | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getChangeMentorFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getGrowthConfig | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getGrowthWikiConfig | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getLoadBalancer | |
0.00% |
0 / 4 |
|
0.00% |
0 / 1 |
6 | |||
getEditInfoService | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getExperimentUserManager | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getHomepageModuleRegistry | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getImageRecommendationProvider | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getImageRecommendationProviderUncached | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getLinkRecommendationHelper | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getLinkRecommendationProvider | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getLinkRecommendationStore | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getLinkRecommendationUpdater | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getLinkSubmissionRecorder | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getMenteeOverviewDataProvider | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getDatabaseMenteeOverviewDataProvider | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getUncachedMenteeOverviewDataProvider | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getMenteeOverviewDataUpdater | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getMentorDashboardModuleRegistry | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getMentorManager | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getMentorProvider | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getMentorProviderStructured | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getMentorRemover | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getMentorStatusManager | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getMentorStore | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getMentorWriter | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getDatabaseMentorStore | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getMetricsFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getNewcomerTasksConfigurationLoader | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getNewcomerTasksConfigurationValidator | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getNewcomerTasksUserOptionsLookup | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getProtectionFilter | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getLinkRecommendationFilter | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getImageRecommendationFilter | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getPersonalizedPraiseLogger | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getPersonalizedPraiseNotificationsDispatcher | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getPersonalizedPraiseSettings | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getPraiseworthyConditionsLookup | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getPraiseworthyMenteeSuggester | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getQuestionPosterFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getReassignMenteesFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getSearchIndexUpdater | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getStarredMenteesStore | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getSuggestionsInfo | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getTaskSuggesterFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getTaskTypeHandlerRegistry | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getTipsAssembler | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getTipNodeRenderer | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getWelcomeSurveyFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getWikiPageConfig | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getWikiPageConfigLoader | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getWikiPageConfigValidatorFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getWikiPageConfigWriterFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getImageRecommendationMetadataService | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getImageRecommendationMetadataProvider | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getImageRecommendationSubmissionLogFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getSectionImageRecommendationSubmissionLogFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getLinkRecommendationSubmissionLogFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getAddImageSubmissionHandler | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getGrowthExperimentsCampaignConfig | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getTemplateBasedTaskSubmissionHandler | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getNewcomerTasksChangeTagsManager | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getImageRecommendationApiHandler | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getUserImpactLookup | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getUncachedUserImpactLookup | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getUserImpactStore | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getUserImpactFormatter | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getUserDatabaseHelper | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getEventGateImageSuggestionFeedbackUpdater | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getAddLinkSubmissionHandler | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getLevelingUpManager | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 |
1 | <?php |
2 | |
3 | namespace GrowthExperiments; |
4 | |
5 | use GrowthExperiments\Config\Validation\ConfigValidatorFactory; |
6 | use GrowthExperiments\Config\WikiPageConfig; |
7 | use GrowthExperiments\Config\WikiPageConfigLoader; |
8 | use GrowthExperiments\Config\WikiPageConfigWriterFactory; |
9 | use GrowthExperiments\EventLogging\PersonalizedPraiseLogger; |
10 | use GrowthExperiments\HelpPanel\QuestionPoster\QuestionPosterFactory; |
11 | use GrowthExperiments\HelpPanel\Tips\TipNodeRenderer; |
12 | use GrowthExperiments\HelpPanel\Tips\TipsAssembler; |
13 | use GrowthExperiments\Homepage\HomepageModuleRegistry; |
14 | use GrowthExperiments\LevelingUp\LevelingUpManager; |
15 | use GrowthExperiments\MentorDashboard\MenteeOverview\DatabaseMenteeOverviewDataProvider; |
16 | use GrowthExperiments\MentorDashboard\MenteeOverview\MenteeOverviewDataProvider; |
17 | use GrowthExperiments\MentorDashboard\MenteeOverview\MenteeOverviewDataUpdater; |
18 | use GrowthExperiments\MentorDashboard\MenteeOverview\StarredMenteesStore; |
19 | use GrowthExperiments\MentorDashboard\MenteeOverview\UncachedMenteeOverviewDataProvider; |
20 | use GrowthExperiments\MentorDashboard\MentorDashboardModuleRegistry; |
21 | use GrowthExperiments\MentorDashboard\MentorTools\MentorStatusManager; |
22 | use GrowthExperiments\MentorDashboard\PersonalizedPraise\PersonalizedPraiseNotificationsDispatcher; |
23 | use GrowthExperiments\MentorDashboard\PersonalizedPraise\PersonalizedPraiseSettings; |
24 | use GrowthExperiments\MentorDashboard\PersonalizedPraise\PraiseworthyConditionsLookup; |
25 | use GrowthExperiments\MentorDashboard\PersonalizedPraise\PraiseworthyMenteeSuggester; |
26 | use GrowthExperiments\Mentorship\ChangeMentorFactory; |
27 | use GrowthExperiments\Mentorship\MentorManager; |
28 | use GrowthExperiments\Mentorship\MentorRemover; |
29 | use GrowthExperiments\Mentorship\Provider\IMentorWriter; |
30 | use GrowthExperiments\Mentorship\Provider\MentorProvider; |
31 | use GrowthExperiments\Mentorship\Provider\StructuredMentorProvider; |
32 | use GrowthExperiments\Mentorship\ReassignMenteesFactory; |
33 | use GrowthExperiments\Mentorship\Store\DatabaseMentorStore; |
34 | use GrowthExperiments\Mentorship\Store\MentorStore; |
35 | use GrowthExperiments\NewcomerTasks\AddImage\AddImageSubmissionHandler; |
36 | use GrowthExperiments\NewcomerTasks\AddImage\EventBus\EventGateImageSuggestionFeedbackUpdater; |
37 | use GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationApiHandler; |
38 | use GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationMetadataProvider; |
39 | use GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationMetadataService; |
40 | use GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationProvider; |
41 | use GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationSubmissionLogFactory; |
42 | use GrowthExperiments\NewcomerTasks\AddLink\AddLinkSubmissionHandler; |
43 | use GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationHelper; |
44 | use GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationProvider; |
45 | use GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationStore; |
46 | use GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationSubmissionLogFactory; |
47 | use GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationUpdater; |
48 | use GrowthExperiments\NewcomerTasks\AddLink\LinkSubmissionRecorder; |
49 | use GrowthExperiments\NewcomerTasks\AddLink\SearchIndexUpdater\SearchIndexUpdater; |
50 | use GrowthExperiments\NewcomerTasks\AddSectionImage\SectionImageRecommendationSubmissionLogFactory; |
51 | use GrowthExperiments\NewcomerTasks\CampaignConfig; |
52 | use GrowthExperiments\NewcomerTasks\ConfigurationLoader\ConfigurationLoader; |
53 | use GrowthExperiments\NewcomerTasks\ConfigurationLoader\ConfigurationValidator; |
54 | use GrowthExperiments\NewcomerTasks\ImageRecommendationFilter; |
55 | use GrowthExperiments\NewcomerTasks\LinkRecommendationFilter; |
56 | use GrowthExperiments\NewcomerTasks\NewcomerTasksChangeTagsManager; |
57 | use GrowthExperiments\NewcomerTasks\NewcomerTasksInfo; |
58 | use GrowthExperiments\NewcomerTasks\NewcomerTasksUserOptionsLookup; |
59 | use GrowthExperiments\NewcomerTasks\ProtectionFilter; |
60 | use GrowthExperiments\NewcomerTasks\TaskSuggester\TaskSuggesterFactory; |
61 | use GrowthExperiments\NewcomerTasks\TaskType\TaskTypeHandlerRegistry; |
62 | use GrowthExperiments\NewcomerTasks\TemplateBasedTaskSubmissionHandler; |
63 | use GrowthExperiments\PeriodicMetrics\MetricsFactory; |
64 | use GrowthExperiments\UserImpact\UserImpactFormatter; |
65 | use GrowthExperiments\UserImpact\UserImpactLookup; |
66 | use GrowthExperiments\UserImpact\UserImpactStore; |
67 | use MediaWiki\Config\Config; |
68 | use MediaWiki\MediaWikiServices; |
69 | use Wikimedia\Rdbms\ILoadBalancer; |
70 | |
71 | /** |
72 | * A simple wrapper for MediaWikiServices, to support type safety when accessing |
73 | * services defined by this extension. |
74 | */ |
75 | class GrowthExperimentsServices { |
76 | |
77 | /** @var MediaWikiServices */ |
78 | private $coreServices; |
79 | |
80 | /** |
81 | * @param MediaWikiServices $coreServices |
82 | */ |
83 | public function __construct( MediaWikiServices $coreServices ) { |
84 | $this->coreServices = $coreServices; |
85 | } |
86 | |
87 | /** |
88 | * Static version of the constructor, for nicer syntax. |
89 | * @param MediaWikiServices $coreServices |
90 | * @return static |
91 | */ |
92 | public static function wrap( MediaWikiServices $coreServices ) { |
93 | return new static( $coreServices ); |
94 | } |
95 | |
96 | // Service aliases |
97 | // phpcs:disable MediaWiki.Commenting.FunctionComment |
98 | |
99 | public function getChangeMentorFactory(): ChangeMentorFactory { |
100 | return $this->coreServices->get( 'GrowthExperimentsChangeMentorFactory' ); |
101 | } |
102 | |
103 | public function getGrowthConfig(): Config { |
104 | return $this->coreServices->get( 'GrowthExperimentsConfig' ); |
105 | } |
106 | |
107 | public function getGrowthWikiConfig(): Config { |
108 | return $this->coreServices->get( 'GrowthExperimentsCommunityConfig' ); |
109 | } |
110 | |
111 | public function getLoadBalancer(): ILoadBalancer { |
112 | $databaseCluster = $this->getGrowthConfig()->get( 'GEDatabaseCluster' ); |
113 | if ( $databaseCluster ) { |
114 | return $this->coreServices->getDBLoadBalancerFactory()->getExternalLB( $databaseCluster ); |
115 | } else { |
116 | return $this->coreServices->getDBLoadBalancerFactory()->getMainLB(); |
117 | } |
118 | } |
119 | |
120 | public function getEditInfoService(): EditInfoService { |
121 | return $this->coreServices->get( 'GrowthExperimentsEditInfoService' ); |
122 | } |
123 | |
124 | public function getExperimentUserManager(): ExperimentUserManager { |
125 | return $this->coreServices->get( 'GrowthExperimentsExperimentUserManager' ); |
126 | } |
127 | |
128 | public function getHomepageModuleRegistry(): HomepageModuleRegistry { |
129 | return $this->coreServices->get( 'GrowthExperimentsHomepageModuleRegistry' ); |
130 | } |
131 | |
132 | public function getImageRecommendationProvider(): ImageRecommendationProvider { |
133 | return $this->coreServices->get( 'GrowthExperimentsImageRecommendationProvider' ); |
134 | } |
135 | |
136 | public function getImageRecommendationProviderUncached(): ImageRecommendationProvider { |
137 | return $this->coreServices->get( 'GrowthExperimentsImageRecommendationProviderUncached' ); |
138 | } |
139 | |
140 | public function getLinkRecommendationHelper(): LinkRecommendationHelper { |
141 | return $this->coreServices->get( 'GrowthExperimentsLinkRecommendationHelper' ); |
142 | } |
143 | |
144 | public function getLinkRecommendationProvider(): LinkRecommendationProvider { |
145 | return $this->coreServices->get( 'GrowthExperimentsLinkRecommendationProvider' ); |
146 | } |
147 | |
148 | public function getLinkRecommendationStore(): LinkRecommendationStore { |
149 | return $this->coreServices->get( 'GrowthExperimentsLinkRecommendationStore' ); |
150 | } |
151 | |
152 | public function getLinkRecommendationUpdater(): LinkRecommendationUpdater { |
153 | return $this->coreServices->get( 'GrowthExperimentsLinkRecommendationUpdater' ); |
154 | } |
155 | |
156 | public function getLinkSubmissionRecorder(): LinkSubmissionRecorder { |
157 | return $this->coreServices->get( 'GrowthExperimentsLinkSubmissionRecorder' ); |
158 | } |
159 | |
160 | public function getMenteeOverviewDataProvider(): MenteeOverviewDataProvider { |
161 | return $this->getDatabaseMenteeOverviewDataProvider(); |
162 | } |
163 | |
164 | public function getDatabaseMenteeOverviewDataProvider(): DatabaseMenteeOverviewDataProvider { |
165 | return $this->coreServices->get( 'GrowthExperimentsMenteeOverviewDataProvider' ); |
166 | } |
167 | |
168 | public function getUncachedMenteeOverviewDataProvider(): UncachedMenteeOverviewDataProvider { |
169 | return $this->coreServices->get( 'GrowthExperimentsMenteeOverviewDataProviderUncached' ); |
170 | } |
171 | |
172 | public function getMenteeOverviewDataUpdater(): MenteeOverviewDataUpdater { |
173 | return $this->coreServices->get( 'GrowthExperimentsMenteeOverviewDataUpdater' ); |
174 | } |
175 | |
176 | public function getMentorDashboardModuleRegistry(): MentorDashboardModuleRegistry { |
177 | return $this->coreServices->get( 'GrowthExperimentsMentorDashboardModuleRegistry' ); |
178 | } |
179 | |
180 | public function getMentorManager(): MentorManager { |
181 | return $this->coreServices->get( 'GrowthExperimentsMentorManager' ); |
182 | } |
183 | |
184 | public function getMentorProvider(): MentorProvider { |
185 | return $this->coreServices->get( 'GrowthExperimentsMentorProvider' ); |
186 | } |
187 | |
188 | public function getMentorProviderStructured(): StructuredMentorProvider { |
189 | return $this->coreServices->get( 'GrowthExperimentsMentorProviderStructured' ); |
190 | } |
191 | |
192 | public function getMentorRemover(): MentorRemover { |
193 | return $this->coreServices->get( 'GrowthExperimentsMentorRemover' ); |
194 | } |
195 | |
196 | public function getMentorStatusManager(): MentorStatusManager { |
197 | return $this->coreServices->get( 'GrowthExperimentsMentorStatusManager' ); |
198 | } |
199 | |
200 | public function getMentorStore(): MentorStore { |
201 | return $this->coreServices->get( 'GrowthExperimentsMentorStore' ); |
202 | } |
203 | |
204 | public function getMentorWriter(): IMentorWriter { |
205 | return $this->coreServices->get( 'GrowthExperimentsMentorWriter' ); |
206 | } |
207 | |
208 | public function getDatabaseMentorStore(): DatabaseMentorStore { |
209 | return $this->coreServices->get( 'GrowthExperimentsMentorStoreDatabase' ); |
210 | } |
211 | |
212 | public function getMetricsFactory(): MetricsFactory { |
213 | return $this->coreServices->get( 'GrowthExperimentsMetricsFactory' ); |
214 | } |
215 | |
216 | public function getNewcomerTasksConfigurationLoader(): ConfigurationLoader { |
217 | return $this->coreServices->get( 'GrowthExperimentsNewcomerTasksConfigurationLoader' ); |
218 | } |
219 | |
220 | public function getNewcomerTasksConfigurationValidator(): ConfigurationValidator { |
221 | return $this->coreServices->get( 'GrowthExperimentsNewcomerTasksConfigurationValidator' ); |
222 | } |
223 | |
224 | public function getNewcomerTasksUserOptionsLookup(): NewcomerTasksUserOptionsLookup { |
225 | return $this->coreServices->get( 'GrowthExperimentsNewcomerTasksUserOptionsLookup' ); |
226 | } |
227 | |
228 | public function getProtectionFilter(): ProtectionFilter { |
229 | return $this->coreServices->get( 'GrowthExperimentsProtectionFilter' ); |
230 | } |
231 | |
232 | public function getLinkRecommendationFilter(): LinkRecommendationFilter { |
233 | return $this->coreServices->get( 'GrowthExperimentsLinkRecommendationFilter' ); |
234 | } |
235 | |
236 | public function getImageRecommendationFilter(): ImageRecommendationFilter { |
237 | return $this->coreServices->get( 'GrowthExperimentsImageRecommendationFilter' ); |
238 | } |
239 | |
240 | public function getPersonalizedPraiseLogger(): PersonalizedPraiseLogger { |
241 | return $this->coreServices->get( 'GrowthExperimentsPersonalizedPraiseLogger' ); |
242 | } |
243 | |
244 | public function getPersonalizedPraiseNotificationsDispatcher(): PersonalizedPraiseNotificationsDispatcher { |
245 | return $this->coreServices->get( 'GrowthExperimentsPersonalizedPraiseNotificationsDispatcher' ); |
246 | } |
247 | |
248 | public function getPersonalizedPraiseSettings(): PersonalizedPraiseSettings { |
249 | return $this->coreServices->get( 'GrowthExperimentsPersonalizedPraiseSettings' ); |
250 | } |
251 | |
252 | public function getPraiseworthyConditionsLookup(): PraiseworthyConditionsLookup { |
253 | return $this->coreServices->get( 'GrowthExperimentsPraiseworthyConditionsLookup' ); |
254 | } |
255 | |
256 | public function getPraiseworthyMenteeSuggester(): PraiseworthyMenteeSuggester { |
257 | return $this->coreServices->get( 'GrowthExperimentsPraiseworthyMenteeSuggester' ); |
258 | } |
259 | |
260 | public function getQuestionPosterFactory(): QuestionPosterFactory { |
261 | return $this->coreServices->get( 'GrowthExperimentsQuestionPosterFactory' ); |
262 | } |
263 | |
264 | public function getReassignMenteesFactory(): ReassignMenteesFactory { |
265 | return $this->coreServices->get( 'GrowthExperimentsReassignMenteesFactory' ); |
266 | } |
267 | |
268 | public function getSearchIndexUpdater(): SearchIndexUpdater { |
269 | return $this->coreServices->get( 'GrowthExperimentsSearchIndexUpdater' ); |
270 | } |
271 | |
272 | public function getStarredMenteesStore(): StarredMenteesStore { |
273 | return $this->coreServices->get( 'GrowthExperimentsStarredMenteesStore' ); |
274 | } |
275 | |
276 | public function getSuggestionsInfo(): NewcomerTasksInfo { |
277 | return $this->coreServices->get( 'GrowthExperimentsSuggestionsInfo' ); |
278 | } |
279 | |
280 | public function getTaskSuggesterFactory(): TaskSuggesterFactory { |
281 | return $this->coreServices->get( 'GrowthExperimentsTaskSuggesterFactory' ); |
282 | } |
283 | |
284 | public function getTaskTypeHandlerRegistry(): TaskTypeHandlerRegistry { |
285 | return $this->coreServices->get( 'GrowthExperimentsTaskTypeHandlerRegistry' ); |
286 | } |
287 | |
288 | public function getTipsAssembler(): TipsAssembler { |
289 | return $this->coreServices->get( 'GrowthExperimentsTipsAssembler' ); |
290 | } |
291 | |
292 | public function getTipNodeRenderer(): TipNodeRenderer { |
293 | return $this->coreServices->get( 'GrowthExperimentsTipNodeRenderer' ); |
294 | } |
295 | |
296 | public function getWelcomeSurveyFactory(): WelcomeSurveyFactory { |
297 | return $this->coreServices->get( 'GrowthExperimentsWelcomeSurveyFactory' ); |
298 | } |
299 | |
300 | public function getWikiPageConfig(): WikiPageConfig { |
301 | return $this->coreServices->get( 'GrowthExperimentsWikiPageConfig' ); |
302 | } |
303 | |
304 | public function getWikiPageConfigLoader(): WikiPageConfigLoader { |
305 | return $this->coreServices->get( 'GrowthExperimentsWikiPageConfigLoader' ); |
306 | } |
307 | |
308 | public function getWikiPageConfigValidatorFactory(): ConfigValidatorFactory { |
309 | return $this->coreServices->get( 'GrowthExperimentsConfigValidatorFactory' ); |
310 | } |
311 | |
312 | public function getWikiPageConfigWriterFactory(): WikiPageConfigWriterFactory { |
313 | return $this->coreServices->get( 'GrowthExperimentsWikiPageConfigWriterFactory' ); |
314 | } |
315 | |
316 | public function getImageRecommendationMetadataService(): ImageRecommendationMetadataService { |
317 | return $this->coreServices->get( 'GrowthExperimentsImageRecommendationMetadataService' ); |
318 | } |
319 | |
320 | public function getImageRecommendationMetadataProvider(): ImageRecommendationMetadataProvider { |
321 | return $this->coreServices->get( 'GrowthExperimentsImageRecommendationMetadataProvider' ); |
322 | } |
323 | |
324 | public function getImageRecommendationSubmissionLogFactory(): ImageRecommendationSubmissionLogFactory { |
325 | return $this->coreServices->get( 'GrowthExperimentsImageRecommendationSubmissionLogFactory' ); |
326 | } |
327 | |
328 | // phpcs:ignore Generic.Files.LineLength.TooLong |
329 | public function getSectionImageRecommendationSubmissionLogFactory(): SectionImageRecommendationSubmissionLogFactory { |
330 | return $this->coreServices->get( 'GrowthExperimentsSectionImageRecommendationSubmissionLogFactory' ); |
331 | } |
332 | |
333 | public function getLinkRecommendationSubmissionLogFactory(): LinkRecommendationSubmissionLogFactory { |
334 | return $this->coreServices->get( 'GrowthExperimentsLinkRecommendationSubmissionLogFactory' ); |
335 | } |
336 | |
337 | public function getAddImageSubmissionHandler(): AddImageSubmissionHandler { |
338 | return $this->coreServices->get( 'GrowthExperimentsAddImageSubmissionHandler' ); |
339 | } |
340 | |
341 | public function getGrowthExperimentsCampaignConfig(): CampaignConfig { |
342 | return $this->coreServices->get( 'GrowthExperimentsCampaignConfig' ); |
343 | } |
344 | |
345 | public function getTemplateBasedTaskSubmissionHandler(): TemplateBasedTaskSubmissionHandler { |
346 | return $this->coreServices->get( 'GrowthExperimentsTemplateBasedTaskSubmissionHandler' ); |
347 | } |
348 | |
349 | public function getNewcomerTasksChangeTagsManager(): NewcomerTasksChangeTagsManager { |
350 | return $this->coreServices->get( 'GrowthExperimentsNewcomerTasksChangeTagsManager' ); |
351 | } |
352 | |
353 | public function getImageRecommendationApiHandler(): ImageRecommendationApiHandler { |
354 | return $this->coreServices->get( 'GrowthExperimentsImageRecommendationApiHandler' ); |
355 | } |
356 | |
357 | public function getUserImpactLookup(): UserImpactLookup { |
358 | return $this->coreServices->get( 'GrowthExperimentsUserImpactLookup' ); |
359 | } |
360 | |
361 | public function getUncachedUserImpactLookup(): UserImpactLookup { |
362 | return $this->coreServices->get( 'GrowthExperimentsUserImpactLookup_Computed' ); |
363 | } |
364 | |
365 | public function getUserImpactStore(): UserImpactStore { |
366 | return $this->coreServices->get( 'GrowthExperimentsUserImpactStore' ); |
367 | } |
368 | |
369 | public function getUserImpactFormatter(): UserImpactFormatter { |
370 | return $this->coreServices->get( 'GrowthExperimentsUserImpactFormatter' ); |
371 | } |
372 | |
373 | public function getUserDatabaseHelper(): UserDatabaseHelper { |
374 | return $this->coreServices->get( 'GrowthExperimentsUserDatabaseHelper' ); |
375 | } |
376 | |
377 | public function getEventGateImageSuggestionFeedbackUpdater(): EventGateImageSuggestionFeedbackUpdater { |
378 | return $this->coreServices->get( 'GrowthExperimentsEventGateImageSuggestionFeedbackUpdater' ); |
379 | } |
380 | |
381 | public function getAddLinkSubmissionHandler(): AddLinkSubmissionHandler { |
382 | return $this->coreServices->get( 'GrowthExperimentsAddLinkSubmissionHandler' ); |
383 | } |
384 | |
385 | public function getLevelingUpManager(): LevelingUpManager { |
386 | return $this->coreServices->get( 'GrowthExperimentsLevelingUpManager' ); |
387 | } |
388 | |
389 | } |