elemTypeRepository = $elemTypeRepository; } public function getProduct(int $id): array { $elementTypes = $this->elemTypeRepository->list($id); $elementTypesView = []; if (is_array($elementTypes) && !empty($elementTypes)) { foreach ($elementTypes as $elementType) { if ($elementType->getDeletedAt() == null) { $elementTypesView[] = new ElementTypeVersionReadView( $elementType->getElementTypePIM(), $elementType->getVersionPIM(), $elementType->getElementsPIM() ?: [], $elementType->getElementTypeFieldsPIM() ?: [], json_decode($elementType->getTagsPIM(), true) ?: [] ); } } } return $elementTypesView; } }