@webiny/api-headless-cms-utils-os 0.0.0-unstable.0d717d18dd

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/configurations.d.ts +10 -0
  4. package/configurations.js +24 -0
  5. package/configurations.js.map +1 -0
  6. package/exports/api/cms/opensearch.d.ts +17 -0
  7. package/exports/api/cms/opensearch.js +17 -0
  8. package/features/CmsEntryOpenSearchBodyBuilder/CmsEntryOpenSearchBodyBuilder.d.ts +30 -0
  9. package/features/CmsEntryOpenSearchBodyBuilder/CmsEntryOpenSearchBodyBuilder.js +144 -0
  10. package/features/CmsEntryOpenSearchBodyBuilder/CmsEntryOpenSearchBodyBuilder.js.map +1 -0
  11. package/features/CmsEntryOpenSearchBodyBuilder/abstractions.d.ts +18 -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 +119 -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 +107 -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 +65 -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 +43 -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 +37 -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/abstractions.d.ts +20 -0
  242. package/features/CmsModelOpenSearchIndex/abstractions.js +5 -0
  243. package/features/CmsModelOpenSearchIndex/abstractions.js.map +1 -0
  244. package/features/CmsModelOpenSearchIndex/index.d.ts +4 -0
  245. package/features/CmsModelOpenSearchIndex/index.js +2 -0
  246. package/helpers/entryIndexHelpers.d.ts +20 -0
  247. package/helpers/entryIndexHelpers.js +80 -0
  248. package/helpers/entryIndexHelpers.js.map +1 -0
  249. package/helpers/fieldIdentifier.d.ts +6 -0
  250. package/helpers/fieldIdentifier.js +23 -0
  251. package/helpers/fieldIdentifier.js.map +1 -0
  252. package/helpers/index.d.ts +2 -0
  253. package/helpers/index.js +2 -0
  254. package/index.d.ts +1 -0
  255. package/index.js +1 -0
  256. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.d.ts +18 -0
  257. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js +9 -0
  258. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js.map +1 -0
  259. package/operations/entry/elasticsearch/fields/createSystemField.d.ts +4 -0
  260. package/operations/entry/elasticsearch/fields/createSystemField.js +9 -0
  261. package/operations/entry/elasticsearch/fields/createSystemField.js.map +1 -0
  262. package/operations/entry/elasticsearch/fields/live.d.ts +2 -0
  263. package/operations/entry/elasticsearch/fields/live.js +50 -0
  264. package/operations/entry/elasticsearch/fields/live.js.map +1 -0
  265. package/operations/entry/elasticsearch/fields/location.d.ts +2 -0
  266. package/operations/entry/elasticsearch/fields/location.js +50 -0
  267. package/operations/entry/elasticsearch/fields/location.js.map +1 -0
  268. package/operations/entry/elasticsearch/fields/state.d.ts +2 -0
  269. package/operations/entry/elasticsearch/fields/state.js +104 -0
  270. package/operations/entry/elasticsearch/fields/state.js.map +1 -0
  271. package/operations/entry/elasticsearch/fields.d.ts +12 -0
  272. package/operations/entry/elasticsearch/fields.js +207 -0
  273. package/operations/entry/elasticsearch/fields.js.map +1 -0
  274. package/operations/entry/elasticsearch/fullTextSearch.d.ts +13 -0
  275. package/operations/entry/elasticsearch/fullTextSearch.js +51 -0
  276. package/operations/entry/elasticsearch/fullTextSearch.js.map +1 -0
  277. package/operations/entry/elasticsearch/fullTextSearchFields.d.ts +8 -0
  278. package/operations/entry/elasticsearch/fullTextSearchFields.js +10 -0
  279. package/operations/entry/elasticsearch/fullTextSearchFields.js.map +1 -0
  280. package/operations/entry/elasticsearch/initialQuery.d.ts +17 -0
  281. package/operations/entry/elasticsearch/initialQuery.js +45 -0
  282. package/operations/entry/elasticsearch/initialQuery.js.map +1 -0
  283. package/operations/entry/elasticsearch/keyword.d.ts +2 -0
  284. package/operations/entry/elasticsearch/keyword.js +17 -0
  285. package/operations/entry/elasticsearch/keyword.js.map +1 -0
  286. package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.d.ts +2 -0
  287. package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js +8 -0
  288. package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js.map +1 -0
  289. package/operations/entry/elasticsearch/types.d.ts +31 -0
  290. package/operations/entry/elasticsearch/types.js +0 -0
  291. package/operations/entry/recordType.d.ts +3 -0
  292. package/operations/entry/recordType.js +6 -0
  293. package/operations/entry/recordType.js.map +1 -0
  294. package/operations/entry/transformations/transformEntryToIndex.d.ts +10 -0
  295. package/operations/entry/transformations/transformEntryToIndex.js +20 -0
  296. package/operations/entry/transformations/transformEntryToIndex.js.map +1 -0
  297. package/package.json +33 -0
  298. package/types.d.ts +5 -0
  299. package/types.js +0 -0
  300. package/values/NoValueContainer.d.ts +5 -0
  301. package/values/NoValueContainer.js +11 -0
  302. package/values/NoValueContainer.js.map +1 -0
