Skip to content

Commit 4198154

Browse files
added Odm filters
1 parent 6b393a9 commit 4198154

File tree

1 file changed

+81
-28
lines changed

1 file changed

+81
-28
lines changed

src/Core/Upgrade/UpgradeApiFilterVisitor.php

Lines changed: 81 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,34 @@
1414
namespace ApiPlatform\Core\Upgrade;
1515

1616
use ApiPlatform\Core\Annotation\ApiFilter as LegacyApiFilter;
17-
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\BooleanFilter as LegacyBooleanFilter;
18-
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\DateFilter as LegacyDateFilter;
19-
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\ExistsFilter as LegacyExistsFilter;
20-
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\NumericFilter as LegacyNumericFilter;
21-
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\OrderFilter as LegacyOrderFilter;
22-
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\RangeFilter as LegacyRangeFilter;
23-
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\SearchFilter as LegacySearchFilter;
24-
use ApiPlatform\Doctrine\Orm\Filter\BooleanFilter;
25-
use ApiPlatform\Doctrine\Orm\Filter\DateFilter;
26-
use ApiPlatform\Doctrine\Orm\Filter\ExistsFilter;
27-
use ApiPlatform\Doctrine\Orm\Filter\NumericFilter;
28-
use ApiPlatform\Doctrine\Orm\Filter\OrderFilter;
29-
use ApiPlatform\Doctrine\Orm\Filter\RangeFilter;
30-
use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
17+
use ApiPlatform\Core\Bridge\Doctrine\Odm\Filter\BooleanFilter as LegacyOdmBooleanFilter;
18+
use ApiPlatform\Core\Bridge\Doctrine\Odm\Filter\DateFilter as LegacyOdmDateFilter;
19+
use ApiPlatform\Core\Bridge\Doctrine\Odm\Filter\ExistsFilter as LegacyOdmExistsFilter;
20+
use ApiPlatform\Core\Bridge\Doctrine\Odm\Filter\NumericFilter as LegacyOdmNumericFilter;
21+
use ApiPlatform\Core\Bridge\Doctrine\Odm\Filter\OrderFilter as LegacyOdmOrderFilter;
22+
use ApiPlatform\Core\Bridge\Doctrine\Odm\Filter\RangeFilter as LegacyOdmRangeFilter;
23+
use ApiPlatform\Core\Bridge\Doctrine\Odm\Filter\SearchFilter as LegacyOdmSearchFilter;
24+
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\BooleanFilter as LegacyOrmBooleanFilter;
25+
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\DateFilter as LegacyOrmDateFilter;
26+
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\ExistsFilter as LegacyOrmExistsFilter;
27+
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\NumericFilter as LegacyOrmNumericFilter;
28+
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\OrderFilter as LegacyOrmOrderFilter;
29+
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\RangeFilter as LegacyOrmRangeFilter;
30+
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\SearchFilter as LegacyOrmSearchFilter;
31+
use ApiPlatform\Doctrine\Odm\Filter\BooleanFilter as OdmBooleanFilter;;
32+
use ApiPlatform\Doctrine\Odm\Filter\DateFilter as OdmDateFilter;;
33+
use ApiPlatform\Doctrine\Odm\Filter\ExistsFilter as OdmExistsFilter;;
34+
use ApiPlatform\Doctrine\Odm\Filter\NumericFilter as OdmNumericFilter;;
35+
use ApiPlatform\Doctrine\Odm\Filter\OrderFilter as OdmOrderFilter;;
36+
use ApiPlatform\Doctrine\Odm\Filter\RangeFilter as OdmRangeFilter;;
37+
use ApiPlatform\Doctrine\Odm\Filter\SearchFilter as OdmSearchFilter;;
38+
use ApiPlatform\Doctrine\Orm\Filter\BooleanFilter as OrmBooleanFilter;;
39+
use ApiPlatform\Doctrine\Orm\Filter\DateFilter as OrmDateFilter;;
40+
use ApiPlatform\Doctrine\Orm\Filter\ExistsFilter as OrmExistsFilter;;
41+
use ApiPlatform\Doctrine\Orm\Filter\NumericFilter as OrmNumericFilter;;
42+
use ApiPlatform\Doctrine\Orm\Filter\OrderFilter as OrmOrderFilter;;
43+
use ApiPlatform\Doctrine\Orm\Filter\RangeFilter as OrmRangeFilter;;
44+
use ApiPlatform\Doctrine\Orm\Filter\SearchFilter as OrmSearchFilter;;
3145
use ApiPlatform\Metadata\ApiFilter;
3246
use ApiPlatform\Metadata\Resource\DeprecationMetadataTrait;
3347
use Doctrine\Common\Annotations\AnnotationReader;
@@ -56,13 +70,20 @@ public function enterNode(Node $node)
5670
if ($node instanceof Node\Stmt\Namespace_) {
5771
$namespaces = [
5872
ApiFilter::class,
59-
SearchFilter::class,
60-
ExistsFilter::class,
61-
DateFilter::class,
62-
BooleanFilter::class,
63-
NumericFilter::class,
64-
OrderFilter::class,
65-
RangeFilter::class,
73+
OdmSearchFilter::class,
74+
OdmExistsFilter::class,
75+
OdmDateFilter::class,
76+
OdmBooleanFilter::class,
77+
OdmNumericFilter::class,
78+
OdmOrderFilter::class,
79+
OdmRangeFilter::class,
80+
OrmSearchFilter::class,
81+
OrmExistsFilter::class,
82+
OrmDateFilter::class,
83+
OrmBooleanFilter::class,
84+
OrmNumericFilter::class,
85+
OrmOrderFilter::class,
86+
OrmRangeFilter::class,
6687
];
6788

6889
foreach ($node->stmts as $k => $stmt) {
@@ -72,35 +93,67 @@ public function enterNode(Node $node)
7293

7394
$useStatement = implode('\\', $stmt->uses[0]->name->parts);
7495

96+
if (false !== ($key = array_search($useStatement, $namespaces, true))) {
97+
unset($namespaces[$key]);
98+
}
7599
if (LegacyApiFilter::class === $useStatement) {
76100
unset($node->stmts[$k]);
77101
continue;
78102
}
79-
if (LegacySearchFilter::class === $useStatement) {
103+
if (LegacyOdmSearchFilter::class === $useStatement) {
104+
unset($node->stmts[$k]);
105+
continue;
106+
}
107+
if (LegacyOdmExistsFilter::class === $useStatement) {
108+
unset($node->stmts[$k]);
109+
continue;
110+
}
111+
if (LegacyOdmDateFilter::class === $useStatement) {
112+
unset($node->stmts[$k]);
113+
continue;
114+
}
115+
if (LegacyOdmBooleanFilter::class === $useStatement) {
116+
unset($node->stmts[$k]);
117+
continue;
118+
}
119+
if (LegacyOdmNumericFilter::class === $useStatement) {
120+
unset($node->stmts[$k]);
121+
continue;
122+
}
123+
if (LegacyOdmOrderFilter::class === $useStatement) {
124+
unset($node->stmts[$k]);
125+
continue;
126+
}
127+
if (LegacyOdmRangeFilter::class === $useStatement) {
128+
unset($node->stmts[$k]);
129+
continue;
130+
}
131+
132+
if (LegacyOrmSearchFilter::class === $useStatement) {
80133
unset($node->stmts[$k]);
81134
continue;
82135
}
83-
if (LegacyExistsFilter::class === $useStatement) {
136+
if (LegacyOrmExistsFilter::class === $useStatement) {
84137
unset($node->stmts[$k]);
85138
continue;
86139
}
87-
if (LegacyDateFilter::class === $useStatement) {
140+
if (LegacyOrmDateFilter::class === $useStatement) {
88141
unset($node->stmts[$k]);
89142
continue;
90143
}
91-
if (LegacyBooleanFilter::class === $useStatement) {
144+
if (LegacyOrmBooleanFilter::class === $useStatement) {
92145
unset($node->stmts[$k]);
93146
continue;
94147
}
95-
if (LegacyNumericFilter::class === $useStatement) {
148+
if (LegacyOrmNumericFilter::class === $useStatement) {
96149
unset($node->stmts[$k]);
97150
continue;
98151
}
99-
if (LegacyOrderFilter::class === $useStatement) {
152+
if (LegacyOrmOrderFilter::class === $useStatement) {
100153
unset($node->stmts[$k]);
101154
continue;
102155
}
103-
if (LegacyRangeFilter::class === $useStatement) {
156+
if (LegacyOrmRangeFilter::class === $useStatement) {
104157
unset($node->stmts[$k]);
105158
continue;
106159
}

0 commit comments

Comments
 (0)