@webiny/api-headless-cms-utils-os 0.0.0-unstable.0156a4c312

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 (322) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/configurations.d.ts +9 -0
  4. package/configurations.js +17 -0
  5. package/configurations.js.map +1 -0
  6. package/exports/api/cms/opensearch.d.ts +18 -0
  7. package/exports/api/cms/opensearch.js +18 -0
  8. package/features/CmsEntryOpenSearchBodyBuilder/CmsEntryOpenSearchBodyBuilder.d.ts +32 -0
  9. package/features/CmsEntryOpenSearchBodyBuilder/CmsEntryOpenSearchBodyBuilder.js +154 -0
  10. package/features/CmsEntryOpenSearchBodyBuilder/CmsEntryOpenSearchBodyBuilder.js.map +1 -0
  11. package/features/CmsEntryOpenSearchBodyBuilder/abstractions.d.ts +22 -0
  12. package/features/CmsEntryOpenSearchBodyBuilder/abstractions.js +5 -0
  13. package/features/CmsEntryOpenSearchBodyBuilder/abstractions.js.map +1 -0
  14. package/features/CmsEntryOpenSearchBodyBuilder/feature.d.ts +4 -0
  15. package/features/CmsEntryOpenSearchBodyBuilder/feature.js +11 -0
  16. package/features/CmsEntryOpenSearchBodyBuilder/feature.js.map +1 -0
  17. package/features/CmsEntryOpenSearchBodyBuilder/index.d.ts +2 -0
  18. package/features/CmsEntryOpenSearchBodyBuilder/index.js +2 -0
  19. package/features/CmsEntryOpenSearchBodyBuilder/sort.d.ts +17 -0
  20. package/features/CmsEntryOpenSearchBodyBuilder/sort.js +76 -0
  21. package/features/CmsEntryOpenSearchBodyBuilder/sort.js.map +1 -0
  22. package/features/CmsEntryOpenSearchBodyModifier/abstractions.d.ts +16 -0
  23. package/features/CmsEntryOpenSearchBodyModifier/abstractions.js +5 -0
  24. package/features/CmsEntryOpenSearchBodyModifier/abstractions.js.map +1 -0
  25. package/features/CmsEntryOpenSearchBodyModifier/index.d.ts +1 -0
  26. package/features/CmsEntryOpenSearchBodyModifier/index.js +1 -0
  27. package/features/CmsEntryOpenSearchExecFiltering/CmsEntryOpenSearchExecFiltering.d.ts +17 -0
  28. package/features/CmsEntryOpenSearchExecFiltering/CmsEntryOpenSearchExecFiltering.js +118 -0
  29. package/features/CmsEntryOpenSearchExecFiltering/CmsEntryOpenSearchExecFiltering.js.map +1 -0
  30. package/features/CmsEntryOpenSearchExecFiltering/abstractions.d.ts +17 -0
  31. package/features/CmsEntryOpenSearchExecFiltering/abstractions.js +5 -0
  32. package/features/CmsEntryOpenSearchExecFiltering/abstractions.js.map +1 -0
  33. package/features/CmsEntryOpenSearchExecFiltering/applyFiltering.d.ts +11 -0
  34. package/features/CmsEntryOpenSearchExecFiltering/applyFiltering.js +31 -0
  35. package/features/CmsEntryOpenSearchExecFiltering/applyFiltering.js.map +1 -0
  36. package/features/CmsEntryOpenSearchExecFiltering/feature.d.ts +4 -0
  37. package/features/CmsEntryOpenSearchExecFiltering/feature.js +11 -0
  38. package/features/CmsEntryOpenSearchExecFiltering/feature.js.map +1 -0
  39. package/features/CmsEntryOpenSearchExecFiltering/index.d.ts +2 -0
  40. package/features/CmsEntryOpenSearchExecFiltering/index.js +2 -0
  41. package/features/CmsEntryOpenSearchExecFiltering/populated.d.ts +2 -0
  42. package/features/CmsEntryOpenSearchExecFiltering/populated.js +12 -0
  43. package/features/CmsEntryOpenSearchExecFiltering/populated.js.map +1 -0
  44. package/features/CmsEntryOpenSearchExecFiltering/values.d.ts +2 -0
  45. package/features/CmsEntryOpenSearchExecFiltering/values.js +15 -0
  46. package/features/CmsEntryOpenSearchExecFiltering/values.js.map +1 -0
  47. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.d.ts +14 -0
  48. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js +42 -0
  49. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -0
  50. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.d.ts +32 -0
  51. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js +5 -0
  52. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js.map +1 -0
  53. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.d.ts +11 -0
  54. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js +5 -0
  55. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -0
  56. package/features/CmsEntryOpenSearchFieldIndex/constants.d.ts +1 -0
  57. package/features/CmsEntryOpenSearchFieldIndex/constants.js +4 -0
  58. package/features/CmsEntryOpenSearchFieldIndex/constants.js.map +1 -0
  59. package/features/CmsEntryOpenSearchFieldIndex/feature.d.ts +4 -0
  60. package/features/CmsEntryOpenSearchFieldIndex/feature.js +29 -0
  61. package/features/CmsEntryOpenSearchFieldIndex/feature.js.map +1 -0
  62. package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.d.ts +11 -0
  63. package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js +60 -0
  64. package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js.map +1 -0
  65. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.d.ts +13 -0
  66. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js +33 -0
  67. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js.map +1 -0
  68. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.d.ts +10 -0
  69. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js +21 -0
  70. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js.map +1 -0
  71. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.d.ts +10 -0
  72. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js +22 -0
  73. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js.map +1 -0
  74. package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.d.ts +11 -0
  75. package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js +32 -0
  76. package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js.map +1 -0
  77. package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.d.ts +12 -0
  78. package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js +116 -0
  79. package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js.map +1 -0
  80. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.d.ts +10 -0
  81. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js +21 -0
  82. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js.map +1 -0
  83. package/features/CmsEntryOpenSearchFieldIndex/fields/TextCompressedFieldIndex.d.ts +15 -0
  84. package/features/CmsEntryOpenSearchFieldIndex/fields/TextCompressedFieldIndex.js +40 -0
  85. package/features/CmsEntryOpenSearchFieldIndex/fields/TextCompressedFieldIndex.js.map +1 -0
  86. package/features/CmsEntryOpenSearchFieldIndex/fields/TextEncryptedFieldIndex.d.ts +15 -0
  87. package/features/CmsEntryOpenSearchFieldIndex/fields/TextEncryptedFieldIndex.js +40 -0
  88. package/features/CmsEntryOpenSearchFieldIndex/fields/TextEncryptedFieldIndex.js.map +1 -0
  89. package/features/CmsEntryOpenSearchFieldIndex/index.d.ts +3 -0
  90. package/features/CmsEntryOpenSearchFieldIndex/index.js +3 -0
  91. package/features/CmsEntryOpenSearchFieldPathFactory/CmsEntryOpenSearchFieldPathFactory.d.ts +11 -0
  92. package/features/CmsEntryOpenSearchFieldPathFactory/CmsEntryOpenSearchFieldPathFactory.js +40 -0
  93. package/features/CmsEntryOpenSearchFieldPathFactory/CmsEntryOpenSearchFieldPathFactory.js.map +1 -0
  94. package/features/CmsEntryOpenSearchFieldPathFactory/abstractions.d.ts +21 -0
  95. package/features/CmsEntryOpenSearchFieldPathFactory/abstractions.js +5 -0
  96. package/features/CmsEntryOpenSearchFieldPathFactory/abstractions.js.map +1 -0
  97. package/features/CmsEntryOpenSearchFieldPathFactory/feature.d.ts +4 -0
  98. package/features/CmsEntryOpenSearchFieldPathFactory/feature.js +11 -0
  99. package/features/CmsEntryOpenSearchFieldPathFactory/feature.js.map +1 -0
  100. package/features/CmsEntryOpenSearchFieldPathFactory/index.d.ts +2 -0
  101. package/features/CmsEntryOpenSearchFieldPathFactory/index.js +2 -0
  102. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.d.ts +11 -0
  103. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js +36 -0
  104. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js.map +1 -0
  105. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.d.ts +37 -0
  106. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js +5 -0
  107. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js.map +1 -0
  108. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.d.ts +9 -0
  109. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js +5 -0
  110. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js.map +1 -0
  111. package/features/CmsEntryOpenSearchFilter/constants.d.ts +1 -0
  112. package/features/CmsEntryOpenSearchFilter/constants.js +4 -0
  113. package/features/CmsEntryOpenSearchFilter/constants.js.map +1 -0
  114. package/features/CmsEntryOpenSearchFilter/feature.d.ts +4 -0
  115. package/features/CmsEntryOpenSearchFilter/feature.js +17 -0
  116. package/features/CmsEntryOpenSearchFilter/feature.js.map +1 -0
  117. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.d.ts +9 -0
  118. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js +26 -0
  119. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js.map +1 -0
  120. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.d.ts +9 -0
  121. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js +43 -0
  122. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js.map +1 -0
  123. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.d.ts +9 -0
  124. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js +36 -0
  125. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js.map +1 -0
  126. package/features/CmsEntryOpenSearchFilter/index.d.ts +3 -0
  127. package/features/CmsEntryOpenSearchFilter/index.js +3 -0
  128. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.d.ts +20 -0
  129. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js +5 -0
  130. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js.map +1 -0
  131. package/features/CmsEntryOpenSearchFullTextSearch/index.d.ts +1 -0
  132. package/features/CmsEntryOpenSearchFullTextSearch/index.js +1 -0
  133. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.d.ts +11 -0
  134. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js +17 -0
  135. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js.map +1 -0
  136. package/features/CmsEntryOpenSearchIndex/abstractions.d.ts +14 -0
  137. package/features/CmsEntryOpenSearchIndex/abstractions.js +5 -0
  138. package/features/CmsEntryOpenSearchIndex/abstractions.js.map +1 -0
  139. package/features/CmsEntryOpenSearchIndex/feature.d.ts +4 -0
  140. package/features/CmsEntryOpenSearchIndex/feature.js +11 -0
  141. package/features/CmsEntryOpenSearchIndex/feature.js.map +1 -0
  142. package/features/CmsEntryOpenSearchIndex/index.d.ts +3 -0
  143. package/features/CmsEntryOpenSearchIndex/index.js +3 -0
  144. package/features/CmsEntryOpenSearchIndexCreate/CmsEntryOpenSearchIndexCreate.d.ts +13 -0
  145. package/features/CmsEntryOpenSearchIndexCreate/CmsEntryOpenSearchIndexCreate.js +64 -0
  146. package/features/CmsEntryOpenSearchIndexCreate/CmsEntryOpenSearchIndexCreate.js.map +1 -0
  147. package/features/CmsEntryOpenSearchIndexCreate/ModelAfterCreateFromHandler.d.ts +11 -0
  148. package/features/CmsEntryOpenSearchIndexCreate/ModelAfterCreateFromHandler.js +22 -0
  149. package/features/CmsEntryOpenSearchIndexCreate/ModelAfterCreateFromHandler.js.map +1 -0
  150. package/features/CmsEntryOpenSearchIndexCreate/ModelAfterCreateHandler.d.ts +11 -0
  151. package/features/CmsEntryOpenSearchIndexCreate/ModelAfterCreateHandler.js +22 -0
  152. package/features/CmsEntryOpenSearchIndexCreate/ModelAfterCreateHandler.js.map +1 -0
  153. package/features/CmsEntryOpenSearchIndexCreate/abstractions.d.ts +12 -0
  154. package/features/CmsEntryOpenSearchIndexCreate/abstractions.js +5 -0
  155. package/features/CmsEntryOpenSearchIndexCreate/abstractions.js.map +1 -0
  156. package/features/CmsEntryOpenSearchIndexCreate/feature.d.ts +4 -0
  157. package/features/CmsEntryOpenSearchIndexCreate/feature.js +11 -0
  158. package/features/CmsEntryOpenSearchIndexCreate/feature.js.map +1 -0
  159. package/features/CmsEntryOpenSearchIndexCreate/index.d.ts +2 -0
  160. package/features/CmsEntryOpenSearchIndexCreate/index.js +2 -0
  161. package/features/CmsEntryOpenSearchIndexDelete/CmsEntryOpenSearchIndexDelete.d.ts +13 -0
  162. package/features/CmsEntryOpenSearchIndexDelete/CmsEntryOpenSearchIndexDelete.js +42 -0
  163. package/features/CmsEntryOpenSearchIndexDelete/CmsEntryOpenSearchIndexDelete.js.map +1 -0
  164. package/features/CmsEntryOpenSearchIndexDelete/ModelAfterDeleteHandler.d.ts +11 -0
  165. package/features/CmsEntryOpenSearchIndexDelete/ModelAfterDeleteHandler.js +22 -0
  166. package/features/CmsEntryOpenSearchIndexDelete/ModelAfterDeleteHandler.js.map +1 -0
  167. package/features/CmsEntryOpenSearchIndexDelete/abstractions.d.ts +12 -0
  168. package/features/CmsEntryOpenSearchIndexDelete/abstractions.js +5 -0
  169. package/features/CmsEntryOpenSearchIndexDelete/abstractions.js.map +1 -0
  170. package/features/CmsEntryOpenSearchIndexDelete/feature.d.ts +4 -0
  171. package/features/CmsEntryOpenSearchIndexDelete/feature.js +11 -0
  172. package/features/CmsEntryOpenSearchIndexDelete/feature.js.map +1 -0
  173. package/features/CmsEntryOpenSearchIndexDelete/index.d.ts +2 -0
  174. package/features/CmsEntryOpenSearchIndexDelete/index.js +2 -0
  175. package/features/CmsEntryOpenSearchOperatorList/CmsEntryOpenSearchOperatorList.d.ts +12 -0
  176. package/features/CmsEntryOpenSearchOperatorList/CmsEntryOpenSearchOperatorList.js +22 -0
  177. package/features/CmsEntryOpenSearchOperatorList/CmsEntryOpenSearchOperatorList.js.map +1 -0
  178. package/features/CmsEntryOpenSearchOperatorList/abstractions.d.ts +8 -0
  179. package/features/CmsEntryOpenSearchOperatorList/abstractions.js +5 -0
  180. package/features/CmsEntryOpenSearchOperatorList/abstractions.js.map +1 -0
  181. package/features/CmsEntryOpenSearchOperatorList/feature.d.ts +4 -0
  182. package/features/CmsEntryOpenSearchOperatorList/feature.js +11 -0
  183. package/features/CmsEntryOpenSearchOperatorList/feature.js.map +1 -0
  184. package/features/CmsEntryOpenSearchOperatorList/index.d.ts +2 -0
  185. package/features/CmsEntryOpenSearchOperatorList/index.js +2 -0
  186. package/features/CmsEntryOpenSearchQueryModifier/abstractions.d.ts +16 -0
  187. package/features/CmsEntryOpenSearchQueryModifier/abstractions.js +5 -0
  188. package/features/CmsEntryOpenSearchQueryModifier/abstractions.js.map +1 -0
  189. package/features/CmsEntryOpenSearchQueryModifier/index.d.ts +1 -0
  190. package/features/CmsEntryOpenSearchQueryModifier/index.js +1 -0
  191. package/features/CmsEntryOpenSearchSortModifier/abstractions.d.ts +15 -0
  192. package/features/CmsEntryOpenSearchSortModifier/abstractions.js +5 -0
  193. package/features/CmsEntryOpenSearchSortModifier/abstractions.js.map +1 -0
  194. package/features/CmsEntryOpenSearchSortModifier/index.d.ts +1 -0
  195. package/features/CmsEntryOpenSearchSortModifier/index.js +1 -0
  196. package/features/CmsEntryOpenSearchUtilsFeature.d.ts +4 -0
  197. package/features/CmsEntryOpenSearchUtilsFeature.js +39 -0
  198. package/features/CmsEntryOpenSearchUtilsFeature.js.map +1 -0
  199. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.d.ts +12 -0
  200. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js +31 -0
  201. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -0
  202. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.d.ts +22 -0
  203. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js +5 -0
  204. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js.map +1 -0
  205. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.d.ts +10 -0
  206. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js +5 -0
  207. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -0
  208. package/features/CmsEntryOpenSearchValueSearch/feature.d.ts +4 -0
  209. package/features/CmsEntryOpenSearchValueSearch/feature.js +17 -0
  210. package/features/CmsEntryOpenSearchValueSearch/feature.js.map +1 -0
  211. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.d.ts +10 -0
  212. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js +21 -0
  213. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js.map +1 -0
  214. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.d.ts +10 -0
  215. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js +44 -0
  216. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js.map +1 -0
  217. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.d.ts +10 -0
  218. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js +22 -0
  219. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js.map +1 -0
  220. package/features/CmsEntryOpenSearchValueSearch/index.d.ts +3 -0
  221. package/features/CmsEntryOpenSearchValueSearch/index.js +3 -0
  222. package/features/CmsEntryOpenSearchValueTransformer/CmsEntryOpenSearchValueTransformer.d.ts +11 -0
  223. package/features/CmsEntryOpenSearchValueTransformer/CmsEntryOpenSearchValueTransformer.js +25 -0
  224. package/features/CmsEntryOpenSearchValueTransformer/CmsEntryOpenSearchValueTransformer.js.map +1 -0
  225. package/features/CmsEntryOpenSearchValueTransformer/abstractions.d.ts +13 -0
  226. package/features/CmsEntryOpenSearchValueTransformer/abstractions.js +5 -0
  227. package/features/CmsEntryOpenSearchValueTransformer/abstractions.js.map +1 -0
  228. package/features/CmsEntryOpenSearchValueTransformer/feature.d.ts +4 -0
  229. package/features/CmsEntryOpenSearchValueTransformer/feature.js +11 -0
  230. package/features/CmsEntryOpenSearchValueTransformer/feature.js.map +1 -0
  231. package/features/CmsEntryOpenSearchValueTransformer/index.d.ts +2 -0
  232. package/features/CmsEntryOpenSearchValueTransformer/index.js +2 -0
  233. package/features/CmsEntryOpenSearchValuesModifier/abstractions.d.ts +23 -0
  234. package/features/CmsEntryOpenSearchValuesModifier/abstractions.js +5 -0
  235. package/features/CmsEntryOpenSearchValuesModifier/abstractions.js.map +1 -0
  236. package/features/CmsEntryOpenSearchValuesModifier/index.d.ts +1 -0
  237. package/features/CmsEntryOpenSearchValuesModifier/index.js +1 -0
  238. package/features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.d.ts +15 -0
  239. package/features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.js +5 -0
  240. package/features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.js.map +1 -0
  241. package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndex.d.ts +8 -0
  242. package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndex.js +17 -0
  243. package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndex.js.map +1 -0
  244. package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndexProvider.d.ts +12 -0
  245. package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndexProvider.js +35 -0
  246. package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndexProvider.js.map +1 -0
  247. package/features/CmsModelOpenSearchIndex/abstractions.d.ts +20 -0
  248. package/features/CmsModelOpenSearchIndex/abstractions.js +5 -0
  249. package/features/CmsModelOpenSearchIndex/abstractions.js.map +1 -0
  250. package/features/CmsModelOpenSearchIndex/feature.d.ts +4 -0
  251. package/features/CmsModelOpenSearchIndex/feature.js +13 -0
  252. package/features/CmsModelOpenSearchIndex/feature.js.map +1 -0
  253. package/features/CmsModelOpenSearchIndex/index.d.ts +7 -0
  254. package/features/CmsModelOpenSearchIndex/index.js +5 -0
  255. package/helpers/entryIndexHelpers.d.ts +20 -0
  256. package/helpers/entryIndexHelpers.js +80 -0
  257. package/helpers/entryIndexHelpers.js.map +1 -0
  258. package/helpers/fieldIdentifier.d.ts +6 -0
  259. package/helpers/fieldIdentifier.js +23 -0
  260. package/helpers/fieldIdentifier.js.map +1 -0
  261. package/helpers/index.d.ts +2 -0
  262. package/helpers/index.js +2 -0
  263. package/index.d.ts +1 -0
  264. package/index.js +1 -0
  265. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.d.ts +18 -0
  266. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js +9 -0
  267. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js.map +1 -0
  268. package/operations/entry/elasticsearch/fields/createSystemField.d.ts +4 -0
  269. package/operations/entry/elasticsearch/fields/createSystemField.js +9 -0
  270. package/operations/entry/elasticsearch/fields/createSystemField.js.map +1 -0
  271. package/operations/entry/elasticsearch/fields/live.d.ts +2 -0
  272. package/operations/entry/elasticsearch/fields/live.js +50 -0
  273. package/operations/entry/elasticsearch/fields/live.js.map +1 -0
  274. package/operations/entry/elasticsearch/fields/location.d.ts +2 -0
  275. package/operations/entry/elasticsearch/fields/location.js +50 -0
  276. package/operations/entry/elasticsearch/fields/location.js.map +1 -0
  277. package/operations/entry/elasticsearch/fields/state.d.ts +2 -0
  278. package/operations/entry/elasticsearch/fields/state.js +104 -0
  279. package/operations/entry/elasticsearch/fields/state.js.map +1 -0
  280. package/operations/entry/elasticsearch/fields/system.d.ts +7 -0
  281. package/operations/entry/elasticsearch/fields/system.js +58 -0
  282. package/operations/entry/elasticsearch/fields/system.js.map +1 -0
  283. package/operations/entry/elasticsearch/fields.d.ts +14 -0
  284. package/operations/entry/elasticsearch/fields.js +209 -0
  285. package/operations/entry/elasticsearch/fields.js.map +1 -0
  286. package/operations/entry/elasticsearch/fullTextSearch.d.ts +13 -0
  287. package/operations/entry/elasticsearch/fullTextSearch.js +60 -0
  288. package/operations/entry/elasticsearch/fullTextSearch.js.map +1 -0
  289. package/operations/entry/elasticsearch/fullTextSearchFields.d.ts +8 -0
  290. package/operations/entry/elasticsearch/fullTextSearchFields.js +10 -0
  291. package/operations/entry/elasticsearch/fullTextSearchFields.js.map +1 -0
  292. package/operations/entry/elasticsearch/initialQuery.d.ts +21 -0
  293. package/operations/entry/elasticsearch/initialQuery.js +43 -0
  294. package/operations/entry/elasticsearch/initialQuery.js.map +1 -0
  295. package/operations/entry/elasticsearch/initialQuery.test.d.ts +1 -0
  296. package/operations/entry/elasticsearch/initialQuery.test.js +48 -0
  297. package/operations/entry/elasticsearch/initialQuery.test.js.map +1 -0
  298. package/operations/entry/elasticsearch/keyword.d.ts +2 -0
  299. package/operations/entry/elasticsearch/keyword.js +17 -0
  300. package/operations/entry/elasticsearch/keyword.js.map +1 -0
  301. package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.d.ts +2 -0
  302. package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js +8 -0
  303. package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js.map +1 -0
  304. package/operations/entry/elasticsearch/types.d.ts +31 -0
  305. package/operations/entry/elasticsearch/types.js +0 -0
  306. package/operations/entry/recordType.d.ts +3 -0
  307. package/operations/entry/recordType.js +6 -0
  308. package/operations/entry/recordType.js.map +1 -0
  309. package/operations/entry/transformations/transformEntryToIndex.d.ts +10 -0
  310. package/operations/entry/transformations/transformEntryToIndex.js +20 -0
  311. package/operations/entry/transformations/transformEntryToIndex.js.map +1 -0
  312. package/package.json +34 -0
  313. package/testing/createTestModelIndexName.d.ts +3 -0
  314. package/testing/createTestModelIndexName.js +11 -0
  315. package/testing/createTestModelIndexName.js.map +1 -0
  316. package/testing/index.d.ts +1 -0
  317. package/testing/index.js +1 -0
  318. package/types.d.ts +5 -0
  319. package/types.js +0 -0
  320. package/values/NoValueContainer.d.ts +5 -0
  321. package/values/NoValueContainer.js +11 -0
  322. package/values/NoValueContainer.js.map +1 -0
