Skip to content

Commit 15cbd7a

Browse files
author
Valeriy Nayda
authored
Merge pull request #100 from magento-engcom/feature/msi-hard-typing-arguments
remove checking types of input data by using hard typing arguments of…
2 parents 0cc081f + 8233214 commit 15cbd7a

File tree

75 files changed

+317
-232
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+317
-232
lines changed

app/code/Magento/Inventory/Controller/Adminhtml/Source/Save.php

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,10 @@ public function execute()
6868
$requestData = $this->getRequest()->getParams();
6969
if ($this->getRequest()->isPost() && !empty($requestData['general'])) {
7070
try {
71-
$sourceId = $requestData['general'][SourceInterface::SOURCE_ID] ?? null;
72-
$sourceId = $this->processSave($sourceId, $requestData);
71+
$sourceId = isset($requestData['general'][SourceInterface::SOURCE_ID])
72+
? (int)$requestData['general'][SourceInterface::SOURCE_ID]
73+
: null;
74+
$sourceId = $this->processSave($requestData, $sourceId);
7375

7476
$this->messageManager->addSuccessMessage(__('The Source has been saved.'));
7577
$this->processRedirectAfterSuccessSave($resultRedirect, $sourceId);
@@ -86,7 +88,7 @@ public function execute()
8688
$this->processRedirectAfterFailureSave($resultRedirect, $sourceId);
8789
} catch (Exception $e) {
8890
$this->messageManager->addErrorMessage(__('Could not save source.'));
89-
$this->processRedirectAfterFailureSave($resultRedirect, $sourceId);
91+
$this->processRedirectAfterFailureSave($resultRedirect, $sourceId ?? null);
9092
}
9193
} else {
9294
$this->messageManager->addErrorMessage(__('Wrong request.'));
@@ -96,17 +98,17 @@ public function execute()
9698
}
9799

