@webiny/api-headless-cms-ddb-es 0.0.0-unstable.e622468070 → 0.0.0-unstable.e6f0dc8ca7

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 (352) hide show
  1. package/configurations.d.ts +5 -4
  2. package/configurations.js +11 -9
  3. package/configurations.js.map +1 -1
  4. package/definitions/model.js.map +1 -1
  5. package/definitions/types.d.ts +5 -3
  6. package/definitions/types.js.map +1 -1
  7. package/elasticsearch/createElasticsearchIndex.d.ts +3 -3
  8. package/elasticsearch/createElasticsearchIndex.js +58 -16
  9. package/elasticsearch/createElasticsearchIndex.js.map +1 -1
  10. package/elasticsearch/deleteElasticsearchIndex.d.ts +1 -1
  11. package/elasticsearch/deleteElasticsearchIndex.js.map +1 -1
  12. package/exports/api/cms/opensearch.d.ts +9 -0
  13. package/exports/api/cms/opensearch.js +11 -0
  14. package/exports/api/cms/opensearch.js.map +1 -0
  15. package/feature.d.ts +1 -0
  16. package/feature.js +188 -0
  17. package/feature.js.map +1 -0
  18. package/features/CmsEntryOpenSearchBodyModifier/abstractions.d.ts +16 -0
  19. package/features/CmsEntryOpenSearchBodyModifier/abstractions.js +4 -0
  20. package/features/CmsEntryOpenSearchBodyModifier/abstractions.js.map +1 -0
  21. package/features/CmsEntryOpenSearchBodyModifier/index.d.ts +1 -0
  22. package/features/CmsEntryOpenSearchBodyModifier/index.js +3 -0
  23. package/features/CmsEntryOpenSearchBodyModifier/index.js.map +1 -0
  24. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.d.ts +13 -0
  25. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js +36 -0
  26. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -0
  27. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.d.ts +35 -0
  28. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js +4 -0
  29. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js.map +1 -0
  30. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.d.ts +11 -0
  31. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js +4 -0
  32. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -0
  33. package/features/CmsEntryOpenSearchFieldIndex/constants.d.ts +1 -0
  34. package/features/CmsEntryOpenSearchFieldIndex/constants.js +3 -0
  35. package/features/CmsEntryOpenSearchFieldIndex/constants.js.map +1 -0
  36. package/features/CmsEntryOpenSearchFieldIndex/feature.d.ts +4 -0
  37. package/features/CmsEntryOpenSearchFieldIndex/feature.js +24 -0
  38. package/features/CmsEntryOpenSearchFieldIndex/feature.js.map +1 -0
  39. package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.d.ts +11 -0
  40. package/{elasticsearch/indexing/dateTimeIndexing.js → features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js} +21 -25
  41. package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js.map +1 -0
  42. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.d.ts +10 -0
  43. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js +39 -0
  44. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js.map +1 -0
  45. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.d.ts +10 -0
  46. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js +22 -0
  47. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js.map +1 -0
  48. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.d.ts +10 -0
  49. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js +25 -0
  50. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js.map +1 -0
  51. package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.d.ts +11 -0
  52. package/{elasticsearch/indexing/numberIndexing.js → features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js} +11 -8
  53. package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js.map +1 -0
  54. package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.d.ts +10 -0
  55. package/{elasticsearch/indexing/objectIndexing.js → features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js} +52 -88
  56. package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js.map +1 -0
  57. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.d.ts +10 -0
  58. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js +22 -0
  59. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js.map +1 -0
  60. package/features/CmsEntryOpenSearchFieldIndex/index.d.ts +3 -0
  61. package/features/CmsEntryOpenSearchFieldIndex/index.js +5 -0
  62. package/features/CmsEntryOpenSearchFieldIndex/index.js.map +1 -0
  63. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.d.ts +11 -0
  64. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js +38 -0
  65. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js.map +1 -0
  66. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.d.ts +37 -0
  67. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js +4 -0
  68. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js.map +1 -0
  69. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.d.ts +9 -0
  70. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js +4 -0
  71. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js.map +1 -0
  72. package/features/CmsEntryOpenSearchFilter/constants.d.ts +1 -0
  73. package/features/CmsEntryOpenSearchFilter/constants.js +3 -0
  74. package/features/CmsEntryOpenSearchFilter/constants.js.map +1 -0
  75. package/features/CmsEntryOpenSearchFilter/feature.d.ts +4 -0
  76. package/features/CmsEntryOpenSearchFilter/feature.js +16 -0
  77. package/features/CmsEntryOpenSearchFilter/feature.js.map +1 -0
  78. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.d.ts +9 -0
  79. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js +23 -0
  80. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js.map +1 -0
  81. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.d.ts +9 -0
  82. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js +61 -0
  83. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js.map +1 -0
  84. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.d.ts +9 -0
  85. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js +49 -0
  86. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js.map +1 -0
  87. package/features/CmsEntryOpenSearchFilter/index.d.ts +3 -0
  88. package/features/CmsEntryOpenSearchFilter/index.js +5 -0
  89. package/features/CmsEntryOpenSearchFilter/index.js.map +1 -0
  90. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.d.ts +20 -0
  91. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js +4 -0
  92. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js.map +1 -0
  93. package/features/CmsEntryOpenSearchFullTextSearch/index.d.ts +1 -0
  94. package/features/CmsEntryOpenSearchFullTextSearch/index.js +3 -0
  95. package/features/CmsEntryOpenSearchFullTextSearch/index.js.map +1 -0
  96. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.d.ts +11 -0
  97. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js +16 -0
  98. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js.map +1 -0
  99. package/features/CmsEntryOpenSearchIndex/abstractions.d.ts +14 -0
  100. package/features/CmsEntryOpenSearchIndex/abstractions.js +4 -0
  101. package/features/CmsEntryOpenSearchIndex/abstractions.js.map +1 -0
  102. package/features/CmsEntryOpenSearchIndex/feature.d.ts +4 -0
  103. package/features/CmsEntryOpenSearchIndex/feature.js +10 -0
  104. package/features/CmsEntryOpenSearchIndex/feature.js.map +1 -0
  105. package/features/CmsEntryOpenSearchIndex/index.d.ts +3 -0
  106. package/features/CmsEntryOpenSearchIndex/index.js +5 -0
  107. package/features/CmsEntryOpenSearchIndex/index.js.map +1 -0
  108. package/features/CmsEntryOpenSearchQueryModifier/abstractions.d.ts +16 -0
  109. package/features/CmsEntryOpenSearchQueryModifier/abstractions.js +4 -0
  110. package/features/CmsEntryOpenSearchQueryModifier/abstractions.js.map +1 -0
  111. package/features/CmsEntryOpenSearchQueryModifier/index.d.ts +1 -0
  112. package/features/CmsEntryOpenSearchQueryModifier/index.js +3 -0
  113. package/features/CmsEntryOpenSearchQueryModifier/index.js.map +1 -0
  114. package/features/CmsEntryOpenSearchSortModifier/abstractions.d.ts +15 -0
  115. package/features/CmsEntryOpenSearchSortModifier/abstractions.js +4 -0
  116. package/features/CmsEntryOpenSearchSortModifier/abstractions.js.map +1 -0
  117. package/features/CmsEntryOpenSearchSortModifier/index.d.ts +1 -0
  118. package/features/CmsEntryOpenSearchSortModifier/index.js +3 -0
  119. package/features/CmsEntryOpenSearchSortModifier/index.js.map +1 -0
  120. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.d.ts +12 -0
  121. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js +27 -0
  122. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -0
  123. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.d.ts +22 -0
  124. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js +4 -0
  125. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js.map +1 -0
  126. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.d.ts +10 -0
  127. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js +4 -0
  128. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -0
  129. package/features/CmsEntryOpenSearchValueSearch/feature.d.ts +4 -0
  130. package/features/CmsEntryOpenSearchValueSearch/feature.js +16 -0
  131. package/features/CmsEntryOpenSearchValueSearch/feature.js.map +1 -0
  132. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.d.ts +10 -0
  133. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js +23 -0
  134. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js.map +1 -0
  135. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.d.ts +10 -0
  136. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js +55 -0
  137. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js.map +1 -0
  138. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.d.ts +10 -0
  139. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js +24 -0
  140. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js.map +1 -0
  141. package/features/CmsEntryOpenSearchValueSearch/index.d.ts +3 -0
  142. package/features/CmsEntryOpenSearchValueSearch/index.js +5 -0
  143. package/features/CmsEntryOpenSearchValueSearch/index.js.map +1 -0
  144. package/features/CmsEntryOpenSearchValuesModifier/abstractions.d.ts +23 -0
  145. package/features/CmsEntryOpenSearchValuesModifier/abstractions.js +4 -0
  146. package/features/CmsEntryOpenSearchValuesModifier/abstractions.js.map +1 -0
  147. package/features/CmsEntryOpenSearchValuesModifier/index.d.ts +1 -0
  148. package/features/CmsEntryOpenSearchValuesModifier/index.js +3 -0
  149. package/features/CmsEntryOpenSearchValuesModifier/index.js.map +1 -0
  150. package/helpers/entryIndexHelpers.d.ts +5 -3
  151. package/helpers/entryIndexHelpers.js +28 -90
  152. package/helpers/entryIndexHelpers.js.map +1 -1
  153. package/index.d.ts +1 -3
  154. package/index.js +1 -188
  155. package/index.js.map +1 -1
  156. package/operations/entry/dataLoader/DataLoaderCache.d.ts +1 -0
  157. package/operations/entry/dataLoader/DataLoaderCache.js +2 -5
  158. package/operations/entry/dataLoader/DataLoaderCache.js.map +1 -1
  159. package/operations/entry/dataLoader/getAllEntryRevisions.js +5 -2
  160. package/operations/entry/dataLoader/getAllEntryRevisions.js.map +1 -1
  161. package/operations/entry/dataLoader/getLatestRevisionByEntryId.js +5 -1
  162. package/operations/entry/dataLoader/getLatestRevisionByEntryId.js.map +1 -1
  163. package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js +5 -1
  164. package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js.map +1 -1
  165. package/operations/entry/dataLoader/getRevisionById.js +5 -1
  166. package/operations/entry/dataLoader/getRevisionById.js.map +1 -1
  167. package/operations/entry/dataLoader/types.d.ts +1 -0
  168. package/operations/entry/dataLoader/types.js.map +1 -1
  169. package/operations/entry/dataLoaders.js +3 -1
  170. package/operations/entry/dataLoaders.js.map +1 -1
  171. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.d.ts +1 -1
  172. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js.map +1 -1
  173. package/operations/entry/elasticsearch/body.d.ts +19 -3
  174. package/operations/entry/elasticsearch/body.js +34 -31
  175. package/operations/entry/elasticsearch/body.js.map +1 -1
  176. package/operations/entry/elasticsearch/fields/createSystemField.d.ts +4 -0
  177. package/operations/entry/elasticsearch/fields/createSystemField.js +10 -0
  178. package/operations/entry/elasticsearch/fields/createSystemField.js.map +1 -0
  179. package/operations/entry/elasticsearch/fields/live.d.ts +2 -0
  180. package/operations/entry/elasticsearch/fields/live.js +45 -0
  181. package/operations/entry/elasticsearch/fields/live.js.map +1 -0
  182. package/operations/entry/elasticsearch/fields/location.d.ts +2 -0
  183. package/operations/entry/elasticsearch/fields/location.js +45 -0
  184. package/operations/entry/elasticsearch/fields/location.js.map +1 -0
  185. package/operations/entry/elasticsearch/fields/state.d.ts +2 -0
  186. package/operations/entry/elasticsearch/fields/state.js +93 -0
  187. package/operations/entry/elasticsearch/fields/state.js.map +1 -0
  188. package/operations/entry/elasticsearch/fields.d.ts +6 -4
  189. package/operations/entry/elasticsearch/fields.js +21 -191
  190. package/operations/entry/elasticsearch/fields.js.map +1 -1
  191. package/operations/entry/elasticsearch/filtering/applyFiltering.d.ts +6 -5
  192. package/operations/entry/elasticsearch/filtering/applyFiltering.js +3 -3
  193. package/operations/entry/elasticsearch/filtering/applyFiltering.js.map +1 -1
  194. package/operations/entry/elasticsearch/filtering/exec.d.ts +6 -2
  195. package/operations/entry/elasticsearch/filtering/exec.js +12 -65
  196. package/operations/entry/elasticsearch/filtering/exec.js.map +1 -1
  197. package/operations/entry/elasticsearch/filtering/path.d.ts +4 -3
  198. package/operations/entry/elasticsearch/filtering/path.js +4 -6
  199. package/operations/entry/elasticsearch/filtering/path.js.map +1 -1
  200. package/operations/entry/elasticsearch/filtering/populated.d.ts +2 -2
  201. package/operations/entry/elasticsearch/filtering/populated.js.map +1 -1
  202. package/operations/entry/elasticsearch/fullTextSearch.d.ts +7 -6
  203. package/operations/entry/elasticsearch/fullTextSearch.js +37 -34
  204. package/operations/entry/elasticsearch/fullTextSearch.js.map +1 -1
  205. package/operations/entry/elasticsearch/fullTextSearchFields.d.ts +4 -4
  206. package/operations/entry/elasticsearch/fullTextSearchFields.js +10 -10
  207. package/operations/entry/elasticsearch/fullTextSearchFields.js.map +1 -1
  208. package/operations/entry/elasticsearch/initialQuery.d.ts +3 -3
  209. package/operations/entry/elasticsearch/initialQuery.js +1 -1
  210. package/operations/entry/elasticsearch/initialQuery.js.map +1 -1
  211. package/operations/entry/elasticsearch/plugins/operator.d.ts +2 -2
  212. package/operations/entry/elasticsearch/plugins/operator.js +2 -2
  213. package/operations/entry/elasticsearch/plugins/operator.js.map +1 -1
  214. package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js +1 -1
  215. package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js.map +1 -1
  216. package/operations/entry/elasticsearch/sort.d.ts +4 -4
  217. package/operations/entry/elasticsearch/sort.js +6 -10
  218. package/operations/entry/elasticsearch/sort.js.map +1 -1
  219. package/operations/entry/elasticsearch/transformValueForSearch.d.ts +2 -9
  220. package/operations/entry/elasticsearch/transformValueForSearch.js +4 -14
  221. package/operations/entry/elasticsearch/transformValueForSearch.js.map +1 -1
  222. package/operations/entry/elasticsearch/types.d.ts +3 -10
  223. package/operations/entry/elasticsearch/types.js.map +1 -1
  224. package/operations/entry/index.d.ts +22 -2
  225. package/operations/entry/index.js +101 -39
  226. package/operations/entry/index.js.map +1 -1
  227. package/operations/entry/transformations/index.d.ts +8 -2
  228. package/operations/entry/transformations/index.js +14 -12
  229. package/operations/entry/transformations/index.js.map +1 -1
  230. package/operations/entry/transformations/modifyEntryValues.d.ts +5 -3
  231. package/operations/entry/transformations/modifyEntryValues.js +3 -3
  232. package/operations/entry/transformations/modifyEntryValues.js.map +1 -1
  233. package/operations/entry/transformations/transformEntryToIndex.d.ts +4 -2
  234. package/operations/entry/transformations/transformEntryToIndex.js +6 -4
  235. package/operations/entry/transformations/transformEntryToIndex.js.map +1 -1
  236. package/operations/group/index.d.ts +2 -2
  237. package/operations/group/index.js +6 -9
  238. package/operations/group/index.js.map +1 -1
  239. package/operations/model/index.d.ts +1 -1
  240. package/operations/model/index.js +0 -1
  241. package/operations/model/index.js.map +1 -1
  242. package/package.json +31 -28
  243. package/tasks/createIndexTaskPlugin.js +8 -1
  244. package/tasks/createIndexTaskPlugin.js.map +1 -1
  245. package/types.d.ts +7 -112
  246. package/types.js +0 -23
  247. package/types.js.map +1 -1
  248. package/dynamoDb/index.d.ts +0 -3
  249. package/dynamoDb/index.js +0 -8
  250. package/dynamoDb/index.js.map +0 -1
  251. package/dynamoDb/storage/longText.d.ts +0 -10
  252. package/dynamoDb/storage/longText.js +0 -88
  253. package/dynamoDb/storage/longText.js.map +0 -1
  254. package/dynamoDb/storage/richText.d.ts +0 -2
  255. package/dynamoDb/storage/richText.js +0 -51
  256. package/dynamoDb/storage/richText.js.map +0 -1
  257. package/elasticsearch/index.d.ts +0 -2
  258. package/elasticsearch/index.js +0 -5
  259. package/elasticsearch/index.js.map +0 -1
  260. package/elasticsearch/indexing/dateTimeIndexing.d.ts +0 -3
  261. package/elasticsearch/indexing/dateTimeIndexing.js.map +0 -1
  262. package/elasticsearch/indexing/defaultFieldIndexing.d.ts +0 -3
  263. package/elasticsearch/indexing/defaultFieldIndexing.js +0 -47
  264. package/elasticsearch/indexing/defaultFieldIndexing.js.map +0 -1
  265. package/elasticsearch/indexing/index.d.ts +0 -2
  266. package/elasticsearch/indexing/index.js +0 -10
  267. package/elasticsearch/indexing/index.js.map +0 -1
  268. package/elasticsearch/indexing/jsonIndexing.d.ts +0 -2
  269. package/elasticsearch/indexing/jsonIndexing.js +0 -21
  270. package/elasticsearch/indexing/jsonIndexing.js.map +0 -1
  271. package/elasticsearch/indexing/longTextIndexing.d.ts +0 -7
  272. package/elasticsearch/indexing/longTextIndexing.js +0 -35
  273. package/elasticsearch/indexing/longTextIndexing.js.map +0 -1
  274. package/elasticsearch/indexing/numberIndexing.d.ts +0 -3
  275. package/elasticsearch/indexing/numberIndexing.js.map +0 -1
  276. package/elasticsearch/indexing/objectIndexing.d.ts +0 -12
  277. package/elasticsearch/indexing/objectIndexing.js.map +0 -1
  278. package/elasticsearch/indexing/richTextIndexing.d.ts +0 -3
  279. package/elasticsearch/indexing/richTextIndexing.js +0 -24
  280. package/elasticsearch/indexing/richTextIndexing.js.map +0 -1
  281. package/elasticsearch/indices/base.d.ts +0 -2
  282. package/elasticsearch/indices/base.js +0 -7
  283. package/elasticsearch/indices/base.js.map +0 -1
  284. package/elasticsearch/indices/index.d.ts +0 -1
  285. package/elasticsearch/indices/index.js +0 -6
  286. package/elasticsearch/indices/index.js.map +0 -1
  287. package/elasticsearch/search/index.d.ts +0 -3
  288. package/elasticsearch/search/index.js +0 -6
  289. package/elasticsearch/search/index.js.map +0 -1
  290. package/elasticsearch/search/refSearch.d.ts +0 -2
  291. package/elasticsearch/search/refSearch.js +0 -24
  292. package/elasticsearch/search/refSearch.js.map +0 -1
  293. package/elasticsearch/search/searchableJson.d.ts +0 -2
  294. package/elasticsearch/search/searchableJson.js +0 -53
  295. package/elasticsearch/search/searchableJson.js.map +0 -1
  296. package/elasticsearch/search/timeSearch.d.ts +0 -2
  297. package/elasticsearch/search/timeSearch.js +0 -20
  298. package/elasticsearch/search/timeSearch.js.map +0 -1
  299. package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.d.ts +0 -2
  300. package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js +0 -22
  301. package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js.map +0 -1
  302. package/operations/entry/elasticsearch/filtering/plugins/index.d.ts +0 -1
  303. package/operations/entry/elasticsearch/filtering/plugins/index.js +0 -8
  304. package/operations/entry/elasticsearch/filtering/plugins/index.js.map +0 -1
  305. package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.d.ts +0 -2
  306. package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js +0 -61
  307. package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js.map +0 -1
  308. package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.d.ts +0 -2
  309. package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js +0 -49
  310. package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js.map +0 -1
  311. package/operations/entry/elasticsearch/plugins/bodyModifier.d.ts +0 -9
  312. package/operations/entry/elasticsearch/plugins/bodyModifier.js +0 -11
  313. package/operations/entry/elasticsearch/plugins/bodyModifier.js.map +0 -1
  314. package/operations/entry/elasticsearch/plugins/queryModifier.d.ts +0 -9
  315. package/operations/entry/elasticsearch/plugins/queryModifier.js +0 -11
  316. package/operations/entry/elasticsearch/plugins/queryModifier.js.map +0 -1
  317. package/operations/entry/elasticsearch/plugins/search.d.ts +0 -7
  318. package/operations/entry/elasticsearch/plugins/search.js +0 -18
  319. package/operations/entry/elasticsearch/plugins/search.js.map +0 -1
  320. package/operations/entry/elasticsearch/plugins/sortModifier.d.ts +0 -9
  321. package/operations/entry/elasticsearch/plugins/sortModifier.js +0 -11
  322. package/operations/entry/elasticsearch/plugins/sortModifier.js.map +0 -1
  323. package/plugins/CmsElasticsearchModelFieldPlugin.d.ts +0 -69
  324. package/plugins/CmsElasticsearchModelFieldPlugin.js +0 -46
  325. package/plugins/CmsElasticsearchModelFieldPlugin.js.map +0 -1
  326. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.d.ts +0 -22
  327. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js +0 -13
  328. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js.map +0 -1
  329. package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.d.ts +0 -23
  330. package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.js +0 -19
  331. package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.js.map +0 -1
  332. package/plugins/CmsEntryElasticsearchIndexPlugin.d.ts +0 -4
  333. package/plugins/CmsEntryElasticsearchIndexPlugin.js +0 -6
  334. package/plugins/CmsEntryElasticsearchIndexPlugin.js.map +0 -1
  335. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.d.ts +0 -32
  336. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js +0 -32
  337. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js.map +0 -1
  338. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.d.ts +0 -19
  339. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js +0 -13
  340. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js.map +0 -1
  341. package/plugins/CmsEntryElasticsearchSortModifierPlugin.d.ts +0 -19
  342. package/plugins/CmsEntryElasticsearchSortModifierPlugin.js +0 -13
  343. package/plugins/CmsEntryElasticsearchSortModifierPlugin.js.map +0 -1
  344. package/plugins/CmsEntryElasticsearchValuesModifier.d.ts +0 -33
  345. package/plugins/CmsEntryElasticsearchValuesModifier.js +0 -42
  346. package/plugins/CmsEntryElasticsearchValuesModifier.js.map +0 -1
  347. package/plugins/CmsEntryFilterPlugin.d.ts +0 -49
  348. package/plugins/CmsEntryFilterPlugin.js +0 -15
  349. package/plugins/CmsEntryFilterPlugin.js.map +0 -1
  350. package/plugins/index.d.ts +0 -8
  351. package/plugins/index.js +0 -10
  352. package/plugins/index.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import type { CmsModel } from "@webiny/api-headless-cms/types/index.js";
