Skip to content

Commit dd2f2e3

Browse files
Merge pull request #690 from PowerSync/develop-2.4.4
Develop 2.4.4
2 parents 420420f + 23c6f95 commit dd2f2e3

File tree

15 files changed

+127
-76
lines changed

15 files changed

+127
-76
lines changed

Block/Adminhtml/Base/Edit/Renderer/SForceId.php

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,15 @@
99
use Magento\Framework\Data\Form\Element\CollectionFactory;
1010
use Magento\Framework\Data\Form\Element\Factory;
1111
use Magento\Framework\Escaper;
12+
use TNW\Salesforce\Service\Model\ResourceModel\Objects\MassLoadObjectIds;
1213

1314
abstract class SForceId extends \Magento\Framework\Data\Form\Element\Link
1415
{
16+
/**
17+
* @var MassLoadObjectIds
18+
*/
19+
protected $massLoadObjectIds;
20+
1521
/** @var \TNW\Salesforce\Client\Salesforce */
1622
private $client;
1723

@@ -22,14 +28,14 @@ abstract class SForceId extends \Magento\Framework\Data\Form\Element\Link
2228
protected $registry;
2329

2430
/**
25-
* SForceId constructor.
2631
* @param Factory $factoryElement
2732
* @param CollectionFactory $factoryCollection
2833
* @param Escaper $escaper
2934
* @param array $data
3035
* @param \TNW\Salesforce\Client\Salesforce $client
3136
* @param \TNW\Salesforce\Model\ResourceModel\Objects $resourceObjects
3237
* @param \Magento\Framework\Registry $registry
38+
* @param MassLoadObjectIds $massLoadObjectIds
3339
*/
3440
public function __construct(
3541
Factory $factoryElement,
@@ -38,12 +44,14 @@ public function __construct(
3844
array $data,
3945
\TNW\Salesforce\Client\Salesforce $client,
4046
\TNW\Salesforce\Model\ResourceModel\Objects $resourceObjects,
41-
\Magento\Framework\Registry $registry
47+
\Magento\Framework\Registry $registry,
48+
MassLoadObjectIds $massLoadObjectIds
4249
) {
4350
parent::__construct($factoryElement, $factoryCollection, $escaper, $data);
4451
$this->client = $client;
4552
$this->resourceObjects = $resourceObjects;
4653
$this->registry = $registry;
54+
$this->massLoadObjectIds = $massLoadObjectIds;
4755
}
4856

4957
/**
@@ -104,7 +112,7 @@ protected function generateLinkToSalesforce($field)
104112
$url = $this->client->getSalesForceUrl($websiteId);
105113

106114
$magentoId = $this->getEntityId();
107-
$salesforceIds = $this->resourceObjects->loadObjectIds($magentoId, $this->getMagentoObjectType(), $websiteId);
115+
$salesforceIds = $this->massLoadObjectIds->loadObjectIds($magentoId, $this->getMagentoObjectType(), $websiteId);
108116

109117
$salesforceObject = $this->getSalesforceObjectByAttribute();
110118

Block/Adminhtml/Customer/Edit/Tabs.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,15 @@
1212
use Magento\Backend\Block\Widget\Form\Generic;
1313
use TNW\Salesforce\Block\Adminhtml\Customer\Edit\Renderer\SForceId;
1414
use TNW\Salesforce\Block\Adminhtml\Customer\Edit\Renderer\SyncStatus;
15+
use TNW\Salesforce\Service\Model\ResourceModel\Objects\MassLoadObjectIds;
1516

1617
class Tabs extends Generic implements TabInterface
1718
{
19+
/**
20+
* @var MassLoadObjectIds
21+
*/
22+
protected $massLoadObjectIds;
23+
1824
/**
1925
* @var \Magento\Framework\Registry
2026
*/
@@ -36,11 +42,13 @@ public function __construct(
3642
\Magento\Framework\Data\FormFactory $formFactory,
3743
CustomerRepositoryInterface $customerRepository,
3844
\TNW\Salesforce\Model\ResourceModel\Objects $resourceObjects,
45+
MassLoadObjectIds $massLoadObjectIds,
3946
array $data = []
4047
) {
4148
$this->coreRegistry = $registry;
4249
$this->customerRepository = $customerRepository;
4350
$this->resourceObjects = $resourceObjects;
51+
$this->massLoadObjectIds = $massLoadObjectIds;
4452

4553
parent::__construct($context, $registry, $formFactory, $data);
4654
}
@@ -169,7 +177,7 @@ public function initForm()
169177
'value' => $status,
170178
]);
171179

