From 4201b98dbd8c20144a5d1cde6620db71f5d3e5ae Mon Sep 17 00:00:00 2001 From: Tim Otten Date: Mon, 15 Aug 2022 17:37:20 -0700 Subject: [PATCH] (REF) Convert 'Civi/Api4/Event/Subscriber/*' to AutoServices --- CRM/Api4/Services.php | 1 - Civi/Api4/Event/Subscriber/ActivitySchemaMapSubscriber.php | 5 ++++- Civi/Api4/Event/Subscriber/ContactSchemaMapSubscriber.php | 5 ++++- .../Event/Subscriber/Generic/AbstractPrepareSubscriber.php | 2 +- Civi/Api4/Event/Subscriber/IsCurrentSubscriber.php | 1 + Civi/Api4/Event/Subscriber/PermissionCheckSubscriber.php | 4 +++- Civi/Api4/Event/Subscriber/ValidateFieldsSubscriber.php | 2 ++ Civi/Core/ClassScanner.php | 1 + .../Civi/Api4/Event/Subscriber/ImportSubscriber.php | 3 ++- ext/civiimport/info.xml | 1 + .../Civi/Api4/Event/Subscriber/SearchKitSubscriber.php | 3 ++- ext/search_kit/info.xml | 1 + 12 files changed, 22 insertions(+), 7 deletions(-) diff --git a/CRM/Api4/Services.php b/CRM/Api4/Services.php index 859f7ef9e6..69ac54e14d 100644 --- a/CRM/Api4/Services.php +++ b/CRM/Api4/Services.php @@ -30,7 +30,6 @@ class CRM_Api4_Services { $loader->load('Civi/Api4/services.xml'); self::loadServices('Civi\Api4\Service\Spec\Provider', 'spec_provider', $container); - self::loadServices('Civi\Api4\Event\Subscriber', 'event_subscriber', $container); $container->getDefinition('civi_api_kernel')->addMethodCall( 'registerApiProvider', diff --git a/Civi/Api4/Event/Subscriber/ActivitySchemaMapSubscriber.php b/Civi/Api4/Event/Subscriber/ActivitySchemaMapSubscriber.php index 0c234dd8ad..bf32edb1e4 100644 --- a/Civi/Api4/Event/Subscriber/ActivitySchemaMapSubscriber.php +++ b/Civi/Api4/Event/Subscriber/ActivitySchemaMapSubscriber.php @@ -8,7 +8,10 @@ use Civi\Api4\Service\Schema\Joinable\ExtraJoinable; use Civi\Api4\Service\Schema\Joinable\Joinable; use Symfony\Component\EventDispatcher\EventSubscriberInterface; -class ActivitySchemaMapSubscriber implements EventSubscriberInterface { +/** + * @service civi.api4.activitySchema + */ +class ActivitySchemaMapSubscriber extends \Civi\Core\Service\AutoService implements EventSubscriberInterface { /** * @return array diff --git a/Civi/Api4/Event/Subscriber/ContactSchemaMapSubscriber.php b/Civi/Api4/Event/Subscriber/ContactSchemaMapSubscriber.php index d8aec88dc4..e5ef815663 100644 --- a/Civi/Api4/Event/Subscriber/ContactSchemaMapSubscriber.php +++ b/Civi/Api4/Event/Subscriber/ContactSchemaMapSubscriber.php @@ -7,7 +7,10 @@ use Civi\Api4\Event\SchemaMapBuildEvent; use Civi\Api4\Service\Schema\Joinable\Joinable; use Symfony\Component\EventDispatcher\EventSubscriberInterface; -class ContactSchemaMapSubscriber implements EventSubscriberInterface { +/** + * @service civi.api4.contactSchema + */ +class ContactSchemaMapSubscriber extends \Civi\Core\Service\AutoService implements EventSubscriberInterface { /** * @return array diff --git a/Civi/Api4/Event/Subscriber/Generic/AbstractPrepareSubscriber.php b/Civi/Api4/Event/Subscriber/Generic/AbstractPrepareSubscriber.php index 254d8db209..2603162f93 100644 --- a/Civi/Api4/Event/Subscriber/Generic/AbstractPrepareSubscriber.php +++ b/Civi/Api4/Event/Subscriber/Generic/AbstractPrepareSubscriber.php @@ -15,7 +15,7 @@ namespace Civi\Api4\Event\Subscriber\Generic; use Civi\API\Event\PrepareEvent; use Symfony\Component\EventDispatcher\EventSubscriberInterface; -abstract class AbstractPrepareSubscriber implements EventSubscriberInterface { +abstract class AbstractPrepareSubscriber extends \Civi\Core\Service\AutoService implements EventSubscriberInterface { /** * @return array diff --git a/Civi/Api4/Event/Subscriber/IsCurrentSubscriber.php b/Civi/Api4/Event/Subscriber/IsCurrentSubscriber.php index fcede7f824..ee6f066da3 100644 --- a/Civi/Api4/Event/Subscriber/IsCurrentSubscriber.php +++ b/Civi/Api4/Event/Subscriber/IsCurrentSubscriber.php @@ -18,6 +18,7 @@ use Civi\Api4\Utils\ReflectionUtils; /** * @deprecated * @see \Civi\Api4\Generic\Traits\IsCurrentTrait + * @service civi.api4.isCurrent */ class IsCurrentSubscriber extends Generic\AbstractPrepareSubscriber { diff --git a/Civi/Api4/Event/Subscriber/PermissionCheckSubscriber.php b/Civi/Api4/Event/Subscriber/PermissionCheckSubscriber.php index e71e6707e0..1a767b3fa4 100644 --- a/Civi/Api4/Event/Subscriber/PermissionCheckSubscriber.php +++ b/Civi/Api4/Event/Subscriber/PermissionCheckSubscriber.php @@ -18,8 +18,10 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface; * For any API requests that correspond to a Doctrine entity * ($apiRequest['doctrineClass']), check permissions specified in * Civi\API\Annotation\Permission. + * + * @service civi.api4.permissionCheck */ -class PermissionCheckSubscriber implements EventSubscriberInterface { +class PermissionCheckSubscriber extends \Civi\Core\Service\AutoService implements EventSubscriberInterface { /** * @return array diff --git a/Civi/Api4/Event/Subscriber/ValidateFieldsSubscriber.php b/Civi/Api4/Event/Subscriber/ValidateFieldsSubscriber.php index 65b7cc1bdf..036524741b 100644 --- a/Civi/Api4/Event/Subscriber/ValidateFieldsSubscriber.php +++ b/Civi/Api4/Event/Subscriber/ValidateFieldsSubscriber.php @@ -15,6 +15,8 @@ use Civi\API\Event\PrepareEvent; /** * Validate field inputs based on annotations in the action class + * + * @service civi.api4.validateFields */ class ValidateFieldsSubscriber extends Generic\AbstractPrepareSubscriber { diff --git a/Civi/Core/ClassScanner.php b/Civi/Core/ClassScanner.php index 5002786749..ef9bf9f623 100644 --- a/Civi/Core/ClassScanner.php +++ b/Civi/Core/ClassScanner.php @@ -136,6 +136,7 @@ class ClassScanner { static::scanFolders($classes, $civicrmRoot, 'Civi/*/WorkflowMessage', '\\'); static::scanFolders($classes, $civicrmRoot, 'Civi/WorkflowMessage', '\\'); static::scanFolders($classes, $civicrmRoot, 'CRM/*/Import', '_'); + static::scanFolders($classes, $civicrmRoot, 'Civi/Api4/Event/Subscriber', '\\'); if (\CRM_Utils_Constant::value('CIVICRM_UF') === 'UnitTests') { if (strpos(get_include_path(), $civicrmRoot . 'tests/phpunit') !== FALSE) { static::scanFolders($classes, $civicrmRoot . 'tests/phpunit', 'CRM/*/WorkflowMessage', '_'); diff --git a/ext/civiimport/Civi/Api4/Event/Subscriber/ImportSubscriber.php b/ext/civiimport/Civi/Api4/Event/Subscriber/ImportSubscriber.php index 598d8b45ba..8623860ce3 100644 --- a/ext/civiimport/Civi/Api4/Event/Subscriber/ImportSubscriber.php +++ b/ext/civiimport/Civi/Api4/Event/Subscriber/ImportSubscriber.php @@ -20,8 +20,9 @@ use Civi\API\Exception\UnauthorizedException; /** * Listening class that registers each Import table as an entity. + * @service civi.api4.importSubscriber */ -class ImportSubscriber implements EventSubscriberInterface { +class ImportSubscriber extends \Civi\Core\Service\AutoService implements EventSubscriberInterface { /** * Get the events this class listens to. diff --git a/ext/civiimport/info.xml b/ext/civiimport/info.xml index b4eba7445c..29fee901f0 100644 --- a/ext/civiimport/info.xml +++ b/ext/civiimport/info.xml @@ -31,6 +31,7 @@ mgd-php@1.0.0 + scan-classes@1.0.0 setting-php@1.0.0 diff --git a/ext/search_kit/Civi/Api4/Event/Subscriber/SearchKitSubscriber.php b/ext/search_kit/Civi/Api4/Event/Subscriber/SearchKitSubscriber.php index 62e4815f1c..2df62709f8 100644 --- a/ext/search_kit/Civi/Api4/Event/Subscriber/SearchKitSubscriber.php +++ b/ext/search_kit/Civi/Api4/Event/Subscriber/SearchKitSubscriber.php @@ -15,8 +15,9 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** * Event subscriber to check extra permission for SavedSearches + * @service civi.api4.searchKit */ -class SearchKitSubscriber implements EventSubscriberInterface { +class SearchKitSubscriber extends \Civi\Core\Service\AutoService implements EventSubscriberInterface { /** * @return array diff --git a/ext/search_kit/info.xml b/ext/search_kit/info.xml index 9814c4d7d7..4660a0e79c 100644 --- a/ext/search_kit/info.xml +++ b/ext/search_kit/info.xml @@ -28,6 +28,7 @@ CRM_Search_Upgrader ang-php@1.0.0 + scan-classes@1.0.0 menu-xml@1.0.0 mgd-php@1.1.0 -- 2.25.1