2
- import type { CmsContext } from "./types.js";
3
- import type { ElasticsearchIndexRequestBody } from "@webiny/api-elasticsearch/types.js";
2
+ import type { OpenSearchIndexRequestBody } from "@webiny/api-opensearch/types.js";
3
+ import type { CmsEntryOpenSearchIndex } from "./features/CmsEntryOpenSearchIndex/index.js";
4
4
  interface ConfigurationsElasticsearch {
5
5
  index: string;
6
6
  }
@@ -8,11 +8,12 @@ export interface CmsElasticsearchParams {
8
8
  model: Pick<CmsModel, "tenant" | "modelId">;
9
9
  }
10
10
  export interface ConfigurationsIndexSettingsParams {
11
- context: CmsContext;
11
+ indexConfigs: CmsEntryOpenSearchIndex.Interface[];
12
+ model: Pick<CmsModel, "tenant" | "modelId" | "group">;
12
13
  }
13
14
  export interface Configurations {
14
15
  es: (params: CmsElasticsearchParams) => ConfigurationsElasticsearch;
15
- indexSettings: (params: ConfigurationsIndexSettingsParams) => Partial<ElasticsearchIndexRequestBody>;
16
+ indexSettings: (params: ConfigurationsIndexSettingsParams) => Partial<OpenSearchIndexRequestBody>;
16
17
  }
