@webiny/api-headless-cms-ddb-es 6.1.0-beta.3 → 6.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/configurations.d.ts +3 -2
  2. package/configurations.js +10 -8
  3. package/configurations.js.map +1 -1
  4. package/elasticsearch/createElasticsearchIndex.d.ts +2 -2
  5. package/elasticsearch/createElasticsearchIndex.js +58 -16
  6. package/elasticsearch/createElasticsearchIndex.js.map +1 -1
  7. package/exports/api/cms/opensearch.d.ts +9 -0
  8. package/exports/api/cms/opensearch.js +11 -0
  9. package/exports/api/cms/opensearch.js.map +1 -0
  10. package/feature.d.ts +1 -0
  11. package/feature.js +188 -0
  12. package/feature.js.map +1 -0
  13. package/features/CmsEntryOpenSearchBodyModifier/abstractions.d.ts +16 -0
  14. package/features/CmsEntryOpenSearchBodyModifier/abstractions.js +4 -0
  15. package/features/CmsEntryOpenSearchBodyModifier/abstractions.js.map +1 -0
  16. package/features/CmsEntryOpenSearchBodyModifier/index.d.ts +1 -0
  17. package/features/CmsEntryOpenSearchBodyModifier/index.js +3 -0
  18. package/features/CmsEntryOpenSearchBodyModifier/index.js.map +1 -0
  19. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.d.ts +13 -0
  20. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js +36 -0
  21. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -0
  22. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.d.ts +35 -0
  23. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js +4 -0
  24. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js.map +1 -0
  25. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.d.ts +11 -0
  26. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js +4 -0
  27. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -0
  28. package/features/CmsEntryOpenSearchFieldIndex/constants.d.ts +1 -0
  29. package/features/CmsEntryOpenSearchFieldIndex/constants.js +3 -0
  30. package/features/CmsEntryOpenSearchFieldIndex/constants.js.map +1 -0
  31. package/features/CmsEntryOpenSearchFieldIndex/feature.d.ts +1 -0
  32. package/features/CmsEntryOpenSearchFieldIndex/feature.js +24 -0
  33. package/features/CmsEntryOpenSearchFieldIndex/feature.js.map +1 -0
  34. package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.d.ts +11 -0
  35. package/{elasticsearch/indexing/dateTimeIndexing.js → features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js} +21 -19
  36. package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js.map +1 -0
  37. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.d.ts +10 -0
  38. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js +39 -0
  39. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js.map +1 -0
  40. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.d.ts +10 -0
  41. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js +22 -0
  42. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js.map +1 -0
  43. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.d.ts +10 -0
  44. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js +25 -0
  45. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js.map +1 -0
  46. package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.d.ts +11 -0
  47. package/{elasticsearch/indexing/numberIndexing.js → features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js} +11 -8
  48. package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js.map +1 -0
  49. package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.d.ts +10 -0
  50. package/{elasticsearch/indexing/objectIndexing.js → features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js} +50 -86
  51. package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js.map +1 -0
  52. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.d.ts +10 -0
  53. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js +22 -0
  54. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js.map +1 -0
  55. package/features/CmsEntryOpenSearchFieldIndex/index.d.ts +3 -0
  56. package/features/CmsEntryOpenSearchFieldIndex/index.js +5 -0
  57. package/features/CmsEntryOpenSearchFieldIndex/index.js.map +1 -0
  58. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.d.ts +11 -0
  59. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js +38 -0
  60. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js.map +1 -0
  61. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.d.ts +37 -0
  62. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js +4 -0
  63. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js.map +1 -0
  64. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.d.ts +9 -0
  65. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js +4 -0
  66. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js.map +1 -0
  67. package/features/CmsEntryOpenSearchFilter/constants.d.ts +1 -0
  68. package/features/CmsEntryOpenSearchFilter/constants.js +3 -0
  69. package/features/CmsEntryOpenSearchFilter/constants.js.map +1 -0
  70. package/features/CmsEntryOpenSearchFilter/feature.d.ts +1 -0
  71. package/features/CmsEntryOpenSearchFilter/feature.js +16 -0
  72. package/features/CmsEntryOpenSearchFilter/feature.js.map +1 -0
  73. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.d.ts +9 -0
  74. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js +23 -0
  75. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js.map +1 -0
  76. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.d.ts +9 -0
  77. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js +61 -0
  78. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js.map +1 -0
  79. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.d.ts +9 -0
  80. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js +49 -0
  81. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js.map +1 -0
  82. package/features/CmsEntryOpenSearchFilter/index.d.ts +3 -0
  83. package/features/CmsEntryOpenSearchFilter/index.js +5 -0
  84. package/features/CmsEntryOpenSearchFilter/index.js.map +1 -0
  85. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.d.ts +20 -0
  86. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js +4 -0
  87. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js.map +1 -0
  88. package/features/CmsEntryOpenSearchFullTextSearch/index.d.ts +1 -0
  89. package/features/CmsEntryOpenSearchFullTextSearch/index.js +3 -0
  90. package/features/CmsEntryOpenSearchFullTextSearch/index.js.map +1 -0
  91. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.d.ts +11 -0
  92. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js +17 -0
  93. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js.map +1 -0
  94. package/features/CmsEntryOpenSearchIndex/abstractions.d.ts +14 -0
  95. package/features/CmsEntryOpenSearchIndex/abstractions.js +4 -0
  96. package/features/CmsEntryOpenSearchIndex/abstractions.js.map +1 -0
  97. package/features/CmsEntryOpenSearchIndex/feature.d.ts +1 -0
  98. package/features/CmsEntryOpenSearchIndex/feature.js +10 -0
  99. package/features/CmsEntryOpenSearchIndex/feature.js.map +1 -0
  100. package/features/CmsEntryOpenSearchIndex/index.d.ts +3 -0
  101. package/features/CmsEntryOpenSearchIndex/index.js +5 -0
  102. package/features/CmsEntryOpenSearchIndex/index.js.map +1 -0
  103. package/features/CmsEntryOpenSearchQueryModifier/abstractions.d.ts +16 -0
  104. package/features/CmsEntryOpenSearchQueryModifier/abstractions.js +4 -0
  105. package/features/CmsEntryOpenSearchQueryModifier/abstractions.js.map +1 -0
  106. package/features/CmsEntryOpenSearchQueryModifier/index.d.ts +1 -0
  107. package/features/CmsEntryOpenSearchQueryModifier/index.js +3 -0
  108. package/features/CmsEntryOpenSearchQueryModifier/index.js.map +1 -0
  109. package/features/CmsEntryOpenSearchSortModifier/abstractions.d.ts +15 -0
  110. package/features/CmsEntryOpenSearchSortModifier/abstractions.js +4 -0
  111. package/features/CmsEntryOpenSearchSortModifier/abstractions.js.map +1 -0
  112. package/features/CmsEntryOpenSearchSortModifier/index.d.ts +1 -0
  113. package/features/CmsEntryOpenSearchSortModifier/index.js +3 -0
  114. package/features/CmsEntryOpenSearchSortModifier/index.js.map +1 -0
  115. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.d.ts +12 -0
  116. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js +27 -0
  117. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -0
  118. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.d.ts +22 -0
  119. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js +4 -0
  120. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js.map +1 -0
  121. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.d.ts +10 -0
  122. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js +4 -0
  123. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -0
  124. package/features/CmsEntryOpenSearchValueSearch/feature.d.ts +1 -0
  125. package/features/CmsEntryOpenSearchValueSearch/feature.js +16 -0
  126. package/features/CmsEntryOpenSearchValueSearch/feature.js.map +1 -0
  127. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.d.ts +10 -0
  128. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js +23 -0
  129. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js.map +1 -0
  130. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.d.ts +10 -0
  131. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js +55 -0
  132. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js.map +1 -0
  133. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.d.ts +10 -0
  134. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js +24 -0
  135. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js.map +1 -0
  136. package/features/CmsEntryOpenSearchValueSearch/index.d.ts +3 -0
  137. package/features/CmsEntryOpenSearchValueSearch/index.js +5 -0
  138. package/features/CmsEntryOpenSearchValueSearch/index.js.map +1 -0
  139. package/features/CmsEntryOpenSearchValuesModifier/abstractions.d.ts +23 -0
  140. package/features/CmsEntryOpenSearchValuesModifier/abstractions.js +4 -0
  141. package/features/CmsEntryOpenSearchValuesModifier/abstractions.js.map +1 -0
  142. package/features/CmsEntryOpenSearchValuesModifier/index.d.ts +1 -0
  143. package/features/CmsEntryOpenSearchValuesModifier/index.js +3 -0
  144. package/features/CmsEntryOpenSearchValuesModifier/index.js.map +1 -0
  145. package/helpers/entryIndexHelpers.d.ts +5 -3
  146. package/helpers/entryIndexHelpers.js +28 -90
  147. package/helpers/entryIndexHelpers.js.map +1 -1
  148. package/index.d.ts +1 -3
  149. package/index.js +1 -188
  150. package/index.js.map +1 -1
  151. package/operations/entry/elasticsearch/body.d.ts +18 -2
  152. package/operations/entry/elasticsearch/body.js +32 -29
  153. package/operations/entry/elasticsearch/body.js.map +1 -1
  154. package/operations/entry/elasticsearch/fields.d.ts +6 -4
  155. package/operations/entry/elasticsearch/fields.js +14 -57
  156. package/operations/entry/elasticsearch/fields.js.map +1 -1
  157. package/operations/entry/elasticsearch/filtering/applyFiltering.d.ts +5 -4
  158. package/operations/entry/elasticsearch/filtering/applyFiltering.js +3 -3
  159. package/operations/entry/elasticsearch/filtering/applyFiltering.js.map +1 -1
  160. package/operations/entry/elasticsearch/filtering/exec.d.ts +4 -0
  161. package/operations/entry/elasticsearch/filtering/exec.js +11 -64
  162. package/operations/entry/elasticsearch/filtering/exec.js.map +1 -1
  163. package/operations/entry/elasticsearch/filtering/path.d.ts +4 -3
  164. package/operations/entry/elasticsearch/filtering/path.js +4 -6
  165. package/operations/entry/elasticsearch/filtering/path.js.map +1 -1
  166. package/operations/entry/elasticsearch/fullTextSearch.d.ts +2 -2
  167. package/operations/entry/elasticsearch/fullTextSearch.js +25 -29
  168. package/operations/entry/elasticsearch/fullTextSearch.js.map +1 -1
  169. package/operations/entry/elasticsearch/sort.d.ts +2 -2
  170. package/operations/entry/elasticsearch/sort.js +2 -6
  171. package/operations/entry/elasticsearch/sort.js.map +1 -1
  172. package/operations/entry/elasticsearch/transformValueForSearch.d.ts +2 -9
  173. package/operations/entry/elasticsearch/transformValueForSearch.js +4 -14
  174. package/operations/entry/elasticsearch/transformValueForSearch.js.map +1 -1
  175. package/operations/entry/elasticsearch/types.d.ts +0 -7
  176. package/operations/entry/elasticsearch/types.js.map +1 -1
  177. package/operations/entry/index.d.ts +21 -1
  178. package/operations/entry/index.js +96 -39
  179. package/operations/entry/index.js.map +1 -1
  180. package/operations/entry/transformations/index.d.ts +8 -2
  181. package/operations/entry/transformations/index.js +14 -12
  182. package/operations/entry/transformations/index.js.map +1 -1
  183. package/operations/entry/transformations/modifyEntryValues.d.ts +2 -2
  184. package/operations/entry/transformations/modifyEntryValues.js +3 -3
  185. package/operations/entry/transformations/modifyEntryValues.js.map +1 -1
  186. package/operations/entry/transformations/transformEntryToIndex.d.ts +4 -2
  187. package/operations/entry/transformations/transformEntryToIndex.js +6 -4
  188. package/operations/entry/transformations/transformEntryToIndex.js.map +1 -1
  189. package/operations/group/index.d.ts +2 -2
  190. package/operations/group/index.js +6 -9
  191. package/operations/group/index.js.map +1 -1
  192. package/package.json +25 -23
  193. package/tasks/createIndexTaskPlugin.js +8 -1
  194. package/tasks/createIndexTaskPlugin.js.map +1 -1
  195. package/types.d.ts +7 -112
  196. package/types.js +0 -23
  197. package/types.js.map +1 -1
  198. package/dynamoDb/index.d.ts +0 -3
  199. package/dynamoDb/index.js +0 -8
  200. package/dynamoDb/index.js.map +0 -1
  201. package/dynamoDb/storage/longText.d.ts +0 -10
  202. package/dynamoDb/storage/longText.js +0 -88
  203. package/dynamoDb/storage/longText.js.map +0 -1
  204. package/dynamoDb/storage/richText.d.ts +0 -2
  205. package/dynamoDb/storage/richText.js +0 -51
  206. package/dynamoDb/storage/richText.js.map +0 -1
  207. package/elasticsearch/index.d.ts +0 -2
  208. package/elasticsearch/index.js +0 -5
  209. package/elasticsearch/index.js.map +0 -1
  210. package/elasticsearch/indexing/dateTimeIndexing.d.ts +0 -3
  211. package/elasticsearch/indexing/dateTimeIndexing.js.map +0 -1
  212. package/elasticsearch/indexing/defaultFieldIndexing.d.ts +0 -3
  213. package/elasticsearch/indexing/defaultFieldIndexing.js +0 -47
  214. package/elasticsearch/indexing/defaultFieldIndexing.js.map +0 -1
  215. package/elasticsearch/indexing/index.d.ts +0 -2
  216. package/elasticsearch/indexing/index.js +0 -10
  217. package/elasticsearch/indexing/index.js.map +0 -1
  218. package/elasticsearch/indexing/jsonIndexing.d.ts +0 -2
  219. package/elasticsearch/indexing/jsonIndexing.js +0 -21
  220. package/elasticsearch/indexing/jsonIndexing.js.map +0 -1
  221. package/elasticsearch/indexing/longTextIndexing.d.ts +0 -7
  222. package/elasticsearch/indexing/longTextIndexing.js +0 -35
  223. package/elasticsearch/indexing/longTextIndexing.js.map +0 -1
  224. package/elasticsearch/indexing/numberIndexing.d.ts +0 -3
  225. package/elasticsearch/indexing/numberIndexing.js.map +0 -1
  226. package/elasticsearch/indexing/objectIndexing.d.ts +0 -12
  227. package/elasticsearch/indexing/objectIndexing.js.map +0 -1
  228. package/elasticsearch/indexing/richTextIndexing.d.ts +0 -3
  229. package/elasticsearch/indexing/richTextIndexing.js +0 -24
  230. package/elasticsearch/indexing/richTextIndexing.js.map +0 -1
  231. package/elasticsearch/indices/base.d.ts +0 -2
  232. package/elasticsearch/indices/base.js +0 -7
  233. package/elasticsearch/indices/base.js.map +0 -1
  234. package/elasticsearch/indices/index.d.ts +0 -1
  235. package/elasticsearch/indices/index.js +0 -6
  236. package/elasticsearch/indices/index.js.map +0 -1
  237. package/elasticsearch/search/index.d.ts +0 -3
  238. package/elasticsearch/search/index.js +0 -6
  239. package/elasticsearch/search/index.js.map +0 -1
  240. package/elasticsearch/search/refSearch.d.ts +0 -2
  241. package/elasticsearch/search/refSearch.js +0 -24
  242. package/elasticsearch/search/refSearch.js.map +0 -1
  243. package/elasticsearch/search/searchableJson.d.ts +0 -2
  244. package/elasticsearch/search/searchableJson.js +0 -53
  245. package/elasticsearch/search/searchableJson.js.map +0 -1
  246. package/elasticsearch/search/timeSearch.d.ts +0 -2
  247. package/elasticsearch/search/timeSearch.js +0 -20
  248. package/elasticsearch/search/timeSearch.js.map +0 -1
  249. package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.d.ts +0 -2
  250. package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js +0 -22
  251. package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js.map +0 -1
  252. package/operations/entry/elasticsearch/filtering/plugins/index.d.ts +0 -1
  253. package/operations/entry/elasticsearch/filtering/plugins/index.js +0 -8
  254. package/operations/entry/elasticsearch/filtering/plugins/index.js.map +0 -1
  255. package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.d.ts +0 -2
  256. package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js +0 -61
  257. package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js.map +0 -1
  258. package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.d.ts +0 -2
  259. package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js +0 -49
  260. package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js.map +0 -1
  261. package/operations/entry/elasticsearch/plugins/bodyModifier.d.ts +0 -9
  262. package/operations/entry/elasticsearch/plugins/bodyModifier.js +0 -11
  263. package/operations/entry/elasticsearch/plugins/bodyModifier.js.map +0 -1
  264. package/operations/entry/elasticsearch/plugins/queryModifier.d.ts +0 -9
  265. package/operations/entry/elasticsearch/plugins/queryModifier.js +0 -11
  266. package/operations/entry/elasticsearch/plugins/queryModifier.js.map +0 -1
  267. package/operations/entry/elasticsearch/plugins/search.d.ts +0 -7
  268. package/operations/entry/elasticsearch/plugins/search.js +0 -18
  269. package/operations/entry/elasticsearch/plugins/search.js.map +0 -1
  270. package/operations/entry/elasticsearch/plugins/sortModifier.d.ts +0 -9
  271. package/operations/entry/elasticsearch/plugins/sortModifier.js +0 -11
  272. package/operations/entry/elasticsearch/plugins/sortModifier.js.map +0 -1
  273. package/plugins/CmsElasticsearchModelFieldPlugin.d.ts +0 -69
  274. package/plugins/CmsElasticsearchModelFieldPlugin.js +0 -46
  275. package/plugins/CmsElasticsearchModelFieldPlugin.js.map +0 -1
  276. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.d.ts +0 -22
  277. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js +0 -13
  278. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js.map +0 -1
  279. package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.d.ts +0 -24
  280. package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.js +0 -19
  281. package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.js.map +0 -1
  282. package/plugins/CmsEntryElasticsearchIndexPlugin.d.ts +0 -4
  283. package/plugins/CmsEntryElasticsearchIndexPlugin.js +0 -6
  284. package/plugins/CmsEntryElasticsearchIndexPlugin.js.map +0 -1
  285. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.d.ts +0 -32
  286. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js +0 -32
  287. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js.map +0 -1
  288. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.d.ts +0 -19
  289. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js +0 -13
  290. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js.map +0 -1
  291. package/plugins/CmsEntryElasticsearchSortModifierPlugin.d.ts +0 -19
  292. package/plugins/CmsEntryElasticsearchSortModifierPlugin.js +0 -13
  293. package/plugins/CmsEntryElasticsearchSortModifierPlugin.js.map +0 -1
  294. package/plugins/CmsEntryElasticsearchValuesModifier.d.ts +0 -33
  295. package/plugins/CmsEntryElasticsearchValuesModifier.js +0 -42
  296. package/plugins/CmsEntryElasticsearchValuesModifier.js.map +0 -1
  297. package/plugins/CmsEntryFilterPlugin.d.ts +0 -49
  298. package/plugins/CmsEntryFilterPlugin.js +0 -15
  299. package/plugins/CmsEntryFilterPlugin.js.map +0 -1
  300. package/plugins/index.d.ts +0 -8
  301. package/plugins/index.js +0 -10
  302. package/plugins/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","CmsEntryOpenSearchQueryModifier"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { OpenSearchBoolQueryConfig } from \"@webiny/api-opensearch/types.js\";\n\nexport interface ModifyQueryParams {\n query: OpenSearchBoolQueryConfig;\n model: CmsModel;\n where: Record<string, any>;\n}\n\nexport interface ICmsEntryOpenSearchQueryModifier {\n readonly modelId?: string;\n modifyQuery(params: ModifyQueryParams): void;\n}\n\nexport const CmsEntryOpenSearchQueryModifier = createAbstraction<ICmsEntryOpenSearchQueryModifier>(\n \"Cms/Entry/OpenSearch/QueryModifier\"\n);\n\nexport namespace CmsEntryOpenSearchQueryModifier {\n export type Interface = ICmsEntryOpenSearchQueryModifier;\n export type Params = ModifyQueryParams;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAevD,OAAO,MAAMC,+BAA+B,GAAGD,iBAAiB,CAC5D,oCACJ,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { CmsEntryOpenSearchQueryModifier } from "./abstractions.js";
