From bbdc04568dd7694827159cb334cdc73dd29675ea Mon Sep 17 00:00:00 2001 From: Sebastian Michaelsen Date: Thu, 5 Sep 2024 15:46:48 +0200 Subject: [PATCH] chore!: move file references logic from trait to helper class --- .../Helpers/FileReferencesHelper.php | 40 +++++++++++++++++++ .../DataProviding/Traits/FileReferences.php | 37 ----------------- 2 files changed, 40 insertions(+), 37 deletions(-) create mode 100644 Classes/DataProviding/Helpers/FileReferencesHelper.php delete mode 100644 Classes/DataProviding/Traits/FileReferences.php diff --git a/Classes/DataProviding/Helpers/FileReferencesHelper.php b/Classes/DataProviding/Helpers/FileReferencesHelper.php new file mode 100644 index 0000000..91cecbd --- /dev/null +++ b/Classes/DataProviding/Helpers/FileReferencesHelper.php @@ -0,0 +1,40 @@ + $record + * @return array + */ + public function loadFileReferences(array $record, string $fieldName, string $localTableName = 'tt_content'): array + { + $localUid = $record['_LOCALIZED_UID'] ?? $record['uid'] ?? null; + if (empty($localUid)) { + return []; + } + return $this->fileRepository->findByRelation($localTableName, $fieldName, (int)$localUid); + } + + /** + * @param array $record + */ + public function loadFileReference(array $record, string $fieldName, string $localTableName = 'tt_content'): ?FileReference + { + $fileReferences = $this->loadFileReferences($record, $fieldName, $localTableName); + if (empty($fileReferences)) { + return null; + } + return $fileReferences[0]; + } +} diff --git a/Classes/DataProviding/Traits/FileReferences.php b/Classes/DataProviding/Traits/FileReferences.php deleted file mode 100644 index 9869d65..0000000 --- a/Classes/DataProviding/Traits/FileReferences.php +++ /dev/null @@ -1,37 +0,0 @@ -fileRepository = $fileRepository; - } - - /** - * @return FileReference[] - */ - protected function loadFileReferences(array $record, string $fieldName, string $localTableName = 'tt_content'): array - { - $localUid = $record['_LOCALIZED_UID'] ?? $record['uid'] ?? null; - if (empty($localUid)) { - return []; - } - return $this->fileRepository->findByRelation($localTableName, $fieldName, $localUid); - } - - protected function loadFileReference(array $record, string $fieldName, string $localTableName = 'tt_content'): ?FileReference - { - $fileReferences = $this->loadFileReferences($record, $fieldName, $localTableName); - if (empty($fileReferences)) { - return null; - } - return $fileReferences[0]; - } -}