172-
$salesforceIds = $this->resourceObjects->loadObjectIds(
180+
$salesforceIds = $this->massLoadObjectIds->loadObjectIds(
173181
$this->getCustomerId(),
174182
\TNW\Salesforce\Model\Entity\SalesforceIdStorage::MAGENTO_TYPE_CUSTOMER,
175183
$this->websiteId()

Model/Entity/SalesforceIdStorage.php

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use Magento\Store\Model\StoreManagerInterface;
1414
use TNW\Salesforce\Model\Config;
1515
use TNW\Salesforce\Model\ResourceModel\Objects;
16+
use TNW\Salesforce\Service\Model\ResourceModel\Objects\MassLoadObjectIds;
1617

1718
class SalesforceIdStorage
1819
{
@@ -32,6 +33,11 @@ class SalesforceIdStorage
3233
const MAGENTO_TYPE_ORDER_SHIPMENT_ITEM = 'Order Shipment Item';
3334
const MAGENTO_TYPE_ORDER_SHIPMENT_TRACK = 'Order Shipment Track';
3435

36+
/**
37+
* @var MassLoadObjectIds
38+
*/
39+
protected $massLoadObjectIds;
40+
3541
/**
3642
* @var string
3743
*/
@@ -63,26 +69,27 @@ class SalesforceIdStorage
6369
private $cacheForUpdateStatus = [];
6470

6571
/**
66-
* ObjectAbstract constructor.
67-
*
6872
* @param string $magentoType
6973
* @param array $mappingAttribute
7074
* @param Objects $resourceObjects
7175
* @param StoreManagerInterface $storeManager
7276
* @param Config $config
77+
* @param MassLoadObjectIds $massLoadObjectIds
7378
*/
7479
public function __construct(
7580
string $magentoType,
7681
array $mappingAttribute,
7782
Objects $resourceObjects,
7883
StoreManagerInterface $storeManager,
79-
Config $config
84+
Config $config,
85+
MassLoadObjectIds $massLoadObjectIds
8086
) {
8187
$this->resourceObjects = $resourceObjects;
8288
$this->magentoType = $magentoType;
8389
$this->mappingAttribute = $mappingAttribute;
8490
$this->storeManager = $storeManager;
8591
$this->config = $config;
92+
$this->massLoadObjectIds = $massLoadObjectIds;
8693
}
8794

8895
/**
@@ -390,7 +397,7 @@ public function loadObjectIds($entity, $website = null)
390397
throw new Exception('magentoType was not defined!');
391398
}
392399

393-
return $this->resourceObjects->loadObjectIds(
400+
return $this->massLoadObjectIds->loadObjectIds(
394401
$entity->getId(),
395402
$this->magentoType,
396403
$this->prepareWebsiteId($website)
@@ -416,7 +423,7 @@ public function massLoadObjectIds(array $entities, $website = null)
416423
$entityId !== null && $entityIds[] = $entityId;
417424
}
418425

419-
return $this->resourceObjects->massLoadObjectIds(
426+
return $this->massLoadObjectIds->massLoadObjectIds(
420427
$entityIds,
421428
$this->magentoType,
422429
$this->prepareWebsiteId($website)

Model/ResourceModel/Objects.php

Lines changed: 5 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
use Magento\Framework\Model\ResourceModel\Db\Context;
1515
use Psr\Log\LoggerInterface;
1616
use TNW\Salesforce\Model\Config;
17-
use TNW\Salesforce\Service\Model\ResourceModel\Objects\MassLoadObjectIds;
1817

1918
class Objects extends AbstractDb
2019
{
@@ -66,34 +65,26 @@ class Objects extends AbstractDb
6665
*/
6766
private $config;
6867

69-
/** @var MassLoadObjectIds */
70-
private $massLoadObjectIds;
71-
7268
/** @var LoggerInterface */
7369
private $logger;
7470

7571
/**
76-
* Objects constructor.
77-
*
78-
* @param Context $context
79-
* @param Config $config
80-
* @param MassLoadObjectIds $massLoadObjectIds
81-
* @param LoggerInterface $logger
82-
* @param null $connectionName
83-
* @param ?Manager $eventManager
72+
* @param Context $context
73+
* @param Config $config
74+
* @param LoggerInterface $logger
75+
* @param null $connectionName
76+
* @param Manager|null $eventManager
8477
*/
8578
public function __construct(
8679
Context $context,
8780
Config $config,
88-
MassLoadObjectIds $massLoadObjectIds,
8981
LoggerInterface $logger,
9082
$connectionName = null,
9183
Manager $eventManager = null
9284
) {
9385
parent::__construct($context, $connectionName);
9486
$this->eventManager = $eventManager ?? ObjectManager::getInstance()->get(Manager::class);
9587
$this->config = $config;
96-
$this->massLoadObjectIds = $massLoadObjectIds;
9788
$this->logger = $logger;
9889
}
9990

@@ -216,30 +207,6 @@ public function loadPriceBookId(int $productId, int $websiteId, int $storeId = n
216207
]);
217208
}
218209

219-
/**
220-
* @param int $entityId
221-
* @param string $magentoType
222-
* @param int $websiteId
223-
*
224-
* @return array
225-
*/
226-
public function loadObjectIds($entityId, $magentoType, $websiteId)
227-
{
228-
return $this->massLoadObjectIds->execute([$entityId], (string)$magentoType, (int)$websiteId)[$entityId] ?? [];
229-
}
230-
231-
/**
232-
* @param array $entityIds
233-
* @param string $magentoType
234-
* @param int $websiteId
235-
*
236-
* @return array
237-
*/
238-
public function massLoadObjectIds(array $entityIds, string $magentoType, int $websiteId): array
239-
{
240-
return $this->massLoadObjectIds->execute($entityIds, $magentoType, $websiteId);
241-
}
242-
243210
/**
244211
* @param int $entityId
245212
* @param string $magentoType

Plugin/Synchronize/Queue/Add.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,16 @@
99
use Magento\Framework\Exception\LocalizedException;
1010
use Magento\Store\Model\StoreManagerInterface;
1111
use TNW\Salesforce\Model\ResourceModel\Objects;
12+
use TNW\Salesforce\Service\Model\ResourceModel\Objects\MassLoadObjectIds;
1213
use TNW\Salesforce\Synchronize\Queue\Add as Subject;
1314

1415
class Add
1516
{
17+
/**
18+
* @var MassLoadObjectIds
19+
*/
20+
protected $massLoadObjectIds;
21+
1622
/**
1723
* @var Objects
1824
*/
@@ -36,11 +42,13 @@ class Add
3642
public function __construct(
3743
Objects $resourceObjects,
3844
StoreManagerInterface $storeManager,
39-
RequestInterface $request
45+
RequestInterface $request,
46+
MassLoadObjectIds $massLoadObjectIds
4047
) {
4148
$this->resourceObjects = $resourceObjects;
4249
$this->storeManager = $storeManager;
4350
$this->request = $request;
51+
$this->massLoadObjectIds = $massLoadObjectIds;
4452
}
4553

4654
/**
@@ -56,7 +64,7 @@ public function beforeAddToQueue(Subject $subject, $entityIds)
5664
$websiteId = $store->getWebsiteId();
5765
$entityType = reset($subject->resolves)->entityType();
5866

59-
$objectIds = $this->resourceObjects->massLoadObjectIds($entityIds, (string)$entityType, (int)$websiteId);
67+
$objectIds = $this->massLoadObjectIds->massLoadObjectIds($entityIds, (string)$entityType, (int)$websiteId);
6068
$entityIdsForUpdateStatus = [];
6169
foreach ($entityIds as $entityId) {
6270
$data = $objectIds[$entityId] ?? [];

Plugin/Synchronize/Unit/ProcessingAbstract.php

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,16 @@
99
use Magento\Framework\Exception\LocalizedException;
1010
use Magento\Store\Model\StoreManagerInterface;
1111
use TNW\Salesforce\Model\ResourceModel\Objects;
12+
use TNW\Salesforce\Service\Model\ResourceModel\Objects\MassLoadObjectIds;
1213
use TNW\Salesforce\Synchronize\Unit\ProcessingAbstract as Subject;
1314

1415
class ProcessingAbstract
1516
{
17+
/**
18+
* @var MassLoadObjectIds
19+
*/
20+
protected $massLoadObjectIds;
21+
1622
/**
1723
* @var Objects
1824
*/
@@ -32,15 +38,18 @@ class ProcessingAbstract
3238
* @param Objects $resourceObjects
3339
* @param StoreManagerInterface $storeManager
3440
* @param RequestInterface $request
41+
* @param MassLoadObjectIds $massLoadObjectIds
3542
*/
3643
public function __construct(
3744
Objects $resourceObjects,
3845
StoreManagerInterface $storeManager,
39-
RequestInterface $request
46+
RequestInterface $request,
47+
MassLoadObjectIds $massLoadObjectIds
4048
) {
4149
$this->resourceObjects = $resourceObjects;
4250
$this->storeManager = $storeManager;
4351
$this->request = $request;
52+
$this->massLoadObjectIds = $massLoadObjectIds;
4453
}
4554

4655
/**
@@ -70,7 +79,7 @@ public function beforeProcess(Subject $subject)
7079
}
7180

7281
foreach ($entityIdsByType as $entityType => $entityIds) {
73-
$objectIds = $this->resourceObjects->massLoadObjectIds($entityIds, $entityType, $websiteId);
82+
$objectIds = $this->massLoadObjectIds->massLoadObjectIds($entityIds, $entityType, $websiteId);
7483
$entityIdsToUpdateStatus = [];
7584
foreach ($entityIds as $entityId) {
7685
$data = $objectIds[$entityId] ?? [];

Service/Model/ResourceModel/Objects/MassLoadObjectIds.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,4 +126,29 @@ public function clearLocalCache(): void
126126
$this->cache = [];
127127
$this->processed = [];
128128
}
129+
130+
131+
/**
132+
* @param int $entityId
133+
* @param string $magentoType
134+
* @param int $websiteId
135+
*
136+
* @return array
137+
*/
138+
public function loadObjectIds($entityId, $magentoType, $websiteId)
139+
{
140+
return $this->execute([$entityId], (string)$magentoType, (int)$websiteId)[$entityId] ?? [];
141+
}
142+
143+
/**
144+
* @param array $entityIds
145+
* @param string $magentoType
146+
* @param int $websiteId
147+
*
148+
* @return array
149+
*/
150+
public function massLoadObjectIds(array $entityIds, string $magentoType, int $websiteId): array
151+
{
152+
return $this->execute($entityIds, $magentoType, $websiteId);
153+
}
129154
}

0 commit comments

Comments
 (0)