@@ -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;IACJ,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;IACnB,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
+ if (0 === query.should.length) return;
4
+ 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;IACG,IAAIA,AAAwB,MAAxBA,MAAM,MAAM,CAAC,MAAM,EAC1B;IACG,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,12 @@
1
+ import type { CmsModel } 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
+ }
9
+ export declare const createModelFields: ({ model, fieldRegistry, fieldIndexRegistry }: ICreateModelFieldsParams) => {
10
+ [x: string]: import("./types.js").ModelField;
11
+ };
12
+ export {};
@@ -0,0 +1,207 @@
1
+ import error from "@webiny/error";
2
+ import { ENTRY_META_FIELDS, isDateTimeEntryMetaField, isIdentityEntryMetaField } from "@webiny/api-headless-cms/constants.js";
3
+ import { getBaseFieldType } from "@webiny/api-headless-cms/utils/getBaseFieldType.js";
4
+ import { liveFields } from "./fields/live.js";
5
+ import { createSystemField } from "./fields/createSystemField.js";
6
+ import { stateFields } from "./fields/state.js";
7
+ import { locationFields } from "./fields/location.js";
8
+ const createSystemFields = ()=>{
9
+ const onMetaFields = ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField).reduce((current, fieldName)=>({
10
+ ...current,
11
+ [fieldName]: {
12
+ type: "date",
13
+ unmappedType: "date",
14
+ keyword: false,
15
+ systemField: true,
16
+ searchable: true,
17
+ sortable: true,
18
+ field: createSystemField({
19
+ storageId: fieldName,
20
+ fieldId: fieldName,
21
+ type: "text",
22
+ settings: {
23
+ type: "dateTimeWithoutTimezone"
24
+ }
25
+ }),
26
+ parents: []
27
+ }
28
+ }), {});
29
+ const byMetaFields = ENTRY_META_FIELDS.filter(isIdentityEntryMetaField).reduce((current, fieldName)=>({
30
+ ...current,
31
+ [fieldName]: {
32
+ type: "text",
33
+ unmappedType: void 0,
34
+ systemField: true,
35
+ searchable: true,
36
+ sortable: true,
37
+ path: `${fieldName}.id`,
38
+ field: createSystemField({
39
+ storageId: fieldName,
40
+ fieldId: fieldName,
41
+ type: "text"
42
+ }),
43
+ parents: []
44
+ }
45
+ }), {});
46
+ return {
47
+ id: {
48
+ type: "text",
49
+ systemField: true,
50
+ searchable: true,
51
+ sortable: true,
52
+ field: createSystemField({
53
+ storageId: "id",
54
+ fieldId: "id",
55
+ type: "text"
56
+ }),
57
+ parents: []
58
+ },
59
+ entryId: {
60
+ type: "text",
61
+ systemField: true,
62
+ searchable: true,
63
+ sortable: true,
64
+ field: createSystemField({
65
+ storageId: "entryId",
66
+ fieldId: "entryId",
67
+ type: "text"
68
+ }),
69
+ parents: []
70
+ },
71
+ ...onMetaFields,
72
+ ...byMetaFields,
73
+ ...locationFields,
74
+ version: {
75
+ type: "number",
76
+ unmappedType: void 0,
77
+ keyword: false,
78
+ systemField: true,
79
+ searchable: true,
80
+ sortable: true,
81
+ field: createSystemField({
82
+ storageId: "version",
83
+ fieldId: "version",
84
+ type: "number"
85
+ }),
86
+ parents: []
87
+ },
88
+ status: {
89
+ type: "string",
90
+ unmappedType: void 0,
91
+ keyword: false,
92
+ systemField: true,
93
+ searchable: true,
94
+ sortable: false,
95
+ field: createSystemField({
96
+ storageId: "status",
97
+ fieldId: "status",
98
+ type: "string"
99
+ }),
100
+ parents: []
101
+ },
102
+ wbyDeleted: {
103
+ type: "boolean",
104
+ unmappedType: void 0,
105
+ keyword: false,
106
+ systemField: true,
107
+ searchable: true,
108
+ sortable: false,
109
+ field: createSystemField({
110
+ storageId: "wbyDeleted",
111
+ fieldId: "wbyDeleted",
112
+ type: "boolean"
113
+ }),
114
+ parents: []
115
+ },
116
+ binOriginalFolderId: {
117
+ type: "text",
118
+ unmappedType: void 0,
119
+ keyword: false,
120
+ systemField: true,
121
+ searchable: true,
122
+ sortable: false,
123
+ field: createSystemField({
124
+ storageId: "binOriginalFolderId",
125
+ fieldId: "binOriginalFolderId",
126
+ type: "text"
127
+ }),
128
+ parents: []
129
+ },
130
+ ...stateFields,
131
+ ...liveFields
132
+ };
133
+ };
134
+ const buildFieldsList = (params)=>{
135
+ const { plugins, fields, parents } = params;
136
+ return fields.reduce((result, field)=>{
137
+ const fieldType = getBaseFieldType(field);
138
+ const plugin = plugins[fieldType];
139
+ if (!plugin) throw new error(`There is no plugin for field type "${field.type}".`);
140
+ const { searchable, sortable, unmappedType, isFullTextSearchable: fullTextSearch } = plugin;
141
+ const childFields = field.settings?.fields || [];
142
+ if (childFields.length > 0) {
143
+ const childResult = buildFieldsList({
144
+ fields: childFields,
145
+ plugins,
146
+ parents: [
147
+ ...parents,
148
+ {
149
+ fieldId: field.fieldId,
150
+ storageId: field.storageId,
151
+ type: fieldType
152
+ }
153
+ ]
154
+ });
155
+ Object.assign(result, childResult);
156
+ }
157
+ const identifier = [
158
+ ...parents.map((p)=>p.fieldId),
159
+ field.fieldId
160
+ ].join(".");
161
+ result[identifier] = {
162
+ type: fieldType,
163
+ parents,
164
+ searchable,
165
+ sortable,
166
+ fullTextSearch,
167
+ unmappedType: "function" == typeof unmappedType ? unmappedType(field) : void 0,
168
+ systemField: false,
169
+ field
170
+ };
171
+ return result;
172
+ }, {});
173
+ };
174
+ const createModelFields = ({ model, fieldRegistry, fieldIndexRegistry })=>{
175
+ const fields = model.fields;
176
+ const unmappedTypes = fieldIndexRegistry.getAll().reduce((acc, fieldIndex)=>{
177
+ if (!fieldIndex.unmappedType) return acc;
178
+ acc[fieldIndex.fieldType] = fieldIndex.unmappedType;
179
+ return acc;
180
+ }, {});
181
+ const fieldTypePlugins = fieldRegistry.getAll().reduce((types, field)=>{
182
+ types[field.fieldType] = {
183
+ unmappedType: unmappedTypes[field.fieldType],
184
+ searchable: field.isSearchable,
185
+ sortable: field.isSortable,
186
+ isFullTextSearchable: field.isFullTextSearchable
187
+ };
188
+ return types;
189
+ }, {});
190
+ return {
191
+ ...createSystemFields(),
192
+ ...buildFieldsList({
193
+ fields,
194
+ plugins: fieldTypePlugins,
195
+ parents: [
196
+ {
197
+ fieldId: "values",
198
+ type: "object",
199
+ storageId: "values"
200
+ }
201
+ ]
202
+ })
203
+ };
204
+ };
205
+ export { createModelFields };
206
+
207
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/entry/elasticsearch/fields.js","sources":["../../../../src/operations/entry/elasticsearch/fields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { ModelFieldParent, ModelFields } from \"./types.js\";\nimport {\n ENTRY_META_FIELDS,\n isDateTimeEntryMetaField,\n isIdentityEntryMetaField\n} from \"@webiny/api-headless-cms/constants.js\";\nimport { getBaseFieldType } from \"@webiny/api-headless-cms/utils/getBaseFieldType.js\";\nimport { liveFields } from \"./fields/live.js\";\nimport { createSystemField } from \"./fields/createSystemField.js\";\nimport { stateFields } from \"./fields/state.js\";\nimport { locationFields } from \"./fields/location.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/features/graphql/index.js\";\nimport { CmsEntryOpenSearchFieldIndexRegistry } from \"~/features/CmsEntryOpenSearchFieldIndex/index.js\";\n\nconst createSystemFields = (): ModelFields => {\n const onMetaFields = ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField).reduce(\n (current, fieldName) => {\n return {\n ...current,\n [fieldName]: {\n type: \"date\",\n unmappedType: \"date\",\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: fieldName,\n fieldId: fieldName,\n type: \"text\",\n settings: {\n type: \"dateTimeWithoutTimezone\"\n }\n }),\n parents: []\n }\n };\n },\n {}\n );\n\n const byMetaFields = ENTRY_META_FIELDS.filter(isIdentityEntryMetaField).reduce(\n (current, fieldName) => {\n return {\n ...current,\n [fieldName]: {\n type: \"text\",\n unmappedType: undefined,\n systemField: true,\n searchable: true,\n sortable: true,\n path: `${fieldName}.id`,\n field: createSystemField({\n storageId: fieldName,\n fieldId: fieldName,\n type: \"text\"\n }),\n parents: []\n }\n };\n },\n {}\n );\n\n return {\n id: {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"id\",\n fieldId: \"id\",\n type: \"text\"\n }),\n parents: []\n },\n entryId: {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"entryId\",\n fieldId: \"entryId\",\n type: \"text\"\n }),\n parents: []\n },\n\n ...onMetaFields,\n ...byMetaFields,\n\n ...locationFields,\n version: {\n type: \"number\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"version\",\n fieldId: \"version\",\n type: \"number\"\n }),\n parents: []\n },\n status: {\n type: \"string\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"status\",\n fieldId: \"status\",\n type: \"string\"\n }),\n parents: []\n },\n wbyDeleted: {\n type: \"boolean\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"wbyDeleted\",\n fieldId: \"wbyDeleted\",\n type: \"boolean\"\n }),\n parents: []\n },\n binOriginalFolderId: {\n type: \"text\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"binOriginalFolderId\",\n fieldId: \"binOriginalFolderId\",\n type: \"text\"\n }),\n parents: []\n },\n ...stateFields,\n ...liveFields\n };\n};\n\ninterface UnmappedFieldTypes {\n [type: string]: (field: Pick<CmsModelField, \"fieldId\" | \"type\">) => string | undefined;\n}\n\ninterface FieldTypePlugin {\n unmappedType?: (field: Pick<CmsModelField, \"fieldId\" | \"type\">) => string | undefined;\n searchable: boolean;\n sortable: boolean;\n isFullTextSearchable?: boolean;\n}\n\ninterface FieldTypePlugins {\n [key: string]: FieldTypePlugin;\n}\n\ninterface BuildParams {\n plugins: FieldTypePlugins;\n fields: CmsModelField[];\n parents: ModelFieldParent[];\n}\n\nconst buildFieldsList = (params: BuildParams): ModelFields => {\n const { plugins, fields, parents } = params;\n\n return fields.reduce<ModelFields>((result, field) => {\n const fieldType = getBaseFieldType(field);\n const plugin = plugins[fieldType];\n if (!plugin) {\n throw new WebinyError(`There is no plugin for field type \"${field.type}\".`);\n }\n\n const { searchable, sortable, unmappedType, isFullTextSearchable: fullTextSearch } = plugin;\n /**\n * If a field has child fields, go through them and add them to a result.\n */\n const childFields = field.settings?.fields || [];\n if (childFields.length > 0) {\n /**\n * Let's build all the child fields\n */\n const childResult = buildFieldsList({\n fields: childFields,\n plugins,\n parents: [\n ...parents,\n {\n fieldId: field.fieldId,\n storageId: field.storageId,\n type: fieldType\n }\n ]\n });\n Object.assign(result, childResult);\n }\n\n const identifier = [...parents.map(p => p.fieldId), field.fieldId].join(\".\");\n\n result[identifier] = {\n type: fieldType,\n parents,\n searchable,\n sortable,\n fullTextSearch,\n unmappedType: typeof unmappedType === \"function\" ? unmappedType(field) : undefined,\n systemField: false,\n field\n };\n\n return result;\n }, {});\n};\n\ninterface ICreateModelFieldsParams {\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;\n}\n\nexport const createModelFields = ({\n model,\n fieldRegistry,\n fieldIndexRegistry\n}: ICreateModelFieldsParams) => {\n const fields = model.fields;\n /**\n * Collect all unmappedType from field index registry.\n */\n const unmappedTypes = fieldIndexRegistry\n .getAll()\n .reduce<UnmappedFieldTypes>((acc, fieldIndex) => {\n if (!fieldIndex.unmappedType) {\n return acc;\n }\n acc[fieldIndex.fieldType] = fieldIndex.unmappedType;\n return acc;\n }, {});\n /**\n * Collect all field types from the plugins.\n */\n const fieldTypePlugins = fieldRegistry.getAll().reduce<FieldTypePlugins>((types, field) => {\n types[field.fieldType] = {\n unmappedType: unmappedTypes[field.fieldType],\n searchable: field.isSearchable,\n sortable: field.isSortable,\n isFullTextSearchable: field.isFullTextSearchable\n };\n return types;\n }, {});\n\n return {\n ...createSystemFields(),\n ...buildFieldsList({\n fields,\n plugins: fieldTypePlugins,\n parents: [\n {\n fieldId: \"values\",\n type: \"object\",\n storageId: \"values\"\n }\n ]\n })\n };\n};\n"],"names":["createSystemFields","onMetaFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","current","fieldName","createSystemField","byMetaFields","isIdentityEntryMetaField","undefined","locationFields","stateFields","liveFields","buildFieldsList","params","plugins","fields","parents","result","field","fieldType","getBaseFieldType","plugin","WebinyError","searchable","sortable","unmappedType","fullTextSearch","childFields","childResult","Object","identifier","p","createModelFields","model","fieldRegistry","fieldIndexRegistry","unmappedTypes","acc","fieldIndex","fieldTypePlugins","types"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { OpenSearchBoolQueryConfig } from "@webiny/api-opensearch/types.js";
2
+ import type { CmsModel } from "@webiny/api-headless-cms/types/index.js";
3
+ import type { CmsEntryOpenSearchFullTextSearch } from "../../../features/CmsEntryOpenSearchFullTextSearch/index.js";
4
+ import type { ModelFields } from "../../../operations/entry/elasticsearch/types.js";
5
+ interface Params {
6
+ fullTextSearches: CmsEntryOpenSearchFullTextSearch.Interface[];
7
+ model: CmsModel;
8
+ query: OpenSearchBoolQueryConfig;
9
+ term?: string;
10
+ fields: ModelFields;
11
+ }
12
+ export declare const applyFullTextSearch: (params: Params) => void;
13
+ export {};
@@ -0,0 +1,51 @@
1
+ import { normalizeValue } from "@webiny/api-opensearch";
2
+ const defaultFullTextSearch = {
3
+ apply: (params)=>{
4
+ const { query, term, fields, createFieldPath, prepareTerm } = params;
5
+ query.must.push({
6
+ query_string: {
7
+ allow_leading_wildcard: true,
8
+ fields: Object.values(fields).map(createFieldPath),
9
+ query: `*${prepareTerm(term)}*`,
10
+ default_operator: "and"
11
+ }
12
+ });
13
+ }
14
+ };
15
+ const getFullTextSearch = (params)=>{
16
+ const { fullTextSearches, model } = params;
17
+ const reversed = [
18
+ ...fullTextSearches
19
+ ].reverse();
20
+ let fallback = null;
21
+ for (const item of reversed){
22
+ const models = item.models || [];
23
+ if (models.includes(model.modelId)) return item;
24
+ if (!fallback && 0 === models.length) fallback = item;
25
+ }
26
+ return fallback || defaultFullTextSearch;
27
+ };
28
+ const applyFullTextSearch = (params)=>{
29
+ const { fullTextSearches, query, term, fields, model } = params;
30
+ const keys = Object.keys(fields);
31
+ if (!term || 0 === term.length || 0 === keys.length) return;
32
+ const fullTextSearch = getFullTextSearch({
33
+ fullTextSearches,
34
+ model
35
+ });
36
+ fullTextSearch.apply({
37
+ model,
38
+ createFieldPath: (field)=>{
39
+ if ("function" == typeof field.path) return field.path(term);
40
+ if (field.systemField) return field.path || field.field.storageId;
41
+ return `values.${field.path || field.field.storageId}`;
42
+ },
43
+ fields,
44
+ query,
45
+ term,
46
+ prepareTerm: normalizeValue
47
+ });
48
+ };
49
+ export { applyFullTextSearch };
50
+
51
+ //# sourceMappingURL=fullTextSearch.js.map