@@ -0,0 +1,3 @@
1
+ export { CmsEntryOpenSearchQueryModifier } from "./abstractions.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsEntryOpenSearchQueryModifier"],"sources":["index.ts"],"sourcesContent":["export { CmsEntryOpenSearchQueryModifier } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,+BAA+B","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import type { CmsModel } from "@webiny/api-headless-cms/types/index.js";
2
+ import type { Sort } from "@webiny/api-opensearch/types.js";
3
+ export interface ModifySortParams {
4
+ sort: Sort;
5
+ model: CmsModel;
6
+ }
7
+ export interface ICmsEntryOpenSearchSortModifier {
8
+ readonly modelId?: string;
9
+ modifySort(params: ModifySortParams): void;
10
+ }
11
+ export declare const CmsEntryOpenSearchSortModifier: import("@webiny/di").Abstraction<ICmsEntryOpenSearchSortModifier>;
12
+ export declare namespace CmsEntryOpenSearchSortModifier {
13
+ type Interface = ICmsEntryOpenSearchSortModifier;
14
+ type Params = ModifySortParams;
15
+ }
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ export const CmsEntryOpenSearchSortModifier = createAbstraction("Cms/Entry/OpenSearch/SortModifier");
3
+
4
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","CmsEntryOpenSearchSortModifier"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { Sort } from \"@webiny/api-opensearch/types.js\";\n\nexport interface ModifySortParams {\n sort: Sort;\n model: CmsModel;\n}\n\nexport interface ICmsEntryOpenSearchSortModifier {\n readonly modelId?: string;\n modifySort(params: ModifySortParams): void;\n}\n\nexport const CmsEntryOpenSearchSortModifier = createAbstraction<ICmsEntryOpenSearchSortModifier>(\n \"Cms/Entry/OpenSearch/SortModifier\"\n);\n\nexport namespace CmsEntryOpenSearchSortModifier {\n export type Interface = ICmsEntryOpenSearchSortModifier;\n export type Params = ModifySortParams;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAcvD,OAAO,MAAMC,8BAA8B,GAAGD,iBAAiB,CAC3D,mCACJ,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { CmsEntryOpenSearchSortModifier } from "./abstractions.js";
@@ -0,0 +1,3 @@
1
+ export { CmsEntryOpenSearchSortModifier } from "./abstractions.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsEntryOpenSearchSortModifier"],"sources":["index.ts"],"sourcesContent":["export { CmsEntryOpenSearchSortModifier } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,8BAA8B","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { CmsEntryOpenSearchValueSearchRegistry as Abstraction } from "./abstractions/CmsEntryOpenSearchValueSearchRegistry.js";
2
+ import { CmsEntryOpenSearchValueSearch } from "./abstractions/CmsEntryOpenSearchValueSearch.js";
3
+ declare class CmsEntryOpenSearchValueSearchRegistryImpl implements Abstraction.Interface {
4
+ private readonly searches;
5
+ constructor(searches: CmsEntryOpenSearchValueSearch.Interface[]);
6
+ get(type: string): Abstraction.SearchValue | undefined;
7
+ getAll(): Abstraction.SearchValue[];
8
+ }
9
+ export declare const CmsEntryOpenSearchValueSearchRegistry: typeof CmsEntryOpenSearchValueSearchRegistryImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions/CmsEntryOpenSearchValueSearchRegistry.js").ICmsEntryOpenSearchValueSearchRegistry>;
11
+ };
12
+ export {};
@@ -0,0 +1,27 @@
1
+ import { CmsEntryOpenSearchValueSearchRegistry as Abstraction } from "./abstractions/CmsEntryOpenSearchValueSearchRegistry.js";
2
+ import { CmsEntryOpenSearchValueSearch } from "./abstractions/CmsEntryOpenSearchValueSearch.js";
3
+ import { getBaseFieldType } from "@webiny/api-headless-cms/utils/getBaseFieldType.js";
4
+ class CmsEntryOpenSearchValueSearchRegistryImpl {
5
+ constructor(searches) {
6
+ this.searches = searches;
7
+ }
8
+ get(type) {
9
+ const fieldType = getBaseFieldType({
10
+ type
11
+ });
12
+ return this.searches.find(s => {
13
+ return s.fieldType === fieldType;
14
+ });
15
+ }
16
+ getAll() {
17
+ return this.searches;
18
+ }
19
+ }
20
+ export const CmsEntryOpenSearchValueSearchRegistry = Abstraction.createImplementation({
21
+ implementation: CmsEntryOpenSearchValueSearchRegistryImpl,
22
+ dependencies: [[CmsEntryOpenSearchValueSearch, {
23
+ multiple: true
24
+ }]]
25
+ });
26
+
27
+ //# sourceMappingURL=CmsEntryOpenSearchValueSearchRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsEntryOpenSearchValueSearchRegistry","Abstraction","CmsEntryOpenSearchValueSearch","getBaseFieldType","CmsEntryOpenSearchValueSearchRegistryImpl","constructor","searches","get","type","fieldType","find","s","getAll","createImplementation","implementation","dependencies","multiple"],"sources":["CmsEntryOpenSearchValueSearchRegistry.ts"],"sourcesContent":["import { CmsEntryOpenSearchValueSearchRegistry as Abstraction } from \"./abstractions/CmsEntryOpenSearchValueSearchRegistry.js\";\nimport { CmsEntryOpenSearchValueSearch } from \"./abstractions/CmsEntryOpenSearchValueSearch.js\";\nimport { getBaseFieldType } from \"@webiny/api-headless-cms/utils/getBaseFieldType.js\";\n\nclass CmsEntryOpenSearchValueSearchRegistryImpl implements Abstraction.Interface {\n public constructor(private readonly searches: CmsEntryOpenSearchValueSearch.Interface[]) {}\n\n public get(type: string): Abstraction.SearchValue | undefined {\n const fieldType = getBaseFieldType({ type });\n return this.searches.find(s => {\n return s.fieldType === fieldType;\n });\n }\n\n public getAll(): Abstraction.SearchValue[] {\n return this.searches;\n }\n}\n\nexport const CmsEntryOpenSearchValueSearchRegistry = Abstraction.createImplementation({\n implementation: CmsEntryOpenSearchValueSearchRegistryImpl,\n dependencies: [[CmsEntryOpenSearchValueSearch, { multiple: true }]]\n});\n"],"mappings":"AAAA,SAASA,qCAAqC,IAAIC,WAAW;AAC7D,SAASC,6BAA6B;AACtC,SAASC,gBAAgB,QAAQ,oDAAoD;AAErF,MAAMC,yCAAyC,CAAkC;EACtEC,WAAWA,CAAkBC,QAAmD,EAAE;IAAA,KAArDA,QAAmD,GAAnDA,QAAmD;EAAG;EAEnFC,GAAGA,CAACC,IAAY,EAAuC;IAC1D,MAAMC,SAAS,GAAGN,gBAAgB,CAAC;MAAEK;IAAK,CAAC,CAAC;IAC5C,OAAO,IAAI,CAACF,QAAQ,CAACI,IAAI,CAACC,CAAC,IAAI;MAC3B,OAAOA,CAAC,CAACF,SAAS,KAAKA,SAAS;IACpC,CAAC,CAAC;EACN;EAEOG,MAAMA,CAAA,EAA8B;IACvC,OAAO,IAAI,CAACN,QAAQ;EACxB;AACJ;AAEA,OAAO,MAAMN,qCAAqC,GAAGC,WAAW,CAACY,oBAAoB,CAAC;EAClFC,cAAc,EAAEV,yCAAyC;EACzDW,YAAY,EAAE,CAAC,CAACb,6BAA6B,EAAE;IAAEc,QAAQ,EAAE;EAAK,CAAC,CAAC;AACtE,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ import type { CmsModelField } from "@webiny/api-headless-cms/types/index.js";
2
+ export interface CreatePathParams<T = any> {
3
+ field: CmsModelField;
4
+ key: string;
5
+ value: T;
6
+ originalValue: any;
7
+ }
8
+ export interface TransformParams<T = any> {
9
+ field: CmsModelField;
10
+ value: T;
11
+ }
12
+ export interface ICmsEntryOpenSearchValueSearch {
13
+ readonly fieldType: string;
14
+ transform(params: TransformParams): any;
15
+ createPath(params: CreatePathParams): string | null;
16
+ }
17
+ export declare const CmsEntryOpenSearchValueSearch: import("@webiny/di").Abstraction<ICmsEntryOpenSearchValueSearch>;
18
+ export declare namespace CmsEntryOpenSearchValueSearch {
19
+ type Interface = ICmsEntryOpenSearchValueSearch;
20
+ type CreatePath = CreatePathParams;
21
+ type Transform = TransformParams;
22
+ }
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ export const CmsEntryOpenSearchValueSearch = createAbstraction("Cms/Entry/OpenSearch/ValueSearch");
3
+
4
+ //# sourceMappingURL=CmsEntryOpenSearchValueSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","CmsEntryOpenSearchValueSearch"],"sources":["CmsEntryOpenSearchValueSearch.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface CreatePathParams<T = any> {\n field: CmsModelField;\n key: string;\n value: T;\n originalValue: any;\n}\n\nexport interface TransformParams<T = any> {\n field: CmsModelField;\n value: T;\n}\n\nexport interface ICmsEntryOpenSearchValueSearch {\n readonly fieldType: string;\n transform(params: TransformParams): any;\n createPath(params: CreatePathParams): string | null;\n}\n\nexport const CmsEntryOpenSearchValueSearch = createAbstraction<ICmsEntryOpenSearchValueSearch>(\n \"Cms/Entry/OpenSearch/ValueSearch\"\n);\n\nexport namespace CmsEntryOpenSearchValueSearch {\n export type Interface = ICmsEntryOpenSearchValueSearch;\n export type CreatePath = CreatePathParams;\n export type Transform = TransformParams;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAqBvD,OAAO,MAAMC,6BAA6B,GAAGD,iBAAiB,CAC1D,kCACJ,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { CmsEntryOpenSearchValueSearch } from "./CmsEntryOpenSearchValueSearch.js";
2
+ export interface ICmsEntryOpenSearchValueSearchRegistry {
3
+ get(fieldType: string): CmsEntryOpenSearchValueSearch.Interface | undefined;
4
+ getAll(): CmsEntryOpenSearchValueSearch.Interface[];
5
+ }
6
+ export declare const CmsEntryOpenSearchValueSearchRegistry: import("@webiny/di").Abstraction<ICmsEntryOpenSearchValueSearchRegistry>;
7
+ export declare namespace CmsEntryOpenSearchValueSearchRegistry {
8
+ type Interface = ICmsEntryOpenSearchValueSearchRegistry;
9
+ type SearchValue = CmsEntryOpenSearchValueSearch.Interface;
10
+ }
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ export const CmsEntryOpenSearchValueSearchRegistry = createAbstraction("Cms/Entry/OpenSearch/ValueSearchRegistry");
3
+
4
+ //# sourceMappingURL=CmsEntryOpenSearchValueSearchRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","CmsEntryOpenSearchValueSearchRegistry"],"sources":["CmsEntryOpenSearchValueSearchRegistry.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsEntryOpenSearchValueSearch } from \"./CmsEntryOpenSearchValueSearch.js\";\n\nexport interface ICmsEntryOpenSearchValueSearchRegistry {\n get(fieldType: string): CmsEntryOpenSearchValueSearch.Interface | undefined;\n getAll(): CmsEntryOpenSearchValueSearch.Interface[];\n}\n\nexport const CmsEntryOpenSearchValueSearchRegistry =\n createAbstraction<ICmsEntryOpenSearchValueSearchRegistry>(\n \"Cms/Entry/OpenSearch/ValueSearchRegistry\"\n );\n\nexport namespace CmsEntryOpenSearchValueSearchRegistry {\n export type Interface = ICmsEntryOpenSearchValueSearchRegistry;\n export type SearchValue = CmsEntryOpenSearchValueSearch.Interface;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAQvD,OAAO,MAAMC,qCAAqC,GAC9CD,iBAAiB,CACb,0CACJ,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const CmsEntryOpenSearchValueSearchFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
@@ -0,0 +1,16 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { RefSearch } from "./fields/RefSearch.js";
3
+ import { SearchableJsonSearch } from "./fields/SearchableJsonSearch.js";
4
+ import { TimeSearch } from "./fields/TimeSearch.js";
5
+ import { CmsEntryOpenSearchValueSearchRegistry } from "./CmsEntryOpenSearchValueSearchRegistry.js";
6
+ export const CmsEntryOpenSearchValueSearchFeature = createFeature({
7
+ name: "Cms/Entry/OpenSearch/ValueSearchFeature",
8
+ register: container => {
9
+ container.register(RefSearch);
10
+ container.register(SearchableJsonSearch);
11
+ container.register(TimeSearch);
12
+ container.register(CmsEntryOpenSearchValueSearchRegistry);
13
+ }
14
+ });
15
+
16
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","RefSearch","SearchableJsonSearch","TimeSearch","CmsEntryOpenSearchValueSearchRegistry","CmsEntryOpenSearchValueSearchFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { RefSearch } from \"./fields/RefSearch.js\";\nimport { SearchableJsonSearch } from \"./fields/SearchableJsonSearch.js\";\nimport { TimeSearch } from \"./fields/TimeSearch.js\";\nimport { CmsEntryOpenSearchValueSearchRegistry } from \"./CmsEntryOpenSearchValueSearchRegistry.js\";\n\nexport const CmsEntryOpenSearchValueSearchFeature = createFeature({\n name: \"Cms/Entry/OpenSearch/ValueSearchFeature\",\n register: container => {\n container.register(RefSearch);\n container.register(SearchableJsonSearch);\n container.register(TimeSearch);\n container.register(CmsEntryOpenSearchValueSearchRegistry);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,SAAS;AAClB,SAASC,oBAAoB;AAC7B,SAASC,UAAU;AACnB,SAASC,qCAAqC;AAE9C,OAAO,MAAMC,oCAAoC,GAAGL,aAAa,CAAC;EAC9DM,IAAI,EAAE,yCAAyC;EAC/CC,QAAQ,EAAEC,SAAS,IAAI;IACnBA,SAAS,CAACD,QAAQ,CAACN,SAAS,CAAC;IAC7BO,SAAS,CAACD,QAAQ,CAACL,oBAAoB,CAAC;IACxCM,SAAS,CAACD,QAAQ,CAACJ,UAAU,CAAC;IAC9BK,SAAS,CAACD,QAAQ,CAACH,qCAAqC,CAAC;EAC7D;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
2
+ declare class RefSearchImpl implements CmsEntryOpenSearchValueSearch.Interface {
3
+ readonly fieldType = "ref";
4
+ transform(params: CmsEntryOpenSearchValueSearch.Transform): any;
5
+ createPath(params: CmsEntryOpenSearchValueSearch.CreatePath): string | null;
6
+ }
7
+ export declare const RefSearch: typeof RefSearchImpl & {
8
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions/CmsEntryOpenSearchValueSearch.js").ICmsEntryOpenSearchValueSearch>;
9
+ };
10
+ export {};
@@ -0,0 +1,23 @@
1
+ import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
2
+ class RefSearchImpl {
3
+ fieldType = "ref";
4
+ transform(params) {
5
+ return params.value;
6
+ }
7
+ createPath(params) {
8
+ const {
9
+ field,
10
+ key
11
+ } = params;
12
+ if (key && key.match("entryId") === null) {
13
+ return `${field.storageId}.id`;
14
+ }
15
+ return `${field.storageId}.entryId`;
16
+ }
17
+ }
18
+ export const RefSearch = CmsEntryOpenSearchValueSearch.createImplementation({
19
+ implementation: RefSearchImpl,
20
+ dependencies: []
21
+ });
22
+
23
+ //# sourceMappingURL=RefSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsEntryOpenSearchValueSearch","RefSearchImpl","fieldType","transform","params","value","createPath","field","key","match","storageId","RefSearch","createImplementation","implementation","dependencies"],"sources":["RefSearch.ts"],"sourcesContent":["import { CmsEntryOpenSearchValueSearch } from \"../abstractions/CmsEntryOpenSearchValueSearch.js\";\n\nclass RefSearchImpl implements CmsEntryOpenSearchValueSearch.Interface {\n public readonly fieldType = \"ref\";\n\n public transform(params: CmsEntryOpenSearchValueSearch.Transform): any {\n return params.value;\n }\n\n public createPath(params: CmsEntryOpenSearchValueSearch.CreatePath): string | null {\n const { field, key } = params;\n if (key && key.match(\"entryId\") === null) {\n return `${field.storageId}.id`;\n }\n return `${field.storageId}.entryId`;\n }\n}\n\nexport const RefSearch = CmsEntryOpenSearchValueSearch.createImplementation({\n implementation: RefSearchImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,6BAA6B;AAEtC,MAAMC,aAAa,CAAoD;EACnDC,SAAS,GAAG,KAAK;EAE1BC,SAASA,CAACC,MAA+C,EAAO;IACnE,OAAOA,MAAM,CAACC,KAAK;EACvB;EAEOC,UAAUA,CAACF,MAAgD,EAAiB;IAC/E,MAAM;MAAEG,KAAK;MAAEC;IAAI,CAAC,GAAGJ,MAAM;IAC7B,IAAII,GAAG,IAAIA,GAAG,CAACC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;MACtC,OAAO,GAAGF,KAAK,CAACG,SAAS,KAAK;IAClC;IACA,OAAO,GAAGH,KAAK,CAACG,SAAS,UAAU;EACvC;AACJ;AAEA,OAAO,MAAMC,SAAS,GAAGX,6BAA6B,CAACY,oBAAoB,CAAC;EACxEC,cAAc,EAAEZ,aAAa;EAC7Ba,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
2
+ declare class SearchableJsonSearchImpl implements CmsEntryOpenSearchValueSearch.Interface {
3
+ readonly fieldType = "searchable-json";
4
+ transform(params: CmsEntryOpenSearchValueSearch.Transform): any;
5
+ createPath(params: CmsEntryOpenSearchValueSearch.CreatePath): string | null;
6
+ }
7
+ export declare const SearchableJsonSearch: typeof SearchableJsonSearchImpl & {
8
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions/CmsEntryOpenSearchValueSearch.js").ICmsEntryOpenSearchValueSearch>;
9
+ };
10
+ export {};
@@ -0,0 +1,55 @@
1
+ import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
2
+ import { WebinyError } from "@webiny/error";
3
+ import { NoValueContainer } from "../../../values/NoValueContainer.js";
4
+ const getKey = params => {
5
+ const {
6
+ field,
7
+ value
8
+ } = params;
9
+ const keys = Object.keys(value);
10
+ if (keys.length === 0) {
11
+ throw new WebinyError(`Searchable JSON field "${field.fieldId}" cannot be empty.`, "EMPTY_SEARCHABLE_JSON_FIELD", {
12
+ field,
13
+ value
14
+ });
15
+ } else if (keys.length > 1) {
16
+ throw new WebinyError(`Searchable JSON field "${field.fieldId}" can only have one key.`, "MULTIPLE_KEYS_IN_SEARCHABLE_JSON_FIELD", {
17
+ field,
18
+ value,
19
+ keys
20
+ });
21
+ }
22
+ return keys[0];
23
+ };
24
+ class SearchableJsonSearchImpl {
25
+ fieldType = "searchable-json";
26
+ transform(params) {
27
+ const {
28
+ value
29
+ } = params;
30
+ if (NoValueContainer.is(value)) {
31
+ return null;
32
+ }
33
+ const key = getKey(params);
34
+ return value[key] || null;
35
+ }
36
+ createPath(params) {
37
+ const {
38
+ field
39
+ } = params;
40
+ if (NoValueContainer.is(params.originalValue)) {
41
+ return `${field.storageId}.unknown`;
42
+ }
43
+ const key = getKey({
44
+ field,
45
+ value: params.originalValue
46
+ });
47
+ return `${field.storageId}.${key}`;
48
+ }
49
+ }
50
+ export const SearchableJsonSearch = CmsEntryOpenSearchValueSearch.createImplementation({
51
+ implementation: SearchableJsonSearchImpl,
52
+ dependencies: []
53
+ });
54
+
55
+ //# sourceMappingURL=SearchableJsonSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsEntryOpenSearchValueSearch","WebinyError","NoValueContainer","getKey","params","field","value","keys","Object","length","fieldId","SearchableJsonSearchImpl","fieldType","transform","is","key","createPath","originalValue","storageId","SearchableJsonSearch","createImplementation","implementation","dependencies"],"sources":["SearchableJsonSearch.ts"],"sourcesContent":["import { CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\nimport { CmsEntryOpenSearchValueSearch } from \"../abstractions/CmsEntryOpenSearchValueSearch.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport { NoValueContainer } from \"~/values/NoValueContainer.js\";\n\ninterface IGetKeyParams {\n field: CmsModelField;\n value: {\n [key: string]: any;\n };\n}\n\nconst getKey = (params: IGetKeyParams): string => {\n const { field, value } = params;\n const keys = Object.keys(value);\n if (keys.length === 0) {\n throw new WebinyError(\n `Searchable JSON field \"${field.fieldId}\" cannot be empty.`,\n \"EMPTY_SEARCHABLE_JSON_FIELD\",\n {\n field,\n value\n }\n );\n } else if (keys.length > 1) {\n throw new WebinyError(\n `Searchable JSON field \"${field.fieldId}\" can only have one key.`,\n \"MULTIPLE_KEYS_IN_SEARCHABLE_JSON_FIELD\",\n {\n field,\n value,\n keys\n }\n );\n }\n return keys[0];\n};\n\nclass SearchableJsonSearchImpl implements CmsEntryOpenSearchValueSearch.Interface {\n public readonly fieldType = \"searchable-json\";\n\n public transform(params: CmsEntryOpenSearchValueSearch.Transform): any {\n const { value } = params;\n\n if (NoValueContainer.is(value)) {\n return null;\n }\n\n const key = getKey(params);\n return value[key] || null;\n }\n\n public createPath(params: CmsEntryOpenSearchValueSearch.CreatePath): string | null {\n const { field } = params;\n\n if (NoValueContainer.is(params.originalValue)) {\n return `${field.storageId}.unknown`;\n }\n\n const key = getKey({\n field,\n value: params.originalValue\n });\n\n return `${field.storageId}.${key}`;\n }\n}\n\nexport const SearchableJsonSearch = CmsEntryOpenSearchValueSearch.createImplementation({\n implementation: SearchableJsonSearchImpl,\n dependencies: []\n});\n"],"mappings":"AACA,SAASA,6BAA6B;AACtC,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,gBAAgB;AASzB,MAAMC,MAAM,GAAIC,MAAqB,IAAa;EAC9C,MAAM;IAAEC,KAAK;IAAEC;EAAM,CAAC,GAAGF,MAAM;EAC/B,MAAMG,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACD,KAAK,CAAC;EAC/B,IAAIC,IAAI,CAACE,MAAM,KAAK,CAAC,EAAE;IACnB,MAAM,IAAIR,WAAW,CACjB,0BAA0BI,KAAK,CAACK,OAAO,oBAAoB,EAC3D,6BAA6B,EAC7B;MACIL,KAAK;MACLC;IACJ,CACJ,CAAC;EACL,CAAC,MAAM,IAAIC,IAAI,CAACE,MAAM,GAAG,CAAC,EAAE;IACxB,MAAM,IAAIR,WAAW,CACjB,0BAA0BI,KAAK,CAACK,OAAO,0BAA0B,EACjE,wCAAwC,EACxC;MACIL,KAAK;MACLC,KAAK;MACLC;IACJ,CACJ,CAAC;EACL;EACA,OAAOA,IAAI,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAMI,wBAAwB,CAAoD;EAC9DC,SAAS,GAAG,iBAAiB;EAEtCC,SAASA,CAACT,MAA+C,EAAO;IACnE,MAAM;MAAEE;IAAM,CAAC,GAAGF,MAAM;IAExB,IAAIF,gBAAgB,CAACY,EAAE,CAACR,KAAK,CAAC,EAAE;MAC5B,OAAO,IAAI;IACf;IAEA,MAAMS,GAAG,GAAGZ,MAAM,CAACC,MAAM,CAAC;IAC1B,OAAOE,KAAK,CAACS,GAAG,CAAC,IAAI,IAAI;EAC7B;EAEOC,UAAUA,CAACZ,MAAgD,EAAiB;IAC/E,MAAM;MAAEC;IAAM,CAAC,GAAGD,MAAM;IAExB,IAAIF,gBAAgB,CAACY,EAAE,CAACV,MAAM,CAACa,aAAa,CAAC,EAAE;MAC3C,OAAO,GAAGZ,KAAK,CAACa,SAAS,UAAU;IACvC;IAEA,MAAMH,GAAG,GAAGZ,MAAM,CAAC;MACfE,KAAK;MACLC,KAAK,EAAEF,MAAM,CAACa;IAClB,CAAC,CAAC;IAEF,OAAO,GAAGZ,KAAK,CAACa,SAAS,IAAIH,GAAG,EAAE;EACtC;AACJ;AAEA,OAAO,MAAMI,oBAAoB,GAAGnB,6BAA6B,CAACoB,oBAAoB,CAAC;EACnFC,cAAc,EAAEV,wBAAwB;EACxCW,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
2
+ declare class TimeSearchImpl implements CmsEntryOpenSearchValueSearch.Interface {
3
+ readonly fieldType = "datetime";
4
+ transform(params: CmsEntryOpenSearchValueSearch.Transform): any;
5
+ createPath(): string | null;
6
+ }
7
+ export declare const TimeSearch: typeof TimeSearchImpl & {
8
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions/CmsEntryOpenSearchValueSearch.js").ICmsEntryOpenSearchValueSearch>;
9
+ };
10
+ export {};
@@ -0,0 +1,24 @@
1
+ import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
2
+ class TimeSearchImpl {
3
+ fieldType = "datetime";
4
+ transform(params) {
5
+ const {
6
+ field,
7
+ value
8
+ } = params;
9
+ if (!value || field.settings?.type !== "time") {
10
+ return value;
11
+ }
12
+ const [hours, minutes, seconds = 0] = value.split(":").map(Number);
13
+ return hours * 60 * 60 + minutes * 60 + seconds;
14
+ }
15
+ createPath() {
16
+ return null;
17
+ }
18
+ }
19
+ export const TimeSearch = CmsEntryOpenSearchValueSearch.createImplementation({
20
+ implementation: TimeSearchImpl,
21
+ dependencies: []
22
+ });
23
+
24
+ //# sourceMappingURL=TimeSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsEntryOpenSearchValueSearch","TimeSearchImpl","fieldType","transform","params","field","value","settings","type","hours","minutes","seconds","split","map","Number","createPath","TimeSearch","createImplementation","implementation","dependencies"],"sources":["TimeSearch.ts"],"sourcesContent":["import { CmsEntryOpenSearchValueSearch } from \"../abstractions/CmsEntryOpenSearchValueSearch.js\";\n\nclass TimeSearchImpl implements CmsEntryOpenSearchValueSearch.Interface {\n public readonly fieldType = \"datetime\";\n\n public transform(params: CmsEntryOpenSearchValueSearch.Transform): any {\n const { field, value } = params;\n if (!value || field.settings?.type !== \"time\") {\n return value;\n }\n const [hours, minutes, seconds = 0] = value.split(\":\").map(Number);\n return hours * 60 * 60 + minutes * 60 + seconds;\n }\n\n public createPath(): string | null {\n return null;\n }\n}\n\nexport const TimeSearch = CmsEntryOpenSearchValueSearch.createImplementation({\n implementation: TimeSearchImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,6BAA6B;AAEtC,MAAMC,cAAc,CAAoD;EACpDC,SAAS,GAAG,UAAU;EAE/BC,SAASA,CAACC,MAA+C,EAAO;IACnE,MAAM;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAGF,MAAM;IAC/B,IAAI,CAACE,KAAK,IAAID,KAAK,CAACE,QAAQ,EAAEC,IAAI,KAAK,MAAM,EAAE;MAC3C,OAAOF,KAAK;IAChB;IACA,MAAM,CAACG,KAAK,EAAEC,OAAO,EAAEC,OAAO,GAAG,CAAC,CAAC,GAAGL,KAAK,CAACM,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC;IAClE,OAAOL,KAAK,GAAG,EAAE,GAAG,EAAE,GAAGC,OAAO,GAAG,EAAE,GAAGC,OAAO;EACnD;EAEOI,UAAUA,CAAA,EAAkB;IAC/B,OAAO,IAAI;EACf;AACJ;AAEA,OAAO,MAAMC,UAAU,GAAGhB,6BAA6B,CAACiB,oBAAoB,CAAC;EACzEC,cAAc,EAAEjB,cAAc;EAC9BkB,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export { CmsEntryOpenSearchValueSearch } from "./abstractions/CmsEntryOpenSearchValueSearch.js";
2
+ export { CmsEntryOpenSearchValueSearchRegistry } from "./abstractions/CmsEntryOpenSearchValueSearchRegistry.js";
3
+ export { CmsEntryOpenSearchValueSearchFeature } from "./feature.js";
@@ -0,0 +1,5 @@
1
+ export { CmsEntryOpenSearchValueSearch } from "./abstractions/CmsEntryOpenSearchValueSearch.js";
2
+ export { CmsEntryOpenSearchValueSearchRegistry } from "./abstractions/CmsEntryOpenSearchValueSearchRegistry.js";
3
+ export { CmsEntryOpenSearchValueSearchFeature } from "./feature.js";
4
+
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsEntryOpenSearchValueSearch","CmsEntryOpenSearchValueSearchRegistry","CmsEntryOpenSearchValueSearchFeature"],"sources":["index.ts"],"sourcesContent":["export { CmsEntryOpenSearchValueSearch } from \"./abstractions/CmsEntryOpenSearchValueSearch.js\";\nexport { CmsEntryOpenSearchValueSearchRegistry } from \"./abstractions/CmsEntryOpenSearchValueSearchRegistry.js\";\nexport { CmsEntryOpenSearchValueSearchFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,6BAA6B;AACtC,SAASC,qCAAqC;AAC9C,SAASC,oCAAoC","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ import type { CmsEntry, CmsEntryValues, CmsModel } from "@webiny/api-headless-cms/types/index.js";
2
+ export interface SetValuesCb<T extends CmsEntryValues = CmsEntryValues> {
3
+ (prev: T): T;
4
+ }
5
+ export interface ModifyValuesParams<T extends CmsEntryValues = CmsEntryValues> {
6
+ model: CmsModel;
7
+ entry: CmsEntry<T>;
8
+ values: T;
9
+ setValues: (cb: SetValuesCb<T>) => void;
10
+ }
11
+ export interface ICmsEntryOpenSearchValuesModifier {
12
+ canModify(modelId: string): boolean;
13
+ modify<T extends CmsEntryValues = CmsEntryValues>(params: {
14
+ model: CmsModel;
15
+ entry: CmsEntry<T>;
16
+ values: T;
17
+ }): T;
18
+ }
19
+ export declare const CmsEntryOpenSearchValuesModifier: import("@webiny/di").Abstraction<ICmsEntryOpenSearchValuesModifier>;
20
+ export declare namespace CmsEntryOpenSearchValuesModifier {
21
+ type Interface = ICmsEntryOpenSearchValuesModifier;
22
+ type Params<T extends CmsEntryValues = CmsEntryValues> = ModifyValuesParams<T>;
23
+ }
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ export const CmsEntryOpenSearchValuesModifier = createAbstraction("Cms/Entry/OpenSearch/ValuesModifier");
3
+
4
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","CmsEntryOpenSearchValuesModifier"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface SetValuesCb<T extends CmsEntryValues = CmsEntryValues> {\n (prev: T): T;\n}\n\nexport interface ModifyValuesParams<T extends CmsEntryValues = CmsEntryValues> {\n model: CmsModel;\n entry: CmsEntry<T>;\n values: T;\n setValues: (cb: SetValuesCb<T>) => void;\n}\n\nexport interface ICmsEntryOpenSearchValuesModifier {\n canModify(modelId: string): boolean;\n modify<T extends CmsEntryValues = CmsEntryValues>(params: {\n model: CmsModel;\n entry: CmsEntry<T>;\n values: T;\n }): T;\n}\n\nexport const CmsEntryOpenSearchValuesModifier =\n createAbstraction<ICmsEntryOpenSearchValuesModifier>(\"Cms/Entry/OpenSearch/ValuesModifier\");\n\nexport namespace CmsEntryOpenSearchValuesModifier {\n export type Interface = ICmsEntryOpenSearchValuesModifier;\n export type Params<T extends CmsEntryValues = CmsEntryValues> = ModifyValuesParams<T>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAuBvD,OAAO,MAAMC,gCAAgC,GACzCD,iBAAiB,CAAoC,qCAAqC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { CmsEntryOpenSearchValuesModifier } from "./abstractions.js";
@@ -0,0 +1,3 @@
1
+ export { CmsEntryOpenSearchValuesModifier } from "./abstractions.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsEntryOpenSearchValuesModifier"],"sources":["index.ts"],"sourcesContent":["export { CmsEntryOpenSearchValuesModifier } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,gCAAgC","ignoreList":[]}
@@ -1,8 +1,10 @@
1
1
  import type { CmsEntry, CmsEntryValues, CmsModel } from "@webiny/api-headless-cms/types/index.js";
