Skip to content

Commit 6777dee

Browse files
committed
refactor: some more style changes to adhere more to original code style
Fixes #7478
1 parent 17571a2 commit 6777dee

File tree

5 files changed

+21
-36
lines changed

5 files changed

+21
-36
lines changed

src/Doctrine/Orm/Filter/PartialSearchFilter.php

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,8 @@ final class PartialSearchFilter implements FilterInterface, OpenApiParameterFilt
2929
use BackwardCompatibleFilterDescriptionTrait;
3030
use OpenApiFilterTrait;
3131

32-
public function apply(
33-
QueryBuilder $queryBuilder,
34-
QueryNameGeneratorInterface $queryNameGenerator,
35-
string $resourceClass,
36-
?Operation $operation = null,
37-
array $context = [],
38-
): void {
32+
public function apply(QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, ?Operation $operation = null, array $context = []): void
33+
{
3934
$parameter = $context['parameter'];
4035
$alias = $queryBuilder->getRootAliases()[0];
4136
$properties = $parameter->getProperties() ?? [$parameter->getProperty()];
@@ -44,34 +39,26 @@ public function apply(
4439
$parameterName = $queryNameGenerator->generateParameterName($property);
4540
$values = $parameter->getValue();
4641

47-
if (!\is_iterable($values)) {
48-
$queryBuilder->setParameter($parameterName, '%'.\strtolower($values).'%');
42+
if (!is_iterable($values)) {
43+
$queryBuilder->setParameter($parameterName, '%'.strtolower($values).'%');
4944

50-
$queryBuilder->{$context['whereClause'] ?? 'andWhere'}(
51-
$queryBuilder
52-
->expr()
53-
->like(
54-
'LOWER('.$field.')',
55-
':'.$parameterName,
56-
),
57-
);
45+
$queryBuilder->{$context['whereClause'] ?? 'andWhere'}($queryBuilder->expr()->like(
46+
'LOWER('.$field.')',
47+
':'.$parameterName,
48+
));
5849
} else {
5950
$likeExpressions = [];
6051
foreach ($values as $val) {
6152
$parameterName = $queryNameGenerator->generateParameterName($property);
62-
$likeExpressions[] = $queryBuilder
63-
->expr()
64-
->like(
65-
'LOWER('.$field.')',
66-
':'.$parameterName,
67-
);
68-
$queryBuilder->setParameter($parameterName, '%'.\strtolower($val).'%');
53+
$likeExpressions[] = $queryBuilder->expr()->like(
54+
'LOWER('.$field.')',
55+
':'.$parameterName,
56+
);
57+
$queryBuilder->setParameter($parameterName, '%'.strtolower($val).'%');
6958
}
7059

7160
$queryBuilder->{$context['whereClause'] ?? 'andWhere'}(
72-
$queryBuilder
73-
->expr()
74-
->orX(...$likeExpressions),
61+
$queryBuilder->expr()->orX(...$likeExpressions),
7562
);
7663
}
7764
}

src/Doctrine/Orm/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"require": {
2626
"php": ">=8.2",
2727
"api-platform/doctrine-common": "^4.2.0-alpha.3@alpha",
28-
"api-platform/metadata": "^4.2",
28+
"api-platform/metadata": "^4.2 || dev-fix/partial-exact-filter",
2929
"api-platform/state": "^4.2.4",
3030
"doctrine/orm": "^2.17 || ^3.0"
3131
},

src/Symfony/composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"api-platform/json-schema": "^4.2.3",
3535
"api-platform/jsonld": "^4.2.3",
3636
"api-platform/hydra": "^4.2.3",
37-
"api-platform/metadata": "^4.2.3",
37+
"api-platform/metadata": "^4.2.3 || dev-fix/partial-exact-filter",
3838
"api-platform/serializer": "^4.2.4",
3939
"api-platform/state": "^4.2.4",
4040
"api-platform/validator": "^4.2.3",
@@ -50,7 +50,7 @@
5050
"require-dev": {
5151
"api-platform/doctrine-common": "^4.2.3",
5252
"api-platform/doctrine-odm": "^4.2.3",
53-
"api-platform/doctrine-orm": "^4.2.3",
53+
"api-platform/doctrine-orm": "^4.2.3 || dev-fix/partial-exact-filter",
5454
"api-platform/elasticsearch": "^4.2.3",
5555
"api-platform/graphql": "^4.2.3",
5656
"phpspec/prophecy-phpunit": "^2.2",

tests/Fixtures/TestBundle/Entity/SearchFilterParameter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
'searchOnTextAndDate[:property]' => new QueryParameter(filter: 'app_filter_date_and_search'),
3838
'searchParameter[:property]' => new QueryParameter(
3939
filter : new PartialSearchFilter(),
40-
properties: ['foo']
40+
properties: ['foo'],
4141
),
4242
'q' => new QueryParameter(property: 'hydra:freetextQuery'),
4343
]

tests/Functional/Parameters/DoctrineTest.php

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,9 @@ public function testPartialSearchFilter(): void
124124
$resource = $this->isMongoDB() ? SearchFilterParameterDocument::class : SearchFilterParameter::class;
125125
$this->recreateSchema([$resource]);
126126
$this->loadFixtures($resource);
127-
$route = 'search_filter_parameter';
128-
$response = self::createClient()
129-
->request('GET', $route . '?searchParameter[foo]=baz')
130-
;
131-
$a = $response->toArray();
127+
$route = 'search_filter_parameter';
128+
$response = self::createClient()->request('GET', $route.'?searchParameter[foo]=baz');
129+
$a = $response->toArray();
132130
$this->assertEquals($a['hydra:member'][0]['foo'], 'baz');
133131
}
134132

0 commit comments

Comments
 (0)