Commit ca119fe4 authored by Nikita Chernykh's avatar Nikita Chernykh
Browse files

EscapeDependence | Refactor

parent dd21837e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -32,7 +32,8 @@
    }
  },
  "require-dev": {
    "phpunit/phpunit": "^9.5"
    "phpunit/phpunit": "^9.5",
    "symfony/var-dumper": "^6.3"
  },
  "scripts": {
    "tests": "php ./vendor/bin/phpunit --testdox --verbose"
+15 −26
Original line number Diff line number Diff line
@@ -2,8 +2,20 @@

namespace IQDEV\ElasticSearch\Converter;

use IQDEV\ElasticSearch\Filter\PostFilterCollection;
use IQDEV\ElasticSearch\Filter\QueryFilterCollection;
use IQDEV\ElasticSearch\Criteria;
use IQDEV\ElasticSearch\Document\Property\AttrType;
use IQDEV\ElasticSearch\Document\Property\PropertyType;
use IQDEV\ElasticSearch\Filter\Collection\FilterCollection;
use IQDEV\ElasticSearch\Filter\Collection\FilterGroupCollection;
use IQDEV\ElasticSearch\Filter\Collection\PostFilterCollection;
use IQDEV\ElasticSearch\Filter\Collection\QueryFilterCollection;
use IQDEV\ElasticSearch\Filter\Filter;
use IQDEV\ElasticSearch\Filter\FilterOperator;
use IQDEV\ElasticSearch\Filter\FilterType;
use IQDEV\ElasticSearch\Filter\LogicOperator;
use IQDEV\ElasticSearch\Filter\Value\FilterKeyword;
use IQDEV\ElasticSearch\Filter\Value\FilterNumber;
use IQDEV\ElasticSearch\Order\Order;
use IQDEV\ElasticSearch\Order\OrderField;
use IQDEV\ElasticSearch\Order\OrderKeywordProperty;
use IQDEV\ElasticSearch\Order\OrderNumberProperty;
@@ -17,18 +29,6 @@ use IQDEV\ElasticSearch\Search\BoolQuery\Terms;
use IQDEV\ElasticSearch\Search\Nested;
use IQDEV\ElasticSearch\Search\Pagination;
use IQDEV\ElasticSearch\Search\Request;
use IQDEV\ElasticSearch\Criteria;
use IQDEV\ElasticSearch\Document\Property\AttrType;
use IQDEV\ElasticSearch\Document\Property\PropertyType;
use IQDEV\ElasticSearch\Filter\Filter;
use IQDEV\ElasticSearch\Filter\FilterCollection;
use IQDEV\ElasticSearch\Filter\FilterGroupCollection;
use IQDEV\ElasticSearch\Filter\FilterKeyword;
use IQDEV\ElasticSearch\Filter\FilterNumber;
use IQDEV\ElasticSearch\Filter\FilterOperator;
use IQDEV\ElasticSearch\Filter\FilterType;
use IQDEV\ElasticSearch\Filter\LogicOperator;
use IQDEV\ElasticSearch\Order\Order;

final class CriteriaToEsRequest
{
@@ -62,18 +62,7 @@ final class CriteriaToEsRequest

        foreach ($criteria->sorting() as $order) {
            /** @var Order $order */

            $direction = $order->orderType();

            if ($order->orderBy() instanceof AttrType) {
                $request->getSort()->add(new OrderField($order->orderBy(), $direction));
            } elseif ($order->orderBy() instanceof PropertyType) {
                if ($order->orderBy()->type() === PropertyType::TYPE_KEYWORD) {
                    $request->getSort()->add(new OrderKeywordProperty($order->orderBy(), $direction));
                } elseif ($order->orderBy()->type() === PropertyType::TYPE_NUMBER) {
                    $request->getSort()->add(new OrderNumberProperty($order->orderBy(), $direction));
                }
            }
            $request->getSort()->add($order);
        }

        return $request;
+12 −13
Original line number Diff line number Diff line
@@ -4,12 +4,11 @@ namespace IQDEV\ElasticSearch\Converter;

use Elastic\Elasticsearch\Response\Elasticsearch;
use IQDEV\ElasticSearch\Document\Product;
use IQDEV\ElasticSearch\Facet\Facet;
use IQDEV\ElasticSearch\Facet\FacetType;
use IQDEV\ElasticSearch\Facet\FacetResult;
use IQDEV\ElasticSearch\Facet\Item\FacetItemList;
use IQDEV\ElasticSearch\Facet\Item\FacetItemRange;
use IQDEV\ElasticSearch\Facet\Item\FacetItemRangeDTO;
use IQDEV\ElasticSearch\Facet\Type\FacetListType;
use IQDEV\ElasticSearch\Facet\Type\FacetRangeType;
use IQDEV\ElasticSearch\Result;

final class EsResponseToResult
@@ -91,7 +90,7 @@ final class EsResponseToResult
            $code = $bucket['key'];
            $valueBucket = $bucket['agg_keyword_facet_value']['buckets'];

            $facet = new Facet(new FacetListType(), $code);
            $facet = new FacetResult(FacetType::LIST, $code);

            foreach ($valueBucket as $value) {
                $count = 0;
@@ -127,9 +126,9 @@ final class EsResponseToResult
        foreach ($buckets as $bucket) {
            $code = $bucket['key'];
            $workBucket = $bucket['agg_number_facet_value'];
            $selectedBuket = !empty($bucketsFiltered[$code]) ? $bucketsFiltered[$code] : null;
            $selectedBucket = !empty($bucketsFiltered[$code]) ? $bucketsFiltered[$code] : null;

            $facet = new Facet(new FacetRangeType(), $code);
            $facet = new FacetResult(FacetType::RANGE, $code);
            $facetItem = FacetItemRange::create(
                FacetItemRangeDTO::create(
                    $workBucket['min'],
@@ -137,14 +136,14 @@ final class EsResponseToResult
                    $workBucket['avg'],
                    $workBucket['sum']
                ),
                $selectedBuket !== null ? FacetItemRangeDTO::create(
                    $selectedBuket['min'],
                    $selectedBuket['max'],
                    $selectedBuket['avg'],
                    $selectedBuket['sum']
                $selectedBucket !== null ? FacetItemRangeDTO::create(
                    $selectedBucket['min'],
                    $selectedBucket['max'],
                    $selectedBucket['avg'],
                    $selectedBucket['sum']
                ) : FacetItemRangeDTO::create(),
                $selectedBuket ? $selectedBuket['count'] : 0,
                $selectedBuket !== null
                $selectedBucket ? $selectedBucket['count'] : 0,
                $selectedBucket !== null
            );
            $facet->products->add($facetItem);

+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@

namespace IQDEV\ElasticSearch;

use IQDEV\ElasticSearch\Filter\FilterCollection;
use IQDEV\ElasticSearch\Filter\Collection\FilterCollection;
use IQDEV\ElasticSearch\Order\OrderCollection;

final class Criteria
+7 −7
Original line number Diff line number Diff line
@@ -4,8 +4,8 @@ namespace IQDEV\ElasticSearch\Document;

use IQDEV\ElasticSearch\Config\MappingValidator;
use IQDEV\ElasticSearch\Configuration;
use IQDEV\ElasticSearch\Facet\FacetCategory;
use IQDEV\ElasticSearch\Facet\FacetCollection;
use IQDEV\ElasticSearch\Facet\Collection\FacetCollection;
use IQDEV\ElasticSearch\Facet\Facet;
use IQDEV\ElasticSearch\Helper\ArrayHelper;

class ProductDocument implements Document
@@ -17,11 +17,11 @@ class ProductDocument implements Document
    private array $info = [];
    private bool $skipEmpty = false;

    private FacetCategory $categoryFacet;
    private Facet $categoryFacet;


    public function __construct(
        FacetCategory $categoryFacet
        Facet $categoryFacet
    )
    {
        $this->keywordFacets = new FacetCollection();
@@ -31,7 +31,7 @@ class ProductDocument implements Document

    }

    public static function create(FacetCategory $categoryFacet): self
    public static function create(Facet $categoryFacet): self
    {
        return new self($categoryFacet);
    }
@@ -45,9 +45,9 @@ class ProductDocument implements Document
    }

    /**
     * @return FacetCategory
     * @return Facet
     */
    public function getCategoryFacet(): FacetCategory
    public function getCategoryFacet(): Facet
    {
        return $this->categoryFacet;
    }
Loading