From aef08dcd754e04624fdd5a02fb435ba54251f96f Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Sat, 27 Jun 2020 12:13:20 +0300 Subject: [PATCH] webhook service refactoring --- .../Espo/Core/Di/WebhookManagerAware.php | 37 ++++++++++++++++ .../Espo/Core/Di/WebhookManagerSetter.php | 42 +++++++++++++++++++ application/Espo/Services/Webhook.php | 24 +++++------ 3 files changed, 90 insertions(+), 13 deletions(-) create mode 100644 application/Espo/Core/Di/WebhookManagerAware.php create mode 100644 application/Espo/Core/Di/WebhookManagerSetter.php diff --git a/application/Espo/Core/Di/WebhookManagerAware.php b/application/Espo/Core/Di/WebhookManagerAware.php new file mode 100644 index 0000000000..af5c794f18 --- /dev/null +++ b/application/Espo/Core/Di/WebhookManagerAware.php @@ -0,0 +1,37 @@ +webhookManager = $webhookManager; + } +} diff --git a/application/Espo/Services/Webhook.php b/application/Espo/Services/Webhook.php index edf0e71500..91a6ed45db 100644 --- a/application/Espo/Services/Webhook.php +++ b/application/Espo/Services/Webhook.php @@ -35,8 +35,14 @@ use Espo\Core\Exceptions\Forbidden; use Espo\Core\Exceptions\Error; use Espo\Core\Exceptions\BadRequest; -class Webhook extends Record +use Espo\Core\Di; + +class Webhook extends Record implements + Di\WebhookManagerAware + { + use Di\WebhookManagerSetter; + const WEBHOOK_MAX_COUNT_PER_USER = 50; protected $eventTypeList = [ @@ -50,14 +56,6 @@ class Webhook extends Record protected $readOnlyAttributeList = ['secretKey']; - protected function init() - { - parent::init(); - $this->addDependencyList([ - 'webhookManager', - ]); - } - public function populateDefaults(Entity $entity, $data) { parent::populateDefaults($entity, $data); @@ -170,14 +168,14 @@ class Webhook extends Record protected function afterCreateEntity(Entity $entity, $data) { if ($entity->get('isActive')) { - $this->getInjection('webhookManager')->addEvent($entity->get('event')); + $this->webhookManager->addEvent($entity->get('event')); } } protected function afterDeleteEntity(Entity $entity) { if ($entity->get('isActive')) { - $this->getInjection('webhookManager')->removeEvent($entity->get('event')); + $this->webhookManager->removeEvent($entity->get('event')); } } @@ -185,9 +183,9 @@ class Webhook extends Record { if (isset($data->isActive)) { if ($entity->get('isActive')) { - $this->getInjection('webhookManager')->addEvent($entity->get('event')); + $this->webhookManager->addEvent($entity->get('event')); } else { - $this->getInjection('webhookManager')->removeEvent($entity->get('event')); + $this->webhookManager->removeEvent($entity->get('event')); } } }