|
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; |
|
96 | 99 | ->set('sofascore.purgatory.subscription_resolver.association', AssociationResolver::class) |
97 | 100 | ->tag('purgatory.subscription_resolver') |
98 | 101 | ->args([ |
99 | | - service('property_info.reflection_extractor'), |
100 | 102 | tagged_locator('purgatory.inverse_values_builder', defaultIndexMethod: 'for'), |
| 103 | + service('sofascore.purgatory.inverse_relation_expression_transformer'), |
101 | 104 | ]) |
102 | 105 |
|
103 | 106 | ->set('sofascore.purgatory.subscription_resolver.embeddable', EmbeddableResolver::class) |
|
106 | 109 | service('doctrine'), |
107 | 110 | ]) |
108 | 111 |
|
| 112 | + ->set('sofascore.purgatory.inverse_relation_expression_transformer', InverseRelationExpressionTransformer::class) |
| 113 | + ->args([ |
| 114 | + service('property_info.reflection_extractor'), |
| 115 | + ]) |
| 116 | + |
109 | 117 | ->set('sofascore.purgatory.inverse_values_builder.compound', CompoundInverseValuesBuilder::class) |
110 | 118 | ->tag('purgatory.inverse_values_builder') |
111 | 119 | ->args([ |
|
117 | 125 | ->set('sofascore.purgatory.inverse_values_builder.dynamic', DynamicInverseValuesBuilder::class) |
118 | 126 | ->tag('purgatory.inverse_values_builder') |
119 | 127 |
|
| 128 | + ->set('sofascore.purgatory.inverse_values_builder.expression', ExpressionInverseValuesBuilder::class) |
| 129 | + ->tag('purgatory.inverse_values_builder') |
| 130 | + ->args([ |
| 131 | + service('sofascore.purgatory.inverse_relation_expression_transformer'), |
| 132 | + ]) |
| 133 | + |
120 | 134 | ->set('sofascore.purgatory.inverse_values_builder.property', PropertyInverseValuesBuilder::class) |
121 | 135 | ->tag('purgatory.inverse_values_builder') |
122 | 136 |
|
|
243 | 257 | service('sofascore.purgatory.property_accessor'), |
244 | 258 | ]) |
245 | 259 |
|
| 260 | + ->set('sofascore.purgatory.route_parameter_resolver.expression', ExpressionValuesResolver::class) |
| 261 | + ->tag('purgatory.route_param_value_resolver') |
| 262 | + ->args([ |
| 263 | + service('sofascore.purgatory.expression_language')->nullOnInvalid(), |
| 264 | + ]) |
| 265 | + |
246 | 266 | ->set('sofascore.purgatory.property_accessor', PurgatoryPropertyAccessor::class) |
247 | 267 | ->args([ |
248 | 268 | service('property_accessor'), |
|
0 commit comments