Add entity mappers support to RecordListHandler

This commit is contained in:
Clemente Raposo 2024-11-06 09:50:21 +00:00 committed by Jack Anderson
parent a83d7fc95f
commit 473c3a9826

View file

@ -27,6 +27,7 @@
namespace App\Data\LegacyHandler; namespace App\Data\LegacyHandler;
use App\Data\Service\Record\Mappers\RecordMapperRunnerInterface;
use App\Engine\LegacyHandler\LegacyHandler; use App\Engine\LegacyHandler\LegacyHandler;
use App\Engine\LegacyHandler\LegacyScopeState; use App\Engine\LegacyHandler\LegacyScopeState;
use App\Data\Entity\RecordList; use App\Data\Entity\RecordList;
@ -57,6 +58,7 @@ class RecordListHandler extends LegacyHandler implements RecordListProviderInter
* @var PresetListDataHandlers * @var PresetListDataHandlers
*/ */
private $presetHandlers; private $presetHandlers;
protected RecordMapperRunnerInterface $entityRecordMapperRunner;
/** /**
* SystemConfigHandler constructor. * SystemConfigHandler constructor.
@ -68,6 +70,7 @@ class RecordListHandler extends LegacyHandler implements RecordListProviderInter
* @param ModuleNameMapperInterface $moduleNameMapper * @param ModuleNameMapperInterface $moduleNameMapper
* @param ListDataHandler $listDataHandler * @param ListDataHandler $listDataHandler
* @param PresetListDataHandlers $presetHandlers * @param PresetListDataHandlers $presetHandlers
* @param RequestStack $session
*/ */
public function __construct( public function __construct(
string $projectDir, string $projectDir,
@ -78,13 +81,15 @@ class RecordListHandler extends LegacyHandler implements RecordListProviderInter
ModuleNameMapperInterface $moduleNameMapper, ModuleNameMapperInterface $moduleNameMapper,
ListDataHandler $listDataHandler, ListDataHandler $listDataHandler,
PresetListDataHandlers $presetHandlers, PresetListDataHandlers $presetHandlers,
RequestStack $session RequestStack $session,
RecordMapperRunnerInterface $entityRecordMapperRunner,
) { ) {
parent::__construct($projectDir, $legacyDir, $legacySessionName, $defaultSessionName, $legacyScopeState, parent::__construct($projectDir, $legacyDir, $legacySessionName, $defaultSessionName, $legacyScopeState,
$session); $session);
$this->moduleNameMapper = $moduleNameMapper; $this->moduleNameMapper = $moduleNameMapper;
$this->listDataHandler = $listDataHandler; $this->listDataHandler = $listDataHandler;
$this->presetHandlers = $presetHandlers; $this->presetHandlers = $presetHandlers;
$this->entityRecordMapperRunner = $entityRecordMapperRunner;
} }
/** /**
@ -126,6 +131,7 @@ class RecordListHandler extends LegacyHandler implements RecordListProviderInter
$records = []; $records = [];
foreach ($listData->getRecords() as $record) { foreach ($listData->getRecords() as $record) {
$this->entityRecordMapperRunner->toExternal($record, 'list');
$records[] = $record->toArray(); $records[] = $record->toArray();
} }