-
Denis Urban authoredDenis Urban authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
AggregationsEndpoint.php 1.03 KiB
<?php
/*
* This file is part of the ONGR package.
*
* (c) NFQ Technologies UAB <info@nfq.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace ONGR\ElasticsearchDSL\SearchEndpoint;
use ONGR\ElasticsearchDSL\Aggregation\AbstractAggregation;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
/**
* Search aggregations dsl endpoint.
*/
class AggregationsEndpoint extends AbstractSearchEndpoint
{
/**
* Endpoint name
*/
final public const NAME = 'aggregations';
/**
* {@inheritdoc}
*/
public function normalize(
NormalizerInterface $normalizer,
$format = null,
array $context = []
): array|string|int|float|bool|\ArrayObject|null {
$output = [];
/** @var AbstractAggregation $aggregation */
foreach ($this->getAll() as $aggregation) {
$output[$aggregation->getName()] = $aggregation->toArray();
}
return $output;
}
}