|
8 | 8 | use Sofascore\PurgatoryBundle\Cache\Configuration\ConfigurationLoader; |
9 | 9 | use Sofascore\PurgatoryBundle\Cache\PropertyResolver\AssociationResolver; |
10 | 10 | use Sofascore\PurgatoryBundle\Cache\PropertyResolver\EmbeddableResolver; |
| 11 | +use Sofascore\PurgatoryBundle\Cache\PropertyResolver\ExpressionLanguage\InverseRelationExpressionTransformer; |
11 | 12 | use Sofascore\PurgatoryBundle\Cache\PropertyResolver\InverseValuesBuilder\CompoundInverseValuesBuilder; |
12 | 13 | use Sofascore\PurgatoryBundle\Cache\PropertyResolver\InverseValuesBuilder\DynamicInverseValuesBuilder; |
| 14 | +use Sofascore\PurgatoryBundle\Cache\PropertyResolver\InverseValuesBuilder\ExpressionInverseValuesBuilder; |
13 | 15 | use Sofascore\PurgatoryBundle\Cache\PropertyResolver\InverseValuesBuilder\PropertyInverseValuesBuilder; |
14 | 16 | use Sofascore\PurgatoryBundle\Cache\PropertyResolver\MethodResolver; |
15 | 17 | use Sofascore\PurgatoryBundle\Cache\PropertyResolver\PropertyResolver; |
|
31 | 33 | use Sofascore\PurgatoryBundle\RouteParamValueResolver\CompoundValuesResolver; |
32 | 34 | use Sofascore\PurgatoryBundle\RouteParamValueResolver\DynamicValuesResolver; |
33 | 35 | use Sofascore\PurgatoryBundle\RouteParamValueResolver\EnumValuesResolver; |
| 36 | +use Sofascore\PurgatoryBundle\RouteParamValueResolver\ExpressionValuesResolver; |
34 | 37 | use Sofascore\PurgatoryBundle\RouteParamValueResolver\PropertyValuesResolver; |
35 | 38 | use Sofascore\PurgatoryBundle\RouteParamValueResolver\RawValuesResolver; |
36 | 39 | use Sofascore\PurgatoryBundle\RouteProvider\AbstractEntityRouteProvider; |
|
95 | 98 | ->set('sofascore.purgatory.subscription_resolver.association', AssociationResolver::class) |
96 | 99 | ->tag('purgatory.subscription_resolver') |
97 | 100 | ->args([ |
98 | | - service('property_info.reflection_extractor'), |
99 | 101 | tagged_locator('purgatory.inverse_values_builder', defaultIndexMethod: 'for'), |
| 102 | + service('sofascore.purgatory.inverse_relation_expression_transformer'), |
100 | 103 | ]) |
101 | 104 |
|
102 | 105 | ->set('sofascore.purgatory.subscription_resolver.embeddable', EmbeddableResolver::class) |
|
105 | 108 | service('doctrine'), |
106 | 109 | ]) |
107 | 110 |
|
| 111 | + ->set('sofascore.purgatory.inverse_relation_expression_transformer', InverseRelationExpressionTransformer::class) |
| 112 | + ->args([ |
| 113 | + service('property_info.reflection_extractor'), |
| 114 | + ]) |
| 115 | + |
108 | 116 | ->set('sofascore.purgatory.inverse_values_builder.compound', CompoundInverseValuesBuilder::class) |
109 | 117 | ->tag('purgatory.inverse_values_builder') |
110 | 118 | ->args([ |
|
114 | 122 | ->set('sofascore.purgatory.inverse_values_builder.dynamic', DynamicInverseValuesBuilder::class) |
115 | 123 | ->tag('purgatory.inverse_values_builder') |
116 | 124 |
|
| 125 | + ->set('sofascore.purgatory.inverse_values_builder.expression', ExpressionInverseValuesBuilder::class) |
| 126 | + ->tag('purgatory.inverse_values_builder') |
| 127 | + ->args([ |
| 128 | + service('sofascore.purgatory.inverse_relation_expression_transformer'), |
| 129 | + ]) |
| 130 | + |
117 | 131 | ->set('sofascore.purgatory.inverse_values_builder.property', PropertyInverseValuesBuilder::class) |
118 | 132 | ->tag('purgatory.inverse_values_builder') |
119 | 133 |
|
|
240 | 254 | service('sofascore.purgatory.property_accessor'), |
241 | 255 | ]) |
242 | 256 |
|
| 257 | + ->set('sofascore.purgatory.route_parameter_resolver.expression', ExpressionValuesResolver::class) |
| 258 | + ->tag('purgatory.route_param_value_resolver') |
| 259 | + ->args([ |
| 260 | + service('sofascore.purgatory.expression_language')->nullOnInvalid(), |
| 261 | + ]) |
| 262 | + |
243 | 263 | ->set('sofascore.purgatory.property_accessor', PurgatoryPropertyAccessor::class) |
244 | 264 | ->args([ |
245 | 265 | service('property_accessor'), |
|
0 commit comments