Skip to content
Snippets Groups Projects

ZERO-162-changes

Open Eduarda Lentz Rodrigues da Silva requested to merge ZERO-162-changes into develop
Compare and Show latest version
3 files
+ 98
38
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -18,23 +18,16 @@ declare(strict_types=1);
namespace Firegento\ContentProvisioning\Model\Query;
use Firegento\ContentProvisioning\Model\Repository\CmsBlockStoreRepository;
use Magento\Store\Model\StoreManagerInterface;
use Psr\Log\LoggerInterface;
use Exception;
use Firegento\ContentProvisioning\Model\DTO\ChangedBlockDto;
class GetChangedBlockIdentifiers
{
/**
* @var GetBlockEntryByKey
*/
private GetBlockEntryByKey $getBlockEntryByKey;
/**
* @var GetCmsBlockByIdentifier
*/
private GetCmsBlockByIdentifier $getCmsBlockByTitle;
private GetCmsBlockByIdentifier $getCmsBlockByIdentifier;
/**
* @var LoggerInterface
@@ -42,34 +35,23 @@ class GetChangedBlockIdentifiers
private LoggerInterface $logger;
/**
* @var StoreManagerInterface
*/
private StoreManagerInterface $storeManager;
/**
* @var CmsBlockStoreRepository
* @var GetDbCmsBlockContent
*/
private CmsBlockStoreRepository $cmsBlockStoreRepository;
private GetDbCmsBlockContent $getDbCmsBlockContent;
/**
* @param GetBlockEntryByKey $getBlockEntryByKey
* @param GetCmsBlockByIdentifier $getCmsBlockByTitle
* @param GetCmsBlockByIdentifier $getCmsBlockByIdentifier
* @param LoggerInterface $logger
* @param StoreManagerInterface $storeManager
* @param CmsBlockStoreRepository $cmsBlockStoreRepository
* @param GetDbCmsBlockContent $getDbCmsBlockContent
*/
public function __construct(
GetBlockEntryByKey $getBlockEntryByKey,
GetCmsBlockByIdentifier $getCmsBlockByTitle,
GetCmsBlockByIdentifier $getCmsBlockByIdentifier,
LoggerInterface $logger,
StoreManagerInterface $storeManager,
CmsBlockStoreRepository $cmsBlockStoreRepository
GetDbCmsBlockContent $getDbCmsBlockContent
) {
$this->getBlockEntryByKey = $getBlockEntryByKey;
$this->getCmsBlockByTitle = $getCmsBlockByTitle;
$this->getCmsBlockByIdentifier = $getCmsBlockByIdentifier;
$this->logger = $logger;
$this->storeManager = $storeManager;
$this->cmsBlockStoreRepository = $cmsBlockStoreRepository;
$this->getDbCmsBlockContent = $getDbCmsBlockContent;
}
/**
@@ -83,23 +65,18 @@ class GetChangedBlockIdentifiers
$changedBlocks = [];
foreach ($filesPath as $file) {
try {
// Get Block content from code
// Get Block content and Store from code
$codeFileContent = $file->getContent();
// Get store code
$codeStoreCode = $file->getStore();
// Get Block content from database
$dbBlock = $this->getCmsBlockByTitle->execute($file->getIdentifier());
$dbBlockContent = $dbBlock['content'];
// Get store code from database
$dbBlockRowId = $dbBlock['row_id'];
$dbStoreId = $this->cmsBlockStoreRepository->getStoreByRowId($dbBlockRowId);
$dbStoreCode = $this->storeManager->getStore($dbStoreId[0])->getCode();
// Get all blocks with this identifier from database
$dbBlocks = $this->getCmsBlockByIdentifier->execute($file->getIdentifier());
$dbBlockContent = $this->getDbCmsBlockContent->execute($dbBlocks, $codeStoreCode);
} catch (Exception $e) {
return $this->logger->error($e->getMessage());
}
if ($dbStoreCode === $codeStoreCode && $codeFileContent !== $dbBlockContent) {
if (!empty($dbBlockContent[0]) && $codeFileContent !== $dbBlockContent[0]) {
$changedBlocks[] = $file;
}
}
Loading