From 8cffe579b70baf26c30ea3d2f3ec7b904f42b218 Mon Sep 17 00:00:00 2001 From: "@cmoreno" Date: Tue, 4 Mar 2025 12:17:05 +0100 Subject: [PATCH 1/4] add api filter by money amount --- src/ApiResource/Gateway/ChargeApiResource.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ApiResource/Gateway/ChargeApiResource.php b/src/ApiResource/Gateway/ChargeApiResource.php index a3e6dd7..2b4be70 100644 --- a/src/ApiResource/Gateway/ChargeApiResource.php +++ b/src/ApiResource/Gateway/ChargeApiResource.php @@ -2,8 +2,10 @@ namespace App\ApiResource\Gateway; +use ApiPlatform\Doctrine\Orm\Filter\RangeFilter; use ApiPlatform\Doctrine\Orm\State\Options; use ApiPlatform\Metadata as API; +use ApiPlatform\Metadata\ApiFilter; use App\ApiResource\Accounting\AccountingApiResource; use App\Entity\Gateway\Charge; use App\Entity\Money; @@ -20,6 +22,8 @@ use Symfony\Component\Validator\Constraints as Assert; provider: ApiResourceStateProvider::class )] #[API\Get()] +#[API\GetCollection()] +#[ApiFilter(RangeFilter::class, properties: ['money.amount'])] class ChargeApiResource { #[API\ApiProperty(writable: false, identifier: true)] From 00f4986dfa52f24d5ff284393452faaed9945025 Mon Sep 17 00:00:00 2001 From: cmorenov1402 Date: Thu, 6 Mar 2025 16:29:36 +0100 Subject: [PATCH 2/4] Add equal money amount filter --- src/ApiResource/Gateway/ChargeApiResource.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ApiResource/Gateway/ChargeApiResource.php b/src/ApiResource/Gateway/ChargeApiResource.php index 2b4be70..94f75f3 100644 --- a/src/ApiResource/Gateway/ChargeApiResource.php +++ b/src/ApiResource/Gateway/ChargeApiResource.php @@ -3,6 +3,7 @@ namespace App\ApiResource\Gateway; use ApiPlatform\Doctrine\Orm\Filter\RangeFilter; +use ApiPlatform\Doctrine\Orm\Filter\SearchFilter; use ApiPlatform\Doctrine\Orm\State\Options; use ApiPlatform\Metadata as API; use ApiPlatform\Metadata\ApiFilter; @@ -24,6 +25,7 @@ use Symfony\Component\Validator\Constraints as Assert; #[API\Get()] #[API\GetCollection()] #[ApiFilter(RangeFilter::class, properties: ['money.amount'])] +#[ApiFilter(SearchFilter::class, properties: ['money.amount' => 'exact'])] class ChargeApiResource { #[API\ApiProperty(writable: false, identifier: true)] From c977ca87849c907bb20210ef15a2652ae740e2d0 Mon Sep 17 00:00:00 2001 From: cmorenov1402 Date: Fri, 7 Mar 2025 12:47:34 +0100 Subject: [PATCH 3/4] Optimize gateway charge structure --- src/ApiResource/Gateway/ChargeApiResource.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/ApiResource/Gateway/ChargeApiResource.php b/src/ApiResource/Gateway/ChargeApiResource.php index 94f75f3..c907fe6 100644 --- a/src/ApiResource/Gateway/ChargeApiResource.php +++ b/src/ApiResource/Gateway/ChargeApiResource.php @@ -2,11 +2,9 @@ namespace App\ApiResource\Gateway; -use ApiPlatform\Doctrine\Orm\Filter\RangeFilter; -use ApiPlatform\Doctrine\Orm\Filter\SearchFilter; +use ApiPlatform\Doctrine\Orm\Filter as Filter; use ApiPlatform\Doctrine\Orm\State\Options; use ApiPlatform\Metadata as API; -use ApiPlatform\Metadata\ApiFilter; use App\ApiResource\Accounting\AccountingApiResource; use App\Entity\Gateway\Charge; use App\Entity\Money; @@ -24,8 +22,6 @@ use Symfony\Component\Validator\Constraints as Assert; )] #[API\Get()] #[API\GetCollection()] -#[ApiFilter(RangeFilter::class, properties: ['money.amount'])] -#[ApiFilter(SearchFilter::class, properties: ['money.amount' => 'exact'])] class ChargeApiResource { #[API\ApiProperty(writable: false, identifier: true)] @@ -65,5 +61,7 @@ class ChargeApiResource * It is money before fees and taxes, not accountable. */ #[Assert\NotBlank()] + #[API\ApiFilter(Filter\RangeFilter::class, properties: ['money.amount'])] + #[API\ApiFilter(Filter\SearchFilter::class, properties: ['money.amount' => 'exact'])] public Money $money; } From 6e9e405ed78e5e544d15de21c096518dc3080a8e Mon Sep 17 00:00:00 2001 From: cmorenov1402 Date: Fri, 7 Mar 2025 15:04:26 +0100 Subject: [PATCH 4/4] Apply PHP CS Fixer --- src/ApiResource/Gateway/ChargeApiResource.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ApiResource/Gateway/ChargeApiResource.php b/src/ApiResource/Gateway/ChargeApiResource.php index c907fe6..620af8f 100644 --- a/src/ApiResource/Gateway/ChargeApiResource.php +++ b/src/ApiResource/Gateway/ChargeApiResource.php @@ -2,7 +2,7 @@ namespace App\ApiResource\Gateway; -use ApiPlatform\Doctrine\Orm\Filter as Filter; +use ApiPlatform\Doctrine\Orm\Filter; use ApiPlatform\Doctrine\Orm\State\Options; use ApiPlatform\Metadata as API; use App\ApiResource\Accounting\AccountingApiResource;