From 9a8d1b9191d072f1a995c2f2426f373d3fff1a0f Mon Sep 17 00:00:00 2001
From: Matthias Adrowski <matthias.adrowski@sgalinski.de>
Date: Mon, 4 Apr 2022 13:27:51 +0200
Subject: [PATCH] [TASK] First batch of phpstan issues

---
 Classes/Command/MigrateNewsCommandController.php  | 15 ++++++++-------
 Classes/Controller/AbstractController.php         |  2 +-
 Classes/Controller/LatestController.php           |  2 +-
 Classes/Controller/ListByCategoryController.php   |  2 +-
 Classes/Controller/NewsByAuthorController.php     |  2 +-
 Classes/Controller/NewsFeedController.php         |  2 +-
 Classes/Controller/OverviewController.php         |  4 ++--
 Classes/Controller/SingleViewController.php       |  4 ++--
 Classes/Domain/Repository/CategoryRepository.php  |  2 +-
 .../Domain/Repository/FileReferenceRepository.php |  2 +-
 Classes/Domain/Repository/NewsRepository.php      |  2 +-
 11 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/Classes/Command/MigrateNewsCommandController.php b/Classes/Command/MigrateNewsCommandController.php
index d8cd27c..770eba2 100644
--- a/Classes/Command/MigrateNewsCommandController.php
+++ b/Classes/Command/MigrateNewsCommandController.php
@@ -96,7 +96,7 @@ class MigrateNewsCommandController extends Command {
 	 *
 	 * @param InputInterface $input
 	 * @param OutputInterface $output
-	 * @return void
+	 * @return int
 	 * @throws \JsonException
 	 */
 	public function execute(InputInterface $input, OutputInterface $output) {
@@ -124,7 +124,7 @@ class MigrateNewsCommandController extends Command {
 			->where(
 				$queryBuilder->expr()->eq('pid', $queryBuilder->createNamedParameter($pId, Connection::PARAM_INT))
 			)
-			->execute()->fetchAll();
+			->execute()->fetchAllAssociative();
 		$localDataHandler = GeneralUtility::makeInstance(DataHandler::class);
 		Bootstrap::initializeBackendAuthentication();
 		$localCommandMap = [
@@ -166,7 +166,7 @@ class MigrateNewsCommandController extends Command {
 					$newsPage->setLastUpdated($date);
 					$this->setMatchingTag($row);
 
-					/** @var File $image */
+					/** @var File $file */
 					$file = $this->getMatchingFile($row);
 					if ($file instanceof File) {
 						$teaserImage1 = $fileReferenceRepository->addFileReferenceFromFile(
@@ -222,6 +222,7 @@ class MigrateNewsCommandController extends Command {
 				$this->updateTranslation($row);
 			}
 		}
+		return Command::SUCCESS;
 	}
 
 	/**
@@ -252,7 +253,7 @@ class MigrateNewsCommandController extends Command {
 					)
 				)
 			)
-			->execute()->fetch();
+			->execute()->fetchAssociative();
 		if (!$fileReferenceResult) {
 			return NULL;
 		}
@@ -269,7 +270,7 @@ class MigrateNewsCommandController extends Command {
 					$queryBuilder->createNamedParameter($fileReferenceResult['uid_local'], Connection::PARAM_INT)
 				)
 			)
-			->execute()->fetch();
+			->execute()->fetchAssociative();
 		if (!$fileResult) {
 			return NULL;
 		}
@@ -302,7 +303,7 @@ class MigrateNewsCommandController extends Command {
 					$queryBuilder->createNamedParameter($row['uid'], Connection::PARAM_INT)
 				)
 			)
-			->execute()->fetchAll();
+			->execute()->fetchAllAssociative();
 		foreach ($mmRows as $mmRow) {
 			$values = [
 				'uid_local' => $this->categoryMap[(int) $mmRow['uid_local']],
@@ -385,7 +386,7 @@ class MigrateNewsCommandController extends Command {
 						$queryBuilder->createNamedParameter($parentId, Connection::PARAM_INT)
 					)
 				)
-				->execute()->fetch();
+				->execute()->fetchAssociative();
 			if ($result) {
 				$queryBuilder->where(
 					$queryBuilder->expr()->eq(
diff --git a/Classes/Controller/AbstractController.php b/Classes/Controller/AbstractController.php
index 345443d..7bb3121 100644
--- a/Classes/Controller/AbstractController.php
+++ b/Classes/Controller/AbstractController.php
@@ -79,7 +79,7 @@ abstract class AbstractController extends ActionController {
 	 * @throws \RuntimeException
 	 */
 	public function errorAction() {
-		throw new RuntimeException(parent::errorAction());
+		throw new RuntimeException($this->getFlattenedValidationErrorMessage());
 	}
 
 	/**
diff --git a/Classes/Controller/LatestController.php b/Classes/Controller/LatestController.php
index 93e1dd6..19b8628 100644
--- a/Classes/Controller/LatestController.php
+++ b/Classes/Controller/LatestController.php
@@ -58,7 +58,7 @@ class LatestController extends AbstractController {
 	 *
 	 * @param array $newsMetaData
 	 * @param int $offset
-	 * @return void
+	 * @return null|\Psr\Http\Message\ResponseInterface
 	 * @throws \InvalidArgumentException
 	 * @throws \TYPO3\CMS\Extbase\Persistence\Exception\InvalidQueryException
 	 * @throws \TYPO3\CMS\Extbase\Configuration\Exception\InvalidConfigurationTypeException
diff --git a/Classes/Controller/ListByCategoryController.php b/Classes/Controller/ListByCategoryController.php
index 1f08231..181e7d5 100644
--- a/Classes/Controller/ListByCategoryController.php
+++ b/Classes/Controller/ListByCategoryController.php
@@ -99,7 +99,7 @@ class ListByCategoryController extends AbstractController {
 	 *
 	 * @param array $newsMetaData
 	 * @param int $currentPageBrowserPage
-	 * @return void
+	 * @return null|\Psr\Http\Message\ResponseInterface
 	 * @throws \InvalidArgumentException
 	 * @throws \TYPO3\CMS\Extbase\Persistence\Exception\InvalidQueryException
 	 * @throws \TYPO3\CMS\Extbase\Configuration\Exception\InvalidConfigurationTypeException
diff --git a/Classes/Controller/NewsByAuthorController.php b/Classes/Controller/NewsByAuthorController.php
index 51fb2b2..7321064 100644
--- a/Classes/Controller/NewsByAuthorController.php
+++ b/Classes/Controller/NewsByAuthorController.php
@@ -44,7 +44,7 @@ class NewsByAuthorController extends AbstractController {
 	 * Renders the news author list.
 	 *
 	 * @param int $authorId
-	 * @return void
+	 * @return null|\Psr\Http\Message\ResponseInterface
 	 * @throws \InvalidArgumentException
 	 * @throws \TYPO3\CMS\Extbase\Persistence\Exception\InvalidQueryException
 	 * @throws \TYPO3\CMS\Core\Package\Exception
diff --git a/Classes/Controller/NewsFeedController.php b/Classes/Controller/NewsFeedController.php
index 6cc30b1..c986f50 100644
--- a/Classes/Controller/NewsFeedController.php
+++ b/Classes/Controller/NewsFeedController.php
@@ -43,7 +43,7 @@ class NewsFeedController extends AbstractController {
 	/**
 	 * Renders the news feed
 	 *
-	 * @return void
+	 * @return null|\Psr\Http\Message\ResponseInterface
 	 * @throws \TYPO3\CMS\Extbase\Persistence\Exception\InvalidQueryException
 	 */
 	public function indexAction(): ?\Psr\Http\Message\ResponseInterface {
diff --git a/Classes/Controller/OverviewController.php b/Classes/Controller/OverviewController.php
index a03e3dc..a5c802b 100644
--- a/Classes/Controller/OverviewController.php
+++ b/Classes/Controller/OverviewController.php
@@ -485,7 +485,7 @@ class OverviewController extends AbstractController {
 		$categoriesById = [];
 		$newsMetaData = [];
 		foreach ($tags as $tag) {
-			/** @var $tag Tag */
+			/** @var Tag $tag */
 			$tagId = $tag->getUid();
 			$tagIds[] = $tagId;
 			$tagsById[$tagId] = $tag;
@@ -625,7 +625,7 @@ class OverviewController extends AbstractController {
 	 * @param array $newsMetaData
 	 * @param array|null $newsFilter
 	 * @param int $currentPageBrowserPage
-	 * @return void
+	 * @return null|\Psr\Http\Message\ResponseInterface
 	 * @throws ImmediateResponseException
 	 * @throws \TYPO3\CMS\Core\Error\Http\PageNotFoundException
 	 * @throws \TYPO3\CMS\Extbase\Configuration\Exception\InvalidConfigurationTypeException
diff --git a/Classes/Controller/SingleViewController.php b/Classes/Controller/SingleViewController.php
index cb8edbd..d65d683 100644
--- a/Classes/Controller/SingleViewController.php
+++ b/Classes/Controller/SingleViewController.php
@@ -62,12 +62,12 @@ class SingleViewController extends AbstractController {
 	/**
 	 * Renders the news single view
 	 *
-	 * @return void
+	 * @return null|\Psr\Http\Message\ResponseInterface
 	 * @throws \InvalidArgumentException
 	 */
 	public function singleViewAction(): ?\Psr\Http\Message\ResponseInterface {
-		/** @var News $news */
 		$currentId = (int) $GLOBALS['TSFE']->id;
+		/** @var News $news */
 		$news = $this->newsRepository->findByUid($currentId);
 		if (!$news) {
 			if (version_compare(
diff --git a/Classes/Domain/Repository/CategoryRepository.php b/Classes/Domain/Repository/CategoryRepository.php
index f9999d6..6fffcc3 100644
--- a/Classes/Domain/Repository/CategoryRepository.php
+++ b/Classes/Domain/Repository/CategoryRepository.php
@@ -60,7 +60,7 @@ class CategoryRepository extends AbstractRepository {
 				$queryBuilder->expr()->eq('translation.uid', $queryBuilder->createNamedParameter($uid, \PDO::PARAM_INT))
 			)
 			->setMaxResults(1)
-			->execute()->fetch();
+			->execute()->fetchAssociative();
 		if ($row && (int) $row['uid'] !== 0) {
 			return current($dataMapper->map($this->objectType, [$row]));
 		}
diff --git a/Classes/Domain/Repository/FileReferenceRepository.php b/Classes/Domain/Repository/FileReferenceRepository.php
index 81e83cc..ac8e961 100644
--- a/Classes/Domain/Repository/FileReferenceRepository.php
+++ b/Classes/Domain/Repository/FileReferenceRepository.php
@@ -70,7 +70,7 @@ class FileReferenceRepository extends AbstractRepository {
 	 * extbase can not handle the default TCA for FAL records. Without this method the FAL records will miss
 	 * the uid_foreign, field name and table names.
 	 *
-	 * @param $fileId
+	 * @param int $fileId
 	 * @param array $reference
 	 * @param string $tablename
 	 * @param string $fieldname
diff --git a/Classes/Domain/Repository/NewsRepository.php b/Classes/Domain/Repository/NewsRepository.php
index 4e97632..d7c474b 100644
--- a/Classes/Domain/Repository/NewsRepository.php
+++ b/Classes/Domain/Repository/NewsRepository.php
@@ -524,7 +524,7 @@ class NewsRepository extends AbstractRepository {
 	 */
 	public function findByUidIgnoreEnableFields($uid) {
 		$query = $this->createQuery();
-		/** @var $querySettings \TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings */
+		/** @var \TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings $querySettings */
 		$querySettings = $query->getQuerySettings();
 		$querySettings->setIgnoreEnableFields(TRUE);
 		$querySettings->setRespectStoragePage(FALSE);
-- 
GitLab