metadataExtractor = $metadataExtractor; } /** * @param EntityWorkflowStep $object */ public function normalize($object, ?string $format = null, array $context = []): array { $data = [ 'type' => 'entity_workflow_step', 'id' => $object->getId(), 'comment' => $object->getComment(), 'currentStep' => $this->metadataExtractor->buildArrayPresentationForPlace($object->getEntityWorkflow(), $object), 'finalizeAfter' => $object->isFinalizeAfter(), 'isFreezed' => false, 'isFinalized' => false, 'previousId' => null, 'nextId' => null, 'by' => null, 'at' => null, ]; if (null !== $previous = $object->getPrevious()) { $data['previousId'] = $previous->getId(); $data['isFreezed'] = $previous->isFreezeAfter(); $data['isFinalized'] = $previous->isFreezeAfter(); $data['by'] = $previous->getTransitionBy(); $data['at'] = $previous->getTransitionAt(); } if (null !== $next = $object->getNext()) { $data['nextId'] = $next->getId(); } return $data; } public function supportsNormalization($data, ?string $format = null): bool { return $data instanceof EntityWorkflowStep && 'json' === $format; } }