/** * @param array $value * * @return array */ protected function serialization(array &$value) { $data = [self::DATA_KEY => \array_merge(PropertyHelper::setResponseDataTypeAndId($this->mappings, $value), DataAttributesHelper::setResponseDataAttributes($this->mappings, $value), DataLinksHelper::setResponseDataLinks($this->mappings, $value), DataLinksHelper::setResponseDataRelationship($this->mappings, $value, $value))]; DataIncludedHelper::setResponseDataIncluded($this->mappings, $value, $data); $this->setResponseLinks($value, $data); $this->setResponseMeta($data); $this->setResponseVersion($data); return $data; }
/** * @param \NilPortugues\Api\Mapping\Mapping[] $mappings * @param array $data * @param array $attributes * @param array $value */ protected static function addToIncludedArray(array &$mappings, array &$data, array &$attributes, array &$value) { if (\count($attributes) > 0) { $includedData = PropertyHelper::setResponseDataTypeAndId($mappings, $value); if (self::hasIdKey($includedData)) { $arrayData = \array_merge([JsonApiTransformer::TYPE_KEY => $includedData[JsonApiTransformer::TYPE_KEY], JsonApiTransformer::ID_KEY => $includedData[JsonApiTransformer::ID_KEY], JsonApiTransformer::ATTRIBUTES_KEY => $attributes, JsonApiTransformer::RELATIONSHIPS_KEY => []], DataLinksHelper::setResponseDataLinks($mappings, $value)); $relationshipData = []; self::addRelationshipsToIncludedResources($mappings, $relationshipData, $value, $value[Serializer::CLASS_IDENTIFIER_KEY], $attributes); if ($relationshipData) { $arrayData[JsonApiTransformer::RELATIONSHIPS_KEY] = \array_merge($arrayData[JsonApiTransformer::RELATIONSHIPS_KEY], $relationshipData); } $data[JsonApiTransformer::INCLUDED_KEY][] = \array_filter($arrayData); } } if (!empty($data[JsonApiTransformer::INCLUDED_KEY])) { $data[JsonApiTransformer::INCLUDED_KEY] = \array_values(\array_unique($data[JsonApiTransformer::INCLUDED_KEY], SORT_REGULAR)); } }