From dd82f678886991bb7a314ff554e053d8d97697b0 Mon Sep 17 00:00:00 2001 From: "Alex P." Date: Wed, 11 Sep 2024 16:47:15 +0300 Subject: [PATCH] Do not cache webhook.status.registered-webhooks --- modules/ppcp-webhooks/factories.php | 28 +++++++++++++++++++++ modules/ppcp-webhooks/services.php | 12 --------- modules/ppcp-webhooks/src/WebhookModule.php | 10 +++++++- 3 files changed, 37 insertions(+), 13 deletions(-) create mode 100644 modules/ppcp-webhooks/factories.php diff --git a/modules/ppcp-webhooks/factories.php b/modules/ppcp-webhooks/factories.php new file mode 100644 index 000000000..6d36ae4fa --- /dev/null +++ b/modules/ppcp-webhooks/factories.php @@ -0,0 +1,28 @@ + function( ContainerInterface $container ) : array { + $endpoint = $container->get( 'api.endpoint.webhook' ); + assert( $endpoint instanceof WebhookEndpoint ); + + $state = $container->get( 'onboarding.state' ); + if ( $state->current_state() >= State::STATE_ONBOARDED ) { + return $endpoint->list(); + } + + return array(); + }, +); diff --git a/modules/ppcp-webhooks/services.php b/modules/ppcp-webhooks/services.php index 4d585206a..0f75a58a0 100644 --- a/modules/ppcp-webhooks/services.php +++ b/modules/ppcp-webhooks/services.php @@ -131,18 +131,6 @@ return array( return $container->get( 'webhook.current' ) !== null; }, - 'webhook.status.registered-webhooks' => function( ContainerInterface $container ) : array { - $endpoint = $container->get( 'api.endpoint.webhook' ); - assert( $endpoint instanceof WebhookEndpoint ); - - $state = $container->get( 'onboarding.state' ); - if ( $state->current_state() >= State::STATE_ONBOARDED ) { - return $endpoint->list(); - } - - return array(); - }, - 'webhook.status.registered-webhooks-data' => function( ContainerInterface $container ) : array { $empty_placeholder = __( 'No webhooks found.', 'woocommerce-paypal-payments' ); diff --git a/modules/ppcp-webhooks/src/WebhookModule.php b/modules/ppcp-webhooks/src/WebhookModule.php index 64c7dfea5..22ae0fc19 100644 --- a/modules/ppcp-webhooks/src/WebhookModule.php +++ b/modules/ppcp-webhooks/src/WebhookModule.php @@ -14,6 +14,7 @@ use WooCommerce\PayPalCommerce\Onboarding\State; use Exception; use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ExecutableModule; use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ExtendingModule; +use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\FactoryModule; use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule; use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface; @@ -27,7 +28,7 @@ use WooCommerce\PayPalCommerce\Webhooks\Status\Assets\WebhooksStatusPageAssets; /** * Class WebhookModule */ -class WebhookModule implements ServiceModule, ExtendingModule, ExecutableModule { +class WebhookModule implements ServiceModule, FactoryModule, ExtendingModule, ExecutableModule { use ModuleClassNameIdTrait; /** @@ -37,6 +38,13 @@ class WebhookModule implements ServiceModule, ExtendingModule, ExecutableModule return require __DIR__ . '/../services.php'; } + /** + * {@inheritDoc} + */ + public function factories(): array { + return require __DIR__ . '/../factories.php'; + } + /** * {@inheritDoc} */