@@ -0,0 +1,20 @@
1
+ import type { CmsEntry, CmsEntryValues, CmsModel } from "@webiny/api-headless-cms/types/index.js";
2
+ import type { CmsIndexEntry } from "../types.js";
3
+ import type { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
4
+ import type { CmsEntryOpenSearchFieldIndexRegistry } from "../features/CmsEntryOpenSearchFieldIndex/index.js";
5
+ interface SetupEntriesIndexHelpersParams {
6
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
7
+ fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;
8
+ }
9
+ interface ExtractEntriesFromIndexParams<T extends CmsEntryValues = CmsEntryValues> extends SetupEntriesIndexHelpersParams {
10
+ model: CmsModel;
11
+ entries: CmsIndexEntry<T>[];
12
+ }
13
+ interface PrepareElasticsearchDataParams<T extends CmsEntryValues = CmsEntryValues> extends Omit<SetupEntriesIndexHelpersParams, "fieldRegistry"> {
14
+ model: CmsModel;
15
+ entry: CmsEntry<T>;
16
+ storageEntry: CmsEntry<T>;
17
+ }
18
+ export declare const prepareEntryToIndex: <T extends CmsEntryValues = CmsEntryValues>(params: PrepareElasticsearchDataParams<T>) => CmsIndexEntry<T>;
19
+ export declare const extractEntriesFromIndex: <T extends CmsEntryValues = CmsEntryValues>({ fieldRegistry, fieldIndexRegistry, entries, model }: ExtractEntriesFromIndexParams<T>) => CmsEntry<T>[];
20
+ export {};
@@ -0,0 +1,80 @@
1
+ import { WebinyError } from "@webiny/error";
2
+ import { getFieldIdentifier, getFieldIdentifiers } from "./fieldIdentifier.js";
3
+ const prepareEntryToIndex = (params)=>{
4
+ const { fieldIndexRegistry, storageEntry, entry, model } = params;
5
+ function getFieldIndex(type) {
6
+ const fieldIndexing = fieldIndexRegistry.get(type);
7
+ if (fieldIndexing) return fieldIndexing;
8
+ return fieldIndexRegistry.getDefault();
9
+ }
10
+ const values = {};
11
+ const rawValues = {};
12
+ for (const field of model.fields){
13
+ const identifier = getFieldIdentifier(storageEntry.values, field);
14
+ if (!identifier) continue;
15
+ const fieldIndex = getFieldIndex(field.type);
16
+ const { value, rawValue } = fieldIndex.toIndex({
17
+ model,
18
+ field,
19
+ rawValue: entry.values[identifier],
20
+ value: storageEntry.values[identifier],
21
+ getFieldIndex
22
+ });
23
+ if (void 0 !== value) values[identifier] = value;
24
+ if (void 0 !== rawValue) rawValues[identifier] = rawValue;
25
+ }
26
+ return {
27
+ ...storageEntry,
28
+ values,
29
+ rawValues
30
+ };
31
+ };
32
+ const extractEntriesFromIndex = ({ fieldRegistry, fieldIndexRegistry, entries, model })=>{
33
+ function getFieldIndex(type) {
34
+ const fieldIndex = fieldIndexRegistry.get(type);
35
+ if (fieldIndex) return fieldIndex;
36
+ return fieldIndexRegistry.getDefault();
37
+ }
38
+ const list = [];
39
+ for (const entry of entries){
40
+ const indexValues = {};
41
+ for (const field of model.fields){
42
+ const fieldType = fieldRegistry.get(field.type);
43
+ if (!fieldType) throw new WebinyError(`Missing field type "${field.type}". Extract entries from index.`);
44
+ const fieldIndex = getFieldIndex(field.type);
45
+ const identifiers = getFieldIdentifiers(entry.values, entry.rawValues, field);
46
+ if (identifiers) try {
47
+ const key = identifiers.valueIdentifier;
48
+ const rawKey = identifiers.rawValueIdentifier;
49
+ indexValues[key] = fieldIndex.fromIndex({
50
+ model,
51
+ field,
52
+ getFieldIndex,
53
+ value: entry.values[key || rawKey],
54
+ rawValue: entry.rawValues ? entry.rawValues[rawKey || key] : null
55
+ });
56
+ } catch (ex) {
57
+ throw new WebinyError(ex.message || "Could not transform entry field from index.", ex.code || "FIELD_FROM_INDEX_ERROR", {
58
+ field,
59
+ entry
60
+ });
61
+ }
62
+ }
63
+ const newEntry = {
64
+ ...entry,
65
+ values: indexValues
66
+ };
67
+ delete newEntry["rawValues"];
68
+ delete newEntry["TYPE"];
69
+ delete newEntry["__type"];
70
+ delete newEntry["latest"];
71
+ delete newEntry["published"];
72
+ list.push({
73
+ ...newEntry
74
+ });
75
+ }
76
+ return list;
77
+ };
78
+ export { extractEntriesFromIndex, prepareEntryToIndex };
79
+
80
+ //# sourceMappingURL=entryIndexHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers/entryIndexHelpers.js","sources":["../../src/helpers/entryIndexHelpers.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { CmsIndexEntry } from \"~/types.js\";\nimport { getFieldIdentifier, getFieldIdentifiers } from \"~/helpers/fieldIdentifier.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/exports/api/cms/graphql.js\";\nimport type {\n CmsEntryOpenSearchFieldIndex,\n CmsEntryOpenSearchFieldIndexRegistry\n} from \"~/features/CmsEntryOpenSearchFieldIndex/index.js\";\n\ninterface SetupEntriesIndexHelpersParams {\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;\n}\n\ninterface ExtractEntriesFromIndexParams<\n T extends CmsEntryValues = CmsEntryValues\n> extends SetupEntriesIndexHelpersParams {\n model: CmsModel;\n entries: CmsIndexEntry<T>[];\n}\n\ninterface PrepareElasticsearchDataParams<T extends CmsEntryValues = CmsEntryValues> extends Omit<\n SetupEntriesIndexHelpersParams,\n \"fieldRegistry\"\n> {\n model: CmsModel;\n entry: CmsEntry<T>;\n storageEntry: CmsEntry<T>;\n}\n\nexport const prepareEntryToIndex = <T extends CmsEntryValues = CmsEntryValues>(\n params: PrepareElasticsearchDataParams<T>\n): CmsIndexEntry<T> => {\n const { fieldIndexRegistry, storageEntry, entry, model } = params;\n\n function getFieldIndex(type: string): CmsEntryOpenSearchFieldIndex.Interface {\n const fieldIndexing = fieldIndexRegistry.get(type);\n if (fieldIndexing) {\n return fieldIndexing;\n }\n return fieldIndexRegistry.getDefault();\n }\n\n // These objects will contain values processed by field index implementations\n const values: T = {} as T;\n const rawValues: T = {} as T;\n\n // We're only interested in current model fields.\n for (const field of model.fields) {\n const identifier = getFieldIdentifier(storageEntry.values, field) as keyof T;\n if (!identifier) {\n continue;\n }\n\n const fieldIndex = getFieldIndex(field.type);\n\n const { value, rawValue } = fieldIndex.toIndex({\n model,\n field,\n rawValue: entry.values[identifier],\n value: storageEntry.values[identifier],\n getFieldIndex\n });\n\n if (typeof value !== \"undefined\") {\n values[identifier] = value;\n }\n\n if (typeof rawValue !== \"undefined\") {\n rawValues[identifier] = rawValue;\n }\n }\n return {\n ...storageEntry,\n values,\n rawValues\n };\n};\n\nexport const extractEntriesFromIndex = <T extends CmsEntryValues = CmsEntryValues>({\n fieldRegistry,\n fieldIndexRegistry,\n entries,\n model\n}: ExtractEntriesFromIndexParams<T>): CmsEntry<T>[] => {\n function getFieldIndex(type: string): CmsEntryOpenSearchFieldIndex.Interface {\n const fieldIndex = fieldIndexRegistry.get(type);\n if (fieldIndex) {\n return fieldIndex;\n }\n return fieldIndexRegistry.getDefault();\n }\n\n const list: CmsEntry<T>[] = [];\n\n for (const entry of entries) {\n // This object will contain values processed by field index plugins\n const indexValues: T = {} as T;\n\n // We only consider fields that are present in the model\n for (const field of model.fields) {\n const fieldType = fieldRegistry.get(field.type);\n if (!fieldType) {\n throw new WebinyError(\n `Missing field type \"${field.type}\". Extract entries from index.`\n );\n }\n\n const fieldIndex = getFieldIndex(field.type);\n /**\n * We can safely cast as the code will not continue in case of no identifiers.\n */\n const identifiers = getFieldIdentifiers(entry.values, entry.rawValues, field);\n if (!identifiers) {\n continue;\n }\n try {\n const key = identifiers.valueIdentifier as keyof T;\n const rawKey = identifiers.rawValueIdentifier as keyof T;\n indexValues[key] = fieldIndex.fromIndex({\n model,\n field,\n getFieldIndex,\n value: entry.values[key || rawKey],\n /**\n * Possibly no rawValues so we must check for the existence of the field.\n */\n rawValue: entry.rawValues ? entry.rawValues[rawKey || key] : null\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not transform entry field from index.\",\n ex.code || \"FIELD_FROM_INDEX_ERROR\",\n {\n field,\n entry\n }\n );\n }\n }\n /**\n * Let's have a new entry so we do not modify the original one.\n */\n const newEntry: CmsEntry<T> = {\n ...entry,\n values: indexValues\n };\n /**\n * If we want to remove the rawValues, TYPE, latest, published and __type, we must make them optional or ignore them.\n */\n // @ts-expect-error\n delete newEntry[\"rawValues\"];\n // @ts-expect-error\n delete newEntry[\"TYPE\"];\n // @ts-expect-error\n delete newEntry[\"__type\"];\n // @ts-expect-error\n delete newEntry[\"latest\"];\n // @ts-expect-error\n delete newEntry[\"published\"];\n list.push({\n ...newEntry\n });\n }\n\n return list;\n};\n"],"names":["prepareEntryToIndex","params","fieldIndexRegistry","storageEntry","entry","model","getFieldIndex","type","fieldIndexing","values","rawValues","field","identifier","getFieldIdentifier","fieldIndex","value","rawValue","extractEntriesFromIndex","fieldRegistry","entries","list","indexValues","fieldType","WebinyError","identifiers","getFieldIdentifiers","key","rawKey","ex","newEntry"],"mappings":";;AA+BO,MAAMA,sBAAsB,CAC/BC;IAEA,MAAM,EAAEC,kBAAkB,EAAEC,YAAY,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGJ;IAE3D,SAASK,cAAcC,IAAY;QAC/B,MAAMC,gBAAgBN,mBAAmB,GAAG,CAACK;QAC7C,IAAIC,eACA,OAAOA;QAEX,OAAON,mBAAmB,UAAU;IACxC;IAGA,MAAMO,SAAY,CAAC;IACnB,MAAMC,YAAe,CAAC;IAGtB,KAAK,MAAMC,SAASN,MAAM,MAAM,CAAE;QAC9B,MAAMO,aAAaC,mBAAmBV,aAAa,MAAM,EAAEQ;QAC3D,IAAI,CAACC,YACD;QAGJ,MAAME,aAAaR,cAAcK,MAAM,IAAI;QAE3C,MAAM,EAAEI,KAAK,EAAEC,QAAQ,EAAE,GAAGF,WAAW,OAAO,CAAC;YAC3CT;YACAM;YACA,UAAUP,MAAM,MAAM,CAACQ,WAAW;YAClC,OAAOT,aAAa,MAAM,CAACS,WAAW;YACtCN;QACJ;QAEA,IAAI,AAAiB,WAAVS,OACPN,MAAM,CAACG,WAAW,GAAGG;QAGzB,IAAI,AAAoB,WAAbC,UACPN,SAAS,CAACE,WAAW,GAAGI;IAEhC;IACA,OAAO;QACH,GAAGb,YAAY;QACfM;QACAC;IACJ;AACJ;AAEO,MAAMO,0BAA0B,CAA4C,EAC/EC,aAAa,EACbhB,kBAAkB,EAClBiB,OAAO,EACPd,KAAK,EAC0B;IAC/B,SAASC,cAAcC,IAAY;QAC/B,MAAMO,aAAaZ,mBAAmB,GAAG,CAACK;QAC1C,IAAIO,YACA,OAAOA;QAEX,OAAOZ,mBAAmB,UAAU;IACxC;IAEA,MAAMkB,OAAsB,EAAE;IAE9B,KAAK,MAAMhB,SAASe,QAAS;QAEzB,MAAME,cAAiB,CAAC;QAGxB,KAAK,MAAMV,SAASN,MAAM,MAAM,CAAE;YAC9B,MAAMiB,YAAYJ,cAAc,GAAG,CAACP,MAAM,IAAI;YAC9C,IAAI,CAACW,WACD,MAAM,IAAIC,YACN,CAAC,oBAAoB,EAAEZ,MAAM,IAAI,CAAC,8BAA8B,CAAC;YAIzE,MAAMG,aAAaR,cAAcK,MAAM,IAAI;YAI3C,MAAMa,cAAcC,oBAAoBrB,MAAM,MAAM,EAAEA,MAAM,SAAS,EAAEO;YACvE,IAAKa,aAGL,IAAI;gBACA,MAAME,MAAMF,YAAY,eAAe;gBACvC,MAAMG,SAASH,YAAY,kBAAkB;gBAC7CH,WAAW,CAACK,IAAI,GAAGZ,WAAW,SAAS,CAAC;oBACpCT;oBACAM;oBACAL;oBACA,OAAOF,MAAM,MAAM,CAACsB,OAAOC,OAAO;oBAIlC,UAAUvB,MAAM,SAAS,GAAGA,MAAM,SAAS,CAACuB,UAAUD,IAAI,GAAG;gBACjE;YACJ,EAAE,OAAOE,IAAI;gBACT,MAAM,IAAIL,YACNK,GAAG,OAAO,IAAI,+CACdA,GAAG,IAAI,IAAI,0BACX;oBACIjB;oBACAP;gBACJ;YAER;QACJ;QAIA,MAAMyB,WAAwB;YAC1B,GAAGzB,KAAK;YACR,QAAQiB;QACZ;QAKA,OAAOQ,QAAQ,CAAC,YAAY;QAE5B,OAAOA,QAAQ,CAAC,OAAO;QAEvB,OAAOA,QAAQ,CAAC,SAAS;QAEzB,OAAOA,QAAQ,CAAC,SAAS;QAEzB,OAAOA,QAAQ,CAAC,YAAY;QAC5BT,KAAK,IAAI,CAAC;YACN,GAAGS,QAAQ;QACf;IACJ;IAEA,OAAOT;AACX"}
@@ -0,0 +1,6 @@
1
+ import type { CmsEntryValues, CmsModelField } from "@webiny/api-headless-cms/types/index.js";
2
+ export declare const getFieldIdentifier: (values: CmsEntryValues | null | undefined, field: CmsModelField) => string | undefined;
3
+ export declare const getFieldIdentifiers: (values: CmsEntryValues, rawValues: CmsEntryValues | null | undefined, field: CmsModelField) => {
4
+ valueIdentifier: string;
5
+ rawValueIdentifier: string;
6
+ } | null;
@@ -0,0 +1,23 @@
1
+ const fieldIdentifier_hasOwnProperty = (values = {}, property)=>{
2
+ if (!values) return false;
3
+ else if (values.hasOwnProperty) return values.hasOwnProperty(property);
4
+ return void 0 !== values[property];
5
+ };
6
+ const getFieldIdentifier = (values, field)=>{
7
+ if (field.storageId && fieldIdentifier_hasOwnProperty(values, field.storageId)) return field.storageId;
8
+ else if (fieldIdentifier_hasOwnProperty(values, field.fieldId)) return field.fieldId;
9
+ };
10
+ const getFieldIdentifiers = (values, rawValues, field)=>{
11
+ let valueIdentifier = getFieldIdentifier(values, field);
12
+ let rawValueIdentifier = getFieldIdentifier(rawValues, field);
13
+ if (!valueIdentifier && !rawValueIdentifier) return null;
14
+ if (!valueIdentifier) valueIdentifier = rawValueIdentifier;
15
+ if (!rawValueIdentifier) rawValueIdentifier = valueIdentifier;
16
+ return {
17
+ valueIdentifier,
18
+ rawValueIdentifier
19
+ };
20
+ };
21
+ export { getFieldIdentifier, getFieldIdentifiers };
22
+
23
+ //# sourceMappingURL=fieldIdentifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers/fieldIdentifier.js","sources":["../../src/helpers/fieldIdentifier.ts"],"sourcesContent":["import type { CmsEntryValues, CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\n\nconst hasOwnProperty = (\n values: CmsEntryValues | null | undefined = {},\n property: string\n): boolean => {\n if (!values) {\n return false;\n } else if (values.hasOwnProperty) {\n return values.hasOwnProperty(property);\n }\n return values[property] !== undefined;\n};\n\nexport const getFieldIdentifier = (\n values: CmsEntryValues | null | undefined,\n field: CmsModelField\n): string | undefined => {\n if (field.storageId && hasOwnProperty(values, field.storageId)) {\n return field.storageId;\n } else if (hasOwnProperty(values, field.fieldId)) {\n return field.fieldId;\n }\n return undefined;\n};\n\nexport const getFieldIdentifiers = (\n values: CmsEntryValues,\n rawValues: CmsEntryValues | null | undefined,\n field: CmsModelField\n) => {\n let valueIdentifier = getFieldIdentifier(values, field);\n let rawValueIdentifier = getFieldIdentifier(rawValues, field);\n if (!valueIdentifier && !rawValueIdentifier) {\n return null;\n }\n if (!valueIdentifier) {\n valueIdentifier = rawValueIdentifier as string;\n }\n if (!rawValueIdentifier) {\n rawValueIdentifier = valueIdentifier as string;\n }\n return {\n valueIdentifier,\n rawValueIdentifier\n };\n};\n"],"names":["hasOwnProperty","values","property","undefined","getFieldIdentifier","field","getFieldIdentifiers","rawValues","valueIdentifier","rawValueIdentifier"],"mappings":"AAEA,MAAMA,iCAAiB,CACnBC,SAA4C,CAAC,CAAC,EAC9CC;IAEA,IAAI,CAACD,QACD,OAAO;SACJ,IAAIA,OAAO,cAAc,EAC5B,OAAOA,OAAO,cAAc,CAACC;IAEjC,OAAOD,AAAqBE,WAArBF,MAAM,CAACC,SAAS;AAC3B;AAEO,MAAME,qBAAqB,CAC9BH,QACAI;IAEA,IAAIA,MAAM,SAAS,IAAIL,+BAAeC,QAAQI,MAAM,SAAS,GACzD,OAAOA,MAAM,SAAS;SACnB,IAAIL,+BAAeC,QAAQI,MAAM,OAAO,GAC3C,OAAOA,MAAM,OAAO;AAG5B;AAEO,MAAMC,sBAAsB,CAC/BL,QACAM,WACAF;IAEA,IAAIG,kBAAkBJ,mBAAmBH,QAAQI;IACjD,IAAII,qBAAqBL,mBAAmBG,WAAWF;IACvD,IAAI,CAACG,mBAAmB,CAACC,oBACrB,OAAO;IAEX,IAAI,CAACD,iBACDA,kBAAkBC;IAEtB,IAAI,CAACA,oBACDA,qBAAqBD;IAEzB,OAAO;QACHA;QACAC;IACJ;AACJ"}
@@ -0,0 +1,2 @@
1
+ export * from "./entryIndexHelpers.js";
2
+ export * from "./fieldIdentifier.js";
@@ -0,0 +1,2 @@
1
+ export * from "./entryIndexHelpers.js";
2
+ export * from "./fieldIdentifier.js";
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export { CmsEntryOpenSearchUtilsFeature } from "./features/CmsEntryOpenSearchUtilsFeature.js";
package/index.js ADDED
@@ -0,0 +1 @@
1
+ export { CmsEntryOpenSearchUtilsFeature } from "./features/CmsEntryOpenSearchUtilsFeature.js";
@@ -0,0 +1,18 @@
1
+ import type { QueryDslBoolQuery as BoolQueryConfig } from "@webiny/api-opensearch/types.js";
2
+ /**
3
+ * This function will assign a minimum_should_match for the query if conditions are met:
4
+ * * should is an array
5
+ * * it is not empty
6
+ * * minimum_should_match is not already set
7
+ *
8
+ *
9
+ * By the default we set it to 1 as we want at least one OR condition to produce results.
10
+ *
11
+ * Users can modify minimum_should_match value via the body or query modification plugins.
12
+ */
13
+ interface Params {
14
+ query: BoolQueryConfig;
15
+ value?: number;
16
+ }
17
+ export declare const assignMinimumShouldMatchToQuery: ({ query, value }: Params) => void;
18
+ export {};
@@ -0,0 +1,9 @@
1
+ const assignMinimumShouldMatchToQuery = ({ query, value = 1 })=>{
2
+ if (!Array.isArray(query.should)) return;
3
+ else if (0 === query.should.length) return;
4
+ else if (query.minimum_should_match) return;
5
+ query.minimum_should_match = value > 0 ? value : 1;
6
+ };
7
+ export { assignMinimumShouldMatchToQuery };
8
+
9
+ //# sourceMappingURL=assignMinimumShouldMatchToQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js","sources":["../../../../src/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.ts"],"sourcesContent":["import type { QueryDslBoolQuery as BoolQueryConfig } from \"@webiny/api-opensearch/types.js\";\n\n/**\n * This function will assign a minimum_should_match for the query if conditions are met:\n * * should is an array\n * * it is not empty\n * * minimum_should_match is not already set\n *\n *\n * By the default we set it to 1 as we want at least one OR condition to produce results.\n *\n * Users can modify minimum_should_match value via the body or query modification plugins.\n */\ninterface Params {\n query: BoolQueryConfig;\n value?: number;\n}\nexport const assignMinimumShouldMatchToQuery = ({ query, value = 1 }: Params): void => {\n if (!Array.isArray(query.should)) {\n return;\n } else if (query.should.length === 0) {\n return;\n } else if (query.minimum_should_match) {\n return;\n }\n query.minimum_should_match = value > 0 ? value : 1;\n};\n"],"names":["assignMinimumShouldMatchToQuery","query","value","Array"],"mappings":"AAiBO,MAAMA,kCAAkC,CAAC,EAAEC,KAAK,EAAEC,QAAQ,CAAC,EAAU;IACxE,IAAI,CAACC,MAAM,OAAO,CAACF,MAAM,MAAM,GAC3B;SACG,IAAIA,AAAwB,MAAxBA,MAAM,MAAM,CAAC,MAAM,EAC1B;SACG,IAAIA,MAAM,oBAAoB,EACjC;IAEJA,MAAM,oBAAoB,GAAGC,QAAQ,IAAIA,QAAQ;AACrD"}
@@ -0,0 +1,4 @@
1
+ import type { CmsModelField } from "@webiny/api-headless-cms/types/index.js";
2
+ type PartialCmsModelField = Partial<CmsModelField> & Pick<CmsModelField, "storageId" | "fieldId" | "type">;
3
+ export declare const createSystemField: (field: PartialCmsModelField) => CmsModelField;
4
+ export {};
@@ -0,0 +1,9 @@
1
+ import { createModelField } from "@webiny/api-headless-cms";
2
+ const createSystemField = (field)=>createModelField({
3
+ ...field,
4
+ id: field.fieldId,
5
+ label: field.fieldId
6
+ });
7
+ export { createSystemField };
8
+
9
+ //# sourceMappingURL=createSystemField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/entry/elasticsearch/fields/createSystemField.js","sources":["../../../../../src/operations/entry/elasticsearch/fields/createSystemField.ts"],"sourcesContent":["import type { CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\n\ntype PartialCmsModelField = Partial<CmsModelField> &\n Pick<CmsModelField, \"storageId\" | \"fieldId\" | \"type\">;\nexport const createSystemField = (field: PartialCmsModelField): CmsModelField => {\n return createModelField({\n ...field,\n id: field.fieldId,\n label: field.fieldId\n });\n};\n"],"names":["createSystemField","field","createModelField"],"mappings":";AAKO,MAAMA,oBAAoB,CAACC,QACvBC,iBAAiB;QACpB,GAAGD,KAAK;QACR,IAAIA,MAAM,OAAO;QACjB,OAAOA,MAAM,OAAO;IACxB"}
@@ -0,0 +1,2 @@
1
+ import type { ModelFields } from "../../../../operations/entry/elasticsearch/types.js";
2
+ export declare const liveFields: ModelFields;
@@ -0,0 +1,50 @@
1
+ import { createSystemField } from "./createSystemField.js";
2
+ import { createModelField } from "@webiny/api-headless-cms";
3
+ const liveFields = {
4
+ live: {
5
+ type: "object",
6
+ systemField: true,
7
+ searchable: true,
8
+ sortable: false,
9
+ field: createSystemField({
10
+ storageId: "live",
11
+ fieldId: "live",
12
+ type: "object",
13
+ settings: {
14
+ fields: [
15
+ createModelField({
16
+ id: "version",
17
+ fieldId: "version",
18
+ storageId: "version",
19
+ type: "number",
20
+ label: "Version"
21
+ })
22
+ ]
23
+ }
24
+ }),
25
+ parents: []
26
+ },
27
+ "live.version": {
28
+ type: "number",
29
+ systemField: true,
30
+ searchable: true,
31
+ sortable: false,
32
+ parents: [
33
+ {
34
+ fieldId: "live",
35
+ type: "object",
36
+ storageId: "live"
37
+ }
38
+ ],
39
+ field: createSystemField({
40
+ id: "version",
41
+ fieldId: "version",
42
+ storageId: "version",
43
+ type: "number",
44
+ label: "Version"
45
+ })
46
+ }
47
+ };
48
+ export { liveFields };
49
+
50
+ //# sourceMappingURL=live.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/entry/elasticsearch/fields/live.js","sources":["../../../../../src/operations/entry/elasticsearch/fields/live.ts"],"sourcesContent":["import type { ModelFields } from \"~/operations/entry/elasticsearch/types.js\";\nimport { createSystemField } from \"./createSystemField.js\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\n\nexport const liveFields: ModelFields = {\n live: {\n type: \"object\",\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"live\",\n fieldId: \"live\",\n type: \"object\",\n settings: {\n fields: [\n createModelField({\n id: \"version\",\n fieldId: \"version\",\n storageId: \"version\",\n type: \"number\",\n label: \"Version\"\n })\n ]\n }\n }),\n parents: []\n },\n \"live.version\": {\n type: \"number\",\n systemField: true,\n searchable: true,\n sortable: false,\n parents: [\n {\n fieldId: \"live\",\n type: \"object\",\n storageId: \"live\"\n }\n ],\n field: createSystemField({\n id: \"version\",\n fieldId: \"version\",\n storageId: \"version\",\n type: \"number\",\n label: \"Version\"\n })\n }\n};\n"],"names":["liveFields","createSystemField","createModelField"],"mappings":";;AAIO,MAAMA,aAA0B;IACnC,MAAM;QACF,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,OAAOC,kBAAkB;YACrB,WAAW;YACX,SAAS;YACT,MAAM;YACN,UAAU;gBACN,QAAQ;oBACJC,iBAAiB;wBACb,IAAI;wBACJ,SAAS;wBACT,WAAW;wBACX,MAAM;wBACN,OAAO;oBACX;iBACH;YACL;QACJ;QACA,SAAS,EAAE;IACf;IACA,gBAAgB;QACZ,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,SAAS;YACL;gBACI,SAAS;gBACT,MAAM;gBACN,WAAW;YACf;SACH;QACD,OAAOD,kBAAkB;YACrB,IAAI;YACJ,SAAS;YACT,WAAW;YACX,MAAM;YACN,OAAO;QACX;IACJ;AACJ"}
@@ -0,0 +1,2 @@
1
+ import type { ModelFields } from "../../../../operations/entry/elasticsearch/types.js";
2
+ export declare const locationFields: ModelFields;
@@ -0,0 +1,50 @@
1
+ import { createSystemField } from "./createSystemField.js";
2
+ import { createModelField } from "@webiny/api-headless-cms";
3
+ const locationFields = {
4
+ wbyAco_location: {
5
+ type: "object",
6
+ systemField: true,
7
+ searchable: true,
8
+ sortable: true,
9
+ field: createSystemField({
10
+ storageId: "location",
11
+ fieldId: "wbyAco_location",
12
+ type: "object",
13
+ settings: {
14
+ fields: [
15
+ createModelField({
16
+ id: "folderId",
17
+ fieldId: "folderId",
18
+ storageId: "folderId",
19
+ type: "text",
20
+ label: "Folder ID"
21
+ })
22
+ ]
23
+ }
24
+ }),
25
+ parents: []
26
+ },
27
+ "wbyAco_location.folderId": {
28
+ type: "text",
29
+ systemField: true,
30
+ searchable: true,
31
+ sortable: true,
32
+ field: createSystemField({
33
+ id: "folderId",
34
+ fieldId: "folderId",
35
+ storageId: "folderId",
36
+ type: "text",
37
+ label: "Folder ID"
38
+ }),
39
+ parents: [
40
+ {
41
+ fieldId: "wbyAco_location",
42
+ type: "object",
43
+ storageId: "location"
44
+ }
45
+ ]
46
+ }
47
+ };
48
+ export { locationFields };
49
+
50
+ //# sourceMappingURL=location.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/entry/elasticsearch/fields/location.js","sources":["../../../../../src/operations/entry/elasticsearch/fields/location.ts"],"sourcesContent":["import type { ModelFields } from \"~/operations/entry/elasticsearch/types.js\";\nimport { createSystemField } from \"./createSystemField.js\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\n\nexport const locationFields: ModelFields = {\n wbyAco_location: {\n type: \"object\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"location\",\n fieldId: \"wbyAco_location\",\n type: \"object\",\n settings: {\n fields: [\n createModelField({\n id: \"folderId\",\n fieldId: \"folderId\",\n storageId: \"folderId\",\n type: \"text\",\n label: \"Folder ID\"\n })\n ]\n }\n }),\n parents: []\n },\n \"wbyAco_location.folderId\": {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n id: \"folderId\",\n fieldId: \"folderId\",\n storageId: \"folderId\",\n type: \"text\",\n label: \"Folder ID\"\n }),\n parents: [\n {\n fieldId: \"wbyAco_location\",\n type: \"object\",\n storageId: \"location\"\n }\n ]\n }\n};\n"],"names":["locationFields","createSystemField","createModelField"],"mappings":";;AAIO,MAAMA,iBAA8B;IACvC,iBAAiB;QACb,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,OAAOC,kBAAkB;YACrB,WAAW;YACX,SAAS;YACT,MAAM;YACN,UAAU;gBACN,QAAQ;oBACJC,iBAAiB;wBACb,IAAI;wBACJ,SAAS;wBACT,WAAW;wBACX,MAAM;wBACN,OAAO;oBACX;iBACH;YACL;QACJ;QACA,SAAS,EAAE;IACf;IACA,4BAA4B;QACxB,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,OAAOD,kBAAkB;YACrB,IAAI;YACJ,SAAS;YACT,WAAW;YACX,MAAM;YACN,OAAO;QACX;QACA,SAAS;YACL;gBACI,SAAS;gBACT,MAAM;gBACN,WAAW;YACf;SACH;IACL;AACJ"}
@@ -0,0 +1,2 @@
1
+ import type { ModelFields } from "../../../../operations/entry/elasticsearch/types.js";
2
+ export declare const stateFields: ModelFields;
@@ -0,0 +1,104 @@
1
+ import { createSystemField } from "./createSystemField.js";
2
+ import { createModelField } from "@webiny/api-headless-cms";
3
+ const stateFields = {
4
+ state: {
5
+ type: "object",
6
+ systemField: true,
7
+ searchable: true,
8
+ sortable: false,
9
+ field: createSystemField({
10
+ storageId: "object@state",
11
+ fieldId: "state",
12
+ type: "object",
13
+ settings: {
14
+ fields: [
15
+ createModelField({
16
+ id: "stepId",
17
+ fieldId: "stepId",
18
+ storageId: "text@stepId",
19
+ type: "text",
20
+ label: "Step ID"
21
+ }),
22
+ createModelField({
23
+ id: "stepName",
24
+ fieldId: "stepName",
25
+ storageId: "text@stepName",
26
+ type: "text",
27
+ label: "Step Name"
28
+ }),
29
+ createModelField({
30
+ id: "state",
31
+ fieldId: "state",
32
+ storageId: "text@state",
33
+ type: "text",
34
+ label: "State"
35
+ })
36
+ ]
37
+ }
38
+ }),
39
+ parents: []
40
+ },
41
+ "state.stepId": {
42
+ type: "text",
43
+ systemField: true,
44
+ searchable: true,
45
+ sortable: false,
46
+ parents: [
47
+ {
48
+ fieldId: "state",
49
+ type: "object",
50
+ storageId: "object@state"
51
+ }
52
+ ],
53
+ field: createSystemField({
54
+ id: "stepId",
55
+ fieldId: "stepId",
56
+ storageId: "text@stepId",
57
+ type: "text",
58
+ label: "Step ID"
59
+ })
60
+ },
61
+ "state.stepName": {
62
+ type: "text",
63
+ systemField: true,
64
+ searchable: true,
65
+ sortable: false,
66
+ parents: [
67
+ {
68
+ fieldId: "state",
69
+ type: "object",
70
+ storageId: "object@state"
71
+ }
72
+ ],
73
+ field: createSystemField({
74
+ id: "stepName",
75
+ fieldId: "stepName",
76
+ storageId: "text@stepName",
77
+ type: "text",
78
+ label: "Step Name"
79
+ })
80
+ },
81
+ "state.state": {
82
+ type: "text",
83
+ systemField: true,
84
+ searchable: true,
85
+ sortable: false,
86
+ parents: [
87
+ {
88
+ fieldId: "state",
89
+ type: "object",
90
+ storageId: "object@state"
91
+ }
92
+ ],
93
+ field: createSystemField({
94
+ id: "state",
95
+ fieldId: "state",
96
+ storageId: "text@state",
97
+ type: "text",
98
+ label: "State"
99
+ })
100
+ }
101
+ };
102
+ export { stateFields };
103
+
104
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/entry/elasticsearch/fields/state.js","sources":["../../../../../src/operations/entry/elasticsearch/fields/state.ts"],"sourcesContent":["import type { ModelFields } from \"~/operations/entry/elasticsearch/types.js\";\nimport { createSystemField } from \"./createSystemField.js\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\n\nexport const stateFields: ModelFields = {\n state: {\n type: \"object\",\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"object@state\",\n fieldId: \"state\",\n type: \"object\",\n settings: {\n fields: [\n createModelField({\n id: \"stepId\",\n fieldId: \"stepId\",\n storageId: \"text@stepId\",\n type: \"text\",\n label: \"Step ID\"\n }),\n createModelField({\n id: \"stepName\",\n fieldId: \"stepName\",\n storageId: \"text@stepName\",\n type: \"text\",\n label: \"Step Name\"\n }),\n createModelField({\n id: \"state\",\n fieldId: \"state\",\n storageId: \"text@state\",\n type: \"text\",\n label: \"State\"\n })\n ]\n }\n }),\n parents: []\n },\n \"state.stepId\": {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: false,\n parents: [\n {\n fieldId: \"state\",\n type: \"object\",\n storageId: \"object@state\"\n }\n ],\n field: createSystemField({\n id: \"stepId\",\n fieldId: \"stepId\",\n storageId: \"text@stepId\",\n type: \"text\",\n label: \"Step ID\"\n })\n },\n \"state.stepName\": {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: false,\n parents: [\n {\n fieldId: \"state\",\n type: \"object\",\n storageId: \"object@state\"\n }\n ],\n field: createSystemField({\n id: \"stepName\",\n fieldId: \"stepName\",\n storageId: \"text@stepName\",\n type: \"text\",\n label: \"Step Name\"\n })\n },\n \"state.state\": {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: false,\n parents: [\n {\n fieldId: \"state\",\n type: \"object\",\n storageId: \"object@state\"\n }\n ],\n field: createSystemField({\n id: \"state\",\n fieldId: \"state\",\n storageId: \"text@state\",\n type: \"text\",\n label: \"State\"\n })\n }\n};\n"],"names":["stateFields","createSystemField","createModelField"],"mappings":";;AAIO,MAAMA,cAA2B;IACpC,OAAO;QACH,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,OAAOC,kBAAkB;YACrB,WAAW;YACX,SAAS;YACT,MAAM;YACN,UAAU;gBACN,QAAQ;oBACJC,iBAAiB;wBACb,IAAI;wBACJ,SAAS;wBACT,WAAW;wBACX,MAAM;wBACN,OAAO;oBACX;oBACAA,iBAAiB;wBACb,IAAI;wBACJ,SAAS;wBACT,WAAW;wBACX,MAAM;wBACN,OAAO;oBACX;oBACAA,iBAAiB;wBACb,IAAI;wBACJ,SAAS;wBACT,WAAW;wBACX,MAAM;wBACN,OAAO;oBACX;iBACH;YACL;QACJ;QACA,SAAS,EAAE;IACf;IACA,gBAAgB;QACZ,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,SAAS;YACL;gBACI,SAAS;gBACT,MAAM;gBACN,WAAW;YACf;SACH;QACD,OAAOD,kBAAkB;YACrB,IAAI;YACJ,SAAS;YACT,WAAW;YACX,MAAM;YACN,OAAO;QACX;IACJ;IACA,kBAAkB;QACd,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,SAAS;YACL;gBACI,SAAS;gBACT,MAAM;gBACN,WAAW;YACf;SACH;QACD,OAAOA,kBAAkB;YACrB,IAAI;YACJ,SAAS;YACT,WAAW;YACX,MAAM;YACN,OAAO;QACX;IACJ;IACA,eAAe;QACX,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,SAAS;YACL;gBACI,SAAS;gBACT,MAAM;gBACN,WAAW;YACf;SACH;QACD,OAAOA,kBAAkB;YACrB,IAAI;YACJ,SAAS;YACT,WAAW;YACX,MAAM;YACN,OAAO;QACX;IACJ;AACJ"}
@@ -0,0 +1,7 @@
1
+ import type { ModelFields } from "../../../../operations/entry/elasticsearch/types.js";
2
+ import type { CmsModelField } from "@webiny/api-headless-cms/types/index.js";
3
+ /**
4
+ * Filter fields for the fields registered as `CmsEntrySystemField`. The `system` object is indexed
5
+ * as-is (raw storage ids), so a text field resolves to `system.<path>.keyword`.
6
+ */
7
+ export declare const createEntrySystemFields: (fields: CmsModelField[]) => ModelFields;
@@ -0,0 +1,58 @@
1
+ import { createSystemField } from "./createSystemField.js";
2
+ const systemParent = {
3
+ fieldId: "system",
4
+ type: "object",
5
+ storageId: "system"
6
+ };
7
+ const addFields = (result, fields, parents)=>{
8
+ for (const field of fields){
9
+ const path = [
10
+ ...parents.map((parent)=>parent.fieldId),
11
+ field.fieldId
12
+ ].join(".");
13
+ result[path] = {
14
+ type: field.type,
15
+ systemField: true,
16
+ searchable: true,
17
+ sortable: false,
18
+ parents,
19
+ field
20
+ };
21
+ const children = field.settings?.fields;
22
+ if (children?.length) addFields(result, children, [
23
+ ...parents,
24
+ {
25
+ fieldId: field.fieldId,
26
+ type: field.type,
27
+ storageId: field.storageId
28
+ }
29
+ ]);
30
+ }
31
+ };
32
+ const createEntrySystemFields = (fields)=>{
33
+ if (0 === fields.length) return {};
34
+ const result = {
35
+ system: {
36
+ type: "object",
37
+ systemField: true,
38
+ searchable: true,
39
+ sortable: false,
40
+ field: createSystemField({
41
+ storageId: "system",
42
+ fieldId: "system",
43
+ type: "object",
44
+ settings: {
45
+ fields
46
+ }
47
+ }),
48
+ parents: []
49
+ }
50
+ };
51
+ addFields(result, fields, [
52
+ systemParent
53
+ ]);
54
+ return result;
55
+ };
56
+ export { createEntrySystemFields };
57
+
58
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/entry/elasticsearch/fields/system.js","sources":["../../../../../src/operations/entry/elasticsearch/fields/system.ts"],"sourcesContent":["import type { ModelFieldParent, ModelFields } from \"~/operations/entry/elasticsearch/types.js\";\nimport type { CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\nimport { createSystemField } from \"./createSystemField.js\";\n\nconst systemParent: ModelFieldParent = {\n fieldId: \"system\",\n type: \"object\",\n storageId: \"system\"\n};\n\n/**\n * ObjectFilter resolves one level at a time, so every nested object needs its own entry.\n */\nconst addFields = (result: ModelFields, fields: CmsModelField[], parents: ModelFieldParent[]) => {\n for (const field of fields) {\n const path = [...parents.map(parent => parent.fieldId), field.fieldId].join(\".\");\n result[path] = {\n type: field.type,\n systemField: true,\n searchable: true,\n sortable: false,\n parents,\n field\n };\n const children = field.settings?.fields;\n if (!children?.length) {\n continue;\n }\n addFields(result, children, [\n ...parents,\n {\n fieldId: field.fieldId,\n type: field.type,\n storageId: field.storageId\n }\n ]);\n }\n};\n\n/**\n * Filter fields for the fields registered as `CmsEntrySystemField`. The `system` object is indexed\n * as-is (raw storage ids), so a text field resolves to `system.<path>.keyword`.\n */\nexport const createEntrySystemFields = (fields: CmsModelField[]): ModelFields => {\n if (fields.length === 0) {\n return {};\n }\n const result: ModelFields = {\n system: {\n type: \"object\",\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"system\",\n fieldId: \"system\",\n type: \"object\",\n settings: {\n fields\n }\n }),\n parents: []\n }\n };\n addFields(result, fields, [systemParent]);\n return result;\n};\n"],"names":["systemParent","addFields","result","fields","parents","field","path","parent","children","createEntrySystemFields","createSystemField"],"mappings":";AAIA,MAAMA,eAAiC;IACnC,SAAS;IACT,MAAM;IACN,WAAW;AACf;AAKA,MAAMC,YAAY,CAACC,QAAqBC,QAAyBC;IAC7D,KAAK,MAAMC,SAASF,OAAQ;QACxB,MAAMG,OAAO;eAAIF,QAAQ,GAAG,CAACG,CAAAA,SAAUA,OAAO,OAAO;YAAGF,MAAM,OAAO;SAAC,CAAC,IAAI,CAAC;QAC5EH,MAAM,CAACI,KAAK,GAAG;YACX,MAAMD,MAAM,IAAI;YAChB,aAAa;YACb,YAAY;YACZ,UAAU;YACVD;YACAC;QACJ;QACA,MAAMG,WAAWH,MAAM,QAAQ,EAAE;QACjC,IAAKG,UAAU,QAGfP,UAAUC,QAAQM,UAAU;eACrBJ;YACH;gBACI,SAASC,MAAM,OAAO;gBACtB,MAAMA,MAAM,IAAI;gBAChB,WAAWA,MAAM,SAAS;YAC9B;SACH;IACL;AACJ;AAMO,MAAMI,0BAA0B,CAACN;IACpC,IAAIA,AAAkB,MAAlBA,OAAO,MAAM,EACb,OAAO,CAAC;IAEZ,MAAMD,SAAsB;QACxB,QAAQ;YACJ,MAAM;YACN,aAAa;YACb,YAAY;YACZ,UAAU;YACV,OAAOQ,kBAAkB;gBACrB,WAAW;gBACX,SAAS;gBACT,MAAM;gBACN,UAAU;oBACNP;gBACJ;YACJ;YACA,SAAS,EAAE;QACf;IACJ;IACAF,UAAUC,QAAQC,QAAQ;QAACH;KAAa;IACxC,OAAOE;AACX"}
@@ -0,0 +1,14 @@
1
+ import type { CmsModel, CmsModelField } from "@webiny/api-headless-cms/types/index.js";
2
+ import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/features/graphql/index.js";
3
+ import { CmsEntryOpenSearchFieldIndexRegistry } from "../../../features/CmsEntryOpenSearchFieldIndex/index.js";
4
+ interface ICreateModelFieldsParams {
5
+ model: CmsModel;
6
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
7
+ fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;
8
+ /** Fields registered as `CmsEntrySystemField`, filterable under `system`. */
9
+ systemFields: CmsModelField[];
10
+ }
11
+ export declare const createModelFields: ({ model, fieldRegistry, fieldIndexRegistry, systemFields }: ICreateModelFieldsParams) => {
12
+ [x: string]: import("./types.js").ModelField;
13
+ };
14
+ export {};