From d29e2f3994394b4922a77d24783e1c9527ecacfc Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Fri, 11 Jun 2021 13:04:08 +0300 Subject: [PATCH] cs fix --- application/Espo/Core/Webhook/Manager.php | 21 ++++++------ application/Espo/Core/Webhook/Queue.php | 41 ++++++++++++----------- application/Espo/Core/Webhook/Sender.php | 19 ++++++----- 3 files changed, 43 insertions(+), 38 deletions(-) diff --git a/application/Espo/Core/Webhook/Manager.php b/application/Espo/Core/Webhook/Manager.php index 14aa241378..a9041d6643 100644 --- a/application/Espo/Core/Webhook/Manager.php +++ b/application/Espo/Core/Webhook/Manager.php @@ -101,7 +101,8 @@ class Manager { $data = []; - $list = $this->entityManager->getRepository('Webhook') + $list = $this->entityManager + ->getRDBRepository('Webhook') ->select(['event']) ->groupBy(['event']) ->where([ @@ -135,7 +136,7 @@ class Manager public function removeEvent(string $event): void { $notExists = !$this->entityManager - ->getRepository('Webhook') + ->getRDBRepository('Webhook') ->select(['id']) ->where([ 'event' => $event, @@ -159,7 +160,7 @@ class Manager protected function logDebugEvent(string $event, Entity $entity): void { - $this->log->debug("Webhook: {$event} on record {$entity->id}."); + $this->log->debug("Webhook: {$event} on record {$entity->getId()}."); } /** @@ -176,7 +177,7 @@ class Manager $this->entityManager->createEntity('WebhookEventQueueItem', [ 'event' => $event, 'targetType' => $entity->getEntityType(), - 'targetId' => $entity->id, + 'targetId' => $entity->getId(), 'data' => $entity->getValueMap(), ]); @@ -197,9 +198,9 @@ class Manager $this->entityManager->createEntity('WebhookEventQueueItem', [ 'event' => $event, 'targetType' => $entity->getEntityType(), - 'targetId' => $entity->id, + 'targetId' => $entity->getId(), 'data' => (object) [ - 'id' => $entity->id, + 'id' => $entity->getId(), ], ]); @@ -229,13 +230,13 @@ class Manager return; } - $data->id = $entity->id; + $data->id = $entity->getId(); if ($this->eventExists($event)) { $this->entityManager->createEntity('WebhookEventQueueItem', [ 'event' => $event, 'targetType' => $entity->getEntityType(), - 'targetId' => $entity->id, + 'targetId' => $entity->getId(), 'data' => $data, ]); @@ -268,7 +269,7 @@ class Manager if ($isChanged) { $itemData = (object) []; - $itemData->id = $entity->id; + $itemData->id = $entity->getId(); $attributeList = $this->fieldUtil->getAttributeList($entity->getEntityType(), $field); @@ -283,7 +284,7 @@ class Manager $this->entityManager->createEntity('WebhookEventQueueItem', [ 'event' => $itemEvent, 'targetType' => $entity->getEntityType(), - 'targetId' => $entity->id, + 'targetId' => $entity->getId(), 'data' => $itemData, ]); diff --git a/application/Espo/Core/Webhook/Queue.php b/application/Espo/Core/Webhook/Queue.php index 9743a18a2c..f1d18648c6 100644 --- a/application/Espo/Core/Webhook/Queue.php +++ b/application/Espo/Core/Webhook/Queue.php @@ -52,15 +52,15 @@ use DateTime; */ class Queue { - const EVENT_PORTION_SIZE = 20; + private const EVENT_PORTION_SIZE = 20; - const PORTION_SIZE = 20; + private const PORTION_SIZE = 20; - const BATCH_SIZE = 50; + private const BATCH_SIZE = 50; - const MAX_ATTEMPT_NUMBER = 4; + private const MAX_ATTEMPT_NUMBER = 4; - const FAIL_ATTEMPT_PERIOD = '10 minutes'; + private const FAIL_ATTEMPT_PERIOD = '10 minutes'; private $sender; @@ -97,7 +97,7 @@ class Queue $portionSize = $this->config->get('webhookQueueEventPortionSize', self::EVENT_PORTION_SIZE); $itemList = $this->entityManager - ->getRepository('WebhookEventQueueItem') + ->getRDBRepository('WebhookEventQueueItem') ->where([ 'isProcessed' => false, ]) @@ -119,7 +119,7 @@ class Queue protected function createQueueFromEvent(WebhookEventQueueItem $item): void { $webhookList = $this->entityManager - ->getRepository('Webhook') + ->getRDBRepository('Webhook') ->where([ 'event' => $item->get('event'), 'isActive' => true, @@ -129,7 +129,7 @@ class Queue foreach ($webhookList as $webhook) { $this->entityManager->createEntity('WebhookQueueItem', [ - 'webhookId' => $webhook->id, + 'webhookId' => $webhook->getId(), 'event' => $item->get('event'), 'targetId' => $item->get('targetId'), 'targetType' => $item->get('targetType'), @@ -145,7 +145,8 @@ class Queue $portionSize = $this->config->get('webhookQueuePortionSize', self::PORTION_SIZE); $batchSize = $this->config->get('webhookBatchSize', self::BATCH_SIZE); - $groupedItemList = $this->entityManager->getRepository('WebhookQueueItem') + $groupedItemList = $this->entityManager + ->getRDBRepository('WebhookQueueItem') ->select(['webhookId', 'number']) ->where([ 'number=s' => [ @@ -171,7 +172,7 @@ class Queue $webhookId = $group->get('webhookId'); $itemList = $this->entityManager - ->getRepository('WebhookQueueItem') + ->getRDBRepository('WebhookQueueItem') ->where([ 'webhookId' => $webhookId, 'status' => 'Pending', @@ -206,10 +207,9 @@ class Queue continue; } - else { - $forbiddenAttributeList = $this->aclManager - ->getScopeForbiddenAttributeList($user, $webhook->get('entityType')); - } + + $forbiddenAttributeList = $this->aclManager + ->getScopeForbiddenAttributeList($user, $webhook->get('entityType')); } $actualItemList = []; @@ -222,7 +222,7 @@ class Queue if ($this->entityManager->hasRepository($targetType)) { $target = $this->entityManager - ->getRepository($targetType) + ->getRDBRepository($targetType) ->where([ 'id' => $item->get('targetId') ]) @@ -273,8 +273,9 @@ class Queue $this->failQueueItemList($itemList, true); $this->log->error( - "Webhook Queue: Webhook {$webhook->id} sending failed. Error: " . $e->getMessage() + "Webhook Queue: Webhook '" . $webhook->getId() . "' sending failed. Error: " . $e->getMessage() ); + return; } @@ -299,7 +300,7 @@ class Queue protected function logSending(Webhook $webhook, int $code): void { - $this->log->debug("Webhook Queue: Webhook {$webhook->id} sent, response code: {$code}."); + $this->log->debug("Webhook Queue: Webhook '" . $webhook->getId() . "' sent, response code: {$code}."); } protected function failQueueItemList(array $itemList, bool $force = false): void @@ -318,16 +319,16 @@ class Queue protected function deleteQueueItem(WebhookQueueItem $item): void { - $this->entityManager->getRepository('WebhookQueueItem')->deleteFromDb($item->id); + $this->entityManager->getRepository('WebhookQueueItem')->deleteFromDb($item->getId()); } protected function dropWebhook(Webhook $webhook): void { $itemList = $this->entityManager - ->getRepository('WebhookQueueItem') + ->getRDBRepository('WebhookQueueItem') ->where([ 'status' => 'Pending', - 'webhookId' => $webhook->id, + 'webhookId' => $webhook->getId(), ]) ->order('number') ->find(); diff --git a/application/Espo/Core/Webhook/Sender.php b/application/Espo/Core/Webhook/Sender.php index 6ff209990a..d4fdf569c5 100644 --- a/application/Espo/Core/Webhook/Sender.php +++ b/application/Espo/Core/Webhook/Sender.php @@ -40,9 +40,9 @@ use Espo\Core\{ */ class Sender { - const CONNECT_TIMEOUT = 5; + private const CONNECT_TIMEOUT = 5; - const TIMEOUT = 10; + private const TIMEOUT = 10; private $config; @@ -99,10 +99,13 @@ class Sender $code = intval($code); } - if ($errorNumber = curl_errno($handler)) { - if (in_array($errorNumber, [\CURLE_OPERATION_TIMEDOUT, \CURLE_OPERATION_TIMEOUTED])) { - $code = 408; - } + $errorNumber = curl_errno($handler); + + if ( + $errorNumber && + in_array($errorNumber, [\CURLE_OPERATION_TIMEDOUT, \CURLE_OPERATION_TIMEOUTED]) + ) { + $code = 408; } curl_close($handler); @@ -110,8 +113,8 @@ class Sender return $code; } - protected function buildSignature(Webhook $webhook, string $payload, string $secretKey): string + private function buildSignature(Webhook $webhook, string $payload, string $secretKey): string { - return base64_encode($webhook->id . ':' . hash_hmac('sha256', $payload, $secretKey, true)); + return base64_encode($webhook->getId() . ':' . hash_hmac('sha256', $payload, $secretKey, true)); } }