33namespace App \Controller ;
44
55use App \Entity \LanguageNameEntity ;
6+ use App \Services \GitHub \GitHubServiceException ;
67use Doctrine \ORM \EntityManager ;
78use Doctrine \ORM \EntityManagerInterface ;
89use Doctrine \ORM \Exception \ORMException ;
@@ -55,8 +56,9 @@ public function __construct(RepositoryManager $repositoryManager, LanguageManage
5556 * @throws NoResultException
5657 * @throws ORMException
5758 * @throws OptimisticLockException
59+ * @throws GitHubServiceException
5860 */
59- public function save (Request $ request , UserTranslationValidatorFactory $ validatorFactory ) {
61+ public function save (Request $ request , UserTranslationValidatorFactory $ validatorFactory ): Response {
6062 if ($ request ->getMethod () !== 'POST ' ) {
6163 return $ this ->redirectToRoute ('dokuwiki_translator_homepage ' );
6264 }
@@ -137,8 +139,9 @@ public function save(Request $request, UserTranslationValidatorFactory $validato
137139 * @return UserTranslationValidator
138140 */
139141 protected function getUserTranslationValidator (array $ defaultTranslation , array $ previousTranslation ,
140- array $ userTranslation , $ author , $ authorEmail ,
141- UserTranslationValidatorFactory $ validatorFactory ) {
142+ array $ userTranslation , string $ author , string $ authorEmail ,
143+ UserTranslationValidatorFactory $ validatorFactory ): UserTranslationValidator
144+ {
142145 return $ validatorFactory ->getInstance ($ defaultTranslation , $ previousTranslation ,
143146 $ userTranslation , $ author , $ authorEmail );
144147 }
@@ -148,8 +151,10 @@ protected function getUserTranslationValidator(array $defaultTranslation, array
148151 *
149152 * @param Request $request
150153 * @return RedirectResponse|Response
154+ *
155+ * @throws GitHubServiceException
151156 */
152- public function translateCore (Request $ request ) {
157+ public function translateCore (Request $ request ): Response {
153158 return $ this ->translate ($ request , RepositoryEntity::TYPE_CORE , 'dokuwiki ' );
154159 }
155160
@@ -160,8 +165,10 @@ public function translateCore(Request $request) {
160165 * @param string $type
161166 * @param string $name
162167 * @return RedirectResponse|Response
168+ *
169+ * @throws GitHubServiceException
163170 */
164- public function translateExtension (Request $ request , $ type , $ name ) {
171+ public function translateExtension (Request $ request , string $ type , string $ name ): Response {
165172 return $ this ->translate ($ request , $ type , $ name );
166173 }
167174
@@ -177,8 +184,10 @@ public function translateExtension(Request $request, $type, $name) {
177184 * - (string) authorMail
178185 * @param FormInterface|null $captchaForm
179186 * @return RedirectResponse|Response
187+ *
188+ * @throws GitHubServiceException
180189 */
181- private function translate (Request $ request , $ type , $ name , array $ userInput = [], $ captchaForm = null ) {
190+ private function translate (Request $ request , string $ type , string $ name , array $ userInput = [], $ captchaForm = null ): Response {
182191 $ data = [];
183192 $ param = [];
184193 $ language = $ this ->getLanguage ($ request );
@@ -244,13 +253,13 @@ private function translate(Request $request, $type, $name, array $userInput = []
244253 return $ this ->render ('translate/translate.html.twig ' , $ data );
245254 }
246255
247- private function getCaptchaForm () {
256+ private function getCaptchaForm (): FormInterface {
248257 return $ this ->createFormBuilder ()
249258 ->add ('captcha ' , CaptchaType::class)
250259 ->getForm ();
251260 }
252261
253- private function prepareLanguages ($ language , $ repositoryEntity , array $ userTranslation ) {
262+ private function prepareLanguages (string $ language , RepositoryEntity $ repositoryEntity , array $ userTranslation ): array {
254263 $ repository = $ this ->repositoryManager ->getRepository ($ repositoryEntity );
255264
256265 $ defaultTranslation = $ repository ->getLanguage ('en ' );
@@ -266,18 +275,20 @@ private function prepareLanguages($language, $repositoryEntity, array $userTrans
266275 /**
267276 * @return LanguageNameEntityRepository
268277 */
269- private function getLanguageNameEntityRepository () {
278+ private function getLanguageNameEntityRepository (): LanguageNameEntityRepository {
270279 return $ this ->entityManager ->getRepository (LanguageNameEntity::class);
271280 }
272281
273282 /**
274283 * Get information about the open pull requests of the given language
275284 *
276- * @param $repositoryEntity
277- * @param $languageNameEntity
285+ * @param RepositoryEntity $repositoryEntity
286+ * @param LanguageNameEntity $languageNameEntity
278287 * @return array with string listURL and int count
288+ *
289+ * @throws GitHubServiceException
279290 */
280- private function getOpenPRListInfo ($ repositoryEntity , $ languageNameEntity ) {
291+ private function getOpenPRListInfo (RepositoryEntity $ repositoryEntity , LanguageNameEntity $ languageNameEntity ): array {
281292 $ repository = $ this ->repositoryManager ->getRepository ($ repositoryEntity );
282293 return $ repository ->getOpenPRListInfo ($ languageNameEntity );
283294 }
@@ -287,11 +298,12 @@ private function getOpenPRListInfo($repositoryEntity, $languageNameEntity) {
287298 *
288299 * @return Response
289300 */
290- public function thanks () {
301+ public function thanks (): Response
302+ {
291303 return $ this ->render ('translate/thanks.html.twig ' );
292304 }
293305
294- private function getLanguage ($ request ) {
306+ private function getLanguage (Request $ request ): string {
295307 return $ this ->languageManager ->getLanguage ($ request );
296308 }
297309}
0 commit comments