1414namespace ApiPlatform \Tests \Fixtures \TestBundle \Entity ;
1515
1616use ApiPlatform \Doctrine \Orm \Filter \DateFilter ;
17- use ApiPlatform \Doctrine \Orm \Filter \ExistsFilter ;
18- use ApiPlatform \Doctrine \Orm \Filter \SearchFilter ;
19- use ApiPlatform \Metadata \ApiFilter ;
17+ use ApiPlatform \Doctrine \Orm \Filter \ExactFilter ;
2018use ApiPlatform \Metadata \ApiProperty ;
2119use ApiPlatform \Metadata \ApiResource ;
2220use ApiPlatform \Metadata \Get ;
2321use ApiPlatform \Metadata \GetCollection ;
2422use ApiPlatform \Metadata \GraphQl \Mutation ;
2523use ApiPlatform \Metadata \GraphQl \Query ;
2624use ApiPlatform \Metadata \Link ;
25+ use ApiPlatform \Metadata \QueryParameter ;
2726use Doctrine \Common \Collections \ArrayCollection ;
2827use Doctrine \Common \Collections \Collection ;
2928use Doctrine \ORM \Mapping as ORM ;
3534 *
3635 * @author Kévin Dunglas <dunglas@gmail.com>
3736 */
38- #[ApiResource(
39- graphQlOperations: [
40- new Query (name: 'item_query ' ),
41- new Mutation (name: 'update ' , normalizationContext: ['groups ' => ['chicago ' , 'fakemanytomany ' ]], denormalizationContext: ['groups ' => ['friends ' ]]),
42- ],
43- types: ['https://schema.org/Product ' ],
44- normalizationContext: ['groups ' => ['friends ' ]],
45- filters: ['related_dummy.friends ' , 'related_dummy.complex_sub_query ' ]
46- )]
37+ #[ApiResource(graphQlOperations: [
38+ new Query (name: 'item_query ' ),
39+ new Mutation (name: 'update ' , normalizationContext: ['groups ' => ['chicago ' , 'fakemanytomany ' ]], denormalizationContext: ['groups ' => ['friends ' ]]),
40+ ], types: ['https://schema.org/Product ' ], normalizationContext: ['groups ' => ['friends ' ]], filters: ['related_dummy.friends ' , 'related_dummy.complex_sub_query ' ], parameters: ['id ' => new QueryParameter (filter: new ExactFilter ()), 'symfony ' => new QueryParameter (filter: new ExactFilter ()), 'dummyDate ' => new QueryParameter (filter: new DateFilter ())])]
4741#[ApiResource(uriTemplate: '/dummies/{id}/related_dummies{._format} ' , uriVariables: ['id ' => new Link (fromClass: Dummy::class, identifiers: ['id ' ], fromProperty: 'relatedDummies ' )], status: 200 , types: ['https://schema.org/Product ' ], filters: ['related_dummy.friends ' , 'related_dummy.complex_sub_query ' ], normalizationContext: ['groups ' => ['friends ' ]], operations: [new GetCollection ()])]
4842#[ApiResource(uriTemplate: '/dummies/{id}/related_dummies/{relatedDummies}{._format} ' , uriVariables: ['id ' => new Link (fromClass: Dummy::class, identifiers: ['id ' ], fromProperty: 'relatedDummies ' ), 'relatedDummies ' => new Link (fromClass: self ::class, identifiers: ['id ' ])], status: 200 , types: ['https://schema.org/Product ' ], filters: ['related_dummy.friends ' , 'related_dummy.complex_sub_query ' ], normalizationContext: ['groups ' => ['friends ' ]], operations: [new Get ()])]
4943#[ApiResource(uriTemplate: '/related_dummies/{id}/id{._format} ' , uriVariables: ['id ' => new Link (fromClass: self ::class, identifiers: ['id ' ])], status: 200 , types: ['https://schema.org/Product ' ], filters: ['related_dummy.friends ' , 'related_dummy.complex_sub_query ' ], normalizationContext: ['groups ' => ['friends ' ]], operations: [new Get ()])]
5044#[ApiResource(uriTemplate: '/related_owned_dummies/{id}/owning_dummy/related_dummies{._format} ' , uriVariables: ['id ' => new Link (fromClass: RelatedOwnedDummy::class, identifiers: ['id ' ], fromProperty: 'owningDummy ' ), 'owningDummy ' => new Link (fromClass: Dummy::class, identifiers: [], expandedValue: 'owning_dummy ' , fromProperty: 'relatedDummies ' )], status: 200 , types: ['https://schema.org/Product ' ], filters: ['related_dummy.friends ' , 'related_dummy.complex_sub_query ' ], normalizationContext: ['groups ' => ['friends ' ]], operations: [new GetCollection ()])]
5145#[ApiResource(uriTemplate: '/related_owned_dummies/{id}/owning_dummy/related_dummies/{relatedDummies}{._format} ' , uriVariables: ['id ' => new Link (fromClass: RelatedOwnedDummy::class, identifiers: ['id ' ], fromProperty: 'owningDummy ' ), 'owningDummy ' => new Link (fromClass: Dummy::class, identifiers: [], expandedValue: 'owning_dummy ' , fromProperty: 'relatedDummies ' ), 'relatedDummies ' => new Link (fromClass: self ::class, identifiers: ['id ' ])], status: 200 , types: ['https://schema.org/Product ' ], filters: ['related_dummy.friends ' , 'related_dummy.complex_sub_query ' ], normalizationContext: ['groups ' => ['friends ' ]], operations: [new Get ()])]
5246#[ApiResource(uriTemplate: '/related_owning_dummies/{id}/owned_dummy/related_dummies{._format} ' , uriVariables: ['id ' => new Link (fromClass: RelatedOwningDummy::class, identifiers: ['id ' ], fromProperty: 'ownedDummy ' ), 'ownedDummy ' => new Link (fromClass: Dummy::class, identifiers: [], expandedValue: 'owned_dummy ' , fromProperty: 'relatedDummies ' )], status: 200 , types: ['https://schema.org/Product ' ], filters: ['related_dummy.friends ' , 'related_dummy.complex_sub_query ' ], normalizationContext: ['groups ' => ['friends ' ]], operations: [new GetCollection ()])]
5347#[ApiResource(uriTemplate: '/related_owning_dummies/{id}/owned_dummy/related_dummies/{relatedDummies}{._format} ' , uriVariables: ['id ' => new Link (fromClass: RelatedOwningDummy::class, identifiers: ['id ' ], fromProperty: 'ownedDummy ' ), 'ownedDummy ' => new Link (fromClass: Dummy::class, identifiers: [], expandedValue: 'owned_dummy ' , fromProperty: 'relatedDummies ' ), 'relatedDummies ' => new Link (fromClass: self ::class, identifiers: ['id ' ])], status: 200 , types: ['https://schema.org/Product ' ], filters: ['related_dummy.friends ' , 'related_dummy.complex_sub_query ' ], normalizationContext: ['groups ' => ['friends ' ]], operations: [new Get ()])]
54- #[ApiFilter(filterClass: SearchFilter::class, properties: ['id ' ])]
5548#[ORM \Entity]
5649class RelatedDummy extends ParentDummy implements \Stringable
5750{
@@ -73,8 +66,6 @@ class RelatedDummy extends ParentDummy implements \Stringable
7366 #[ApiProperty(deprecationReason: 'This property is deprecated for upgrade test ' )]
7467 #[ORM \Column]
7568 #[Groups(['barcelona ' , 'chicago ' , 'friends ' ])]
76- #[ApiFilter(filterClass: SearchFilter::class)]
77- #[ApiFilter(filterClass: ExistsFilter::class)]
7869 protected $ symfony = 'symfony ' ;
7970
8071 /**
@@ -83,7 +74,6 @@ class RelatedDummy extends ParentDummy implements \Stringable
8374 #[ORM \Column(type: 'datetime ' , nullable: true )]
8475 #[Assert \DateTime]
8576 #[Groups(['friends ' ])]
86- #[ApiFilter(filterClass: DateFilter::class)]
8777 public $ dummyDate ;
8878
8979 #[ORM \ManyToOne(targetEntity: ThirdLevel::class, cascade: ['persist ' ], inversedBy: 'relatedDummies ' )]
0 commit comments