98100
/**
99-
* @param int $sourceId
100101
* @param array $requestData
102+
* @param int|null $sourceId
101103
* @return int
102104
*/
103-
private function processSave($sourceId, array $requestData)
105+
private function processSave(array $requestData, int $sourceId = null): int
104106
{
105-
if ($sourceId) {
106-
$source = $this->sourceRepository->get($sourceId);
107-
} else {
107+
if (null === $sourceId) {
108108
/** @var SourceInterface $source */
109109
$source = $this->sourceFactory->create();
110+
} else {
111+
$source = $this->sourceRepository->get($sourceId);
110112
}
111113
$source = $this->sourceHydrator->hydrate($source, $requestData);
112114

@@ -119,7 +121,7 @@ private function processSave($sourceId, array $requestData)
119121
* @param int $sourceId
120122
* @return void
121123
*/
122-
private function processRedirectAfterSuccessSave(Redirect $resultRedirect, $sourceId)
124+
private function processRedirectAfterSuccessSave(Redirect $resultRedirect, int $sourceId)
123125
{
124126
if ($this->getRequest()->getParam('back')) {
125127
$resultRedirect->setPath('*/*/edit', [
@@ -140,7 +142,7 @@ private function processRedirectAfterSuccessSave(Redirect $resultRedirect, $sour
140142
* @param int|null $sourceId
141143
* @return void
142144
*/
143-
private function processRedirectAfterFailureSave(Redirect $resultRedirect, $sourceId = null)
145+
private function processRedirectAfterFailureSave(Redirect $resultRedirect, int $sourceId = null)
144146
{
145147
if (null === $sourceId) {
146148
$resultRedirect->setPath('*/*/new');

app/code/Magento/Inventory/Controller/Adminhtml/Stock/Save.php

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,10 @@ public function execute()
7878
$requestData = $this->getRequest()->getParams();
7979
if ($this->getRequest()->isPost() && !empty($requestData['general'])) {
8080
try {
81-
$stockId = $requestData['general'][StockInterface::STOCK_ID] ?? null;
82-
$stockId = $this->processSave($stockId, $requestData);
81+
$stockId = isset($requestData['general'][StockInterface::STOCK_ID])
82+
? (int)$requestData['general'][StockInterface::STOCK_ID]
83+
: null;
84+
$stockId = $this->processSave($requestData, $stockId);
8385

8486
$this->messageManager->addSuccessMessage(__('The Stock has been saved.'));
8587
$this->processRedirectAfterSuccessSave($resultRedirect, $stockId);
@@ -99,7 +101,7 @@ public function execute()
99101
$this->processRedirectAfterFailureSave($resultRedirect, $stockId);
100102
} catch (Exception $e) {
101103
$this->messageManager->addErrorMessage(__('Could not save stock.'));
102-
$this->processRedirectAfterFailureSave($resultRedirect, $stockId);
104+
$this->processRedirectAfterFailureSave($resultRedirect, $stockId ?? null);
103105
}
104106
} else {
105107
$this->messageManager->addErrorMessage(__('Wrong request.'));
@@ -115,13 +117,13 @@ public function execute()
115117
* @param array $requestData
116118
* @return int
117119
*/
118-
private function processSave($stockId, array $requestData)
120+
private function processSave(array $requestData, int $stockId = null): int
119121
{
120-
if ($stockId) {
121-
$stock = $this->stockRepository->get($stockId);
122-
} else {
122+
if (null === $stockId) {
123123
/** @var StockInterface $stock */
124124
$stock = $this->stockFactory->create();
125+
} else {
126+
$stock = $this->stockRepository->get($stockId);
125127
}
126128
$this->dataObjectHelper->populateWithArray($stock, $requestData['general'], StockInterface::class);
127129
$stockId = $this->stockRepository->save($stock);
@@ -139,7 +141,7 @@ private function processSave($stockId, array $requestData)
139141
* @param int $stockId
140142
* @return void
141143
*/
142-
private function processRedirectAfterSuccessSave(Redirect $resultRedirect, $stockId)
144+
private function processRedirectAfterSuccessSave(Redirect $resultRedirect, int $stockId)
143145
{
144146
if ($this->getRequest()->getParam('back')) {
145147
$resultRedirect->setPath('*/*/edit', [
@@ -160,7 +162,7 @@ private function processRedirectAfterSuccessSave(Redirect $resultRedirect, $stoc
160162
* @param int|null $stockId
161163
* @return void
162164
*/
163-
private function processRedirectAfterFailureSave(Redirect $resultRedirect, $stockId = null)
165+
private function processRedirectAfterFailureSave(Redirect $resultRedirect, int $stockId = null)
164166
{
165167
if (null === $stockId) {
166168
$resultRedirect->setPath('*/*/new');

app/code/Magento/Inventory/Indexer/IndexNameBuilder.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public function setAlias(string $alias): self
104104
/**
105105
* @return IndexName
106106
*/
107-
public function create()
107+
public function build()
108108
{
109109
$indexName = $this->indexNameFactory->create($this->data);
110110
$this->data = [];

app/code/Magento/Inventory/Indexer/StockItem/StockItem.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,14 @@ public function executeFull()
8686
->setIndexId(StockItemIndexerInterface::INDEXER_ID)
8787
->addDimension('stock_', $stockId)
8888
->setAlias(Alias::ALIAS_MAIN)
89-
->create();
89+
->build();
9090
$this->indexStructure->create($mainIndexName);
9191

9292
$replicaIndexName = $this->indexNameBuilder
9393
->setIndexId(StockItemIndexerInterface::INDEXER_ID)
9494
->addDimension('stock_', $stockId)
9595
->setAlias(Alias::ALIAS_REPLICA)
96-
->create();
96+
->build();
9797
$this->indexStructure->create($replicaIndexName);
9898

9999
$this->indexHandler->saveIndex($replicaIndexName, $this->indexDataProvider->getData($stockId));
@@ -122,7 +122,7 @@ public function executeList(array $sourceIds)
122122
->setIndexId(StockItemIndexerInterface::INDEXER_ID)
123123
->addDimension('stock_', $stockId)
124124
->setAlias(Alias::ALIAS_MAIN)
125-
->create();
125+
->build();
126126
// TODO: we do not need to clear index
127127
$this->indexStructure->create($mainIndexName);
128128
$this->indexHandler->saveIndex($mainIndexName, $this->indexDataProvider->getData($stockId));

app/code/Magento/Inventory/Model/ResourceModel/SourceItem/SaveMultiple.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ public function __construct(
3737
*/
3838
public function execute(array $sourceItems)
3939
{
40+
if (!count($sourceItems)) {
41+
return;
42+
}
4043
$connection = $this->connection->getConnection();
4144
$tableName = $connection->getTableName(SourceItemResourceModel::TABLE_NAME_SOURCE_ITEM);
4245

@@ -68,7 +71,7 @@ public function execute(array $sourceItems)
6871
* @param array $columns
6972
* @return string
7073
*/
71-
private function buildColumnsSqlPart(array $columns)
74+
private function buildColumnsSqlPart(array $columns): string
7275
{
7376
$connection = $this->connection->getConnection();
7477
$processedColumns = array_map([$connection, 'quoteIdentifier'], $columns);
@@ -80,17 +83,17 @@ private function buildColumnsSqlPart(array $columns)
8083
* @param SourceItemInterface[] $sourceItems
8184
* @return string
8285
*/
83-
private function buildValuesSqlPart(array $sourceItems)
86+
private function buildValuesSqlPart(array $sourceItems): string
8487
{
8588
$sql = rtrim(str_repeat('(?, ?, ?, ?), ', count($sourceItems)), ', ');
8689
return $sql;
8790
}
8891

8992
/**
9093
* @param SourceItemInterface[] $sourceItems
91-
* @return string
94+
* @return array
9295
*/
93-
private function getSqlBindData(array $sourceItems)
96+
private function getSqlBindData(array $sourceItems): array
9497
{
9598
$bind = [];
9699
foreach ($sourceItems as $sourceItem) {
@@ -108,7 +111,7 @@ private function getSqlBindData(array $sourceItems)
108111
* @param array $fields
109112
* @return string
110113
*/
111-
private function buildOnDuplicateSqlPart(array $fields)
114+
private function buildOnDuplicateSqlPart(array $fields): string
112115
{
113116
$connection = $this->connection->getConnection();
114117
$processedFields = [];

app/code/Magento/Inventory/Model/ResourceModel/StockSourceLink/SaveMultiple.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,15 @@ public function __construct(
3030
}
3131

3232
/**
33-
* @param int $stockId
3433
* @param array $sourceIds
34+
* @param int $stockId
3535
* @return void
3636
*/
3737
public function execute(array $sourceIds, $stockId)
3838
{
39+
if (!count($sourceIds)) {
40+
return;
41+
}
3942
$connection = $this->connection->getConnection();
4043
$tableName = $connection->getTableName(StockSourceLinkResourceModel::TABLE_NAME_STOCK_SOURCE_LINK);
4144

@@ -48,6 +51,8 @@ public function execute(array $sourceIds, $stockId)
4851
foreach ($sourceIds as $sourceId) {
4952
$data[] = [$sourceId, $stockId];
5053
}
51-
$connection->insertArray($tableName, $columns, $data);
54+
if ($data) {
55+
$connection->insertArray($tableName, $columns, $data);
56+
}
5257
}
5358
}

app/code/Magento/Inventory/Model/Source.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ public function getCarrierLinks()
324324
/**
325325
* @inheritdoc
326326
*/
327-
public function setCarrierLinks(array $carrierLinks)
327+
public function setCarrierLinks($carrierLinks)
328328
{
329329
$this->setData(self::CARRIER_LINKS, $carrierLinks);
330330
}

app/code/Magento/Inventory/Model/Source/Command/Get.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public function __construct(
4040
/**
4141
* @inheritdoc
4242
*/
43-
public function execute($sourceId)
43+
public function execute(int $sourceId): SourceInterface
4444
{
4545
/** @var SourceInterface $source */
4646
$source = $this->sourceFactory->create();

app/code/Magento/Inventory/Model/Source/Command/GetInterface.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ interface GetInterface
2727
* @return SourceInterface
2828
* @throws NoSuchEntityException
2929
*/
30-
public function execute($sourceId);
30+
public function execute(int $sourceId): SourceInterface;
3131
}

app/code/Magento/Inventory/Model/Source/Command/GetList.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public function __construct(
5959
/**
6060
* @inheritdoc
6161
*/
62-
public function execute(SearchCriteriaInterface $searchCriteria = null)
62+
public function execute(SearchCriteriaInterface $searchCriteria = null): SourceSearchResultsInterface
6363
{
6464
/** @var Collection $collection */
6565
$collection = $this->sourceCollectionFactory->create();

0 commit comments

Comments
 (0)