Commit 9a8157be authored by Адлан Шамавов's avatar Адлан Шамавов
Browse files

fix: Удален выброс исключения в фильтрах

parent ea54485f
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
<?php

declare(strict_types=1);

namespace IQDEV\Packages\DoctrineHttpFilter\Exception;

use Exception;

class FilterParameterValueIsNullException extends Exception
{
    public function __construct(string $key)
    {
        parent::__construct('Filter parameter value of key [' . $key . '] is null.');
    }
}
+2 −4
Original line number Diff line number Diff line
@@ -5,12 +5,10 @@ declare(strict_types=1);
namespace IQDEV\Packages\DoctrineHttpFilter\Filter;

use Doctrine\ORM\QueryBuilder;
use IQDEV\Packages\DoctrineHttpFilter\Exception\FilterParameterValueIsNullException;
use IQDEV\Packages\DoctrineHttpFilter\HttpFilter;

final class Date extends HttpFilter
{
    /** @throws FilterParameterValueIsNullException */
    public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder
    {
        $queryBuilder->where(
@@ -18,11 +16,11 @@ final class Date extends HttpFilter
        );

        if (is_null($this->getHttpValue())) {
            throw new FilterParameterValueIsNullException($this->field);
            return $queryBuilder;
        }

        if (! \DateTimeImmutable::createFromFormat('Y-m-d', $this->getHttpValue())) {
            throw new FilterParameterValueIsNullException($this->field);
            return $queryBuilder;
        }

        $queryBuilder->setParameter($this->getParameterKey(), $this->getHttpValue());
+2 −4
Original line number Diff line number Diff line
@@ -5,12 +5,10 @@ declare(strict_types=1);
namespace IQDEV\Packages\DoctrineHttpFilter\Filter;

use Doctrine\ORM\QueryBuilder;
use IQDEV\Packages\DoctrineHttpFilter\Exception\FilterParameterValueIsNullException;
use IQDEV\Packages\DoctrineHttpFilter\HttpFilter;

final class DateRange extends HttpFilter
{
    /**  @throws FilterParameterValueIsNullException */
    public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder
    {
        $httpValues = $this->getHttpValue();
@@ -18,14 +16,14 @@ final class DateRange extends HttpFilter
        $toDate = $httpValues['to'] ?? null;

        if (is_null($fromDate) && is_null($toDate)) {
            throw new FilterParameterValueIsNullException($this->field);
            return $queryBuilder;
        }

        $fromDate = \DateTimeImmutable::createFromFormat('Y-m-d', $fromDate ?? '');
        $toDate = \DateTimeImmutable::createFromFormat('Y-m-d', $toDate ?? '');

        if (! $fromDate && ! $toDate) {
            throw new FilterParameterValueIsNullException($this->field);
            return $queryBuilder;
        }

        if ($fromDate) {
+1 −3
Original line number Diff line number Diff line
@@ -5,16 +5,14 @@ declare(strict_types=1);
namespace IQDEV\Packages\DoctrineHttpFilter\Filter;

use Doctrine\ORM\QueryBuilder;
use IQDEV\Packages\DoctrineHttpFilter\Exception\FilterParameterValueIsNullException;
use IQDEV\Packages\DoctrineHttpFilter\HttpFilter;

final class In extends HttpFilter
{
    /** @throws FilterParameterValueIsNullException */
    public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder
    {
        if ($this->getHttpValue() === null || ! is_array($this->getHttpValue())) {
            throw new FilterParameterValueIsNullException($this->field);
            return $queryBuilder;
        }

        $values = array_map(fn($value) => '\'' . $value . '\'', $this->getHttpValue());
+1 −3
Original line number Diff line number Diff line
@@ -5,12 +5,10 @@ declare(strict_types=1);
namespace IQDEV\Packages\DoctrineHttpFilter\Filter;

use Doctrine\ORM\QueryBuilder;
use IQDEV\Packages\DoctrineHttpFilter\Exception\FilterParameterValueIsNullException;
use IQDEV\Packages\DoctrineHttpFilter\HttpFilter;

final class Like extends HttpFilter
{
    /** @throws FilterParameterValueIsNullException */
    public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder
    {
        $queryBuilder->where(
@@ -18,7 +16,7 @@ final class Like extends HttpFilter
        );

        if ($this->getHttpValue() === null) {
            throw new FilterParameterValueIsNullException($this->field);
            return $queryBuilder;
        }

        $queryBuilder->setParameter($this->getParameterKey(), '%' . $this->getHttpValue() . '%');
Loading