Skip to content

Commit a48fd84

Browse files
committed
Fix #86 regression: action controllers must also use FQCN as primary service ID
Symfony's RegisterControllerArgumentLocatorsPass keys controller argument locators by service ID. Controller routes resolve the controller by class name, so the FQCN must be the service ID — otherwise the locator can't be found at runtime and method-injected __invoke args (like UploadableFileManager) fail to resolve. Same principle as AP4 state providers: flip alias direction for all 7 action controller services so FQCN is the primary ID and the stable string ID is the alias.
1 parent c5cff0c commit a48fd84

1 file changed

Lines changed: 14 additions & 21 deletions

File tree

src/Resources/config/services.php

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -370,11 +370,10 @@
370370
$services->alias(DenyAccessListener::class, 'silverback.api_components.event_listener.security.deny_access');
371371

372372
$services
373-
->set('silverback.api_components.action.uploadable.download')
374-
->class(DownloadAction::class)
373+
->set(DownloadAction::class)
375374
->public()
376375
->tag('controller.service_arguments');
377-
$services->alias(DownloadAction::class, 'silverback.api_components.action.uploadable.download')->public();
376+
$services->alias('silverback.api_components.action.uploadable.download', DownloadAction::class)->public();
378377

379378
$services
380379
->set('silverback.api_components.helper.user.email_address_manager')
@@ -391,16 +390,15 @@
391390
$services->alias(EmailAddressManager::class, 'silverback.api_components.helper.user.email_address_manager');
392391

393392
$services
394-
->set('silverback.api_components.action.user.email_address_confirm')
395-
->class(EmailAddressConfirmAction::class)
393+
->set(EmailAddressConfirmAction::class)
396394
->public()
397395
->args(
398396
[
399397
new Reference(EmailAddressManager::class),
400398
]
401399
)
402400
->tag('controller.service_arguments');
403-
$services->alias(EmailAddressConfirmAction::class, 'silverback.api_components.action.user.email_address_confirm')->public();
401+
$services->alias('silverback.api_components.action.user.email_address_confirm', EmailAddressConfirmAction::class)->public();
404402

405403
$services
406404
->set(EntityPersistFormListener::class)
@@ -655,8 +653,7 @@
655653
$services->alias(PasswordResetEmailFactory::class, 'silverback.api_components.factory.user.mailer.password_reset_email');
656654

657655
$services
658-
->set('silverback.api_components.action.user.password_request')
659-
->class(PasswordRequestAction::class)
656+
->set(PasswordRequestAction::class)
660657
->public()
661658
->args(
662659
[
@@ -666,7 +663,7 @@
666663
]
667664
)
668665
->tag('controller.service_arguments');
669-
$services->alias(PasswordRequestAction::class, 'silverback.api_components.action.user.password_request')->public();
666+
$services->alias('silverback.api_components.action.user.password_request', PasswordRequestAction::class)->public();
670667

671668
$services
672669
->set('silverback.api_components.form.password_update_type')
@@ -1218,14 +1215,13 @@
12181215
$services->alias(TimestampedValidator::class, 'silverback.api_components.validator.timestamped');
12191216

12201217
$services
1221-
->set('silverback.api_components.action.uploadable.upload')
1222-
->class(UploadAction::class)
1218+
->set(UploadAction::class)
12231219
->public()
12241220
->tag('controller.service_arguments')
12251221
->args([
12261222
'$publishableNormalizer' => new Reference(PublishableNormalizer::class),
12271223
]);
1228-
$services->alias(UploadAction::class, 'silverback.api_components.action.uploadable.upload')->public();
1224+
$services->alias('silverback.api_components.action.uploadable.upload', UploadAction::class)->public();
12291225

12301226
$services
12311227
->set('silverback.api_components.attribute_reader.uploadable')
@@ -1515,38 +1511,35 @@
15151511
$services->alias(UserResourceMetadataCollectionFactory::class, 'silverback.api_components.api_platform.metadata.resource.user_factory');
15161512

15171513
$services
1518-
->set('silverback.api_components.action.user.verify_email_address')
1519-
->class(VerifyEmailAddressAction::class)
1514+
->set(VerifyEmailAddressAction::class)
15201515
->public()
15211516
->args(
15221517
[
15231518
new Reference(EmailAddressManager::class),
15241519
]
15251520
)
15261521
->tag('controller.service_arguments');
1527-
$services->alias(VerifyEmailAddressAction::class, 'silverback.api_components.action.user.verify_email_address')->public();
1522+
$services->alias('silverback.api_components.action.user.verify_email_address', VerifyEmailAddressAction::class)->public();
15281523

15291524
$services
1530-
->set('silverback.api_components.action.user.resend_verify_email_address')
1531-
->class(ResendVerifyEmailAddressAction::class)
1525+
->set(ResendVerifyEmailAddressAction::class)
15321526
->public()
15331527
->args([
15341528
new Reference(UserMailer::class),
15351529
new Reference(UserDataProcessor::class),
15361530
])
15371531
->tag('controller.service_arguments');
1538-
$services->alias(ResendVerifyEmailAddressAction::class, 'silverback.api_components.action.user.resend_verify_email_address')->public();
1532+
$services->alias('silverback.api_components.action.user.resend_verify_email_address', ResendVerifyEmailAddressAction::class)->public();
15391533

15401534
$services
1541-
->set('silverback.api_components.action.user.resend_verify_new_email_address')
1542-
->class(ResendVerifyNewEmailAddressAction::class)
1535+
->set(ResendVerifyNewEmailAddressAction::class)
15431536
->public()
15441537
->args([
15451538
new Reference(UserMailer::class),
15461539
new Reference(UserDataProcessor::class),
15471540
])
15481541
->tag('controller.service_arguments');
1549-
$services->alias(ResendVerifyNewEmailAddressAction::class, 'silverback.api_components.action.user.resend_verify_new_email_address')->public();
1542+
$services->alias('silverback.api_components.action.user.resend_verify_new_email_address', ResendVerifyNewEmailAddressAction::class)->public();
15501543

15511544
$services
15521545
->set('silverback.api_components.factory.user.mailer.verify_email')

0 commit comments

Comments
 (0)