17
18
  export declare const configurations: Configurations;
18
19
  export {};
package/configurations.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import WebinyError from "@webiny/error";
2
- import { getElasticsearchIndexPrefix, getLastAddedIndexPlugin, isSharedElasticsearchIndex } from "@webiny/api-elasticsearch";
3
- import { CmsEntryElasticsearchIndexPlugin } from "./plugins/index.js";
2
+ import { getOpenSearchIndexPrefix, isSharedOpenSearchIndex as isSharedElasticsearchIndex } from "@webiny/api-opensearch";
4
3
  export const configurations = {
5
4
  es({
6
5
  model
@@ -13,7 +12,7 @@ export const configurations = {
13
12
  }
14
13
  const sharedIndex = isSharedElasticsearchIndex();
15
14
  const index = [sharedIndex ? "root" : tenant, "headless-cms", model.modelId].join("-").toLowerCase();
16
- const prefix = getElasticsearchIndexPrefix();
15
+ const prefix = getOpenSearchIndexPrefix();
17
16
  if (!prefix) {
18
17
  return {
19
18
  index
@@ -24,13 +23,16 @@ export const configurations = {
24
23
  };
25
24
  },
26
25
  indexSettings: ({
27
- context
26
+ indexConfigs,
27
+ model
28
28
  }) => {
29
- const plugin = getLastAddedIndexPlugin({
30
- container: context.plugins,
31
- type: CmsEntryElasticsearchIndexPlugin.type
32
- });
33
- return plugin ? plugin.body : {};
29
+ const usable = indexConfigs.filter(c => c.canUse({
30
+ model
31
+ }));
32
+ if (usable.length === 0) {
33
+ return {};
34
+ }
35
+ return usable[usable.length - 1].body;
34
36
  }
35
37
  };
36
38
 
@@ -1 +1 @@
1
- {"version":3,"names":["WebinyError","getElasticsearchIndexPrefix","getLastAddedIndexPlugin","isSharedElasticsearchIndex","CmsEntryElasticsearchIndexPlugin","configurations","es","model","tenant","sharedIndex","index","modelId","join","toLowerCase","prefix","indexSettings","context","plugin","container","plugins","type","body"],"sources":["configurations.ts"],"sourcesContent":["import type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport WebinyError from \"@webiny/error\";\nimport type { CmsContext } from \"~/types.js\";\nimport {\n getElasticsearchIndexPrefix,\n getLastAddedIndexPlugin,\n isSharedElasticsearchIndex\n} from \"@webiny/api-elasticsearch\";\nimport type { ElasticsearchIndexRequestBody } from \"@webiny/api-elasticsearch/types.js\";\nimport { CmsEntryElasticsearchIndexPlugin } from \"~/plugins/index.js\";\n\ninterface ConfigurationsElasticsearch {\n index: string;\n}\n\nexport interface CmsElasticsearchParams {\n model: Pick<CmsModel, \"tenant\" | \"modelId\">;\n}\n\nexport interface ConfigurationsIndexSettingsParams {\n context: CmsContext;\n}\n\nexport interface Configurations {\n es: (params: CmsElasticsearchParams) => ConfigurationsElasticsearch;\n indexSettings: (\n params: ConfigurationsIndexSettingsParams\n ) => Partial<ElasticsearchIndexRequestBody>;\n}\n\nexport const configurations: Configurations = {\n es({ model }) {\n const { tenant } = model;\n\n if (!tenant) {\n throw new WebinyError(\n `Missing \"tenant\" parameter when trying to create Elasticsearch index name.`,\n \"TENANT_ERROR\"\n );\n }\n\n const sharedIndex = isSharedElasticsearchIndex();\n const index = [sharedIndex ? \"root\" : tenant, \"headless-cms\", model.modelId]\n .join(\"-\")\n .toLowerCase();\n\n const prefix = getElasticsearchIndexPrefix();\n\n if (!prefix) {\n return {\n index\n };\n }\n return {\n index: prefix + index\n };\n },\n indexSettings: ({ context }) => {\n const plugin = getLastAddedIndexPlugin<CmsEntryElasticsearchIndexPlugin>({\n container: context.plugins,\n type: CmsEntryElasticsearchIndexPlugin.type\n });\n\n return plugin ? plugin.body : {};\n }\n};\n"],"mappings":"AACA,OAAOA,WAAW,MAAM,eAAe;AAEvC,SACIC,2BAA2B,EAC3BC,uBAAuB,EACvBC,0BAA0B,QACvB,2BAA2B;AAElC,SAASC,gCAAgC;AAqBzC,OAAO,MAAMC,cAA8B,GAAG;EAC1CC,EAAEA,CAAC;IAAEC;EAAM,CAAC,EAAE;IACV,MAAM;MAAEC;IAAO,CAAC,GAAGD,KAAK;IAExB,IAAI,CAACC,MAAM,EAAE;MACT,MAAM,IAAIR,WAAW,CACjB,4EAA4E,EAC5E,cACJ,CAAC;IACL;IAEA,MAAMS,WAAW,GAAGN,0BAA0B,CAAC,CAAC;IAChD,MAAMO,KAAK,GAAG,CAACD,WAAW,GAAG,MAAM,GAAGD,MAAM,EAAE,cAAc,EAAED,KAAK,CAACI,OAAO,CAAC,CACvEC,IAAI,CAAC,GAAG,CAAC,CACTC,WAAW,CAAC,CAAC;IAElB,MAAMC,MAAM,GAAGb,2BAA2B,CAAC,CAAC;IAE5C,IAAI,CAACa,MAAM,EAAE;MACT,OAAO;QACHJ;MACJ,CAAC;IACL;IACA,OAAO;MACHA,KAAK,EAAEI,MAAM,GAAGJ;IACpB,CAAC;EACL,CAAC;EACDK,aAAa,EAAEA,CAAC;IAAEC;EAAQ,CAAC,KAAK;IAC5B,MAAMC,MAAM,GAAGf,uBAAuB,CAAmC;MACrEgB,SAAS,EAAEF,OAAO,CAACG,OAAO;MAC1BC,IAAI,EAAEhB,gCAAgC,CAACgB;IAC3C,CAAC,CAAC;IAEF,OAAOH,MAAM,GAAGA,MAAM,CAACI,IAAI,GAAG,CAAC,CAAC;EACpC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["WebinyError","getOpenSearchIndexPrefix","isSharedOpenSearchIndex","isSharedElasticsearchIndex","configurations","es","model","tenant","sharedIndex","index","modelId","join","toLowerCase","prefix","indexSettings","indexConfigs","usable","filter","c","canUse","length","body"],"sources":["configurations.ts"],"sourcesContent":["import type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport WebinyError from \"@webiny/error\";\nimport {\n getOpenSearchIndexPrefix,\n isSharedOpenSearchIndex as isSharedElasticsearchIndex\n} from \"@webiny/api-opensearch\";\nimport type { OpenSearchIndexRequestBody } from \"@webiny/api-opensearch/types.js\";\nimport type { CmsEntryOpenSearchIndex } from \"~/features/CmsEntryOpenSearchIndex/index.js\";\n\ninterface ConfigurationsElasticsearch {\n index: string;\n}\n\nexport interface CmsElasticsearchParams {\n model: Pick<CmsModel, \"tenant\" | \"modelId\">;\n}\n\nexport interface ConfigurationsIndexSettingsParams {\n indexConfigs: CmsEntryOpenSearchIndex.Interface[];\n model: Pick<CmsModel, \"tenant\" | \"modelId\" | \"group\">;\n}\n\nexport interface Configurations {\n es: (params: CmsElasticsearchParams) => ConfigurationsElasticsearch;\n indexSettings: (\n params: ConfigurationsIndexSettingsParams\n ) => Partial<OpenSearchIndexRequestBody>;\n}\n\nexport const configurations: Configurations = {\n es({ model }) {\n const { tenant } = model;\n\n if (!tenant) {\n throw new WebinyError(\n `Missing \"tenant\" parameter when trying to create Elasticsearch index name.`,\n \"TENANT_ERROR\"\n );\n }\n\n const sharedIndex = isSharedElasticsearchIndex();\n const index = [sharedIndex ? \"root\" : tenant, \"headless-cms\", model.modelId]\n .join(\"-\")\n .toLowerCase();\n\n const prefix = getOpenSearchIndexPrefix();\n\n if (!prefix) {\n return {\n index\n };\n }\n return {\n index: prefix + index\n };\n },\n indexSettings: ({ indexConfigs, model }) => {\n const usable = indexConfigs.filter(c => c.canUse({ model }));\n if (usable.length === 0) {\n return {};\n }\n return usable[usable.length - 1].body;\n }\n};\n"],"mappings":"AACA,OAAOA,WAAW,MAAM,eAAe;AACvC,SACIC,wBAAwB,EACxBC,uBAAuB,IAAIC,0BAA0B,QAClD,wBAAwB;AAwB/B,OAAO,MAAMC,cAA8B,GAAG;EAC1CC,EAAEA,CAAC;IAAEC;EAAM,CAAC,EAAE;IACV,MAAM;MAAEC;IAAO,CAAC,GAAGD,KAAK;IAExB,IAAI,CAACC,MAAM,EAAE;MACT,MAAM,IAAIP,WAAW,CACjB,4EAA4E,EAC5E,cACJ,CAAC;IACL;IAEA,MAAMQ,WAAW,GAAGL,0BAA0B,CAAC,CAAC;IAChD,MAAMM,KAAK,GAAG,CAACD,WAAW,GAAG,MAAM,GAAGD,MAAM,EAAE,cAAc,EAAED,KAAK,CAACI,OAAO,CAAC,CACvEC,IAAI,CAAC,GAAG,CAAC,CACTC,WAAW,CAAC,CAAC;IAElB,MAAMC,MAAM,GAAGZ,wBAAwB,CAAC,CAAC;IAEzC,IAAI,CAACY,MAAM,EAAE;MACT,OAAO;QACHJ;MACJ,CAAC;IACL;IACA,OAAO;MACHA,KAAK,EAAEI,MAAM,GAAGJ;IACpB,CAAC;EACL,CAAC;EACDK,aAAa,EAAEA,CAAC;IAAEC,YAAY;IAAET;EAAM,CAAC,KAAK;IACxC,MAAMU,MAAM,GAAGD,YAAY,CAACE,MAAM,CAACC,CAAC,IAAIA,CAAC,CAACC,MAAM,CAAC;MAAEb;IAAM,CAAC,CAAC,CAAC;IAC5D,IAAIU,MAAM,CAACI,MAAM,KAAK,CAAC,EAAE;MACrB,OAAO,CAAC,CAAC;IACb;IACA,OAAOJ,MAAM,CAACA,MAAM,CAACI,MAAM,GAAG,CAAC,CAAC,CAACC,IAAI;EACzC;AACJ,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["createStandardEntity","createModelEntity","params","table","entityName","name"],"sources":["model.ts"],"sourcesContent":["import { createStandardEntity, type ITable } from \"@webiny/db-dynamodb\";\nimport type { IModelEntity } from \"~/definitions/types.js\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\n\ninterface Params {\n table: ITable;\n entityName: string;\n}\n\nexport const createModelEntity = (params: Params): IModelEntity => {\n const { table, entityName } = params;\n return createStandardEntity<CmsModel>({\n table: table.table,\n name: entityName\n });\n};\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAqB,qBAAqB;AASvE,OAAO,MAAMC,iBAAiB,GAAIC,MAAc,IAAmB;EAC/D,MAAM;IAAEC,KAAK;IAAEC;EAAW,CAAC,GAAGF,MAAM;EACpC,OAAOF,oBAAoB,CAAW;IAClCG,KAAK,EAAEA,KAAK,CAACA,KAAK;IAClBE,IAAI,EAAED;EACV,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createStandardEntity","createModelEntity","params","table","entityName","name"],"sources":["model.ts"],"sourcesContent":["import { createStandardEntity, type ITable } from \"@webiny/db-dynamodb\";\nimport type { IModelEntity } from \"~/definitions/types.js\";\nimport type { StorageCmsModel } from \"@webiny/api-headless-cms/types/index.js\";\n\ninterface Params {\n table: ITable;\n entityName: string;\n}\n\nexport const createModelEntity = (params: Params): IModelEntity => {\n const { table, entityName } = params;\n return createStandardEntity<StorageCmsModel>({\n table: table.table,\n name: entityName\n });\n};\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAqB,qBAAqB;AASvE,OAAO,MAAMC,iBAAiB,GAAIC,MAAc,IAAmB;EAC/D,MAAM;IAAEC,KAAK;IAAEC;EAAW,CAAC,GAAGF,MAAM;EACpC,OAAOF,oBAAoB,CAAkB;IACzCG,KAAK,EAAEA,KAAK,CAACA,KAAK;IAClBE,IAAI,EAAED;EACV,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import type { IEntity, IStandardEntityAttributes } from "@webiny/db-dynamodb";
2
2
  import type { GenericRecord } from "@webiny/api/types.js";
3
- import type { CmsEntryStatus, CmsGroup, CmsIdentity, CmsModel, ICmsEntryLocation, IEntryState } from "@webiny/api-headless-cms/types/index.js";
3
+ import type { CmsEntryStatus, CmsGroup, CmsIdentity, ICmsEntryLive, ICmsEntryLocation, ICmsEntrySystem, StorageCmsModel } from "@webiny/api-headless-cms/types/index.js";
4
4
  export interface IEntryEntityAttributesData {
5
5
  tenant: string;
6
6
  entryId: string;
@@ -51,9 +51,11 @@ export interface IEntryEntityAttributesData {
51
51
  binOriginalFolderId?: string;
52
52
  values: GenericRecord;
53
53
  meta?: GenericRecord;
54
- state?: IEntryState;
54
+ system?: ICmsEntrySystem;
55
+ live: ICmsEntryLive | null;
56
+ revisionDescription: string | undefined;
55
57
  }
56
58
  export type IEntryEntityAttributes = IStandardEntityAttributes<IEntryEntityAttributesData>;
57
- export type IModelEntity = IEntity<IStandardEntityAttributes<CmsModel>>;
59
+ export type IModelEntity = IEntity<IStandardEntityAttributes<StorageCmsModel>>;
58
60
  export type IGroupEntity = IEntity<IStandardEntityAttributes<CmsGroup>>;
59
61
  export type IEntryEntity = IEntity<IEntryEntityAttributes>;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { IEntity, IStandardEntityAttributes } from \"@webiny/db-dynamodb\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport type {\n CmsEntryStatus,\n CmsGroup,\n CmsIdentity,\n CmsModel,\n ICmsEntryLocation,\n IEntryState\n} from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface IEntryEntityAttributesData {\n tenant: string;\n entryId: string;\n id: string;\n modelId: string;\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: string;\n revisionModifiedOn: string | null;\n revisionSavedOn: string;\n revisionDeletedOn: string | null;\n revisionRestoredOn: string | null;\n revisionFirstPublishedOn: string | null;\n revisionLastPublishedOn: string | null;\n revisionCreatedBy: CmsIdentity;\n revisionModifiedBy: CmsIdentity | null;\n revisionSavedBy: CmsIdentity;\n revisionDeletedBy: CmsIdentity | null;\n revisionRestoredBy: CmsIdentity | null;\n revisionFirstPublishedBy: CmsIdentity | null;\n revisionLastPublishedBy: CmsIdentity | null;\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: string;\n modifiedOn: string | null;\n savedOn: string;\n deletedOn: string | null;\n restoredOn: string | null;\n firstPublishedOn: string | null;\n lastPublishedOn: string | null;\n createdBy: CmsIdentity;\n modifiedBy: CmsIdentity | null;\n savedBy: CmsIdentity;\n deletedBy: CmsIdentity | null;\n restoredBy: CmsIdentity | null;\n firstPublishedBy: CmsIdentity | null;\n lastPublishedBy: CmsIdentity | null;\n\n /**\n * The rest. 👇\n */\n version: number;\n locked: boolean;\n status: CmsEntryStatus;\n location?: ICmsEntryLocation;\n wbyDeleted?: boolean | null;\n binOriginalFolderId?: string;\n values: GenericRecord;\n meta?: GenericRecord;\n state?: IEntryState;\n}\n\nexport type IEntryEntityAttributes = IStandardEntityAttributes<IEntryEntityAttributesData>;\n\nexport type IModelEntity = IEntity<IStandardEntityAttributes<CmsModel>>;\nexport type IGroupEntity = IEntity<IStandardEntityAttributes<CmsGroup>>;\nexport type IEntryEntity = IEntity<IEntryEntityAttributes>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { IEntity, IStandardEntityAttributes } from \"@webiny/db-dynamodb\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport type {\n CmsEntryStatus,\n CmsGroup,\n CmsIdentity,\n ICmsEntryLive,\n ICmsEntryLocation,\n ICmsEntrySystem,\n StorageCmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface IEntryEntityAttributesData {\n tenant: string;\n entryId: string;\n id: string;\n modelId: string;\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: string;\n revisionModifiedOn: string | null;\n revisionSavedOn: string;\n revisionDeletedOn: string | null;\n revisionRestoredOn: string | null;\n revisionFirstPublishedOn: string | null;\n revisionLastPublishedOn: string | null;\n revisionCreatedBy: CmsIdentity;\n revisionModifiedBy: CmsIdentity | null;\n revisionSavedBy: CmsIdentity;\n revisionDeletedBy: CmsIdentity | null;\n revisionRestoredBy: CmsIdentity | null;\n revisionFirstPublishedBy: CmsIdentity | null;\n revisionLastPublishedBy: CmsIdentity | null;\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: string;\n modifiedOn: string | null;\n savedOn: string;\n deletedOn: string | null;\n restoredOn: string | null;\n firstPublishedOn: string | null;\n lastPublishedOn: string | null;\n createdBy: CmsIdentity;\n modifiedBy: CmsIdentity | null;\n savedBy: CmsIdentity;\n deletedBy: CmsIdentity | null;\n restoredBy: CmsIdentity | null;\n firstPublishedBy: CmsIdentity | null;\n lastPublishedBy: CmsIdentity | null;\n\n /**\n * The rest. 👇\n */\n version: number;\n locked: boolean;\n status: CmsEntryStatus;\n location?: ICmsEntryLocation;\n wbyDeleted?: boolean | null;\n binOriginalFolderId?: string;\n values: GenericRecord;\n meta?: GenericRecord;\n system?: ICmsEntrySystem;\n live: ICmsEntryLive | null;\n revisionDescription: string | undefined;\n}\n\nexport type IEntryEntityAttributes = IStandardEntityAttributes<IEntryEntityAttributesData>;\n\nexport type IModelEntity = IEntity<IStandardEntityAttributes<StorageCmsModel>>;\nexport type IGroupEntity = IEntity<IStandardEntityAttributes<CmsGroup>>;\nexport type IEntryEntity = IEntity<IEntryEntityAttributes>;\n"],"mappings":"","ignoreList":[]}
@@ -1,9 +1,9 @@
1
- import type { Client } from "@elastic/elasticsearch";
2
- import type { PluginsContainer } from "@webiny/plugins";
1
+ import type { Client } from "@webiny/api-opensearch";
3
2
  import type { CmsModel } from "@webiny/api-headless-cms/types/index.js";
3
+ import type { CmsEntryOpenSearchIndex } from "../features/CmsEntryOpenSearchIndex/index.js";
4
4
  export interface CreateElasticsearchIndexParams {
5
5
  client: Client;
6
- plugins: PluginsContainer;
6
+ indexConfigs: CmsEntryOpenSearchIndex.Interface[];
7
7
  model: CmsModel;
8
8
  }
9
9
  export declare const createElasticsearchIndex: (params: CreateElasticsearchIndexParams) => Promise<void>;
@@ -1,10 +1,19 @@
1
- import { CmsEntryElasticsearchIndexPlugin } from "../plugins/CmsEntryElasticsearchIndexPlugin.js";
2
- import { createIndex } from "@webiny/api-elasticsearch";
1
+ import WebinyError from "@webiny/error";
3
2
  import { configurations } from "../configurations.js";
3
+ const getLastUsable = params => {
4
+ const {
5
+ configs
6
+ } = params;
7
+ const usable = configs.filter(c => c.canUse(params));
8
+ if (usable.length === 0) {
9
+ throw new WebinyError("Could not find a single usable CmsEntryOpenSearchIndex.", "OPENSEARCH_INDEX_TEMPLATE_ERROR");
10
+ }
11
+ return usable[usable.length - 1];
12
+ };
4
13
  export const createElasticsearchIndex = async params => {
5
14
  const {
6
15
  client,
7
- plugins,
16
+ indexConfigs,
8
17
  model
9
18
  } = params;
10
19
  const {
@@ -12,21 +21,54 @@ export const createElasticsearchIndex = async params => {
12
21
  } = configurations.es({
13
22
  model
14
23
  });
15
- await createIndex({
16
- client,
17
- index,
18
- type: CmsEntryElasticsearchIndexPlugin.type,
19
- tenant: model.tenant,
20
- plugins,
21
- onExists: () => {
24
+ const config = getLastUsable({
25
+ configs: indexConfigs,
26
+ model
27
+ });
28
+ if (!config) {
29
+ /**
30
+ * This can happen only while development as we have a base index setting that is always usable.
31
+ */
32
+ throw new Error(`Could not find a usable CmsEntryOpenSearchIndex for the CMS model "${model.name}".`);
33
+ }
34
+ try {
35
+ const response = await client.indices.exists({
36
+ index,
37
+ ignore_unavailable: false,
38
+ allow_no_indices: true,
39
+ include_defaults: true,
40
+ flat_settings: false,
41
+ local: false
42
+ });
43
+ if (response.body) {
22
44
  console.log(`Elasticsearch index "${index}" for the CMS model "${model.name}" already exists.`);
23
- },
24
- onError: ex => {
25
- console.error(`Could not create Elasticsearch index "${index}" for the CMS model "${model.name}".`);
26
- console.error(ex);
27
- return ex;
45
+ return;
28
46
  }
29
- });
47
+ } catch {
48
+ console.error(`Could not determine if the index "${index}" exists.`);
49
+ }
50
+ try {
51
+ await client.indices.create({
52
+ index,
53
+ body: {
54
+ ...config.body
55
+ }
56
+ });
57
+ } catch (ex) {
58
+ console.error(`Could not create Elasticsearch index "${index}" for the CMS model "${model.name}".`);
59
+ console.error(ex);
60
+ throw new WebinyError(ex.message || "Could not create OpenSearch index for the CMS entry.", ex.code || "CREATE_OPENSEARCH_INDEX_ERROR", {
61
+ error: {
62
+ ...ex,
63
+ message: ex.message,
64
+ code: ex.code,
65
+ data: ex.data
66
+ },
67
+ tenant: model.tenant,
68
+ index,
69
+ body: config.body
70
+ });
71
+ }
30
72
  };
31
73
 
32
74
  //# sourceMappingURL=createElasticsearchIndex.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CmsEntryElasticsearchIndexPlugin","createIndex","configurations","createElasticsearchIndex","params","client","plugins","model","index","es","type","tenant","onExists","console","log","name","onError","ex","error"],"sources":["createElasticsearchIndex.ts"],"sourcesContent":["import type { Client } from \"@elastic/elasticsearch\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport { CmsEntryElasticsearchIndexPlugin } from \"~/plugins/CmsEntryElasticsearchIndexPlugin.js\";\nimport { createIndex } from \"@webiny/api-elasticsearch\";\nimport { configurations } from \"~/configurations.js\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface CreateElasticsearchIndexParams {\n client: Client;\n plugins: PluginsContainer;\n model: CmsModel;\n}\n\nexport const createElasticsearchIndex = async (params: CreateElasticsearchIndexParams) => {\n const { client, plugins, model } = params;\n\n const { index } = configurations.es({\n model\n });\n\n await createIndex({\n client,\n index,\n type: CmsEntryElasticsearchIndexPlugin.type,\n tenant: model.tenant,\n plugins,\n onExists: () => {\n console.log(\n `Elasticsearch index \"${index}\" for the CMS model \"${model.name}\" already exists.`\n );\n },\n onError: ex => {\n console.error(\n `Could not create Elasticsearch index \"${index}\" for the CMS model \"${model.name}\".`\n );\n console.error(ex);\n return ex;\n }\n });\n};\n"],"mappings":"AAEA,SAASA,gCAAgC;AACzC,SAASC,WAAW,QAAQ,2BAA2B;AACvD,SAASC,cAAc;AASvB,OAAO,MAAMC,wBAAwB,GAAG,MAAOC,MAAsC,IAAK;EACtF,MAAM;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAEzC,MAAM;IAAEI;EAAM,CAAC,GAAGN,cAAc,CAACO,EAAE,CAAC;IAChCF;EACJ,CAAC,CAAC;EAEF,MAAMN,WAAW,CAAC;IACdI,MAAM;IACNG,KAAK;IACLE,IAAI,EAAEV,gCAAgC,CAACU,IAAI;IAC3CC,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBL,OAAO;IACPM,QAAQ,EAAEA,CAAA,KAAM;MACZC,OAAO,CAACC,GAAG,CACP,wBAAwBN,KAAK,wBAAwBD,KAAK,CAACQ,IAAI,mBACnE,CAAC;IACL,CAAC;IACDC,OAAO,EAAEC,EAAE,IAAI;MACXJ,OAAO,CAACK,KAAK,CACT,yCAAyCV,KAAK,wBAAwBD,KAAK,CAACQ,IAAI,IACpF,CAAC;MACDF,OAAO,CAACK,KAAK,CAACD,EAAE,CAAC;MACjB,OAAOA,EAAE;IACb;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["WebinyError","configurations","getLastUsable","params","configs","usable","filter","c","canUse","length","createElasticsearchIndex","client","indexConfigs","model","index","es","config","Error","name","response","indices","exists","ignore_unavailable","allow_no_indices","include_defaults","flat_settings","local","body","console","log","error","create","ex","message","code","data","tenant"],"sources":["createElasticsearchIndex.ts"],"sourcesContent":["import type { Client } from \"@webiny/api-opensearch\";\nimport WebinyError from \"@webiny/error\";\nimport { configurations } from \"~/configurations.js\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { CmsEntryOpenSearchIndex } from \"~/features/CmsEntryOpenSearchIndex/index.js\";\n\nexport interface CreateElasticsearchIndexParams {\n client: Client;\n indexConfigs: CmsEntryOpenSearchIndex.Interface[];\n model: CmsModel;\n}\n\ninterface IGetLastUsableParams {\n configs: CmsEntryOpenSearchIndex.Interface[];\n model: CmsModel;\n}\n\nconst getLastUsable = (params: IGetLastUsableParams): CmsEntryOpenSearchIndex.Interface => {\n const { configs } = params;\n const usable = configs.filter(c => c.canUse(params));\n if (usable.length === 0) {\n throw new WebinyError(\n \"Could not find a single usable CmsEntryOpenSearchIndex.\",\n \"OPENSEARCH_INDEX_TEMPLATE_ERROR\"\n );\n }\n return usable[usable.length - 1];\n};\n\nexport const createElasticsearchIndex = async (params: CreateElasticsearchIndexParams) => {\n const { client, indexConfigs, model } = params;\n\n const { index } = configurations.es({\n model\n });\n\n const config = getLastUsable({\n configs: indexConfigs,\n model\n });\n if (!config) {\n /**\n * This can happen only while development as we have a base index setting that is always usable.\n */\n throw new Error(\n `Could not find a usable CmsEntryOpenSearchIndex for the CMS model \"${model.name}\".`\n );\n }\n\n try {\n const response = await client.indices.exists({\n index,\n ignore_unavailable: false,\n allow_no_indices: true,\n include_defaults: true,\n flat_settings: false,\n local: false\n });\n if (response.body) {\n console.log(\n `Elasticsearch index \"${index}\" for the CMS model \"${model.name}\" already exists.`\n );\n return;\n }\n } catch {\n console.error(`Could not determine if the index \"${index}\" exists.`);\n }\n\n try {\n await client.indices.create({\n index,\n body: {\n ...config.body\n }\n });\n } catch (ex) {\n console.error(\n `Could not create Elasticsearch index \"${index}\" for the CMS model \"${model.name}\".`\n );\n console.error(ex);\n throw new WebinyError(\n ex.message || \"Could not create OpenSearch index for the CMS entry.\",\n ex.code || \"CREATE_OPENSEARCH_INDEX_ERROR\",\n {\n error: {\n ...ex,\n message: ex.message,\n code: ex.code,\n data: ex.data\n },\n tenant: model.tenant,\n index,\n body: config.body\n }\n );\n }\n};\n"],"mappings":"AACA,OAAOA,WAAW,MAAM,eAAe;AACvC,SAASC,cAAc;AAevB,MAAMC,aAAa,GAAIC,MAA4B,IAAwC;EACvF,MAAM;IAAEC;EAAQ,CAAC,GAAGD,MAAM;EAC1B,MAAME,MAAM,GAAGD,OAAO,CAACE,MAAM,CAACC,CAAC,IAAIA,CAAC,CAACC,MAAM,CAACL,MAAM,CAAC,CAAC;EACpD,IAAIE,MAAM,CAACI,MAAM,KAAK,CAAC,EAAE;IACrB,MAAM,IAAIT,WAAW,CACjB,yDAAyD,EACzD,iCACJ,CAAC;EACL;EACA,OAAOK,MAAM,CAACA,MAAM,CAACI,MAAM,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,OAAO,MAAMC,wBAAwB,GAAG,MAAOP,MAAsC,IAAK;EACtF,MAAM;IAAEQ,MAAM;IAAEC,YAAY;IAAEC;EAAM,CAAC,GAAGV,MAAM;EAE9C,MAAM;IAAEW;EAAM,CAAC,GAAGb,cAAc,CAACc,EAAE,CAAC;IAChCF;EACJ,CAAC,CAAC;EAEF,MAAMG,MAAM,GAAGd,aAAa,CAAC;IACzBE,OAAO,EAAEQ,YAAY;IACrBC;EACJ,CAAC,CAAC;EACF,IAAI,CAACG,MAAM,EAAE;IACT;AACR;AACA;IACQ,MAAM,IAAIC,KAAK,CACX,sEAAsEJ,KAAK,CAACK,IAAI,IACpF,CAAC;EACL;EAEA,IAAI;IACA,MAAMC,QAAQ,GAAG,MAAMR,MAAM,CAACS,OAAO,CAACC,MAAM,CAAC;MACzCP,KAAK;MACLQ,kBAAkB,EAAE,KAAK;MACzBC,gBAAgB,EAAE,IAAI;MACtBC,gBAAgB,EAAE,IAAI;MACtBC,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE;IACX,CAAC,CAAC;IACF,IAAIP,QAAQ,CAACQ,IAAI,EAAE;MACfC,OAAO,CAACC,GAAG,CACP,wBAAwBf,KAAK,wBAAwBD,KAAK,CAACK,IAAI,mBACnE,CAAC;MACD;IACJ;EACJ,CAAC,CAAC,MAAM;IACJU,OAAO,CAACE,KAAK,CAAC,qCAAqChB,KAAK,WAAW,CAAC;EACxE;EAEA,IAAI;IACA,MAAMH,MAAM,CAACS,OAAO,CAACW,MAAM,CAAC;MACxBjB,KAAK;MACLa,IAAI,EAAE;QACF,GAAGX,MAAM,CAACW;MACd;IACJ,CAAC,CAAC;EACN,CAAC,CAAC,OAAOK,EAAE,EAAE;IACTJ,OAAO,CAACE,KAAK,CACT,yCAAyChB,KAAK,wBAAwBD,KAAK,CAACK,IAAI,IACpF,CAAC;IACDU,OAAO,CAACE,KAAK,CAACE,EAAE,CAAC;IACjB,MAAM,IAAIhC,WAAW,CACjBgC,EAAE,CAACC,OAAO,IAAI,sDAAsD,EACpED,EAAE,CAACE,IAAI,IAAI,+BAA+B,EAC1C;MACIJ,KAAK,EAAE;QACH,GAAGE,EAAE;QACLC,OAAO,EAAED,EAAE,CAACC,OAAO;QACnBC,IAAI,EAAEF,EAAE,CAACE,IAAI;QACbC,IAAI,EAAEH,EAAE,CAACG;MACb,CAAC;MACDC,MAAM,EAAEvB,KAAK,CAACuB,MAAM;MACpBtB,KAAK;MACLa,IAAI,EAAEX,MAAM,CAACW;IACjB,CACJ,CAAC;EACL;AACJ,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { Client } from "@elastic/elasticsearch";
1
+ import type { Client } from "@webiny/api-opensearch";
2
2
  import type { CmsModel } from "@webiny/api-headless-cms/types/index.js";
3
3
  interface DeleteElasticsearchIndexParams {
4
4
  client: Client;
@@ -1 +1 @@
1
- {"version":3,"names":["configurations","deleteElasticsearchIndex","params","client","model","index","es","body","exists","indices","delete","ignore_unavailable","ex","console","log","message"],"sources":["deleteElasticsearchIndex.ts"],"sourcesContent":["import type { Client } from \"@elastic/elasticsearch\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport { configurations } from \"~/configurations.js\";\n\ninterface DeleteElasticsearchIndexParams {\n client: Client;\n model: CmsModel;\n}\n\nexport const deleteElasticsearchIndex = async (\n params: DeleteElasticsearchIndexParams\n): Promise<void> => {\n const { client, model } = params;\n\n const { index } = configurations.es({\n model\n });\n const { body: exists } = await client.indices.exists({\n index\n });\n if (!exists) {\n return;\n }\n\n try {\n await client.indices.delete({\n index,\n ignore_unavailable: true\n });\n } catch (ex) {\n console.log(`Could not delete Elasticsearch index \"${index}\". Please do it manually.`);\n console.log(ex.message);\n }\n};\n"],"mappings":"AAEA,SAASA,cAAc;AAOvB,OAAO,MAAMC,wBAAwB,GAAG,MACpCC,MAAsC,IACtB;EAChB,MAAM;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGF,MAAM;EAEhC,MAAM;IAAEG;EAAM,CAAC,GAAGL,cAAc,CAACM,EAAE,CAAC;IAChCF;EACJ,CAAC,CAAC;EACF,MAAM;IAAEG,IAAI,EAAEC;EAAO,CAAC,GAAG,MAAML,MAAM,CAACM,OAAO,CAACD,MAAM,CAAC;IACjDH;EACJ,CAAC,CAAC;EACF,IAAI,CAACG,MAAM,EAAE;IACT;EACJ;EAEA,IAAI;IACA,MAAML,MAAM,CAACM,OAAO,CAACC,MAAM,CAAC;MACxBL,KAAK;MACLM,kBAAkB,EAAE;IACxB,CAAC,CAAC;EACN,CAAC,CAAC,OAAOC,EAAE,EAAE;IACTC,OAAO,CAACC,GAAG,CAAC,yCAAyCT,KAAK,2BAA2B,CAAC;IACtFQ,OAAO,CAACC,GAAG,CAACF,EAAE,CAACG,OAAO,CAAC;EAC3B;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["configurations","deleteElasticsearchIndex","params","client","model","index","es","body","exists","indices","delete","ignore_unavailable","ex","console","log","message"],"sources":["deleteElasticsearchIndex.ts"],"sourcesContent":["import type { Client } from \"@webiny/api-opensearch\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport { configurations } from \"~/configurations.js\";\n\ninterface DeleteElasticsearchIndexParams {\n client: Client;\n model: CmsModel;\n}\n\nexport const deleteElasticsearchIndex = async (\n params: DeleteElasticsearchIndexParams\n): Promise<void> => {\n const { client, model } = params;\n\n const { index } = configurations.es({\n model\n });\n const { body: exists } = await client.indices.exists({\n index\n });\n if (!exists) {\n return;\n }\n\n try {\n await client.indices.delete({\n index,\n ignore_unavailable: true\n });\n } catch (ex) {\n console.log(`Could not delete Elasticsearch index \"${index}\". Please do it manually.`);\n console.log(ex.message);\n }\n};\n"],"mappings":"AAEA,SAASA,cAAc;AAOvB,OAAO,MAAMC,wBAAwB,GAAG,MACpCC,MAAsC,IACtB;EAChB,MAAM;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGF,MAAM;EAEhC,MAAM;IAAEG;EAAM,CAAC,GAAGL,cAAc,CAACM,EAAE,CAAC;IAChCF;EACJ,CAAC,CAAC;EACF,MAAM;IAAEG,IAAI,EAAEC;EAAO,CAAC,GAAG,MAAML,MAAM,CAACM,OAAO,CAACD,MAAM,CAAC;IACjDH;EACJ,CAAC,CAAC;EACF,IAAI,CAACG,MAAM,EAAE;IACT;EACJ;EAEA,IAAI;IACA,MAAML,MAAM,CAACM,OAAO,CAACC,MAAM,CAAC;MACxBL,KAAK;MACLM,kBAAkB,EAAE;IACxB,CAAC,CAAC;EACN,CAAC,CAAC,OAAOC,EAAE,EAAE;IACTC,OAAO,CAACC,GAAG,CAAC,yCAAyCT,KAAK,2BAA2B,CAAC;IACtFQ,OAAO,CAACC,GAAG,CAACF,EAAE,CAACG,OAAO,CAAC;EAC3B;AACJ,CAAC","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ export { CmsEntryOpenSearchFieldIndexRegistry, CmsEntryOpenSearchFieldIndex } from "../../../features/CmsEntryOpenSearchFieldIndex/index.js";
2
+ export { CmsEntryOpenSearchFilterRegistry, CmsEntryOpenSearchFilter } from "../../../features/CmsEntryOpenSearchFilter/index.js";
3
+ export { CmsEntryOpenSearchBodyModifier } from "../../../features/CmsEntryOpenSearchBodyModifier/index.js";
4
+ export { CmsEntryOpenSearchSortModifier } from "../../../features/CmsEntryOpenSearchSortModifier/index.js";
5
+ export { CmsEntryOpenSearchQueryModifier } from "../../../features/CmsEntryOpenSearchQueryModifier/index.js";
6
+ export { CmsEntryOpenSearchValueSearch, CmsEntryOpenSearchValueSearchRegistry } from "../../../features/CmsEntryOpenSearchValueSearch/index.js";
7
+ export { CmsEntryOpenSearchFullTextSearch } from "../../../features/CmsEntryOpenSearchFullTextSearch/index.js";
8
+ export { CmsEntryOpenSearchIndex } from "../../../features/CmsEntryOpenSearchIndex/index.js";
9
+ export { CmsEntryOpenSearchValuesModifier } from "../../../features/CmsEntryOpenSearchValuesModifier/index.js";
@@ -0,0 +1,11 @@
1
+ export { CmsEntryOpenSearchFieldIndexRegistry, CmsEntryOpenSearchFieldIndex } from "../../../features/CmsEntryOpenSearchFieldIndex/index.js";
2
+ export { CmsEntryOpenSearchFilterRegistry, CmsEntryOpenSearchFilter } from "../../../features/CmsEntryOpenSearchFilter/index.js";
3
+ export { CmsEntryOpenSearchBodyModifier } from "../../../features/CmsEntryOpenSearchBodyModifier/index.js";
4
+ export { CmsEntryOpenSearchSortModifier } from "../../../features/CmsEntryOpenSearchSortModifier/index.js";
5
+ export { CmsEntryOpenSearchQueryModifier } from "../../../features/CmsEntryOpenSearchQueryModifier/index.js";
6
+ export { CmsEntryOpenSearchValueSearch, CmsEntryOpenSearchValueSearchRegistry } from "../../../features/CmsEntryOpenSearchValueSearch/index.js";
7
+ export { CmsEntryOpenSearchFullTextSearch } from "../../../features/CmsEntryOpenSearchFullTextSearch/index.js";
8
+ export { CmsEntryOpenSearchIndex } from "../../../features/CmsEntryOpenSearchIndex/index.js";
9
+ export { CmsEntryOpenSearchValuesModifier } from "../../../features/CmsEntryOpenSearchValuesModifier/index.js";
10
+
11
+ //# sourceMappingURL=opensearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsEntryOpenSearchFieldIndexRegistry","CmsEntryOpenSearchFieldIndex","CmsEntryOpenSearchFilterRegistry","CmsEntryOpenSearchFilter","CmsEntryOpenSearchBodyModifier","CmsEntryOpenSearchSortModifier","CmsEntryOpenSearchQueryModifier","CmsEntryOpenSearchValueSearch","CmsEntryOpenSearchValueSearchRegistry","CmsEntryOpenSearchFullTextSearch","CmsEntryOpenSearchIndex","CmsEntryOpenSearchValuesModifier"],"sources":["opensearch.ts"],"sourcesContent":["export {\n CmsEntryOpenSearchFieldIndexRegistry,\n CmsEntryOpenSearchFieldIndex\n} from \"~/features/CmsEntryOpenSearchFieldIndex/index.js\";\nexport {\n CmsEntryOpenSearchFilterRegistry,\n CmsEntryOpenSearchFilter\n} from \"~/features/CmsEntryOpenSearchFilter/index.js\";\nexport { CmsEntryOpenSearchBodyModifier } from \"~/features/CmsEntryOpenSearchBodyModifier/index.js\";\nexport { CmsEntryOpenSearchSortModifier } from \"~/features/CmsEntryOpenSearchSortModifier/index.js\";\nexport { CmsEntryOpenSearchQueryModifier } from \"~/features/CmsEntryOpenSearchQueryModifier/index.js\";\nexport {\n CmsEntryOpenSearchValueSearch,\n CmsEntryOpenSearchValueSearchRegistry\n} from \"~/features/CmsEntryOpenSearchValueSearch/index.js\";\nexport { CmsEntryOpenSearchFullTextSearch } from \"~/features/CmsEntryOpenSearchFullTextSearch/index.js\";\nexport { CmsEntryOpenSearchIndex } from \"~/features/CmsEntryOpenSearchIndex/index.js\";\nexport { CmsEntryOpenSearchValuesModifier } from \"~/features/CmsEntryOpenSearchValuesModifier/index.js\";\n"],"mappings":"AAAA,SACIA,oCAAoC,EACpCC,4BAA4B;AAEhC,SACIC,gCAAgC,EAChCC,wBAAwB;AAE5B,SAASC,8BAA8B;AACvC,SAASC,8BAA8B;AACvC,SAASC,+BAA+B;AACxC,SACIC,6BAA6B,EAC7BC,qCAAqC;AAEzC,SAASC,gCAAgC;AACzC,SAASC,uBAAuB;AAChC,SAASC,gCAAgC","ignoreList":[]}
package/feature.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare const registerCmsOpenSearchStorageOperations: () => import("@webiny/handler").RegisterExtensionPlugin<import("@webiny/handler/types.js").Context>[];
package/feature.js ADDED
@@ -0,0 +1,188 @@
1
+ import { createTable, registerExtension as registerDynamoDbExtension } from "@webiny/db-dynamodb";
2
+ import { StorageOperationsFactory as StorageOperationsFactoryAbstraction } from "@webiny/api-headless-cms/exports/api/cms/storage.js";
3
+ import { ENTITIES } from "./types.js";
4
+ import { createRegisterExtensionPlugin } from "@webiny/handler";
5
+ import { createFeature } from "@webiny/feature/api/index.js";
6
+ import { CmsEntryOpenSearchValueSearchFeature, CmsEntryOpenSearchValueSearchRegistry } from "./features/CmsEntryOpenSearchValueSearch/index.js";
7
+ import { CmsEntryOpenSearchIndex, CmsEntryOpenSearchIndexFeature } from "./features/CmsEntryOpenSearchIndex/index.js";
8
+ import { createModelsStorageOperations } from "./operations/model/index.js";
9
+ import { createEntriesStorageOperations } from "./operations/entry/index.js";
10
+ import { createGroupEntity } from "./definitions/group.js";
11
+ import { createModelEntity } from "./definitions/model.js";
12
+ import { createEntryEntity } from "./definitions/entry.js";
13
+ import { createElasticsearchIndex } from "./elasticsearch/createElasticsearchIndex.js";
14
+ import { createGroupsStorageOperations } from "./operations/group/index.js";
15
+ import { createOpenSearchEntity, createOpenSearchTable } from "@webiny/api-opensearch";
16
+ import { deleteElasticsearchIndex } from "./elasticsearch/deleteElasticsearchIndex.js";
17
+ import { createCreateIndexTask } from "./tasks/createIndexTaskPlugin.js";
18
+ import { ModelAfterCreateEventHandler } from "@webiny/api-headless-cms/features/contentModel/CreateModel/index.js";
19
+ import { ModelAfterCreateFromEventHandler } from "@webiny/api-headless-cms/features/contentModel/CreateModelFrom/events.js";
20
+ import { ModelAfterDeleteEventHandler } from "@webiny/api-headless-cms/features/contentModel/DeleteModel/events.js";
21
+ import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
22
+ import { CompressionHandler } from "@webiny/utils/exports/api.js";
23
+ import { CmsEntryOpenSearchBodyModifier } from "./features/CmsEntryOpenSearchBodyModifier/index.js";
24
+ import { CmsEntryOpenSearchSortModifier } from "./features/CmsEntryOpenSearchSortModifier/index.js";
25
+ import { CmsEntryOpenSearchQueryModifier } from "./features/CmsEntryOpenSearchQueryModifier/index.js";
26
+ import { CmsEntryOpenSearchFullTextSearch } from "./features/CmsEntryOpenSearchFullTextSearch/index.js";
27
+ import { CmsEntryOpenSearchValuesModifier } from "./features/CmsEntryOpenSearchValuesModifier/index.js";
28
+ import { CmsEntryOpenSearchFieldIndexFeature, CmsEntryOpenSearchFieldIndexRegistry } from "./features/CmsEntryOpenSearchFieldIndex/index.js";
29
+ import { CmsEntryOpenSearchFilterFeature, CmsEntryOpenSearchFilterRegistry } from "./features/CmsEntryOpenSearchFilter/index.js";
30
+ const createOpenSearchStorageOperations = params => {
31
+ const {
32
+ table,
33
+ esTable,
34
+ documentClient,
35
+ elasticsearch,
36
+ plugins,
37
+ container
38
+ } = params;
39
+ const tableInstance = createTable({
40
+ name: table || process.env.DB_TABLE,
41
+ documentClient
42
+ });
43
+ const tableElasticsearchInstance = createOpenSearchTable({
44
+ name: esTable,
45
+ documentClient
46
+ });
47
+ const entities = {
48
+ groups: createGroupEntity({
49
+ entityName: ENTITIES.GROUPS,
50
+ table: tableInstance
51
+ }),
52
+ models: createModelEntity({
53
+ entityName: ENTITIES.MODELS,
54
+ table: tableInstance
55
+ }),
56
+ entries: createEntryEntity({
57
+ entityName: ENTITIES.ENTRIES,
58
+ table: tableInstance
59
+ }),
60
+ entriesEs: createOpenSearchEntity({
61
+ entityName: ENTITIES.ENTRIES_ES,
62
+ table: tableElasticsearchInstance
63
+ })
64
+ };
65
+ const fieldRegistry = container.resolve(CmsModelFieldToGraphQLRegistry);
66
+ const fieldIndexRegistry = container.resolve(CmsEntryOpenSearchFieldIndexRegistry);
67
+ const compressionHandler = container.resolve(CompressionHandler);
68
+ const bodyModifiers = container.resolveAll(CmsEntryOpenSearchBodyModifier);
69
+ const sortModifiers = container.resolveAll(CmsEntryOpenSearchSortModifier);
70
+ const queryModifiers = container.resolveAll(CmsEntryOpenSearchQueryModifier);
71
+ const valueSearchRegistry = container.resolve(CmsEntryOpenSearchValueSearchRegistry);
72
+ const fullTextSearches = container.resolveAll(CmsEntryOpenSearchFullTextSearch);
73
+ const valuesModifiers = container.resolveAll(CmsEntryOpenSearchValuesModifier);
74
+ const filterRegistry = container.resolve(CmsEntryOpenSearchFilterRegistry);
75
+ container.registerFactory(ModelAfterCreateEventHandler, () => ({
76
+ async handle(event) {
77
+ const {
78
+ model
79
+ } = event.payload;
80
+ await createElasticsearchIndex({
81
+ client: elasticsearch,
82
+ model,
83
+ indexConfigs: container.resolveAll(CmsEntryOpenSearchIndex)
84
+ });
85
+ }
86
+ }));
87
+ container.registerFactory(ModelAfterCreateFromEventHandler, () => ({
88
+ async handle(event) {
89
+ const {
90
+ model
91
+ } = event.payload;
92
+ await createElasticsearchIndex({
93
+ client: elasticsearch,
94
+ model,
95
+ indexConfigs: container.resolveAll(CmsEntryOpenSearchIndex)
96
+ });
97
+ }
98
+ }));
99
+ container.registerFactory(ModelAfterDeleteEventHandler, () => ({
100
+ async handle(event) {
101
+ const {
102
+ model
103
+ } = event.payload;
104
+ await deleteElasticsearchIndex({
105
+ client: elasticsearch,
106
+ model
107
+ });
108
+ }
109
+ }));
110
+ const entries = createEntriesStorageOperations({
111
+ entity: entities.entries,
112
+ esEntity: entities.entriesEs,
113
+ plugins,
114
+ elasticsearch,
115
+ fieldRegistry,
116
+ fieldIndexRegistry,
117
+ compressionHandler,
118
+ bodyModifiers,
119
+ sortModifiers,
120
+ queryModifiers,
121
+ valueSearchRegistry,
122
+ fullTextSearches,
123
+ valuesModifiers,
124
+ filterRegistry
125
+ });
126
+ return {
127
+ name: "dynamodb:opensearch",
128
+ beforeInit: async context => {
129
+ context.db.registry.register({
130
+ item: entities.entries,
131
+ app: "cms",
132
+ tags: ["regular", entities.entries.name]
133
+ });
134
+ context.db.registry.register({
135
+ item: entities.entriesEs,
136
+ app: "cms",
137
+ tags: ["es", entities.entriesEs.name]
138
+ });
139
+ // TODO we know that context is ok, but types are missing elasticsearch/opensearch
140
+ // @ts-expect-error
141
+ createCreateIndexTask(context);
142
+ entries.dataLoaders.clearAll();
143
+ },
144
+ getEntities: () => entities,
145
+ getTable: () => tableInstance,
146
+ getEsTable: () => tableElasticsearchInstance,
147
+ groups: createGroupsStorageOperations({
148
+ entity: entities.groups,
149
+ container
150
+ }),
151
+ models: createModelsStorageOperations({
152
+ entity: entities.models,
153
+ elasticsearch
154
+ }),
155
+ entries
156
+ };
157
+ };
158
+ class OpenSearchStorageOperationsFactoryImpl {
159
+ async create(context) {
160
+ return createOpenSearchStorageOperations({
161
+ documentClient: context.db.driver.getClient(),
162
+ elasticsearch: context.opensearch,
163
+ plugins: context.plugins,
164
+ container: context.container
165
+ });
166
+ }
167
+ }
168
+ const OpenSearchStorageOperationsFactory = StorageOperationsFactoryAbstraction.createImplementation({
169
+ implementation: OpenSearchStorageOperationsFactoryImpl,
170
+ dependencies: []
171
+ });
172
+ const storageOperationsFeature = createFeature({
173
+ name: "cms.storageOperations.openSearch",
174
+ register: container => {
175
+ CmsEntryOpenSearchFieldIndexFeature.register(container);
176
+ CmsEntryOpenSearchFilterFeature.register(container);
177
+ CmsEntryOpenSearchIndexFeature.register(container);
178
+ CmsEntryOpenSearchValueSearchFeature.register(container);
179
+ container.register(OpenSearchStorageOperationsFactory).inSingletonScope();
180
+ }
181
+ });
182
+ export const registerCmsOpenSearchStorageOperations = () => {
183
+ return [registerDynamoDbExtension(), createRegisterExtensionPlugin(context => {
184
+ return storageOperationsFeature.register(context.container);
185
+ })];
186
+ };
187
+
188
+ //# sourceMappingURL=feature.js.map
package/feature.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createTable","registerExtension","registerDynamoDbExtension","StorageOperationsFactory","StorageOperationsFactoryAbstraction","ENTITIES","createRegisterExtensionPlugin","createFeature","CmsEntryOpenSearchValueSearchFeature","CmsEntryOpenSearchValueSearchRegistry","CmsEntryOpenSearchIndex","CmsEntryOpenSearchIndexFeature","createModelsStorageOperations","createEntriesStorageOperations","createGroupEntity","createModelEntity","createEntryEntity","createElasticsearchIndex","createGroupsStorageOperations","createOpenSearchEntity","createOpenSearchTable","deleteElasticsearchIndex","createCreateIndexTask","ModelAfterCreateEventHandler","ModelAfterCreateFromEventHandler","ModelAfterDeleteEventHandler","CmsModelFieldToGraphQLRegistry","CompressionHandler","CmsEntryOpenSearchBodyModifier","CmsEntryOpenSearchSortModifier","CmsEntryOpenSearchQueryModifier","CmsEntryOpenSearchFullTextSearch","CmsEntryOpenSearchValuesModifier","CmsEntryOpenSearchFieldIndexFeature","CmsEntryOpenSearchFieldIndexRegistry","CmsEntryOpenSearchFilterFeature","CmsEntryOpenSearchFilterRegistry","createOpenSearchStorageOperations","params","table","esTable","documentClient","elasticsearch","plugins","container","tableInstance","name","process","env","DB_TABLE","tableElasticsearchInstance","entities","groups","entityName","GROUPS","models","MODELS","entries","ENTRIES","entriesEs","ENTRIES_ES","fieldRegistry","resolve","fieldIndexRegistry","compressionHandler","bodyModifiers","resolveAll","sortModifiers","queryModifiers","valueSearchRegistry","fullTextSearches","valuesModifiers","filterRegistry","registerFactory","handle","event","model","payload","client","indexConfigs","entity","esEntity","beforeInit","context","db","registry","register","item","app","tags","dataLoaders","clearAll","getEntities","getTable","getEsTable","OpenSearchStorageOperationsFactoryImpl","create","driver","getClient","opensearch","OpenSearchStorageOperationsFactory","createImplementation","implementation","dependencies","storageOperationsFeature","inSingletonScope","registerCmsOpenSearchStorageOperations"],"sources":["feature.ts"],"sourcesContent":["import { createTable, registerExtension as registerDynamoDbExtension } from \"@webiny/db-dynamodb\";\nimport { StorageOperationsFactory as StorageOperationsFactoryAbstraction } from \"@webiny/api-headless-cms/exports/api/cms/storage.js\";\nimport type { CmsContext, StorageOperationsFactory as IStorageOperationsFactory } from \"~/types.js\";\nimport { ENTITIES } from \"~/types.js\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { createRegisterExtensionPlugin } from \"@webiny/handler\";\nimport { createFeature } from \"@webiny/feature/api/index.js\";\nimport {\n CmsEntryOpenSearchValueSearchFeature,\n CmsEntryOpenSearchValueSearchRegistry\n} from \"~/features/CmsEntryOpenSearchValueSearch/index.js\";\nimport {\n CmsEntryOpenSearchIndex,\n CmsEntryOpenSearchIndexFeature\n} from \"~/features/CmsEntryOpenSearchIndex/index.js\";\nimport { createModelsStorageOperations } from \"./operations/model/index.js\";\nimport { createEntriesStorageOperations } from \"./operations/entry/index.js\";\nimport { createGroupEntity } from \"~/definitions/group.js\";\nimport { createModelEntity } from \"~/definitions/model.js\";\nimport { createEntryEntity } from \"~/definitions/entry.js\";\nimport { createElasticsearchIndex } from \"~/elasticsearch/createElasticsearchIndex.js\";\nimport { createGroupsStorageOperations } from \"~/operations/group/index.js\";\nimport { createOpenSearchEntity, createOpenSearchTable } from \"@webiny/api-opensearch\";\nimport { deleteElasticsearchIndex } from \"./elasticsearch/deleteElasticsearchIndex.js\";\nimport { createCreateIndexTask } from \"~/tasks/createIndexTaskPlugin.js\";\nimport { ModelAfterCreateEventHandler } from \"@webiny/api-headless-cms/features/contentModel/CreateModel/index.js\";\nimport { ModelAfterCreateFromEventHandler } from \"@webiny/api-headless-cms/features/contentModel/CreateModelFrom/events.js\";\nimport { ModelAfterDeleteEventHandler } from \"@webiny/api-headless-cms/features/contentModel/DeleteModel/events.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/exports/api/cms/graphql.js\";\nimport { CompressionHandler } from \"@webiny/utils/exports/api.js\";\nimport { CmsEntryOpenSearchBodyModifier } from \"~/features/CmsEntryOpenSearchBodyModifier/index.js\";\nimport { CmsEntryOpenSearchSortModifier } from \"~/features/CmsEntryOpenSearchSortModifier/index.js\";\nimport { CmsEntryOpenSearchQueryModifier } from \"~/features/CmsEntryOpenSearchQueryModifier/index.js\";\nimport { CmsEntryOpenSearchFullTextSearch } from \"~/features/CmsEntryOpenSearchFullTextSearch/index.js\";\nimport { CmsEntryOpenSearchValuesModifier } from \"~/features/CmsEntryOpenSearchValuesModifier/index.js\";\nimport {\n CmsEntryOpenSearchFieldIndexFeature,\n CmsEntryOpenSearchFieldIndexRegistry\n} from \"~/features/CmsEntryOpenSearchFieldIndex/index.js\";\nimport {\n CmsEntryOpenSearchFilterFeature,\n CmsEntryOpenSearchFilterRegistry\n} from \"~/features/CmsEntryOpenSearchFilter/index.js\";\n\nconst createOpenSearchStorageOperations: IStorageOperationsFactory = params => {\n const { table, esTable, documentClient, elasticsearch, plugins, container } = params;\n\n const tableInstance = createTable({\n name: table || (process.env.DB_TABLE as string),\n documentClient\n });\n const tableElasticsearchInstance = createOpenSearchTable({\n name: esTable,\n documentClient\n });\n\n const entities = {\n groups: createGroupEntity({\n entityName: ENTITIES.GROUPS,\n table: tableInstance\n }),\n models: createModelEntity({\n entityName: ENTITIES.MODELS,\n table: tableInstance\n }),\n entries: createEntryEntity({\n entityName: ENTITIES.ENTRIES,\n table: tableInstance\n }),\n entriesEs: createOpenSearchEntity({\n entityName: ENTITIES.ENTRIES_ES,\n table: tableElasticsearchInstance\n })\n };\n\n const fieldRegistry = container.resolve(CmsModelFieldToGraphQLRegistry);\n const fieldIndexRegistry = container.resolve(CmsEntryOpenSearchFieldIndexRegistry);\n const compressionHandler = container.resolve(CompressionHandler);\n const bodyModifiers = container.resolveAll(CmsEntryOpenSearchBodyModifier);\n const sortModifiers = container.resolveAll(CmsEntryOpenSearchSortModifier);\n const queryModifiers = container.resolveAll(CmsEntryOpenSearchQueryModifier);\n const valueSearchRegistry = container.resolve(CmsEntryOpenSearchValueSearchRegistry);\n const fullTextSearches = container.resolveAll(CmsEntryOpenSearchFullTextSearch);\n const valuesModifiers = container.resolveAll(CmsEntryOpenSearchValuesModifier);\n const filterRegistry = container.resolve(CmsEntryOpenSearchFilterRegistry);\n\n container.registerFactory(ModelAfterCreateEventHandler, () => ({\n async handle(event) {\n const { model } = event.payload;\n await createElasticsearchIndex({\n client: elasticsearch,\n model,\n indexConfigs: container.resolveAll(CmsEntryOpenSearchIndex)\n });\n }\n }));\n\n container.registerFactory(ModelAfterCreateFromEventHandler, () => ({\n async handle(event) {\n const { model } = event.payload;\n await createElasticsearchIndex({\n client: elasticsearch,\n model,\n indexConfigs: container.resolveAll(CmsEntryOpenSearchIndex)\n });\n }\n }));\n\n container.registerFactory(ModelAfterDeleteEventHandler, () => ({\n async handle(event) {\n const { model } = event.payload;\n await deleteElasticsearchIndex({\n client: elasticsearch,\n model\n });\n }\n }));\n\n const entries = createEntriesStorageOperations({\n entity: entities.entries,\n esEntity: entities.entriesEs,\n plugins,\n elasticsearch,\n fieldRegistry,\n fieldIndexRegistry,\n compressionHandler,\n bodyModifiers,\n sortModifiers,\n queryModifiers,\n valueSearchRegistry,\n fullTextSearches,\n valuesModifiers,\n filterRegistry\n });\n\n return {\n name: \"dynamodb:opensearch\",\n beforeInit: async context => {\n context.db.registry.register({\n item: entities.entries,\n app: \"cms\",\n tags: [\"regular\", entities.entries.name]\n });\n context.db.registry.register({\n item: entities.entriesEs,\n app: \"cms\",\n tags: [\"es\", entities.entriesEs.name]\n });\n // TODO we know that context is ok, but types are missing elasticsearch/opensearch\n // @ts-expect-error\n createCreateIndexTask(context);\n\n entries.dataLoaders.clearAll();\n },\n getEntities: () => entities,\n getTable: () => tableInstance,\n getEsTable: () => tableElasticsearchInstance,\n groups: createGroupsStorageOperations({\n entity: entities.groups,\n container\n }),\n models: createModelsStorageOperations({\n entity: entities.models,\n elasticsearch\n }),\n entries\n };\n};\n\nclass OpenSearchStorageOperationsFactoryImpl\n implements StorageOperationsFactoryAbstraction.Interface\n{\n public async create(context: CmsContext) {\n return createOpenSearchStorageOperations({\n documentClient: context.db.driver.getClient() as DynamoDBDocument,\n elasticsearch: context.opensearch,\n plugins: context.plugins,\n container: context.container\n });\n }\n}\n\nconst OpenSearchStorageOperationsFactory = StorageOperationsFactoryAbstraction.createImplementation(\n {\n implementation: OpenSearchStorageOperationsFactoryImpl,\n dependencies: []\n }\n);\n\nconst storageOperationsFeature = createFeature({\n name: \"cms.storageOperations.openSearch\",\n register: container => {\n CmsEntryOpenSearchFieldIndexFeature.register(container);\n CmsEntryOpenSearchFilterFeature.register(container);\n CmsEntryOpenSearchIndexFeature.register(container);\n CmsEntryOpenSearchValueSearchFeature.register(container);\n container.register(OpenSearchStorageOperationsFactory).inSingletonScope();\n }\n});\n\nexport const registerCmsOpenSearchStorageOperations = () => {\n return [\n registerDynamoDbExtension(),\n createRegisterExtensionPlugin(context => {\n return storageOperationsFeature.register(context.container);\n })\n ];\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ import type { CmsModel } from "@webiny/api-headless-cms/types/index.js";
2
+ import type { SearchBody } from "@webiny/api-opensearch";
3
+ export interface ModifyBodyParams {
4
+ body: SearchBody;
5
+ model: CmsModel;
6
+ where: Record<string, any>;
7
+ }
8
+ export interface ICmsEntryOpenSearchBodyModifier {
9
+ readonly modelId?: string;
10
+ modifyBody(params: ModifyBodyParams): void;
11
+ }
12
+ export declare const CmsEntryOpenSearchBodyModifier: import("@webiny/di").Abstraction<ICmsEntryOpenSearchBodyModifier>;
13
+ export declare namespace CmsEntryOpenSearchBodyModifier {
14
+ type Interface = ICmsEntryOpenSearchBodyModifier;
15
+ type Params = ModifyBodyParams;
16
+ }
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ export const CmsEntryOpenSearchBodyModifier = createAbstraction("Cms/Entry/OpenSearch/BodyModifier");
3
+
4
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","CmsEntryOpenSearchBodyModifier"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { SearchBody } from \"@webiny/api-opensearch\";\n\nexport interface ModifyBodyParams {\n body: SearchBody;\n model: CmsModel;\n where: Record<string, any>;\n}\n\nexport interface ICmsEntryOpenSearchBodyModifier {\n readonly modelId?: string;\n modifyBody(params: ModifyBodyParams): void;\n}\n\nexport const CmsEntryOpenSearchBodyModifier = createAbstraction<ICmsEntryOpenSearchBodyModifier>(\n \"Cms/Entry/OpenSearch/BodyModifier\"\n);\n\nexport namespace CmsEntryOpenSearchBodyModifier {\n export type Interface = ICmsEntryOpenSearchBodyModifier;\n export type Params = ModifyBodyParams;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAevD,OAAO,MAAMC,8BAA8B,GAAGD,iBAAiB,CAC3D,mCACJ,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { CmsEntryOpenSearchBodyModifier } from "./abstractions.js";
@@ -0,0 +1,3 @@
1
+ export { CmsEntryOpenSearchBodyModifier } from "./abstractions.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsEntryOpenSearchBodyModifier"],"sources":["index.ts"],"sourcesContent":["export { CmsEntryOpenSearchBodyModifier } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,8BAA8B","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { CmsEntryOpenSearchFieldIndexRegistry as Abstraction } from "./abstractions/CmsEntryOpenSearchFieldIndexRegistry.js";
2
+ import { CmsEntryOpenSearchFieldIndex } from "./abstractions/CmsEntryOpenSearchFieldIndex.js";
3
+ declare class CmsEntryOpenSearchFieldIndexRegistryImpl implements Abstraction.Interface {
4
+ private readonly fieldIndexing;
5
+ constructor(fieldIndexing: CmsEntryOpenSearchFieldIndex.Interface[]);
6
+ get(type: string): CmsEntryOpenSearchFieldIndex.Interface | undefined;
7
+ getDefault(): CmsEntryOpenSearchFieldIndex.Interface;
8
+ getAll(): CmsEntryOpenSearchFieldIndex.Interface[];
9
+ }
10
+ export declare const CmsEntryOpenSearchFieldIndexRegistry: typeof CmsEntryOpenSearchFieldIndexRegistryImpl & {
11
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions/CmsEntryOpenSearchFieldIndexRegistry.js").ICmsEntryOpenSearchFieldIndexRegistry>;
12
+ };
13
+ export {};