2
2
  import type { CmsIndexEntry } from "../types.js";
3
- import type { PluginsContainer } from "@webiny/plugins";
3
+ import type { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
4
+ import type { CmsEntryOpenSearchFieldIndexRegistry } from "../features/CmsEntryOpenSearchFieldIndex/index.js";
4
5
  interface SetupEntriesIndexHelpersParams {
5
- plugins: PluginsContainer;
6
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
7
+ fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;
6
8
  }
7
9
  interface ExtractEntriesFromIndexParams<T extends CmsEntryValues = CmsEntryValues> extends SetupEntriesIndexHelpersParams {
8
10
  model: CmsModel;
@@ -14,5 +16,5 @@ interface PrepareElasticsearchDataParams<T extends CmsEntryValues = CmsEntryValu
14
16
  storageEntry: CmsEntry<T>;
15
17
  }
16
18
  export declare const prepareEntryToIndex: <T extends CmsEntryValues = CmsEntryValues>(params: PrepareElasticsearchDataParams<T>) => CmsIndexEntry<T>;
17
- export declare const extractEntriesFromIndex: <T extends CmsEntryValues = CmsEntryValues>({ plugins, entries, model }: ExtractEntriesFromIndexParams<T>) => CmsEntry<T>[];
19
+ export declare const extractEntriesFromIndex: <T extends CmsEntryValues = CmsEntryValues>({ fieldRegistry, fieldIndexRegistry, entries, model }: ExtractEntriesFromIndexParams<T>) => CmsEntry<T>[];
18
20
  export {};
@@ -1,38 +1,22 @@
1
- import WebinyError from "@webiny/error";
1
+ import { WebinyError } from "@webiny/error";
2
2
  import { getFieldIdentifier, getFieldIdentifiers } from "./fieldIdentifier.js";
3
- import { getBaseFieldType } from "@webiny/api-headless-cms/utils/getBaseFieldType.js";
4
3
  export const prepareEntryToIndex = params => {
5
4
  const {
6
- plugins,
5
+ fieldRegistry,
6
+ fieldIndexRegistry,
7
7
  storageEntry,
8
8
  entry,
9
9
  model
10
10
  } = params;
11
- const {
12
- fieldIndexPlugins,
13
- defaultIndexFieldPlugin,
14
- fieldTypePlugins
15
- } = setupEntriesIndexHelpers({
16
- plugins
17
- });
18
- function getFieldIndexPlugin(type) {
19
- const fieldType = getBaseFieldType({
20
- type
21
- });
22
- return fieldIndexPlugins[fieldType] || defaultIndexFieldPlugin;
23
- }
24
- function getFieldTypePlugin(type) {
25
- const fieldType = getBaseFieldType({
26
- type
27
- });
28
- const pl = fieldTypePlugins[fieldType];
29
- if (pl) {
30
- return pl;
11
+ function getFieldIndex(type) {
12
+ const fieldIndexing = fieldIndexRegistry.get(type);
13
+ if (fieldIndexing) {
14
+ return fieldIndexing;
31
15
  }
32
- throw new WebinyError(`Missing field type plugin "${fieldType}". Prepare entry for index.`);
16
+ return fieldIndexRegistry.getDefault();
33
17
  }
34
18
 
35
- // These objects will contain values processed by field index plugins
19
+ // These objects will contain values processed by field index implementations
36
20
  const values = {};
37
21
  const rawValues = {};
38
22
 
@@ -42,23 +26,17 @@ export const prepareEntryToIndex = params => {
42
26
  if (!identifier) {
43
27
  continue;
44
28
  }
45
- const targetFieldPlugin = getFieldIndexPlugin(field.type);
46
-
47
- // TODO: remove this `if` once we convert this plugin to proper plugin class
48
- if (!targetFieldPlugin || !targetFieldPlugin.toIndex) {
49
- continue;
50
- }
29
+ const fieldIndex = getFieldIndex(field.type);
51
30
  const {
52
31
  value,
53
32
  rawValue
54
- } = targetFieldPlugin.toIndex({
55
- plugins,
33
+ } = fieldIndex.toIndex({
34
+ fieldRegistry,
56
35
  model,
57
36
  field,
58
37
  rawValue: entry.values[identifier],
59
38
  value: storageEntry.values[identifier],
60
- getFieldIndexPlugin,
61
- getFieldTypePlugin
39
+ getFieldIndex
62
40
  });
63
41
  if (typeof value !== "undefined") {
64
42
  values[identifier] = value;
@@ -73,54 +51,18 @@ export const prepareEntryToIndex = params => {
73
51
  rawValues
74
52
  };
75
53
  };
76
- const setupEntriesIndexHelpers = ({
77
- plugins: pluginsContainer
78
- }) => {
79
- const plugins = pluginsContainer.byType("cms-model-field-to-elastic-search");
80
- const fieldIndexPlugins = {};
81
- for (const plugin of plugins.reverse()) {
82
- if (fieldIndexPlugins[plugin.fieldType]) {
83
- continue;
84
- }
85
- fieldIndexPlugins[plugin.fieldType] = plugin;
86
- }
87
- // we will use this plugin if no targeted plugin found
88
- const defaultIndexFieldPlugin = plugins.find(plugin => plugin.fieldType === "*");
89
-
90
- // CmsModelFieldToGraphQLPlugin plugins
91
- const fieldTypePlugins = pluginsContainer.byType("cms-model-field-to-graphql").reduce((plugins, plugin) => ({
92
- ...plugins,
93
- [plugin.fieldType]: plugin
94
- }), {});
95
- return {
96
- fieldIndexPlugins,
97
- defaultIndexFieldPlugin,
98
- fieldTypePlugins
99
- };
100
- };
101
54
  export const extractEntriesFromIndex = ({
102
- plugins,
55
+ fieldRegistry,
56
+ fieldIndexRegistry,
103
57
  entries,
104
58
  model
105
59
  }) => {
106
- const {
107
- fieldIndexPlugins,
108
- defaultIndexFieldPlugin,
109
- fieldTypePlugins
110
- } = setupEntriesIndexHelpers({
111
- plugins
112
- });
113
- function getFieldIndexPlugin(type) {
114
- const fieldType = getBaseFieldType({
115
- type
116
- });
117
- return fieldIndexPlugins[fieldType] || defaultIndexFieldPlugin;
118
- }
119
- function getFieldTypePlugin(type) {
120
- const fieldType = getBaseFieldType({
121
- type
122
- });
123
- return fieldTypePlugins[fieldType];
60
+ function getFieldIndex(type) {
61
+ const fieldIndex = fieldIndexRegistry.get(type);
62
+ if (fieldIndex) {
63
+ return fieldIndex;
64
+ }
65
+ return fieldIndexRegistry.getDefault();
124
66
  }
125
67
  const list = [];
126
68
  for (const entry of entries) {
@@ -129,14 +71,11 @@ export const extractEntriesFromIndex = ({
129
71
 
130
72
  // We only consider fields that are present in the model
131
73
  for (const field of model.fields) {
132
- const fieldTypePlugin = getFieldTypePlugin(field.type);
133
- if (!fieldTypePlugin) {
134
- throw new WebinyError(`Missing field type plugin "${field.type}". Extract entries from index.`);
135
- }
136
- const targetFieldPlugin = getFieldIndexPlugin(field.type);
137
- if (!targetFieldPlugin || !targetFieldPlugin.fromIndex) {
138
- continue;
74
+ const fieldType = fieldRegistry.get(field.type);
75
+ if (!fieldType) {
76
+ throw new WebinyError(`Missing field type "${field.type}". Extract entries from index.`);
139
77
  }
78
+ const fieldIndex = getFieldIndex(field.type);
140
79
  /**
141
80
  * We can safely cast as the code will not continue in case of no identifiers.
142
81
  */
@@ -147,12 +86,11 @@ export const extractEntriesFromIndex = ({
147
86
  try {
148
87
  const key = identifiers.valueIdentifier;
149
88
  const rawKey = identifiers.rawValueIdentifier;
150
- indexValues[key] = targetFieldPlugin.fromIndex({
151
- plugins,
89
+ indexValues[key] = fieldIndex.fromIndex({
90
+ fieldRegistry,
152
91
  model,
153
92
  field,
154
- getFieldIndexPlugin,
155
- getFieldTypePlugin,
93
+ getFieldIndex,
156
94
  value: entry.values[key || rawKey],
157
95
  /**
158
96
  * Possibly no rawValues so we must check for the existence of the field.