@webiny/api-headless-cms-ddb-es 0.0.0-unstable.78f581c1d2 → 0.0.0-unstable.7be00a75a9

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 (411) hide show
  1. package/README.md +6 -30
  2. package/configurations.d.ts +13 -6
  3. package/configurations.js +28 -40
  4. package/configurations.js.map +1 -1
  5. package/definitions/entry.d.ts +4 -5
  6. package/definitions/entry.js +9 -88
  7. package/definitions/entry.js.map +1 -1
  8. package/definitions/group.d.ts +6 -6
  9. package/definitions/group.js +9 -68
  10. package/definitions/group.js.map +1 -1
  11. package/definitions/model.d.ts +6 -6
  12. package/definitions/model.js +9 -90
  13. package/definitions/model.js.map +1 -1
  14. package/definitions/types.d.ts +65 -0
  15. package/definitions/types.js +0 -0
  16. package/elasticsearch/createElasticsearchIndex.d.ts +5 -5
  17. package/elasticsearch/createElasticsearchIndex.js +53 -56
  18. package/elasticsearch/createElasticsearchIndex.js.map +1 -1
  19. package/elasticsearch/deleteElasticsearchIndex.d.ts +3 -3
  20. package/elasticsearch/deleteElasticsearchIndex.js +20 -40
  21. package/elasticsearch/deleteElasticsearchIndex.js.map +1 -1
  22. package/exports/api/cms/opensearch.d.ts +9 -0
  23. package/exports/api/cms/opensearch.js +9 -0
  24. package/feature.d.ts +1 -0
  25. package/feature.js +179 -0
  26. package/feature.js.map +1 -0
  27. package/features/CmsEntryOpenSearchBodyModifier/abstractions.d.ts +16 -0
  28. package/features/CmsEntryOpenSearchBodyModifier/abstractions.js +5 -0
  29. package/features/CmsEntryOpenSearchBodyModifier/abstractions.js.map +1 -0
  30. package/features/CmsEntryOpenSearchBodyModifier/index.d.ts +1 -0
  31. package/features/CmsEntryOpenSearchBodyModifier/index.js +1 -0
  32. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.d.ts +14 -0
  33. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js +42 -0
  34. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -0
  35. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.d.ts +32 -0
  36. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js +5 -0
  37. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js.map +1 -0
  38. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.d.ts +11 -0
  39. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js +5 -0
  40. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -0
  41. package/features/CmsEntryOpenSearchFieldIndex/constants.d.ts +1 -0
  42. package/features/CmsEntryOpenSearchFieldIndex/constants.js +4 -0
  43. package/features/CmsEntryOpenSearchFieldIndex/constants.js.map +1 -0
  44. package/features/CmsEntryOpenSearchFieldIndex/feature.d.ts +4 -0
  45. package/features/CmsEntryOpenSearchFieldIndex/feature.js +29 -0
  46. package/features/CmsEntryOpenSearchFieldIndex/feature.js.map +1 -0
  47. package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.d.ts +11 -0
  48. package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js +60 -0
  49. package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js.map +1 -0
  50. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.d.ts +13 -0
  51. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js +33 -0
  52. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js.map +1 -0
  53. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.d.ts +10 -0
  54. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js +21 -0
  55. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js.map +1 -0
  56. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.d.ts +10 -0
  57. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js +22 -0
  58. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js.map +1 -0
  59. package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.d.ts +11 -0
  60. package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js +32 -0
  61. package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js.map +1 -0
  62. package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.d.ts +12 -0
  63. package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js +107 -0
  64. package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js.map +1 -0
  65. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.d.ts +10 -0
  66. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js +21 -0
  67. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js.map +1 -0
  68. package/features/CmsEntryOpenSearchFieldIndex/fields/TextCompressedFieldIndex.d.ts +15 -0
  69. package/features/CmsEntryOpenSearchFieldIndex/fields/TextCompressedFieldIndex.js +40 -0
  70. package/features/CmsEntryOpenSearchFieldIndex/fields/TextCompressedFieldIndex.js.map +1 -0
  71. package/features/CmsEntryOpenSearchFieldIndex/fields/TextEncryptedFieldIndex.d.ts +15 -0
  72. package/features/CmsEntryOpenSearchFieldIndex/fields/TextEncryptedFieldIndex.js +40 -0
  73. package/features/CmsEntryOpenSearchFieldIndex/fields/TextEncryptedFieldIndex.js.map +1 -0
  74. package/features/CmsEntryOpenSearchFieldIndex/index.d.ts +3 -0
  75. package/features/CmsEntryOpenSearchFieldIndex/index.js +3 -0
  76. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.d.ts +11 -0
  77. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js +36 -0
  78. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js.map +1 -0
  79. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.d.ts +37 -0
  80. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js +5 -0
  81. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js.map +1 -0
  82. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.d.ts +9 -0
  83. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js +5 -0
  84. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js.map +1 -0
  85. package/features/CmsEntryOpenSearchFilter/constants.d.ts +1 -0
  86. package/features/CmsEntryOpenSearchFilter/constants.js +4 -0
  87. package/features/CmsEntryOpenSearchFilter/constants.js.map +1 -0
  88. package/features/CmsEntryOpenSearchFilter/feature.d.ts +4 -0
  89. package/features/CmsEntryOpenSearchFilter/feature.js +17 -0
  90. package/features/CmsEntryOpenSearchFilter/feature.js.map +1 -0
  91. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.d.ts +9 -0
  92. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js +26 -0
  93. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js.map +1 -0
  94. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.d.ts +9 -0
  95. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js +43 -0
  96. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js.map +1 -0
  97. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.d.ts +9 -0
  98. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js +36 -0
  99. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js.map +1 -0
  100. package/features/CmsEntryOpenSearchFilter/index.d.ts +3 -0
  101. package/features/CmsEntryOpenSearchFilter/index.js +3 -0
  102. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.d.ts +20 -0
  103. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js +5 -0
  104. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js.map +1 -0
  105. package/features/CmsEntryOpenSearchFullTextSearch/index.d.ts +1 -0
  106. package/features/CmsEntryOpenSearchFullTextSearch/index.js +1 -0
  107. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.d.ts +11 -0
  108. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js +17 -0
  109. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js.map +1 -0
  110. package/features/CmsEntryOpenSearchIndex/abstractions.d.ts +14 -0
  111. package/features/CmsEntryOpenSearchIndex/abstractions.js +5 -0
  112. package/features/CmsEntryOpenSearchIndex/abstractions.js.map +1 -0
  113. package/features/CmsEntryOpenSearchIndex/feature.d.ts +4 -0
  114. package/features/CmsEntryOpenSearchIndex/feature.js +11 -0
  115. package/features/CmsEntryOpenSearchIndex/feature.js.map +1 -0
  116. package/features/CmsEntryOpenSearchIndex/index.d.ts +3 -0
  117. package/features/CmsEntryOpenSearchIndex/index.js +3 -0
  118. package/features/CmsEntryOpenSearchQueryModifier/abstractions.d.ts +16 -0
  119. package/features/CmsEntryOpenSearchQueryModifier/abstractions.js +5 -0
  120. package/features/CmsEntryOpenSearchQueryModifier/abstractions.js.map +1 -0
  121. package/features/CmsEntryOpenSearchQueryModifier/index.d.ts +1 -0
  122. package/features/CmsEntryOpenSearchQueryModifier/index.js +1 -0
  123. package/features/CmsEntryOpenSearchSortModifier/abstractions.d.ts +15 -0
  124. package/features/CmsEntryOpenSearchSortModifier/abstractions.js +5 -0
  125. package/features/CmsEntryOpenSearchSortModifier/abstractions.js.map +1 -0
  126. package/features/CmsEntryOpenSearchSortModifier/index.d.ts +1 -0
  127. package/features/CmsEntryOpenSearchSortModifier/index.js +1 -0
  128. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.d.ts +12 -0
  129. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js +31 -0
  130. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -0
  131. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.d.ts +22 -0
  132. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js +5 -0
  133. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js.map +1 -0
  134. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.d.ts +10 -0
  135. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js +5 -0
  136. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -0
  137. package/features/CmsEntryOpenSearchValueSearch/feature.d.ts +4 -0
  138. package/features/CmsEntryOpenSearchValueSearch/feature.js +17 -0
  139. package/features/CmsEntryOpenSearchValueSearch/feature.js.map +1 -0
  140. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.d.ts +10 -0
  141. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js +21 -0
  142. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js.map +1 -0
  143. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.d.ts +10 -0
  144. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js +44 -0
  145. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js.map +1 -0
  146. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.d.ts +10 -0
  147. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js +22 -0
  148. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js.map +1 -0
  149. package/features/CmsEntryOpenSearchValueSearch/index.d.ts +3 -0
  150. package/features/CmsEntryOpenSearchValueSearch/index.js +3 -0
  151. package/features/CmsEntryOpenSearchValuesModifier/abstractions.d.ts +23 -0
  152. package/features/CmsEntryOpenSearchValuesModifier/abstractions.js +5 -0
  153. package/features/CmsEntryOpenSearchValuesModifier/abstractions.js.map +1 -0
  154. package/features/CmsEntryOpenSearchValuesModifier/index.d.ts +1 -0
  155. package/features/CmsEntryOpenSearchValuesModifier/index.js +1 -0
  156. package/helpers/entryIndexHelpers.d.ts +13 -11
  157. package/helpers/entryIndexHelpers.js +72 -196
  158. package/helpers/entryIndexHelpers.js.map +1 -1
  159. package/helpers/fieldIdentifier.d.ts +6 -0
  160. package/helpers/fieldIdentifier.js +23 -0
  161. package/helpers/fieldIdentifier.js.map +1 -0
  162. package/helpers/index.d.ts +2 -2
  163. package/helpers/index.js +2 -31
  164. package/index.d.ts +1 -3
  165. package/index.js +1 -268
  166. package/operations/entry/dataLoader/DataLoaderCache.d.ts +16 -0
  167. package/operations/entry/dataLoader/DataLoaderCache.js +27 -0
  168. package/operations/entry/dataLoader/DataLoaderCache.js.map +1 -0
  169. package/operations/entry/dataLoader/constants.d.ts +1 -0
  170. package/operations/entry/dataLoader/constants.js +5 -0
  171. package/operations/entry/dataLoader/constants.js.map +1 -0
  172. package/operations/entry/dataLoader/createBatchScheduleFn.d.ts +8 -0
  173. package/operations/entry/dataLoader/createBatchScheduleFn.js +10 -0
  174. package/operations/entry/dataLoader/createBatchScheduleFn.js.map +1 -0
  175. package/operations/entry/dataLoader/getAllEntryRevisions.d.ts +4 -0
  176. package/operations/entry/dataLoader/getAllEntryRevisions.js +24 -0
  177. package/operations/entry/dataLoader/getAllEntryRevisions.js.map +1 -0
  178. package/operations/entry/dataLoader/getLatestRevisionByEntryId.d.ts +4 -0
  179. package/operations/entry/dataLoader/getLatestRevisionByEntryId.js +34 -0
  180. package/operations/entry/dataLoader/getLatestRevisionByEntryId.js.map +1 -0
  181. package/operations/entry/dataLoader/getPublishedRevisionByEntryId.d.ts +4 -0
  182. package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js +34 -0
  183. package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js.map +1 -0
  184. package/operations/entry/dataLoader/getRevisionById.d.ts +4 -0
  185. package/operations/entry/dataLoader/getRevisionById.js +40 -0
  186. package/operations/entry/dataLoader/getRevisionById.js.map +1 -0
  187. package/operations/entry/dataLoader/index.d.ts +8 -0
  188. package/operations/entry/dataLoader/index.js +18 -0
  189. package/operations/entry/dataLoader/index.js.map +1 -0
  190. package/operations/entry/dataLoader/types.d.ts +6 -0
  191. package/operations/entry/dataLoader/types.js +0 -0
  192. package/operations/entry/dataLoaders.d.ts +17 -38
  193. package/operations/entry/dataLoaders.js +82 -357
  194. package/operations/entry/dataLoaders.js.map +1 -1
  195. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.d.ts +18 -0
  196. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js +9 -0
  197. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js.map +1 -0
  198. package/operations/entry/elasticsearch/body.d.ts +29 -0
  199. package/operations/entry/elasticsearch/body.js +87 -0
  200. package/operations/entry/elasticsearch/body.js.map +1 -0
  201. package/operations/entry/elasticsearch/fields/createSystemField.d.ts +4 -0
  202. package/operations/entry/elasticsearch/fields/createSystemField.js +9 -0
  203. package/operations/entry/elasticsearch/fields/createSystemField.js.map +1 -0
  204. package/operations/entry/elasticsearch/fields/live.d.ts +2 -0
  205. package/operations/entry/elasticsearch/fields/live.js +50 -0
  206. package/operations/entry/elasticsearch/fields/live.js.map +1 -0
  207. package/operations/entry/elasticsearch/fields/location.d.ts +2 -0
  208. package/operations/entry/elasticsearch/fields/location.js +50 -0
  209. package/operations/entry/elasticsearch/fields/location.js.map +1 -0
  210. package/operations/entry/elasticsearch/fields/state.d.ts +2 -0
  211. package/operations/entry/elasticsearch/fields/state.js +104 -0
  212. package/operations/entry/elasticsearch/fields/state.js.map +1 -0
  213. package/operations/entry/elasticsearch/fields.d.ts +12 -0
  214. package/operations/entry/elasticsearch/fields.js +207 -0
  215. package/operations/entry/elasticsearch/fields.js.map +1 -0
  216. package/operations/entry/elasticsearch/filtering/applyFiltering.d.ts +9 -0
  217. package/operations/entry/elasticsearch/filtering/applyFiltering.js +39 -0
  218. package/operations/entry/elasticsearch/filtering/applyFiltering.js.map +1 -0
  219. package/operations/entry/elasticsearch/filtering/exec.d.ts +22 -0
  220. package/operations/entry/elasticsearch/filtering/exec.js +96 -0
  221. package/operations/entry/elasticsearch/filtering/exec.js.map +1 -0
  222. package/operations/entry/elasticsearch/filtering/index.d.ts +1 -0
  223. package/operations/entry/elasticsearch/filtering/index.js +1 -0
  224. package/operations/entry/elasticsearch/filtering/path.d.ts +17 -0
  225. package/operations/entry/elasticsearch/filtering/path.js +27 -0
  226. package/operations/entry/elasticsearch/filtering/path.js.map +1 -0
  227. package/operations/entry/elasticsearch/filtering/populated.d.ts +2 -0
  228. package/operations/entry/elasticsearch/filtering/populated.js +12 -0
  229. package/operations/entry/elasticsearch/filtering/populated.js.map +1 -0
  230. package/operations/entry/elasticsearch/filtering/values.d.ts +2 -0
  231. package/operations/entry/elasticsearch/filtering/values.js +15 -0
  232. package/operations/entry/elasticsearch/filtering/values.js.map +1 -0
  233. package/operations/entry/elasticsearch/fullTextSearch.d.ts +13 -0
  234. package/operations/entry/elasticsearch/fullTextSearch.js +51 -0
  235. package/operations/entry/elasticsearch/fullTextSearch.js.map +1 -0
  236. package/operations/entry/elasticsearch/fullTextSearchFields.d.ts +8 -0
  237. package/operations/entry/elasticsearch/fullTextSearchFields.js +10 -0
  238. package/operations/entry/elasticsearch/fullTextSearchFields.js.map +1 -0
  239. package/operations/entry/elasticsearch/initialQuery.d.ts +17 -0
  240. package/operations/entry/elasticsearch/initialQuery.js +45 -0
  241. package/operations/entry/elasticsearch/initialQuery.js.map +1 -0
  242. package/operations/entry/elasticsearch/keyword.d.ts +2 -0
  243. package/operations/entry/elasticsearch/keyword.js +17 -0
  244. package/operations/entry/elasticsearch/keyword.js.map +1 -0
  245. package/operations/entry/elasticsearch/plugins/operator.d.ts +7 -0
  246. package/operations/entry/elasticsearch/plugins/operator.js +13 -0
  247. package/operations/entry/elasticsearch/plugins/operator.js.map +1 -0
  248. package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.d.ts +2 -0
  249. package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js +8 -0
  250. package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js.map +1 -0
  251. package/operations/entry/elasticsearch/sort.d.ts +12 -0
  252. package/operations/entry/elasticsearch/sort.js +80 -0
  253. package/operations/entry/elasticsearch/sort.js.map +1 -0
  254. package/operations/entry/elasticsearch/transformValueForSearch.d.ts +9 -0
  255. package/operations/entry/elasticsearch/transformValueForSearch.js +12 -0
  256. package/operations/entry/elasticsearch/transformValueForSearch.js.map +1 -0
  257. package/operations/entry/elasticsearch/types.d.ts +34 -0
  258. package/operations/entry/elasticsearch/types.js +0 -0
  259. package/operations/entry/index.d.ts +27 -8
  260. package/operations/entry/index.js +1344 -1245
  261. package/operations/entry/index.js.map +1 -1
  262. package/operations/entry/keys.d.ts +31 -1
  263. package/operations/entry/keys.js +45 -35
  264. package/operations/entry/keys.js.map +1 -1
  265. package/operations/entry/recordType.d.ts +3 -0
  266. package/operations/entry/recordType.js +6 -0
  267. package/operations/entry/recordType.js.map +1 -0
  268. package/operations/entry/transformations/convertEntryKeys.d.ts +8 -0
  269. package/operations/entry/transformations/convertEntryKeys.js +25 -0
  270. package/operations/entry/transformations/convertEntryKeys.js.map +1 -0
  271. package/operations/entry/transformations/index.d.ts +33 -0
  272. package/operations/entry/transformations/index.js +91 -0
  273. package/operations/entry/transformations/index.js.map +1 -0
  274. package/operations/entry/transformations/modifyEntryValues.d.ts +53 -0
  275. package/operations/entry/transformations/modifyEntryValues.js +16 -0
  276. package/operations/entry/transformations/modifyEntryValues.js.map +1 -0
  277. package/operations/entry/transformations/transformEntryKeys.d.ts +11 -0
  278. package/operations/entry/transformations/transformEntryKeys.js +17 -0
  279. package/operations/entry/transformations/transformEntryKeys.js.map +1 -0
  280. package/operations/entry/transformations/transformEntryToIndex.d.ts +10 -0
  281. package/operations/entry/transformations/transformEntryToIndex.js +20 -0
  282. package/operations/entry/transformations/transformEntryToIndex.js.map +1 -0
  283. package/operations/group/index.d.ts +7 -6
  284. package/operations/group/index.js +116 -190
  285. package/operations/group/index.js.map +1 -1
  286. package/operations/model/index.d.ts +4 -4
  287. package/operations/model/index.js +130 -199
  288. package/operations/model/index.js.map +1 -1
  289. package/package.json +44 -41
  290. package/tasks/createIndexTaskPlugin.d.ts +2 -0
  291. package/tasks/createIndexTaskPlugin.js +45 -0
  292. package/tasks/createIndexTaskPlugin.js.map +1 -0
  293. package/types.d.ts +34 -137
  294. package/types.js +10 -47
  295. package/types.js.map +1 -1
  296. package/values/NoValueContainer.d.ts +5 -0
  297. package/values/NoValueContainer.js +11 -0
  298. package/values/NoValueContainer.js.map +1 -0
  299. package/definitions/entryElasticsearch.d.ts +0 -8
  300. package/definitions/entryElasticsearch.js +0 -42
  301. package/definitions/entryElasticsearch.js.map +0 -1
  302. package/definitions/settings.d.ts +0 -8
  303. package/definitions/settings.js +0 -58
  304. package/definitions/settings.js.map +0 -1
  305. package/definitions/system.d.ts +0 -8
  306. package/definitions/system.js +0 -46
  307. package/definitions/system.js.map +0 -1
  308. package/definitions/table.d.ts +0 -8
  309. package/definitions/table.js +0 -24
  310. package/definitions/table.js.map +0 -1
  311. package/definitions/tableElasticsearch.d.ts +0 -8
  312. package/definitions/tableElasticsearch.js +0 -24
  313. package/definitions/tableElasticsearch.js.map +0 -1
  314. package/dynamoDb/index.d.ts +0 -2
  315. package/dynamoDb/index.js +0 -16
  316. package/dynamoDb/index.js.map +0 -1
  317. package/dynamoDb/storage/date.d.ts +0 -2
  318. package/dynamoDb/storage/date.js +0 -99
  319. package/dynamoDb/storage/date.js.map +0 -1
  320. package/dynamoDb/storage/longText.d.ts +0 -10
  321. package/dynamoDb/storage/longText.js +0 -101
  322. package/dynamoDb/storage/longText.js.map +0 -1
  323. package/dynamoDb/storage/richText.d.ts +0 -7
  324. package/dynamoDb/storage/richText.js +0 -128
  325. package/dynamoDb/storage/richText.js.map +0 -1
  326. package/elasticsearch/index.d.ts +0 -2
  327. package/elasticsearch/index.js +0 -16
  328. package/elasticsearch/index.js.map +0 -1
  329. package/elasticsearch/indexing/dateTimeIndexing.d.ts +0 -3
  330. package/elasticsearch/indexing/dateTimeIndexing.js +0 -103
  331. package/elasticsearch/indexing/dateTimeIndexing.js.map +0 -1
  332. package/elasticsearch/indexing/defaultFieldIndexing.d.ts +0 -3
  333. package/elasticsearch/indexing/defaultFieldIndexing.js +0 -47
  334. package/elasticsearch/indexing/defaultFieldIndexing.js.map +0 -1
  335. package/elasticsearch/indexing/index.d.ts +0 -2
  336. package/elasticsearch/indexing/index.js +0 -24
  337. package/elasticsearch/indexing/index.js.map +0 -1
  338. package/elasticsearch/indexing/longTextIndexing.d.ts +0 -3
  339. package/elasticsearch/indexing/longTextIndexing.js +0 -36
  340. package/elasticsearch/indexing/longTextIndexing.js.map +0 -1
  341. package/elasticsearch/indexing/numberIndexing.d.ts +0 -3
  342. package/elasticsearch/indexing/numberIndexing.js +0 -48
  343. package/elasticsearch/indexing/numberIndexing.js.map +0 -1
  344. package/elasticsearch/indexing/objectIndexing.d.ts +0 -12
  345. package/elasticsearch/indexing/objectIndexing.js +0 -223
  346. package/elasticsearch/indexing/objectIndexing.js.map +0 -1
  347. package/elasticsearch/indexing/richTextIndexing.d.ts +0 -3
  348. package/elasticsearch/indexing/richTextIndexing.js +0 -34
  349. package/elasticsearch/indexing/richTextIndexing.js.map +0 -1
  350. package/elasticsearch/indices/base.d.ts +0 -2
  351. package/elasticsearch/indices/base.js +0 -15
  352. package/elasticsearch/indices/base.js.map +0 -1
  353. package/elasticsearch/indices/index.d.ts +0 -1
  354. package/elasticsearch/indices/index.js +0 -16
  355. package/elasticsearch/indices/index.js.map +0 -1
  356. package/elasticsearch/indices/japanese.d.ts +0 -2
  357. package/elasticsearch/indices/japanese.js +0 -16
  358. package/elasticsearch/indices/japanese.js.map +0 -1
  359. package/elasticsearch/search/index.d.ts +0 -3
  360. package/elasticsearch/search/index.js +0 -14
  361. package/elasticsearch/search/index.js.map +0 -1
  362. package/elasticsearch/search/refSearch.d.ts +0 -2
  363. package/elasticsearch/search/refSearch.js +0 -33
  364. package/elasticsearch/search/refSearch.js.map +0 -1
  365. package/elasticsearch/search/timeSearch.d.ts +0 -2
  366. package/elasticsearch/search/timeSearch.js +0 -33
  367. package/elasticsearch/search/timeSearch.js.map +0 -1
  368. package/helpers/createElasticsearchQueryBody.d.ts +0 -11
  369. package/helpers/createElasticsearchQueryBody.js +0 -611
  370. package/helpers/createElasticsearchQueryBody.js.map +0 -1
  371. package/helpers/fields.d.ts +0 -19
  372. package/helpers/fields.js +0 -205
  373. package/helpers/fields.js.map +0 -1
  374. package/helpers/index.js.map +0 -1
  375. package/helpers/searchPluginsList.d.ts +0 -6
  376. package/helpers/searchPluginsList.js +0 -26
  377. package/helpers/searchPluginsList.js.map +0 -1
  378. package/helpers/transformValueForSearch.d.ts +0 -12
  379. package/helpers/transformValueForSearch.js +0 -29
  380. package/helpers/transformValueForSearch.js.map +0 -1
  381. package/index.js.map +0 -1
  382. package/operations/entry/elasticsearchFields.d.ts +0 -2
  383. package/operations/entry/elasticsearchFields.js +0 -38
  384. package/operations/entry/elasticsearchFields.js.map +0 -1
  385. package/operations/settings/index.d.ts +0 -6
  386. package/operations/settings/index.js +0 -135
  387. package/operations/settings/index.js.map +0 -1
  388. package/operations/system/index.d.ts +0 -6
  389. package/operations/system/index.js +0 -99
  390. package/operations/system/index.js.map +0 -1
  391. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.d.ts +0 -20
  392. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js +0 -24
  393. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js.map +0 -1
  394. package/plugins/CmsEntryElasticsearchFieldPlugin.d.ts +0 -12
  395. package/plugins/CmsEntryElasticsearchFieldPlugin.js +0 -24
  396. package/plugins/CmsEntryElasticsearchFieldPlugin.js.map +0 -1
  397. package/plugins/CmsEntryElasticsearchIndexPlugin.d.ts +0 -4
  398. package/plugins/CmsEntryElasticsearchIndexPlugin.js +0 -17
  399. package/plugins/CmsEntryElasticsearchIndexPlugin.js.map +0 -1
  400. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.d.ts +0 -30
  401. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js +0 -43
  402. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js.map +0 -1
  403. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.d.ts +0 -17
  404. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js +0 -24
  405. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js.map +0 -1
  406. package/plugins/CmsEntryElasticsearchSortModifierPlugin.d.ts +0 -17
  407. package/plugins/CmsEntryElasticsearchSortModifierPlugin.js +0 -24
  408. package/plugins/CmsEntryElasticsearchSortModifierPlugin.js.map +0 -1
  409. package/plugins/index.d.ts +0 -6
  410. package/plugins/index.js +0 -83
  411. package/plugins/index.js.map +0 -1
