14
14
use Algolia \AlgoliaSearch \Service \AlgoliaConnector ;
15
15
use Algolia \AlgoliaSearch \Service \AlgoliaCredentialsManager ;
16
16
use Algolia \AlgoliaSearch \Service \IndexOptionsBuilder ;
17
+ use Algolia \AlgoliaSearch \Service \Category \IndexOptionsBuilder as CategoryIndexOptionsBuilder ;
18
+ use Algolia \AlgoliaSearch \Service \Page \IndexOptionsBuilder as PageIndexOptionsBuilder ;
19
+ use Algolia \AlgoliaSearch \Service \Product \IndexOptionsBuilder as ProductIndexOptionsBuilder ;
20
+ use Algolia \AlgoliaSearch \Service \Suggestion \IndexOptionsBuilder as SuggestionIndexOptionsBuilder ;
17
21
use Magento \Framework \Exception \NoSuchEntityException ;
18
22
19
23
class IndicesConfigurator
20
24
{
21
25
public function __construct (
22
- protected Data $ baseHelper ,
23
- protected IndexOptionsBuilder $ indexOptionsBuilder ,
24
- protected AlgoliaConnector $ algoliaConnector ,
25
- protected ConfigHelper $ configHelper ,
26
- protected ProductHelper $ productHelper ,
27
- protected CategoryHelper $ categoryHelper ,
28
- protected PageHelper $ pageHelper ,
29
- protected SuggestionHelper $ suggestionHelper ,
30
- protected AdditionalSectionHelper $ additionalSectionHelper ,
31
- protected AlgoliaCredentialsManager $ algoliaCredentialsManager ,
32
- protected DiagnosticsLogger $ logger
26
+ protected Data $ baseHelper ,
27
+ protected IndexOptionsBuilder $ indexOptionsBuilder ,
28
+ protected CategoryIndexOptionsBuilder $ categoryIndexOptionsBuilder ,
29
+ protected PageIndexOptionsBuilder $ pageIndexOptionsBuilder ,
30
+ protected ProductIndexOptionsBuilder $ productIndexOptionsBuilder ,
31
+ protected SuggestionIndexOptionsBuilder $ suggestionIndexOptionsBuilder ,
32
+ protected AlgoliaConnector $ algoliaConnector ,
33
+ protected ConfigHelper $ configHelper ,
34
+ protected ProductHelper $ productHelper ,
35
+ protected CategoryHelper $ categoryHelper ,
36
+ protected PageHelper $ pageHelper ,
37
+ protected SuggestionHelper $ suggestionHelper ,
38
+ protected AdditionalSectionHelper $ additionalSectionHelper ,
39
+ protected AlgoliaCredentialsManager $ algoliaCredentialsManager ,
40
+ protected DiagnosticsLogger $ logger
33
41
) {}
34
42
35
43
/**
@@ -98,11 +106,7 @@ protected function setCategoriesSettings(int $storeId): void
98
106
$ this ->logger ->start ($ logEventName , true );
99
107
100
108
$ settings = $ this ->categoryHelper ->getIndexSettings ($ storeId );
101
-
102
- $ indexOptions = $ this ->indexOptionsBuilder ->buildWithComputedIndex (
103
- CategoryHelper::INDEX_NAME_SUFFIX ,
104
- $ storeId
105
- );
109
+ $ indexOptions = $ this ->categoryIndexOptionsBuilder ->buildEntityIndexOptions ($ storeId );
106
110
107
111
$ this ->algoliaConnector ->setSettings (
108
112
$ indexOptions ,
@@ -127,8 +131,7 @@ protected function setPagesSettings(int $storeId): void
127
131
$ this ->logger ->start ($ logEventName , true );
128
132
129
133
$ settings = $ this ->pageHelper ->getIndexSettings ($ storeId );
130
-
131
- $ indexOptions = $ this ->indexOptionsBuilder ->buildWithComputedIndex (PageHelper::INDEX_NAME_SUFFIX , $ storeId );
134
+ $ indexOptions = $ this ->pageIndexOptionsBuilder ->buildEntityIndexOptions ($ storeId );
132
135
133
136
$ this ->algoliaConnector ->setSettings (
134
137
$ indexOptions ,
@@ -153,7 +156,7 @@ protected function setQuerySuggestionsSettings(int $storeId): void
153
156
$ this ->logger ->start ($ logEventName , true );
154
157
155
158
$ settings = $ this ->suggestionHelper ->getIndexSettings ($ storeId );
156
- $ indexOptions = $ this ->indexOptionsBuilder -> buildWithComputedIndex (SuggestionHelper:: INDEX_NAME_SUFFIX , $ storeId );
159
+ $ indexOptions = $ this ->suggestionIndexOptionsBuilder -> buildEntityIndexOptions ( $ storeId );
157
160
158
161
$ this ->algoliaConnector ->setSettings (
159
162
$ indexOptions ,
@@ -212,13 +215,13 @@ protected function setProductsSettings(int $storeId, bool $useTmpIndex): void
212
215
$ logEventName = 'Pushing settings for products indices. ' ;
213
216
$ this ->logger ->start ($ logEventName , true );
214
217
215
- $ indexName = $ this ->productHelper -> getIndexName ($ storeId );
216
- $ indexNameTmp = $ this ->productHelper -> getTempIndexName ($ storeId );
218
+ $ indexOptions = $ this ->productIndexOptionsBuilder -> buildEntityIndexOptions ($ storeId );
219
+ $ indexTmpOptions = $ this ->productIndexOptionsBuilder -> buildEntityIndexOptions ($ storeId, true );
217
220
218
- $ this ->logger ->log ('Index name: ' . $ indexName );
219
- $ this ->logger ->log ('TMP Index name: ' . $ indexNameTmp );
221
+ $ this ->logger ->log ('Index name: ' . $ indexOptions -> getIndexName () );
222
+ $ this ->logger ->log ('TMP Index name: ' . $ indexTmpOptions -> getIndexName () );
220
223
221
- $ this ->productHelper ->setSettings ($ indexName , $ indexNameTmp , $ storeId , $ useTmpIndex );
224
+ $ this ->productHelper ->setSettings ($ indexOptions , $ indexTmpOptions , $ storeId , $ useTmpIndex );
222
225
223
226
$ this ->logger ->stop ($ logEventName , true );
224
227
}
0 commit comments