Skip to content

Commit 8622477

Browse files
authored
Merge pull request #1099 from meyerbaptiste/add_filter_locator
Add filter locator and deprecate filter collection
2 parents a409851 + 08fc0a0 commit 8622477

File tree

35 files changed

+955
-371
lines changed

35 files changed

+955
-371
lines changed

composer.json

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@
1717

1818
"doctrine/inflector": "^1.0",
1919
"psr/cache": "^1.0",
20-
"symfony/http-foundation": "^2.7 || ^3.0",
21-
"symfony/http-kernel": "^2.7 || ^3.0",
20+
"psr/container": "^1.0",
21+
"symfony/http-foundation": "^3.3@beta",
22+
"symfony/http-kernel": "^3.3@beta",
2223
"symfony/property-access": "^2.7 || ^3.0",
23-
"symfony/property-info": "^3.1",
24-
"symfony/serializer": "^3.1",
24+
"symfony/property-info": "^3.3@beta",
25+
"symfony/serializer": "^3.3@beta",
2526
"willdurand/negotiation": "^2.0.3"
2627
},
2728
"require-dev": {
@@ -42,18 +43,23 @@
4243
"phpunit/phpunit": "^5.6.8",
4344
"psr/log": "^1.0",
4445
"sensio/framework-extra-bundle": "^3.0",
45-
"symfony/asset": "^2.7 || ^3.0",
46-
"symfony/cache": "^3.1",
47-
"symfony/config": "^3.2",
48-
"symfony/dependency-injection": "^2.7 || ^3.0",
46+
"symfony/asset": "^3.3@beta",
47+
"symfony/cache": "^3.3@beta",
48+
"symfony/config": "^3.3@beta",
49+
"symfony/console": "^3.3@beta",
50+
"symfony/dependency-injection": "^3.3@beta",
4951
"symfony/doctrine-bridge": "^2.8 || ^3.0",
52+
"symfony/event-dispatcher": "^3.3@beta",
5053
"symfony/expression-language": "^2.8 || ^3.0",
51-
"symfony/finder": "^2.7 || ^3.0",
52-
"symfony/framework-bundle": "^3.1",
54+
"symfony/finder": "^3.3@beta",
55+
"symfony/form": "^3.3@beta",
56+
"symfony/framework-bundle": "^3.3@beta",
5357
"symfony/phpunit-bridge": "^2.7 || ^3.0",
58+
"symfony/routing": "^3.3@beta",
5459
"symfony/security": "^2.7 || ^3.0",
5560
"symfony/twig-bundle": "^2.8 || ^3.1",
56-
"symfony/validator": "^2.7 || ^3.0"
61+
"symfony/validator": "^3.3@beta",
62+
"symfony/yaml": "^3.3@beta"
5763
},
5864
"suggest": {
5965
"friendsofsymfony/user-bundle": "To use the FOSUserBundle bridge.",

features/doctrine/date_filter.feature

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -406,73 +406,67 @@ Feature: Date filter on collections
406406
},
407407
"hydra:search": {
408408
"@type": "hydra:IriTemplate",
409-
"hydra:template": "\/dummies{?id,id[],name,alias,description,relatedDummy.name,relatedDummy.name[],relatedDummies,relatedDummies[],dummy,relatedDummies.name,order[id],order[name],order[relatedDummy.symfony],dummyDate[before],dummyDate[after],relatedDummy.dummyDate[before],relatedDummy.dummyDate[after],dummyFloat[between],dummyFloat[gt],dummyFloat[gte],dummyFloat[lt],dummyFloat[lte],dummyPrice[between],dummyPrice[gt],dummyPrice[gte],dummyPrice[lt],dummyPrice[lte],dummyBoolean,dummyFloat,dummyPrice,description[exists],relatedDummy.name[exists],dummyBoolean[exists]}",
409+
"hydra:template": "/dummies{?dummyBoolean,dummyDate[before],dummyDate[after],relatedDummy.dummyDate[before],relatedDummy.dummyDate[after],description[exists],relatedDummy.name[exists],dummyBoolean[exists],dummyFloat,dummyPrice,order[id],order[name],order[relatedDummy.symfony],dummyFloat[between],dummyFloat[gt],dummyFloat[gte],dummyFloat[lt],dummyFloat[lte],dummyPrice[between],dummyPrice[gt],dummyPrice[gte],dummyPrice[lt],dummyPrice[lte],id,id[],name,alias,description,relatedDummy.name,relatedDummy.name[],relatedDummies,relatedDummies[],dummy,relatedDummies.name}",
410410
"hydra:variableRepresentation": "BasicRepresentation",
411411
"hydra:mapping": [
412412
{
413413
"@type": "IriTemplateMapping",
414-
"variable": "id",
415-
"property": "id",
414+
"variable": "dummyBoolean",
415+
"property": "dummyBoolean",
416416
"required": false
417417
},
418418
{
419419
"@type": "IriTemplateMapping",
420-
"variable": "id[]",
421-
"property": "id",
420+
"variable": "dummyDate[before]",
421+
"property": "dummyDate",
422422
"required": false
423423
},
424424
{
425425
"@type": "IriTemplateMapping",
426-
"variable": "name",
427-
"property": "name",
426+
"variable": "dummyDate[after]",
427+
"property": "dummyDate",
428428
"required": false
429429
},
430430
{
431431
"@type": "IriTemplateMapping",
432-
"variable": "alias",
433-
"property": "alias",
432+
"variable": "relatedDummy.dummyDate[before]",
433+
"property": "relatedDummy.dummyDate",
434434
"required": false
435435
},
436436
{
437437
"@type": "IriTemplateMapping",
438-
"variable": "description",
439-
"property": "description",
438+
"variable": "relatedDummy.dummyDate[after]",
439+
"property": "relatedDummy.dummyDate",
440440
"required": false
441441
},
442442
{
443443
"@type": "IriTemplateMapping",
444-
"variable": "relatedDummy.name",
445-
"property": "relatedDummy.name",
444+
"variable": "description[exists]",
445+
"property": "description",
446446
"required": false
447447
},
448448
{
449449
"@type": "IriTemplateMapping",
450-
"variable": "relatedDummy.name[]",
450+
"variable": "relatedDummy.name[exists]",
451451
"property": "relatedDummy.name",
452452
"required": false
453453
},
454454
{
455455
"@type": "IriTemplateMapping",
456-
"variable": "relatedDummies",
457-
"property": "relatedDummies",
458-
"required": false
459-
},
460-
{
461-
"@type": "IriTemplateMapping",
462-
"variable": "relatedDummies[]",
463-
"property": "relatedDummies",
456+
"variable": "dummyBoolean[exists]",
457+
"property": "dummyBoolean",
464458
"required": false
465459
},
466460
{
467461
"@type": "IriTemplateMapping",
468-
"variable": "dummy",
469-
"property": "dummy",
462+
"variable": "dummyFloat",
463+
"property": "dummyFloat",
470464
"required": false
471465
},
472466
{
473467
"@type": "IriTemplateMapping",
474-
"variable": "relatedDummies.name",
475-
"property": "relatedDummies.name",
468+
"variable": "dummyPrice",
469+
"property": "dummyPrice",
476470
"required": false
477471
},
478472
{
@@ -493,30 +487,6 @@ Feature: Date filter on collections
493487
"property": "relatedDummy.symfony",
494488
"required": false
495489
},
496-
{
497-
"@type": "IriTemplateMapping",
498-
"variable": "dummyDate[before]",
499-
"property": "dummyDate",
500-
"required": false
501-
},
502-
{
503-
"@type": "IriTemplateMapping",
504-
"variable": "dummyDate[after]",
505-
"property": "dummyDate",
506-
"required": false
507-
},
508-
{
509-
"@type": "IriTemplateMapping",
510-
"variable": "relatedDummy.dummyDate[before]",
511-
"property": "relatedDummy.dummyDate",
512-
"required": false
513-
},
514-
{
515-
"@type": "IriTemplateMapping",
516-
"variable": "relatedDummy.dummyDate[after]",
517-
"property": "relatedDummy.dummyDate",
518-
"required": false
519-
},
520490
{
521491
"@type": "IriTemplateMapping",
522492
"variable": "dummyFloat[between]",
@@ -579,38 +549,68 @@ Feature: Date filter on collections
579549
},
580550
{
581551
"@type": "IriTemplateMapping",
582-
"variable": "dummyBoolean",
583-
"property": "dummyBoolean",
552+
"variable": "id",
553+
"property": "id",
584554
"required": false
585555
},
586556
{
587557
"@type": "IriTemplateMapping",
588-
"variable": "dummyFloat",
589-
"property": "dummyFloat",
558+
"variable": "id[]",
559+
"property": "id",
590560
"required": false
591561
},
592562
{
593563
"@type": "IriTemplateMapping",
594-
"variable": "dummyPrice",
595-
"property": "dummyPrice",
564+
"variable": "name",
565+
"property": "name",
596566
"required": false
597567
},
598568
{
599569
"@type": "IriTemplateMapping",
600-
"variable": "description[exists]",
570+
"variable": "alias",
571+
"property": "alias",
572+
"required": false
573+
},
574+
{
575+
"@type": "IriTemplateMapping",
576+
"variable": "description",
601577
"property": "description",
602578
"required": false
603579
},
604580
{
605581
"@type": "IriTemplateMapping",
606-
"variable": "relatedDummy.name[exists]",
582+
"variable": "relatedDummy.name",
607583
"property": "relatedDummy.name",
608584
"required": false
609585
},
610586
{
611587
"@type": "IriTemplateMapping",
612-
"variable": "dummyBoolean[exists]",
613-
"property": "dummyBoolean",
588+
"variable": "relatedDummy.name[]",
589+
"property": "relatedDummy.name",
590+
"required": false
591+
},
592+
{
593+
"@type": "IriTemplateMapping",
594+
"variable": "relatedDummies",
595+
"property": "relatedDummies",
596+
"required": false
597+
},
598+
{
599+
"@type": "IriTemplateMapping",
600+
"variable": "relatedDummies[]",
601+
"property": "relatedDummies",
602+
"required": false
603+
},
604+
{
605+
"@type": "IriTemplateMapping",
606+
"variable": "dummy",
607+
"property": "dummy",
608+
"required": false
609+
},
610+
{
611+
"@type": "IriTemplateMapping",
612+
"variable": "relatedDummies.name",
613+
"property": "relatedDummies.name",
614614
"required": false
615615
}
616616
]

features/hydra/collection.feature

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -235,12 +235,12 @@ Feature: Collections support
235235
And the JSON should be valid according to this schema:
236236
"""
237237
{
238-
"@id":"\/dummies?page=3",
238+
"@id":"/dummies?page=3",
239239
"@type":"hydra:PartialCollectionView",
240-
"hydra:first":"\/dummies?page=1",
241-
"hydra:last":"\/dummies?page=10",
242-
"hydra:previous":"\/dummies?page=2",
243-
"hydra:next":"\/dummies?page=4"
240+
"hydra:first":"/dummies?page=1",
241+
"hydra:last":"/dummies?page=10",
242+
"hydra:previous":"/dummies?page=2",
243+
"hydra:next":"/dummies?page=4"
244244
}
245245
"""
246246
Scenario: Filter with exact match

0 commit comments

Comments
 (0)