@@ -0,0 +1,25 @@
1
+ const convertEntryKeysToStorage = (params)=>{
2
+ const { model, entry } = params;
3
+ const values = model.convertValueKeyToStorage({
4
+ fields: model.fields,
5
+ values: entry.values
6
+ });
7
+ return {
8
+ ...entry,
9
+ values
10
+ };
11
+ };
12
+ const convertEntryKeysFromStorage = (params)=>{
13
+ const { model, entry } = params;
14
+ const values = model.convertValueKeyFromStorage({
15
+ fields: model.fields,
16
+ values: entry.values
17
+ });
18
+ return {
19
+ ...entry,
20
+ values
21
+ };
22
+ };
23
+ export { convertEntryKeysFromStorage, convertEntryKeysToStorage };
24
+
25
+ //# sourceMappingURL=convertEntryKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/entry/transformations/convertEntryKeys.js","sources":["../../../../src/operations/entry/transformations/convertEntryKeys.ts"],"sourcesContent":["import type {\n CmsEntryValues,\n CmsStorageEntry,\n StorageOperationsCmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\n\ninterface ConvertStorageEntryParams<T extends CmsEntryValues = CmsEntryValues> {\n entry: CmsStorageEntry<T>;\n model: StorageOperationsCmsModel<T>;\n}\nexport const convertEntryKeysToStorage = <T extends CmsEntryValues = CmsEntryValues>(\n params: ConvertStorageEntryParams<T>\n): CmsStorageEntry<T> => {\n const { model, entry } = params;\n\n const values = model.convertValueKeyToStorage({\n fields: model.fields,\n values: entry.values\n });\n return {\n ...entry,\n values\n };\n};\n\nexport const convertEntryKeysFromStorage = <T extends CmsEntryValues = CmsEntryValues>(\n params: ConvertStorageEntryParams<T>\n): CmsStorageEntry<T> => {\n const { model, entry } = params;\n\n const values = model.convertValueKeyFromStorage({\n fields: model.fields,\n values: entry.values\n });\n return {\n ...entry,\n values\n };\n};\n"],"names":["convertEntryKeysToStorage","params","model","entry","values","convertEntryKeysFromStorage"],"mappings":"AAUO,MAAMA,4BAA4B,CACrCC;IAEA,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;IAEzB,MAAMG,SAASF,MAAM,wBAAwB,CAAC;QAC1C,QAAQA,MAAM,MAAM;QACpB,QAAQC,MAAM,MAAM;IACxB;IACA,OAAO;QACH,GAAGA,KAAK;QACRC;IACJ;AACJ;AAEO,MAAMC,8BAA8B,CACvCJ;IAEA,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;IAEzB,MAAMG,SAASF,MAAM,0BAA0B,CAAC;QAC5C,QAAQA,MAAM,MAAM;QACpB,QAAQC,MAAM,MAAM;IACxB;IACA,OAAO;QACH,GAAGA,KAAK;QACRC;IACJ;AACJ"}
@@ -0,0 +1,33 @@
1
+ import type { CmsEntry, CmsEntryValues, StorageOperationsCmsModel } from "@webiny/api-headless-cms/types/index.js";
2
+ import type { CmsIndexEntry } from "../../../types.js";
3
+ import type { CmsEntryOpenSearchValuesModifier } from "../../../features/CmsEntryOpenSearchValuesModifier/index.js";
4
+ import { CompressionHandler } from "@webiny/utils/features/compression/abstractions/CompressionHandler.js";
5
+ import { CmsEntryOpenSearchFieldIndexRegistry } from "../../../features/CmsEntryOpenSearchFieldIndex/index.js";
6
+ interface BaseTransformerParams<T extends CmsEntryValues = CmsEntryValues> {
7
+ model: StorageOperationsCmsModel<T>;
8
+ fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;
9
+ compressionHandler: Pick<CompressionHandler.Interface, "compress">;
10
+ valuesModifiers: CmsEntryOpenSearchValuesModifier.Interface[];
11
+ }
12
+ interface EntryTransformerParams<T extends CmsEntryValues = CmsEntryValues> extends BaseTransformerParams<T> {
13
+ entry: CmsEntry<T>;
14
+ storageEntry: CmsEntry<T>;
15
+ transformedToIndex?: never;
16
+ }
17
+ interface TransformedEntryTransformerParams<T extends CmsEntryValues = CmsEntryValues> extends BaseTransformerParams<T> {
18
+ entry?: never;
19
+ storageEntry?: never;
20
+ transformedToIndex: CmsIndexEntry<T>;
21
+ }
22
+ interface TransformedKeysEntry<T extends CmsEntryValues = CmsEntryValues> {
23
+ entry: CmsEntry<T>;
24
+ storageEntry: CmsEntry<T>;
25
+ }
26
+ interface TransformerResult<T extends CmsEntryValues = CmsEntryValues> {
27
+ transformEntryKeys: () => TransformedKeysEntry<T>;
28
+ transformToIndex: () => CmsIndexEntry<T>;
29
+ getElasticsearchLatestEntryData: () => Promise<Record<string, any>>;
30
+ getElasticsearchPublishedEntryData: () => Promise<Record<string, any>>;
31
+ }
32
+ export declare const createTransformer: <T extends CmsEntryValues = CmsEntryValues>(params: EntryTransformerParams<T> | TransformedEntryTransformerParams<T>) => TransformerResult<T>;
33
+ export {};
@@ -0,0 +1,91 @@
1
+ import { transformEntryKeys } from "./transformEntryKeys.js";
2
+ import { transformEntryToIndex } from "./transformEntryToIndex.js";
3
+ import { modifyEntryValues as external_modifyEntryValues_js_modifyEntryValues } from "./modifyEntryValues.js";
4
+ import { createLatestRecordType, createPublishedRecordType } from "../recordType.js";
5
+ import error from "@webiny/error";
6
+ const createTransformer = (params)=>{
7
+ const { model, fieldIndexRegistry, entry: baseEntry, storageEntry: baseStorageEntry, transformedToIndex: initialTransformedEntryToIndex, compressionHandler, valuesModifiers } = params;
8
+ let transformedEntryKeys;
9
+ let transformedEntryToIndex = initialTransformedEntryToIndex;
10
+ let modifiedEntryValues;
11
+ let elasticsearchLatestEntry;
12
+ let elasticsearchPublishedEntry;
13
+ const applicableModifiers = valuesModifiers.filter((m)=>m.canModify(model.modelId));
14
+ const modifyEntryValues = ()=>{
15
+ if (initialTransformedEntryToIndex || !baseEntry) throw new error('Should not call the "modifyEntryValues" when "transformedToIndex" is provided.', "METHOD_NOT_ALLOWED", {
16
+ entry: initialTransformedEntryToIndex
17
+ });
18
+ if (modifiedEntryValues) return modifiedEntryValues;
19
+ const modifiedEntry = external_modifyEntryValues_js_modifyEntryValues({
20
+ modifiers: applicableModifiers,
21
+ model,
22
+ entry: baseEntry
23
+ });
24
+ const modifiedStorageEntry = external_modifyEntryValues_js_modifyEntryValues({
25
+ modifiers: applicableModifiers,
26
+ model,
27
+ entry: baseStorageEntry
28
+ });
29
+ return modifiedEntryValues = transformEntryKeys({
30
+ model,
31
+ entry: modifiedEntry,
32
+ storageEntry: modifiedStorageEntry
33
+ });
34
+ };
35
+ return {
36
+ transformEntryKeys: function() {
37
+ if (initialTransformedEntryToIndex || !baseEntry) throw new error('Should not call the "modifyEntryValues" when "transformedToIndex" is provided.', "METHOD_NOT_ALLOWED", {
38
+ entry: initialTransformedEntryToIndex
39
+ });
40
+ if (transformedEntryKeys) return transformedEntryKeys;
41
+ return transformedEntryKeys = transformEntryKeys({
42
+ model,
43
+ entry: baseEntry,
44
+ storageEntry: baseStorageEntry
45
+ });
46
+ },
47
+ transformToIndex: function() {
48
+ if (transformedEntryToIndex) return transformedEntryToIndex;
49
+ let entry;
50
+ let storageEntry;
51
+ if (applicableModifiers.length > 0) {
52
+ const result = modifyEntryValues();
53
+ entry = result.entry;
54
+ storageEntry = result.storageEntry;
55
+ } else {
56
+ const result = this.transformEntryKeys();
57
+ entry = result.entry;
58
+ storageEntry = result.storageEntry;
59
+ }
60
+ return transformedEntryToIndex = transformEntryToIndex({
61
+ model,
62
+ entry,
63
+ storageEntry,
64
+ fieldIndexRegistry
65
+ });
66
+ },
67
+ getElasticsearchLatestEntryData: async function() {
68
+ if (elasticsearchLatestEntry) return elasticsearchLatestEntry;
69
+ const entry = this.transformToIndex();
70
+ return elasticsearchLatestEntry = await compressionHandler.compress({
71
+ ...entry,
72
+ latest: true,
73
+ TYPE: createLatestRecordType(),
74
+ __type: createLatestRecordType()
75
+ });
76
+ },
77
+ getElasticsearchPublishedEntryData: async function() {
78
+ if (elasticsearchPublishedEntry) return elasticsearchPublishedEntry;
79
+ const entry = this.transformToIndex();
80
+ return elasticsearchPublishedEntry = await compressionHandler.compress({
81
+ ...entry,
82
+ published: true,
83
+ TYPE: createPublishedRecordType(),
84
+ __type: createPublishedRecordType()
85
+ });
86
+ }
87
+ };
88
+ };
89
+ export { createTransformer };
90
+
91
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/entry/transformations/index.js","sources":["../../../../src/operations/entry/transformations/index.ts"],"sourcesContent":["import type {\n CmsEntry,\n CmsEntryValues,\n CmsStorageEntry,\n StorageOperationsCmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { transformEntryKeys } from \"./transformEntryKeys.js\";\nimport type { CmsIndexEntry } from \"~/types.js\";\nimport { transformEntryToIndex } from \"~/operations/entry/transformations/transformEntryToIndex.js\";\nimport type { CmsEntryOpenSearchValuesModifier } from \"~/features/CmsEntryOpenSearchValuesModifier/index.js\";\nimport { modifyEntryValues as modifyEntryValuesCallable } from \"~/operations/entry/transformations/modifyEntryValues.js\";\nimport {\n createLatestRecordType,\n createPublishedRecordType\n} from \"~/operations/entry/recordType.js\";\nimport WebinyError from \"@webiny/error\";\nimport { CompressionHandler } from \"@webiny/utils/features/compression/abstractions/CompressionHandler.js\";\nimport { CmsEntryOpenSearchFieldIndexRegistry } from \"~/features/CmsEntryOpenSearchFieldIndex/index.js\";\n\ninterface BaseTransformerParams<T extends CmsEntryValues = CmsEntryValues> {\n model: StorageOperationsCmsModel<T>;\n fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;\n compressionHandler: Pick<CompressionHandler.Interface, \"compress\">;\n valuesModifiers: CmsEntryOpenSearchValuesModifier.Interface[];\n}\n\ninterface EntryTransformerParams<\n T extends CmsEntryValues = CmsEntryValues\n> extends BaseTransformerParams<T> {\n entry: CmsEntry<T>;\n storageEntry: CmsEntry<T>;\n transformedToIndex?: never;\n}\n\ninterface TransformedEntryTransformerParams<\n T extends CmsEntryValues = CmsEntryValues\n> extends BaseTransformerParams<T> {\n entry?: never;\n storageEntry?: never;\n transformedToIndex: CmsIndexEntry<T>;\n}\n\ninterface TransformedKeysEntry<T extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<T>;\n storageEntry: CmsEntry<T>;\n}\n\ninterface ModifiedEntryValues<T extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<T>;\n storageEntry: CmsEntry<T>;\n}\n\ninterface TransformerResult<T extends CmsEntryValues = CmsEntryValues> {\n transformEntryKeys: () => TransformedKeysEntry<T>;\n transformToIndex: () => CmsIndexEntry<T>;\n getElasticsearchLatestEntryData: () => Promise<Record<string, any>>;\n getElasticsearchPublishedEntryData: () => Promise<Record<string, any>>;\n}\n\nexport const createTransformer = <T extends CmsEntryValues = CmsEntryValues>(\n params: EntryTransformerParams<T> | TransformedEntryTransformerParams<T>\n): TransformerResult<T> => {\n const {\n model,\n fieldIndexRegistry,\n entry: baseEntry,\n storageEntry: baseStorageEntry,\n transformedToIndex: initialTransformedEntryToIndex = undefined,\n compressionHandler,\n valuesModifiers\n } = params;\n\n let transformedEntryKeys: TransformedKeysEntry<T> | undefined = undefined;\n let transformedEntryToIndex: CmsIndexEntry<T> | undefined = initialTransformedEntryToIndex;\n let modifiedEntryValues: ModifiedEntryValues<T> | undefined = undefined;\n let elasticsearchLatestEntry: any = undefined;\n let elasticsearchPublishedEntry: any = undefined;\n\n const applicableModifiers = valuesModifiers.filter(m => m.canModify(model.modelId));\n\n const modifyEntryValues = () => {\n if (initialTransformedEntryToIndex || !baseEntry) {\n throw new WebinyError(\n `Should not call the \"modifyEntryValues\" when \"transformedToIndex\" is provided.`,\n \"METHOD_NOT_ALLOWED\",\n {\n entry: initialTransformedEntryToIndex\n }\n );\n }\n if (modifiedEntryValues) {\n return modifiedEntryValues;\n }\n const modifiedEntry = modifyEntryValuesCallable<T>({\n modifiers: applicableModifiers,\n model,\n entry: baseEntry\n });\n const modifiedStorageEntry = modifyEntryValuesCallable<T>({\n modifiers: applicableModifiers,\n model,\n entry: baseStorageEntry\n });\n\n return (modifiedEntryValues = transformEntryKeys<T>({\n model,\n entry: modifiedEntry,\n storageEntry: modifiedStorageEntry\n }));\n };\n\n return {\n transformEntryKeys: function () {\n if (initialTransformedEntryToIndex || !baseEntry) {\n throw new WebinyError(\n `Should not call the \"modifyEntryValues\" when \"transformedToIndex\" is provided.`,\n \"METHOD_NOT_ALLOWED\",\n {\n entry: initialTransformedEntryToIndex\n }\n );\n }\n if (transformedEntryKeys) {\n return transformedEntryKeys;\n }\n return (transformedEntryKeys = transformEntryKeys({\n model,\n entry: baseEntry,\n storageEntry: baseStorageEntry\n }));\n },\n transformToIndex: function () {\n if (transformedEntryToIndex) {\n return transformedEntryToIndex;\n }\n let entry: CmsEntry<T>;\n let storageEntry: CmsStorageEntry<T>;\n /**\n * In case there are value modifier plugins, we need to\n * - run modifiers\n * - transform keys\n */\n if (applicableModifiers.length > 0) {\n const result = modifyEntryValues();\n entry = result.entry;\n storageEntry = result.storageEntry;\n }\n // In case there are no modifier plugins, just transform the keys - or used already transformed.\n else {\n const result = this.transformEntryKeys();\n entry = result.entry;\n storageEntry = result.storageEntry;\n }\n return (transformedEntryToIndex = transformEntryToIndex<T>({\n model,\n entry,\n storageEntry,\n fieldIndexRegistry\n }));\n },\n getElasticsearchLatestEntryData: async function () {\n if (elasticsearchLatestEntry) {\n return elasticsearchLatestEntry;\n }\n const entry = this.transformToIndex();\n\n return (elasticsearchLatestEntry = await compressionHandler.compress({\n ...entry,\n latest: true,\n TYPE: createLatestRecordType(),\n __type: createLatestRecordType()\n }));\n },\n getElasticsearchPublishedEntryData: async function () {\n if (elasticsearchPublishedEntry) {\n return elasticsearchPublishedEntry;\n }\n const entry = this.transformToIndex();\n\n return (elasticsearchPublishedEntry = await compressionHandler.compress({\n ...entry,\n published: true,\n TYPE: createPublishedRecordType(),\n __type: createPublishedRecordType()\n }));\n }\n };\n};\n"],"names":["createTransformer","params","model","fieldIndexRegistry","baseEntry","baseStorageEntry","initialTransformedEntryToIndex","compressionHandler","valuesModifiers","transformedEntryKeys","transformedEntryToIndex","modifiedEntryValues","elasticsearchLatestEntry","elasticsearchPublishedEntry","applicableModifiers","m","modifyEntryValues","WebinyError","modifiedEntry","modifyEntryValuesCallable","modifiedStorageEntry","transformEntryKeys","entry","storageEntry","result","transformEntryToIndex","createLatestRecordType","createPublishedRecordType"],"mappings":";;;;;AA2DO,MAAMA,oBAAoB,CAC7BC;IAEA,MAAM,EACFC,KAAK,EACLC,kBAAkB,EAClB,OAAOC,SAAS,EAChB,cAAcC,gBAAgB,EAC9B,oBAAoBC,8BAA8B,EAClDC,kBAAkB,EAClBC,eAAe,EAClB,GAAGP;IAEJ,IAAIQ;IACJ,IAAIC,0BAAwDJ;IAC5D,IAAIK;IACJ,IAAIC;IACJ,IAAIC;IAEJ,MAAMC,sBAAsBN,gBAAgB,MAAM,CAACO,CAAAA,IAAKA,EAAE,SAAS,CAACb,MAAM,OAAO;IAEjF,MAAMc,oBAAoB;QACtB,IAAIV,kCAAkC,CAACF,WACnC,MAAM,IAAIa,MACN,kFACA,sBACA;YACI,OAAOX;QACX;QAGR,IAAIK,qBACA,OAAOA;QAEX,MAAMO,gBAAgBC,gDAA6B;YAC/C,WAAWL;YACXZ;YACA,OAAOE;QACX;QACA,MAAMgB,uBAAuBD,gDAA6B;YACtD,WAAWL;YACXZ;YACA,OAAOG;QACX;QAEA,OAAQM,sBAAsBU,mBAAsB;YAChDnB;YACA,OAAOgB;YACP,cAAcE;QAClB;IACJ;IAEA,OAAO;QACH,oBAAoB;YAChB,IAAId,kCAAkC,CAACF,WACnC,MAAM,IAAIa,MACN,kFACA,sBACA;gBACI,OAAOX;YACX;YAGR,IAAIG,sBACA,OAAOA;YAEX,OAAQA,uBAAuBY,mBAAmB;gBAC9CnB;gBACA,OAAOE;gBACP,cAAcC;YAClB;QACJ;QACA,kBAAkB;YACd,IAAIK,yBACA,OAAOA;YAEX,IAAIY;YACJ,IAAIC;YAMJ,IAAIT,oBAAoB,MAAM,GAAG,GAAG;gBAChC,MAAMU,SAASR;gBACfM,QAAQE,OAAO,KAAK;gBACpBD,eAAeC,OAAO,YAAY;YACtC,OAEK;gBACD,MAAMA,SAAS,IAAI,CAAC,kBAAkB;gBACtCF,QAAQE,OAAO,KAAK;gBACpBD,eAAeC,OAAO,YAAY;YACtC;YACA,OAAQd,0BAA0Be,sBAAyB;gBACvDvB;gBACAoB;gBACAC;gBACApB;YACJ;QACJ;QACA,iCAAiC;YAC7B,IAAIS,0BACA,OAAOA;YAEX,MAAMU,QAAQ,IAAI,CAAC,gBAAgB;YAEnC,OAAQV,2BAA2B,MAAML,mBAAmB,QAAQ,CAAC;gBACjE,GAAGe,KAAK;gBACR,QAAQ;gBACR,MAAMI;gBACN,QAAQA;YACZ;QACJ;QACA,oCAAoC;YAChC,IAAIb,6BACA,OAAOA;YAEX,MAAMS,QAAQ,IAAI,CAAC,gBAAgB;YAEnC,OAAQT,8BAA8B,MAAMN,mBAAmB,QAAQ,CAAC;gBACpE,GAAGe,KAAK;gBACR,WAAW;gBACX,MAAMK;gBACN,QAAQA;YACZ;QACJ;IACJ;AACJ"}
@@ -0,0 +1,53 @@
1
+ import type { CmsEntry, CmsEntryValues, StorageOperationsCmsModel } from "@webiny/api-headless-cms/types/index.js";
2
+ import type { CmsEntryOpenSearchValuesModifier } from "../../../features/CmsEntryOpenSearchValuesModifier/index.js";
3
+ interface Params<T extends CmsEntryValues = CmsEntryValues> {
4
+ model: StorageOperationsCmsModel<T>;
5
+ modifiers: CmsEntryOpenSearchValuesModifier.Interface[];
6
+ entry: CmsEntry<T>;
7
+ }
8
+ export declare const modifyEntryValues: <T extends CmsEntryValues = CmsEntryValues>(params: Params<T>) => {
9
+ values: T;
10
+ tenant: string;
11
+ entryId: string;
12
+ id: string;
13
+ revisionCreatedOn: string;
14
+ revisionSavedOn: string;
15
+ revisionModifiedOn: string | null;
16
+ revisionDeletedOn: string | null;
17
+ revisionRestoredOn: string | null;
18
+ revisionFirstPublishedOn: string | null;
19
+ revisionLastPublishedOn: string | null;
20
+ revisionCreatedBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity;
21
+ revisionSavedBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity;
22
+ revisionModifiedBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity | null;
23
+ revisionDeletedBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity | null;
24
+ revisionRestoredBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity | null;
25
+ revisionFirstPublishedBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity | null;
26
+ revisionLastPublishedBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity | null;
27
+ createdOn: string;
28
+ savedOn: string;
29
+ modifiedOn: string | null;
30
+ deletedOn: string | null;
31
+ restoredOn: string | null;
32
+ firstPublishedOn: string | null;
33
+ lastPublishedOn: string | null;
34
+ createdBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity;
35
+ savedBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity;
36
+ modifiedBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity | null;
37
+ deletedBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity | null;
38
+ restoredBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity | null;
39
+ firstPublishedBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity | null;
40
+ lastPublishedBy: import("@webiny/api-headless-cms/types/identity").CmsIdentity | null;
41
+ modelId: string;
42
+ version: number;
43
+ locked: boolean;
44
+ status: import("@webiny/api-headless-cms/types/types").CmsEntryStatus;
45
+ location?: import("@webiny/api-headless-cms/types/types").ICmsEntryLocation;
46
+ wbyDeleted?: boolean | null;
47
+ binOriginalFolderId?: string;
48
+ system?: import("@webiny/api-headless-cms/types/types").ICmsEntrySystem;
49
+ live: import("@webiny/api-headless-cms/types/types").ICmsEntryLive | null;
50
+ revisionDescription: string | undefined;
51
+ expiresAt: number | null;
52
+ };
53
+ export {};
@@ -0,0 +1,16 @@
1
+ const modifyEntryValues = (params)=>{
2
+ const { modifiers, model, entry } = params;
3
+ let values = entry.values;
4
+ for (const modifier of modifiers)values = modifier.modify({
5
+ model,
6
+ entry,
7
+ values
8
+ });
9
+ return {
10
+ ...entry,
11
+ values
12
+ };
13
+ };
14
+ export { modifyEntryValues };
15
+
16
+ //# sourceMappingURL=modifyEntryValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/entry/transformations/modifyEntryValues.js","sources":["../../../../src/operations/entry/transformations/modifyEntryValues.ts"],"sourcesContent":["import type {\n CmsEntry,\n CmsEntryValues,\n StorageOperationsCmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport type { CmsEntryOpenSearchValuesModifier } from \"~/features/CmsEntryOpenSearchValuesModifier/index.js\";\n\ninterface Params<T extends CmsEntryValues = CmsEntryValues> {\n model: StorageOperationsCmsModel<T>;\n modifiers: CmsEntryOpenSearchValuesModifier.Interface[];\n entry: CmsEntry<T>;\n}\n\nexport const modifyEntryValues = <T extends CmsEntryValues = CmsEntryValues>(params: Params<T>) => {\n const { modifiers, model, entry } = params;\n let values = entry.values;\n for (const modifier of modifiers) {\n values = modifier.modify<T>({\n model,\n entry,\n values\n });\n }\n return {\n ...entry,\n values\n };\n};\n"],"names":["modifyEntryValues","params","modifiers","model","entry","values","modifier"],"mappings":"AAaO,MAAMA,oBAAoB,CAA4CC;IACzE,MAAM,EAAEC,SAAS,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGH;IACpC,IAAII,SAASD,MAAM,MAAM;IACzB,KAAK,MAAME,YAAYJ,UACnBG,SAASC,SAAS,MAAM,CAAI;QACxBH;QACAC;QACAC;IACJ;IAEJ,OAAO;QACH,GAAGD,KAAK;QACRC;IACJ;AACJ"}
@@ -0,0 +1,11 @@
1
+ import type { CmsEntry, CmsEntryValues, CmsStorageEntry, StorageOperationsCmsModel } from "@webiny/api-headless-cms/types/index.js";
2
+ interface TransformKeysParams<T extends CmsEntryValues = CmsEntryValues> {
3
+ model: StorageOperationsCmsModel<T>;
4
+ entry: CmsEntry<T>;
5
+ storageEntry: CmsStorageEntry<T>;
6
+ }
7
+ export declare const transformEntryKeys: <T extends CmsEntryValues = CmsEntryValues>(params: TransformKeysParams<T>) => {
8
+ entry: CmsStorageEntry<T>;
9
+ storageEntry: CmsStorageEntry<T>;
10
+ };
11
+ export {};
@@ -0,0 +1,17 @@
1
+ import { convertEntryKeysToStorage } from "./convertEntryKeys.js";
2
+ const transformEntryKeys = (params)=>{
3
+ const { model, entry, storageEntry } = params;
4
+ return {
5
+ entry: convertEntryKeysToStorage({
6
+ model,
7
+ entry
8
+ }),
9
+ storageEntry: convertEntryKeysToStorage({
10
+ model,
11
+ entry: storageEntry
12
+ })
13
+ };
14
+ };
15
+ export { transformEntryKeys };
16
+
17
+ //# sourceMappingURL=transformEntryKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/entry/transformations/transformEntryKeys.js","sources":["../../../../src/operations/entry/transformations/transformEntryKeys.ts"],"sourcesContent":["import type {\n CmsEntry,\n CmsEntryValues,\n CmsStorageEntry,\n StorageOperationsCmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { convertEntryKeysToStorage } from \"./convertEntryKeys.js\";\n\ninterface TransformKeysParams<T extends CmsEntryValues = CmsEntryValues> {\n model: StorageOperationsCmsModel<T>;\n entry: CmsEntry<T>;\n storageEntry: CmsStorageEntry<T>;\n}\n\nexport const transformEntryKeys = <T extends CmsEntryValues = CmsEntryValues>(\n params: TransformKeysParams<T>\n) => {\n const { model, entry, storageEntry } = params;\n return {\n entry: convertEntryKeysToStorage<T>({\n model,\n entry\n }),\n storageEntry: convertEntryKeysToStorage<T>({\n model,\n entry: storageEntry\n })\n };\n};\n"],"names":["transformEntryKeys","params","model","entry","storageEntry","convertEntryKeysToStorage"],"mappings":";AAcO,MAAMA,qBAAqB,CAC9BC;IAEA,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,YAAY,EAAE,GAAGH;IACvC,OAAO;QACH,OAAOI,0BAA6B;YAChCH;YACAC;QACJ;QACA,cAAcE,0BAA6B;YACvCH;YACA,OAAOE;QACX;IACJ;AACJ"}
@@ -0,0 +1,10 @@
1
+ import type { CmsEntry, CmsEntryValues, CmsStorageEntry, StorageOperationsCmsModel } from "@webiny/api-headless-cms/types/index.js";
2
+ import type { CmsEntryOpenSearchFieldIndexRegistry } from "../../../features/CmsEntryOpenSearchFieldIndex/index.js";
3
+ interface TransformEntryToIndexParams<T extends CmsEntryValues = CmsEntryValues> {
4
+ model: StorageOperationsCmsModel<T>;
5
+ entry: CmsEntry<T>;
6
+ storageEntry: CmsStorageEntry<T>;
7
+ fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;
8
+ }
9
+ export declare const transformEntryToIndex: <T extends CmsEntryValues = CmsEntryValues>(params: TransformEntryToIndexParams<T>) => import("../../../types").CmsIndexEntry<T>;
10
+ export {};
@@ -0,0 +1,20 @@
1
+ import { prepareEntryToIndex } from "../../../helpers/index.js";
2
+ const transformEntryToIndex = (params)=>{
3
+ const { model, entry, storageEntry, fieldIndexRegistry } = params;
4
+ const result = prepareEntryToIndex({
5
+ model,
6
+ entry: structuredClone(entry),
7
+ storageEntry: structuredClone(storageEntry),
8
+ fieldIndexRegistry
9
+ });
10
+ delete result["PK"];
11
+ delete result["SK"];
12
+ delete result["GSI1_PK"];
13
+ delete result["GSI1_SK"];
14
+ delete result["published"];
15
+ delete result["latest"];
16
+ return result;
17
+ };
18
+ export { transformEntryToIndex };
19
+
20
+ //# sourceMappingURL=transformEntryToIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/entry/transformations/transformEntryToIndex.js","sources":["../../../../src/operations/entry/transformations/transformEntryToIndex.ts"],"sourcesContent":["import type {\n CmsEntry,\n CmsEntryValues,\n CmsStorageEntry,\n StorageOperationsCmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { prepareEntryToIndex } from \"~/helpers/index.js\";\nimport type { CmsEntryOpenSearchFieldIndexRegistry } from \"~/features/CmsEntryOpenSearchFieldIndex/index.js\";\n\ninterface TransformEntryToIndexParams<T extends CmsEntryValues = CmsEntryValues> {\n model: StorageOperationsCmsModel<T>;\n entry: CmsEntry<T>;\n storageEntry: CmsStorageEntry<T>;\n fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;\n}\n\nexport const transformEntryToIndex = <T extends CmsEntryValues = CmsEntryValues>(\n params: TransformEntryToIndexParams<T>\n) => {\n const { model, entry, storageEntry, fieldIndexRegistry } = params;\n const result = prepareEntryToIndex<T>({\n model,\n entry: structuredClone(entry),\n storageEntry: structuredClone(storageEntry),\n fieldIndexRegistry\n });\n\n delete result[\"PK\"];\n delete result[\"SK\"];\n delete result[\"GSI1_PK\"];\n delete result[\"GSI1_SK\"];\n delete result[\"published\"];\n delete result[\"latest\"];\n\n return result;\n};\n"],"names":["transformEntryToIndex","params","model","entry","storageEntry","fieldIndexRegistry","result","prepareEntryToIndex","structuredClone"],"mappings":";AAgBO,MAAMA,wBAAwB,CACjCC;IAEA,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,YAAY,EAAEC,kBAAkB,EAAE,GAAGJ;IAC3D,MAAMK,SAASC,oBAAuB;QAClCL;QACA,OAAOM,gBAAgBL;QACvB,cAAcK,gBAAgBJ;QAC9BC;IACJ;IAEA,OAAOC,MAAM,CAAC,KAAK;IACnB,OAAOA,MAAM,CAAC,KAAK;IACnB,OAAOA,MAAM,CAAC,UAAU;IACxB,OAAOA,MAAM,CAAC,UAAU;IACxB,OAAOA,MAAM,CAAC,YAAY;IAC1B,OAAOA,MAAM,CAAC,SAAS;IAEvB,OAAOA;AACX"}
@@ -1,8 +1,9 @@
1
- import { CmsGroupStorageOperations } from "@webiny/api-headless-cms/types";
2
- import { Entity } from "dynamodb-toolbox";
3
- import { PluginsContainer } from "@webiny/plugins";
4
- export interface CreateGroupsStorageOperationsParams {
5
- entity: Entity<any>;
6
- plugins: PluginsContainer;
1
+ import type { CmsGroupStorageOperations } from "@webiny/api-headless-cms/types/index.js";
2
+ import { IGroupEntity } from "../../definitions/types.js";
3
+ import type { CmsContext } from "../../types.js";
4
+ interface CreateGroupsStorageOperationsParams {
5
+ entity: IGroupEntity;
6
+ container: CmsContext["container"];
7
7
  }
8
8
  export declare const createGroupsStorageOperations: (params: CreateGroupsStorageOperationsParams) => CmsGroupStorageOperations;
9
+ export {};
@@ -1,195 +1,121 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.createGroupsStorageOperations = void 0;
9
-
10
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
- var _error = _interopRequireDefault(require("@webiny/error"));
13
-
14
- var _get = require("@webiny/db-dynamodb/utils/get");
15
-
16
- var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
17
-
18
- var _query = require("@webiny/db-dynamodb/utils/query");
19
-
20
- var _filter = require("@webiny/db-dynamodb/utils/filter");
21
-
22
- var _ValueFilterPlugin = require("@webiny/db-dynamodb/plugins/definitions/ValueFilterPlugin");
23
-
24
- var _sort = require("@webiny/db-dynamodb/utils/sort");
25
-
26
- const createPartitionKey = params => {
27
- const {
28
- tenant,
29
- locale
30
- } = params;
31
- return `T#${tenant}#L#${locale}#CMS#CMG`;
1
+ import error from "@webiny/error";
2
+ import { sortItems } from "@webiny/db-dynamodb";
3
+ import { FilterUtil } from "@webiny/db-dynamodb/exports/api/db.js";
4
+ const createPartitionKey = (params)=>{
5
+ const { tenant } = params;
6
+ return `T#${tenant}#CMS#CMG`;
32
7
  };
33
-
34
- const createSortKeys = params => {
35
- const {
36
- id
37
- } = params;
38
- return id;
39
- };
40
-
41
- const createKeys = params => {
42
- return {
43
- PK: createPartitionKey(params),
44
- SK: createSortKeys(params)
45
- };
46
- };
47
-
48
- const createType = () => {
49
- return "cms.group";
8
+ const createSortKeys = (params)=>{
9
+ const { id } = params;
10
+ return id;
50
11
  };
51
-
52
- const createGroupsStorageOperations = params => {
53
- const {
54
- entity,
55
- plugins
56
- } = params;
57
- const filteringPlugins = plugins.byType(_ValueFilterPlugin.ValueFilterPlugin.type);
58
-
59
- if (filteringPlugins.length === 0) {
60
- throw new _error.default("DynamoDB filtering plugins not loaded.", "MISSING_DYNAMODB_FILTERING_PLUGINS");
61
- }
62
-
63
- const create = async params => {
64
- const {
65
- group
66
- } = params;
67
- const keys = createKeys(group);
68
-
69
- try {
70
- await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, group), {}, {
71
- TYPE: createType()
72
- }, keys));
73
- return group;
74
- } catch (ex) {
75
- throw new _error.default(ex.message || "Could not create group.", ex.code || "CREATE_GROUP_ERROR", {
76
- error: ex,
77
- group,
78
- keys
79
- });
80
- }
81
- };
82
-
83
- const update = async params => {
84
- const {
85
- group
86
- } = params;
87
- const keys = createKeys(group);
88
-
89
- try {
90
- await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, group), {}, {
91
- TYPE: createType()
92
- }, keys));
93
- return group;
94
- } catch (ex) {
95
- throw new _error.default(ex.message || "Could not update group.", ex.code || "UPDATE_GROUP_ERROR", {
96
- error: ex,
97
- group,
98
- keys
99
- });
100
- }
101
- };
102
-
103
- const deleteGroup = async params => {
104
- const {
105
- group
106
- } = params; // TODO make sure that group has locale and tenant on it - add it in the crud just in case
107
-
108
- const keys = createKeys(group);
109
-
110
- try {
111
- await entity.delete(keys);
112
- return group;
113
- } catch (ex) {
114
- throw new _error.default(ex.message || "Could not delete group.", ex.code || "DELETE_GROUP_ERROR", {
115
- error: ex,
116
- group,
117
- keys
118
- });
119
- }
120
- };
121
-
122
- const get = async params => {
123
- const keys = createKeys(params);
124
-
125
- try {
126
- const group = await (0, _get.get)({
127
- entity,
128
- keys
129
- });
130
- return (0, _cleanup.cleanupItem)(entity, group);
131
- } catch (ex) {
132
- throw new _error.default(ex.message || "Could not get group.", ex.code || "GET_GROUP_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({
133
- error: ex
134
- }, params), {}, {
135
- keys
136
- }));
137
- }
138
- };
139
-
140
- const list = async params => {
141
- const {
142
- sort,
143
- where: initialWhere
144
- } = params;
145
- const queryAllParams = {
146
- entity,
147
- partitionKey: createPartitionKey(initialWhere),
148
- options: {
149
- gte: " "
150
- }
151
- };
152
- let records = [];
153
-
154
- try {
155
- records = await (0, _query.queryAll)(queryAllParams);
156
- } catch (ex) {
157
- throw new _error.default(ex.message || "Could not list groups.", ex.code || "LIST_GROUP_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({
158
- error: ex
159
- }, params), {}, {
160
- sort,
161
- where: initialWhere
162
- }));
163
- }
164
-
165
- const where = (0, _objectSpread2.default)({}, initialWhere);
166
- delete where["tenant"];
167
- delete where["locale"];
168
- const filteredItems = (0, _filter.filterItems)({
169
- items: records,
170
- where,
171
- fields: [],
172
- plugins
12
+ const createKeys = (params)=>({
13
+ PK: createPartitionKey(params),
14
+ SK: createSortKeys(params),
15
+ GSI_TENANT: params.tenant
173
16
  });
174
-
175
- if (!sort || sort.length === 0 || filteredItems.length === 0) {
176
- return filteredItems;
177
- }
178
-
179
- return (0, _sort.sortItems)({
180
- items: filteredItems,
181
- sort,
182
- fields: []
183
- });
184
- };
185
-
186
- return {
187
- create,
188
- update,
189
- delete: deleteGroup,
190
- get,
191
- list
192
- };
17
+ const createType = ()=>"cms.group";
18
+ const createGroupsStorageOperations = (params)=>{
19
+ const { entity, container } = params;
20
+ const filterUtil = container.resolve(FilterUtil);
21
+ const create = async (params)=>{
22
+ const { group } = params;
23
+ const keys = createKeys(group);
24
+ try {
25
+ await entity.put({
26
+ data: group,
27
+ TYPE: createType(),
28
+ ...keys
29
+ });
30
+ } catch (ex) {
31
+ throw new error(ex.message || "Could not create group.", ex.code || "CREATE_GROUP_ERROR", {
32
+ error: ex,
33
+ group,
34
+ keys
35
+ });
36
+ }
37
+ };
38
+ const update = async (params)=>{
39
+ const { group } = params;
40
+ const keys = createKeys(group);
41
+ try {
42
+ await entity.put({
43
+ data: group,
44
+ TYPE: createType(),
45
+ ...keys
46
+ });
47
+ } catch (ex) {
48
+ throw new error(ex.message || "Could not update group.", ex.code || "UPDATE_GROUP_ERROR", {
49
+ error: ex,
50
+ group,
51
+ keys
52
+ });
53
+ }
54
+ };
55
+ const deleteGroup = async (params)=>{
56
+ const { group } = params;
57
+ const keys = createKeys(group);
58
+ try {
59
+ await entity.delete(keys);
60
+ } catch (ex) {
61
+ throw new error(ex.message || "Could not delete group.", ex.code || "DELETE_GROUP_ERROR", {
62
+ error: ex,
63
+ group,
64
+ keys
65
+ });
66
+ }
67
+ };
68
+ const get = async (params)=>{
69
+ const keys = createKeys(params);
70
+ try {
71
+ const result = await entity.get(keys);
72
+ return result ? result.data : null;
73
+ } catch (ex) {
74
+ throw new error(ex.message || "Could not get group.", ex.code || "GET_GROUP_ERROR", {
75
+ error: ex,
76
+ ...params,
77
+ keys
78
+ });
79
+ }
80
+ };
81
+ const list = async (params)=>{
82
+ const { sort, where } = params;
83
+ let records = [];
84
+ try {
85
+ const ddbRecords = await entity.queryAll({
86
+ partitionKey: createPartitionKey(where),
87
+ options: {
88
+ gte: " "
89
+ }
90
+ });
91
+ records = ddbRecords.map((item)=>item.data);
92
+ } catch (ex) {
93
+ throw new error(ex.message || "Could not list groups.", ex.code || "LIST_GROUP_ERROR", {
94
+ error: ex,
95
+ ...params,
96
+ sort,
97
+ where
98
+ });
99
+ }
100
+ const filteredItems = filterUtil.filter({
101
+ items: records,
102
+ where,
103
+ fields: []
104
+ });
105
+ if (!sort || 0 === sort.length) return filteredItems;
106
+ return sortItems({
107
+ items: filteredItems,
108
+ sort
109
+ });
110
+ };
111
+ return {
112
+ create,
113
+ update,
114
+ delete: deleteGroup,
115
+ get,
116
+ list
117
+ };
193
118
  };
119
+ export { createGroupsStorageOperations };
194
120
 
195
- exports.createGroupsStorageOperations = createGroupsStorageOperations;
121
+ //# sourceMappingURL=index.js.map