Smile-SA/elasticsuite

View on GitHub
src/module-elasticsuite-thesaurus/Model/Thesaurus.php

Summary

Maintainability
B
6 hrs
Test Coverage

Showing 8 of 8 total issues

Thesaurus has 18 functions (exceeds 10 allowed). Consider refactoring.
Open

class Thesaurus extends \Magento\Framework\Model\AbstractModel implements ThesaurusInterface
{
/**
* Name of the Thesaurus Expanded Terms Mysql Table
*/
Severity: Minor
Found in src/module-elasticsuite-thesaurus/Model/Thesaurus.php - About 3 hrs to fix

    Method __construct has 10 arguments (exceeds 4 allowed). Consider refactoring.
    Open

    \Magento\Framework\Model\Context $context,
    \Magento\Framework\Registry $registry,
    IndexerRegistry $indexerRegistry,
    ThesaurusFactory $thesaurusFactory,
    ResourceConnection $resourceConnection,
    Severity: Major
    Found in src/module-elasticsuite-thesaurus/Model/Thesaurus.php - About 1 hr to fix

      Function checkThesaurusTerms has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
      Open

      public function checkThesaurusTerms()
      {
      $termsData = $this->getTermsData();
       
      $terms = [];
      Severity: Minor
      Found in src/module-elasticsuite-thesaurus/Model/Thesaurus.php - About 35 mins to fix

      Suspicious array access to ?mixed
      Open

      $terms = array_merge($terms, explode(',', $termData['values']));

      Doc-block of $resource in __construct is phpdoc param type \Magento\Framework\Model\ResourceModel\AbstractResource which is not a permitted replacement of the nullable param type ?\Magento\Framework\Model\ResourceModel\AbstractResource declared in the signature ('?T' should be documented as 'T|null' or '?T')
      Open

      * @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource Magento Resource

      Doc-block of $resourceCollection in __construct is phpdoc param type \Magento\Framework\Data\Collection\AbstractDb which is not a permitted replacement of the nullable param type ?\Magento\Framework\Data\Collection\AbstractDb declared in the signature ('?T' should be documented as 'T|null' or '?T')
      Open

      * @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection Magento Collection

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      $selectExpanded = $connection->select()
      ->from(['expanded' => $expandedTableName], ['term', 'thesaurus_id', 'count' => 'COUNT(*)'])
      ->where('expanded.term IN (?)', $terms)
      ->where('expanded.thesaurus_id != ?', $this->getId())
      ->group(['term', 'thesaurus_id'])
      Severity: Minor
      Found in src/module-elasticsuite-thesaurus/Model/Thesaurus.php and 1 other location - About 45 mins to fix
      src/module-elasticsuite-thesaurus/Model/Thesaurus.php on lines 330..334

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      $selectReference = $connection->select()
      ->from(['reference' => $referenceTableName], ['term', 'thesaurus_id', 'count' => 'COUNT(*)'])
      ->where('reference.term IN (?)', $terms)
      ->where('reference.thesaurus_id != ?', $this->getId())
      ->group(['term', 'thesaurus_id']);
      Severity: Minor
      Found in src/module-elasticsuite-thesaurus/Model/Thesaurus.php and 1 other location - About 45 mins to fix
      src/module-elasticsuite-thesaurus/Model/Thesaurus.php on lines 323..327
      Category
      Status