first commit

This commit is contained in:
Sven Wappler
2021-04-17 21:20:54 +02:00
parent c93ec9492a
commit cadcc8edb4
406 changed files with 4917 additions and 5157 deletions

View File

@@ -26,7 +26,7 @@ namespace WapplerSystems\Meilisearch\Domain\Site;
***************************************************************/
use WapplerSystems\Meilisearch\Domain\Index\Queue\RecordMonitor\Helper\ConfigurationAwareRecordService;
use WapplerSystems\Meilisearch\NoSolrConnectionFoundException;
use WapplerSystems\Meilisearch\NoMeilisearchConnectionFoundException;
use WapplerSystems\Meilisearch\System\Configuration\TypoScriptConfiguration;
use WapplerSystems\Meilisearch\System\Records\Pages\PagesRepository;
use TYPO3\CMS\Backend\Utility\BackendUtility;
@@ -128,11 +128,11 @@ abstract class Site implements SiteInterface
}
/**
* Gets the site's Solr TypoScript configuration (plugin.tx_meilisearch.*)
* Gets the site's Meilisearch TypoScript configuration (plugin.tx_meilisearch.*)
*
* @return \WapplerSystems\Meilisearch\System\Configuration\TypoScriptConfiguration The Solr TypoScript configuration
* @return \WapplerSystems\Meilisearch\System\Configuration\TypoScriptConfiguration The Meilisearch TypoScript configuration
*/
public function getSolrConfiguration()
public function getMeilisearchConfiguration()
{
return $this->configuration;
}
@@ -167,12 +167,12 @@ abstract class Site implements SiteInterface
$configurationAwareRecordService = GeneralUtility::makeInstance(ConfigurationAwareRecordService::class);
// Fetch configuration in order to be able to read initialPagesAdditionalWhereClause
$solrConfiguration = $this->getSolrConfiguration();
$indexQueueConfigurationName = $configurationAwareRecordService->getIndexingConfigurationName('pages', $this->rootPage['uid'], $solrConfiguration);
$meilisearchConfiguration = $this->getMeilisearchConfiguration();
$indexQueueConfigurationName = $configurationAwareRecordService->getIndexingConfigurationName('pages', $this->rootPage['uid'], $meilisearchConfiguration);
if ($indexQueueConfigurationName === null) {
return $pageIds;
}
$initialPagesAdditionalWhereClause = $solrConfiguration->getInitialPagesAdditionalWhereClause($indexQueueConfigurationName);
$initialPagesAdditionalWhereClause = $meilisearchConfiguration->getInitialPagesAdditionalWhereClause($indexQueueConfigurationName);
return array_merge($pageIds, $this->pagesRepository->findAllSubPageIdsByRootPage($rootPageId, $maxDepth, $initialPagesAdditionalWhereClause));
}
@@ -241,26 +241,26 @@ abstract class Site implements SiteInterface
/**
* @return array
* @throws NoSolrConnectionFoundException
* @throws NoMeilisearchConnectionFoundException
*/
public function getAllSolrConnectionConfigurations(): array {
public function getAllMeilisearchConnectionConfigurations(): array {
$configs = [];
foreach ($this->getAvailableLanguageIds() as $languageId) {
try {
$configs[$languageId] = $this->getSolrConnectionConfiguration($languageId);
} catch (NoSolrConnectionFoundException $e) {}
$configs[$languageId] = $this->getMeilisearchConnectionConfiguration($languageId);
} catch (NoMeilisearchConnectionFoundException $e) {}
}
return $configs;
}
public function isEnabled(): bool
{
return !empty($this->getAllSolrConnectionConfigurations());
return !empty($this->getAllMeilisearchConnectionConfigurations());
}
/**
* @param int $languageId
* @return array
*/
abstract function getSolrConnectionConfiguration(int $language = 0): array;
abstract function getMeilisearchConnectionConfiguration(int $language = 0): array;
}