@webiny/api-headless-cms 0.0.0-unstable.99666aeb00 → 0.0.0-unstable.9bd236cf5e

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 (961) hide show
  1. package/constants.d.ts +43 -0
  2. package/constants.js +65 -3
  3. package/constants.js.map +1 -1
  4. package/context.d.ts +1 -1
  5. package/context.js +102 -68
  6. package/context.js.map +1 -1
  7. package/crud/AccessControl/AccessControl.d.ts +98 -0
  8. package/crud/AccessControl/AccessControl.js +542 -0
  9. package/crud/AccessControl/AccessControl.js.map +1 -0
  10. package/crud/AccessControl/README.md +47 -0
  11. package/crud/AccessControl/groups-own.png +0 -0
  12. package/crud/AccessControl/models-own.png +0 -0
  13. package/crud/contentEntry/abstractions/IDeleteEntry.d.ts +4 -0
  14. package/crud/contentEntry/abstractions/IDeleteEntry.js +7 -0
  15. package/crud/contentEntry/abstractions/IDeleteEntry.js.map +1 -0
  16. package/crud/contentEntry/abstractions/IDeleteEntryOperation.d.ts +4 -0
  17. package/crud/contentEntry/abstractions/IDeleteEntryOperation.js +7 -0
  18. package/crud/contentEntry/abstractions/IDeleteEntryOperation.js.map +1 -0
  19. package/crud/contentEntry/abstractions/IGetEntriesByIds.d.ts +4 -0
  20. package/crud/contentEntry/abstractions/IGetEntriesByIds.js +7 -0
  21. package/crud/contentEntry/abstractions/IGetEntriesByIds.js.map +1 -0
  22. package/crud/contentEntry/abstractions/IGetEntry.d.ts +4 -0
  23. package/crud/contentEntry/abstractions/IGetEntry.js +7 -0
  24. package/crud/contentEntry/abstractions/IGetEntry.js.map +1 -0
  25. package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.d.ts +4 -0
  26. package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.js +7 -0
  27. package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.js.map +1 -0
  28. package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.d.ts +4 -0
  29. package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.js +7 -0
  30. package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.js.map +1 -0
  31. package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.d.ts +4 -0
  32. package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.js +7 -0
  33. package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.js.map +1 -0
  34. package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.d.ts +4 -0
  35. package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.js +7 -0
  36. package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.js.map +1 -0
  37. package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.d.ts +4 -0
  38. package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.js +7 -0
  39. package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.js.map +1 -0
  40. package/crud/contentEntry/abstractions/IGetRevisionById.d.ts +4 -0
  41. package/crud/contentEntry/abstractions/IGetRevisionById.js +7 -0
  42. package/crud/contentEntry/abstractions/IGetRevisionById.js.map +1 -0
  43. package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.d.ts +4 -0
  44. package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.js +7 -0
  45. package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.js.map +1 -0
  46. package/crud/contentEntry/abstractions/IListEntries.d.ts +4 -0
  47. package/crud/contentEntry/abstractions/IListEntries.js +7 -0
  48. package/crud/contentEntry/abstractions/IListEntries.js.map +1 -0
  49. package/crud/contentEntry/abstractions/IListEntriesOperation.d.ts +4 -0
  50. package/crud/contentEntry/abstractions/IListEntriesOperation.js +7 -0
  51. package/crud/contentEntry/abstractions/IListEntriesOperation.js.map +1 -0
  52. package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.d.ts +4 -0
  53. package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.js +7 -0
  54. package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.js.map +1 -0
  55. package/crud/contentEntry/abstractions/IRestoreEntryFromBin.d.ts +4 -0
  56. package/crud/contentEntry/abstractions/IRestoreEntryFromBin.js +7 -0
  57. package/crud/contentEntry/abstractions/IRestoreEntryFromBin.js.map +1 -0
  58. package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.d.ts +4 -0
  59. package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.js +7 -0
  60. package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.js.map +1 -0
  61. package/crud/contentEntry/abstractions/index.d.ts +16 -0
  62. package/crud/contentEntry/abstractions/index.js +183 -0
  63. package/crud/contentEntry/abstractions/index.js.map +1 -0
  64. package/crud/contentEntry/afterDelete.d.ts +6 -2
  65. package/crud/contentEntry/afterDelete.js +18 -2
  66. package/crud/contentEntry/afterDelete.js.map +1 -1
  67. package/crud/contentEntry/beforeCreate.d.ts +2 -2
  68. package/crud/contentEntry/beforeCreate.js +3 -1
  69. package/crud/contentEntry/beforeCreate.js.map +1 -1
  70. package/crud/contentEntry/beforeUpdate.d.ts +2 -2
  71. package/crud/contentEntry/beforeUpdate.js +3 -1
  72. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  73. package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +20 -0
  74. package/crud/contentEntry/entryDataFactories/createEntryData.js +254 -0
  75. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -0
  76. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +23 -0
  77. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +157 -0
  78. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -0
  79. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +13 -0
  80. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +63 -0
  81. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -0
  82. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +12 -0
  83. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +59 -0
  84. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -0
  85. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +12 -0
  86. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +40 -0
  87. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -0
  88. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +20 -0
  89. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +130 -0
  90. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -0
  91. package/crud/contentEntry/entryDataFactories/index.d.ts +8 -0
  92. package/crud/contentEntry/entryDataFactories/index.js +95 -0
  93. package/crud/contentEntry/entryDataFactories/index.js.map +1 -0
  94. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +5 -0
  95. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +36 -0
  96. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -0
  97. package/crud/contentEntry/entryDataFactories/statuses.d.ts +4 -0
  98. package/crud/contentEntry/entryDataFactories/statuses.js +12 -0
  99. package/crud/contentEntry/entryDataFactories/statuses.js.map +1 -0
  100. package/crud/contentEntry/entryDataValidation.d.ts +5 -3
  101. package/crud/contentEntry/entryDataValidation.js +223 -45
  102. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  103. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  104. package/crud/contentEntry/markLockedFields.js +17 -10
  105. package/crud/contentEntry/markLockedFields.js.map +1 -1
  106. package/crud/contentEntry/referenceFieldsMapping.d.ts +7 -1
  107. package/crud/contentEntry/referenceFieldsMapping.js +135 -112
  108. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  109. package/crud/contentEntry/searchableFields.d.ts +2 -2
  110. package/crud/contentEntry/searchableFields.js +5 -4
  111. package/crud/contentEntry/searchableFields.js.map +1 -1
  112. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.d.ts +10 -0
  113. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js +58 -0
  114. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js.map +1 -0
  115. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.d.ts +7 -0
  116. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js +17 -0
  117. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js.map +1 -0
  118. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.d.ts +9 -0
  119. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js +45 -0
  120. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js.map +1 -0
  121. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.d.ts +9 -0
  122. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js +22 -0
  123. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js.map +1 -0
  124. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.d.ts +10 -0
  125. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js +33 -0
  126. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js.map +1 -0
  127. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.d.ts +7 -0
  128. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js +17 -0
  129. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js.map +1 -0
  130. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.d.ts +9 -0
  131. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js +45 -0
  132. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js.map +1 -0
  133. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.d.ts +6 -0
  134. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js +21 -0
  135. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js.map +1 -0
  136. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.d.ts +9 -0
  137. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js +54 -0
  138. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js.map +1 -0
  139. package/crud/contentEntry/useCases/DeleteEntry/index.d.ts +28 -0
  140. package/crud/contentEntry/useCases/DeleteEntry/index.js +42 -0
  141. package/crud/contentEntry/useCases/DeleteEntry/index.js.map +1 -0
  142. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.d.ts +9 -0
  143. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js +21 -0
  144. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js.map +1 -0
  145. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.d.ts +7 -0
  146. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js +18 -0
  147. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js.map +1 -0
  148. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.d.ts +9 -0
  149. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js +28 -0
  150. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js.map +1 -0
  151. package/crud/contentEntry/useCases/GetEntriesByIds/index.d.ts +13 -0
  152. package/crud/contentEntry/useCases/GetEntriesByIds/index.js +20 -0
  153. package/crud/contentEntry/useCases/GetEntriesByIds/index.js.map +1 -0
  154. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.d.ts +9 -0
  155. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js +21 -0
  156. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js.map +1 -0
  157. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.d.ts +7 -0
  158. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js +18 -0
  159. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js.map +1 -0
  160. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.d.ts +9 -0
  161. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js +28 -0
  162. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js.map +1 -0
  163. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.d.ts +13 -0
  164. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js +20 -0
  165. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js.map +1 -0
  166. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.d.ts +9 -0
  167. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js +22 -0
  168. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js.map +1 -0
  169. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.d.ts +7 -0
  170. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js +21 -0
  171. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js.map +1 -0
  172. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.d.ts +7 -0
  173. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js +21 -0
  174. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js.map +1 -0
  175. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.d.ts +15 -0
  176. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js +22 -0
  177. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js.map +1 -0
  178. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.d.ts +9 -0
  179. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js +22 -0
  180. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js.map +1 -0
  181. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.d.ts +7 -0
  182. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js +21 -0
  183. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js.map +1 -0
  184. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.d.ts +11 -0
  185. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js +18 -0
  186. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js.map +1 -0
  187. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.d.ts +9 -0
  188. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js +21 -0
  189. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js.map +1 -0
  190. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.d.ts +7 -0
  191. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js +18 -0
  192. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js.map +1 -0
  193. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.d.ts +9 -0
  194. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js +28 -0
  195. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js.map +1 -0
  196. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.d.ts +13 -0
  197. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js +20 -0
  198. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js.map +1 -0
  199. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.d.ts +9 -0
  200. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js +22 -0
  201. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js.map +1 -0
  202. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.d.ts +7 -0
  203. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js +21 -0
  204. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js.map +1 -0
  205. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.d.ts +11 -0
  206. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js +18 -0
  207. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js.map +1 -0
  208. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.d.ts +9 -0
  209. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js +22 -0
  210. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js.map +1 -0
  211. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.d.ts +7 -0
  212. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js +21 -0
  213. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js.map +1 -0
  214. package/crud/contentEntry/useCases/GetRevisionById/index.d.ts +11 -0
  215. package/crud/contentEntry/useCases/GetRevisionById/index.js +18 -0
  216. package/crud/contentEntry/useCases/GetRevisionById/index.js.map +1 -0
  217. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.d.ts +9 -0
  218. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js +21 -0
  219. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js.map +1 -0
  220. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.d.ts +7 -0
  221. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js +18 -0
  222. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js.map +1 -0
  223. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.d.ts +13 -0
  224. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js +18 -0
  225. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js.map +1 -0
  226. package/crud/contentEntry/useCases/ListEntries/GetEntry.d.ts +7 -0
  227. package/crud/contentEntry/useCases/ListEntries/GetEntry.js +29 -0
  228. package/crud/contentEntry/useCases/ListEntries/GetEntry.js.map +1 -0
  229. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.d.ts +11 -0
  230. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js +38 -0
  231. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js.map +1 -0
  232. package/crud/contentEntry/useCases/ListEntries/ListEntries.d.ts +7 -0
  233. package/crud/contentEntry/useCases/ListEntries/ListEntries.js +62 -0
  234. package/crud/contentEntry/useCases/ListEntries/ListEntries.js.map +1 -0
  235. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.d.ts +14 -0
  236. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js +24 -0
  237. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js.map +1 -0
  238. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.d.ts +7 -0
  239. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js +24 -0
  240. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js.map +1 -0
  241. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.d.ts +7 -0
  242. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js +25 -0
  243. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js.map +1 -0
  244. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.d.ts +7 -0
  245. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js +24 -0
  246. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js.map +1 -0
  247. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.d.ts +7 -0
  248. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js +24 -0
  249. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js.map +1 -0
  250. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.d.ts +9 -0
  251. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js +22 -0
  252. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js.map +1 -0
  253. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.d.ts +8 -0
  254. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js +27 -0
  255. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js.map +1 -0
  256. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.d.ts +8 -0
  257. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js +26 -0
  258. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js.map +1 -0
  259. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.d.ts +7 -0
  260. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js +36 -0
  261. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js.map +1 -0
  262. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.d.ts +11 -0
  263. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js +41 -0
  264. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js.map +1 -0
  265. package/crud/contentEntry/useCases/ListEntries/index.d.ts +26 -0
  266. package/crud/contentEntry/useCases/ListEntries/index.js +61 -0
  267. package/crud/contentEntry/useCases/ListEntries/index.js.map +1 -0
  268. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.d.ts +10 -0
  269. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js +37 -0
  270. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js.map +1 -0
  271. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.d.ts +9 -0
  272. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js +19 -0
  273. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js.map +1 -0
  274. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.d.ts +9 -0
  275. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js +42 -0
  276. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js.map +1 -0
  277. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.d.ts +9 -0
  278. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js +22 -0
  279. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js.map +1 -0
  280. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.d.ts +9 -0
  281. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js +53 -0
  282. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js.map +1 -0
  283. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.d.ts +25 -0
  284. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js +24 -0
  285. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js.map +1 -0
  286. package/crud/contentEntry/useCases/index.d.ts +11 -0
  287. package/crud/contentEntry/useCases/index.js +128 -0
  288. package/crud/contentEntry/useCases/index.js.map +1 -0
  289. package/crud/contentEntry.crud.d.ts +6 -11
  290. package/crud/contentEntry.crud.js +508 -732
  291. package/crud/contentEntry.crud.js.map +1 -1
  292. package/crud/contentModel/beforeCreate.d.ts +2 -2
  293. package/crud/contentModel/beforeCreate.js +11 -9
  294. package/crud/contentModel/beforeCreate.js.map +1 -1
  295. package/crud/contentModel/beforeDelete.d.ts +3 -5
  296. package/crud/contentModel/beforeDelete.js +52 -16
  297. package/crud/contentModel/beforeDelete.js.map +1 -1
  298. package/crud/contentModel/beforeUpdate.d.ts +2 -2
  299. package/crud/contentModel/beforeUpdate.js +3 -6
  300. package/crud/contentModel/beforeUpdate.js.map +1 -1
  301. package/crud/contentModel/compatibility/modelApiName.d.ts +1 -1
  302. package/crud/contentModel/compatibility/modelApiName.js +3 -1
  303. package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
  304. package/crud/contentModel/contentModelManagerFactory.d.ts +2 -2
  305. package/crud/contentModel/contentModelManagerFactory.js +3 -1
  306. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  307. package/crud/contentModel/createFieldStorageId.d.ts +1 -1
  308. package/crud/contentModel/createFieldStorageId.js +3 -1
  309. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  310. package/crud/contentModel/defaultFields.d.ts +1 -1
  311. package/crud/contentModel/defaultFields.js +3 -1
  312. package/crud/contentModel/defaultFields.js.map +1 -1
  313. package/crud/contentModel/ensureTypeTag.d.ts +5 -0
  314. package/crud/contentModel/ensureTypeTag.js +21 -0
  315. package/crud/contentModel/ensureTypeTag.js.map +1 -0
  316. package/crud/contentModel/fields/descriptionField.d.ts +6 -2
  317. package/crud/contentModel/fields/descriptionField.js +17 -29
  318. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  319. package/crud/contentModel/fields/getApplicableFieldById.d.ts +2 -0
  320. package/crud/contentModel/fields/getApplicableFieldById.js +15 -0
  321. package/crud/contentModel/fields/getApplicableFieldById.js.map +1 -0
  322. package/crud/contentModel/fields/imageField.d.ts +2 -2
  323. package/crud/contentModel/fields/imageField.js +12 -33
  324. package/crud/contentModel/fields/imageField.js.map +1 -1
  325. package/crud/contentModel/fields/titleField.d.ts +6 -2
  326. package/crud/contentModel/fields/titleField.js +17 -44
  327. package/crud/contentModel/fields/titleField.js.map +1 -1
  328. package/crud/contentModel/listModelsFromDatabase.d.ts +10 -0
  329. package/crud/contentModel/listModelsFromDatabase.js +38 -0
  330. package/crud/contentModel/listModelsFromDatabase.js.map +1 -0
  331. package/crud/contentModel/validate/endingAllowed.d.ts +1 -1
  332. package/crud/contentModel/validate/endingAllowed.js +3 -1
  333. package/crud/contentModel/validate/endingAllowed.js.map +1 -1
  334. package/crud/contentModel/validate/isModelEndingAllowed.js +5 -4
  335. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
  336. package/crud/contentModel/validate/modelId.d.ts +1 -1
  337. package/crud/contentModel/validate/modelId.js +3 -1
  338. package/crud/contentModel/validate/modelId.js.map +1 -1
  339. package/crud/contentModel/validate/pluralApiName.d.ts +1 -1
  340. package/crud/contentModel/validate/pluralApiName.js +3 -1
  341. package/crud/contentModel/validate/pluralApiName.js.map +1 -1
  342. package/crud/contentModel/validate/singularApiName.d.ts +1 -1
  343. package/crud/contentModel/validate/singularApiName.js +3 -1
  344. package/crud/contentModel/validate/singularApiName.js.map +1 -1
  345. package/crud/contentModel/validateModel.d.ts +1 -1
  346. package/crud/contentModel/validateModel.js +3 -1
  347. package/crud/contentModel/validateModel.js.map +1 -1
  348. package/crud/contentModel/validateModelFields.d.ts +1 -1
  349. package/crud/contentModel/validateModelFields.js +8 -7
  350. package/crud/contentModel/validateModelFields.js.map +1 -1
  351. package/crud/contentModel/validateStorageId.d.ts +1 -0
  352. package/crud/contentModel/validateStorageId.js +19 -0
  353. package/crud/contentModel/validateStorageId.js.map +1 -0
  354. package/crud/contentModel/validation.d.ts +546 -204
  355. package/crud/contentModel/validation.js +76 -16
  356. package/crud/contentModel/validation.js.map +1 -1
  357. package/crud/contentModel.crud.d.ts +6 -6
  358. package/crud/contentModel.crud.js +189 -195
  359. package/crud/contentModel.crud.js.map +1 -1
  360. package/crud/contentModelGroup/beforeCreate.d.ts +3 -3
  361. package/crud/contentModelGroup/beforeCreate.js +15 -1
  362. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  363. package/crud/contentModelGroup/beforeDelete.d.ts +3 -3
  364. package/crud/contentModelGroup/beforeDelete.js +3 -1
  365. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  366. package/crud/contentModelGroup/beforeUpdate.d.ts +3 -3
  367. package/crud/contentModelGroup/beforeUpdate.js +3 -1
  368. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  369. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +8 -0
  370. package/crud/contentModelGroup/listGroupsFromDatabase.js +22 -0
  371. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -0
  372. package/crud/contentModelGroup/validation.d.ts +10 -7
  373. package/crud/contentModelGroup/validation.js +5 -2
  374. package/crud/contentModelGroup/validation.js.map +1 -1
  375. package/crud/contentModelGroup.crud.d.ts +6 -6
  376. package/crud/contentModelGroup.crud.js +117 -127
  377. package/crud/contentModelGroup.crud.js.map +1 -1
  378. package/crud/system.crud.d.ts +4 -4
  379. package/crud/system.crud.js +18 -11
  380. package/crud/system.crud.js.map +1 -1
  381. package/export/crud/exporting.d.ts +3 -0
  382. package/export/crud/exporting.js +49 -0
  383. package/export/crud/exporting.js.map +1 -0
  384. package/export/crud/importing.d.ts +3 -0
  385. package/export/crud/importing.js +79 -0
  386. package/export/crud/importing.js.map +1 -0
  387. package/export/crud/imports/importData.d.ts +14 -0
  388. package/export/crud/imports/importData.js +52 -0
  389. package/export/crud/imports/importData.js.map +1 -0
  390. package/export/crud/imports/importGroups.d.ts +8 -0
  391. package/export/crud/imports/importGroups.js +104 -0
  392. package/export/crud/imports/importGroups.js.map +1 -0
  393. package/export/crud/imports/importModels.d.ts +8 -0
  394. package/export/crud/imports/importModels.js +136 -0
  395. package/export/crud/imports/importModels.js.map +1 -0
  396. package/export/crud/imports/validateGroups.d.ts +8 -0
  397. package/export/crud/imports/validateGroups.js +112 -0
  398. package/export/crud/imports/validateGroups.js.map +1 -0
  399. package/export/crud/imports/validateInput.d.ts +19 -0
  400. package/export/crud/imports/validateInput.js +55 -0
  401. package/export/crud/imports/validateInput.js.map +1 -0
  402. package/export/crud/imports/validateModels.d.ts +12 -0
  403. package/export/crud/imports/validateModels.js +203 -0
  404. package/export/crud/imports/validateModels.js.map +1 -0
  405. package/export/crud/index.d.ts +4 -0
  406. package/export/crud/index.js +15 -0
  407. package/export/crud/index.js.map +1 -0
  408. package/export/crud/sanitize.d.ts +4 -0
  409. package/export/crud/sanitize.js +36 -0
  410. package/export/crud/sanitize.js.map +1 -0
  411. package/export/graphql/index.d.ts +3 -0
  412. package/export/graphql/index.js +188 -0
  413. package/export/graphql/index.js.map +1 -0
  414. package/export/index.d.ts +2 -0
  415. package/export/index.js +29 -0
  416. package/export/index.js.map +1 -0
  417. package/export/types.d.ts +113 -0
  418. package/export/types.js +21 -0
  419. package/export/types.js.map +1 -0
  420. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +5 -3
  421. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +4 -7
  422. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  423. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +3 -2
  424. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +28 -73
  425. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  426. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +3 -2
  427. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +49 -40
  428. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  429. package/fieldConverters/index.d.ts +3 -0
  430. package/fieldConverters/index.js +7 -1
  431. package/fieldConverters/index.js.map +1 -1
  432. package/graphql/buildSchemaPlugins.d.ts +3 -3
  433. package/graphql/buildSchemaPlugins.js +7 -1
  434. package/graphql/buildSchemaPlugins.js.map +1 -1
  435. package/graphql/checkEndpointAccess.d.ts +1 -1
  436. package/graphql/checkEndpointAccess.js +3 -1
  437. package/graphql/checkEndpointAccess.js.map +1 -1
  438. package/graphql/createExecutableSchema.d.ts +2 -2
  439. package/graphql/createExecutableSchema.js +17 -8
  440. package/graphql/createExecutableSchema.js.map +1 -1
  441. package/graphql/createRequestBody.d.ts +1 -1
  442. package/graphql/createRequestBody.js +3 -1
  443. package/graphql/createRequestBody.js.map +1 -1
  444. package/graphql/formatErrorPayload.js +3 -1
  445. package/graphql/formatErrorPayload.js.map +1 -1
  446. package/graphql/generateSchema.d.ts +2 -2
  447. package/graphql/generateSchema.js +9 -2
  448. package/graphql/generateSchema.js.map +1 -1
  449. package/graphql/getSchema/generateCacheId.d.ts +10 -0
  450. package/graphql/getSchema/generateCacheId.js +17 -0
  451. package/graphql/getSchema/generateCacheId.js.map +1 -0
  452. package/graphql/getSchema/generateCacheKey.d.ts +10 -0
  453. package/graphql/getSchema/generateCacheKey.js +34 -0
  454. package/graphql/getSchema/generateCacheKey.js.map +1 -0
  455. package/graphql/getSchema.d.ts +4 -5
  456. package/graphql/getSchema.js +29 -50
  457. package/graphql/getSchema.js.map +1 -1
  458. package/graphql/graphQLHandlerFactory.d.ts +2 -2
  459. package/graphql/graphQLHandlerFactory.js +3 -1
  460. package/graphql/graphQLHandlerFactory.js.map +1 -1
  461. package/graphql/handleRequest.d.ts +2 -2
  462. package/graphql/handleRequest.js +11 -6
  463. package/graphql/handleRequest.js.map +1 -1
  464. package/graphql/index.d.ts +4 -3
  465. package/graphql/index.js +4 -2
  466. package/graphql/index.js.map +1 -1
  467. package/graphql/scalars/RevisionId.d.ts +2 -0
  468. package/graphql/scalars/RevisionId.js +26 -0
  469. package/graphql/scalars/RevisionId.js.map +1 -0
  470. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +2 -0
  471. package/graphql/scalars/RevisionIdScalarPlugin.js +18 -0
  472. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -0
  473. package/graphql/schema/baseContentSchema.d.ts +3 -3
  474. package/graphql/schema/baseContentSchema.js +10 -15
  475. package/graphql/schema/baseContentSchema.js.map +1 -1
  476. package/graphql/schema/baseSchema.d.ts +2 -3
  477. package/graphql/schema/baseSchema.js +72 -3
  478. package/graphql/schema/baseSchema.js.map +1 -1
  479. package/graphql/schema/contentEntries.d.ts +3 -3
  480. package/graphql/schema/contentEntries.js +52 -20
  481. package/graphql/schema/contentEntries.js.map +1 -1
  482. package/graphql/schema/contentModelGroups.d.ts +3 -3
  483. package/graphql/schema/contentModelGroups.js +6 -3
  484. package/graphql/schema/contentModelGroups.js.map +1 -1
  485. package/graphql/schema/contentModels.d.ts +4 -5
  486. package/graphql/schema/contentModels.js +31 -15
  487. package/graphql/schema/contentModels.js.map +1 -1
  488. package/graphql/schema/createFieldResolvers.d.ts +2 -2
  489. package/graphql/schema/createFieldResolvers.js +14 -14
  490. package/graphql/schema/createFieldResolvers.js.map +1 -1
  491. package/graphql/schema/createFieldTypePluginRecords.d.ts +2 -2
  492. package/graphql/schema/createFieldTypePluginRecords.js +3 -1
  493. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -1
  494. package/graphql/schema/createManageResolvers.d.ts +1 -2
  495. package/graphql/schema/createManageResolvers.js +34 -56
  496. package/graphql/schema/createManageResolvers.js.map +1 -1
  497. package/graphql/schema/createManageSDL.d.ts +2 -2
  498. package/graphql/schema/createManageSDL.js +49 -22
  499. package/graphql/schema/createManageSDL.js.map +1 -1
  500. package/graphql/schema/createPreviewResolvers.d.ts +1 -2
  501. package/graphql/schema/createPreviewResolvers.js +11 -13
  502. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  503. package/graphql/schema/createReadResolvers.d.ts +1 -2
  504. package/graphql/schema/createReadResolvers.js +11 -13
  505. package/graphql/schema/createReadResolvers.js.map +1 -1
  506. package/graphql/schema/createReadSDL.d.ts +2 -2
  507. package/graphql/schema/createReadSDL.js +14 -8
  508. package/graphql/schema/createReadSDL.js.map +1 -1
  509. package/graphql/schema/createSingularResolvers.d.ts +12 -0
  510. package/graphql/schema/createSingularResolvers.js +56 -0
  511. package/graphql/schema/createSingularResolvers.js.map +1 -0
  512. package/graphql/schema/createSingularSDL.d.ts +12 -0
  513. package/graphql/schema/createSingularSDL.js +95 -0
  514. package/graphql/schema/createSingularSDL.js.map +1 -0
  515. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.d.ts +7 -0
  516. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +59 -0
  517. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -0
  518. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +3 -2
  519. package/graphql/schema/resolvers/manage/resolveCreate.js +4 -2
  520. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  521. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +3 -2
  522. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +4 -2
  523. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  524. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -2
  525. package/graphql/schema/resolvers/manage/resolveDelete.js +5 -2
  526. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  527. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +2 -2
  528. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +4 -2
  529. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  530. package/graphql/schema/resolvers/manage/resolveGet.d.ts +2 -2
  531. package/graphql/schema/resolvers/manage/resolveGet.js +12 -5
  532. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  533. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +2 -2
  534. package/graphql/schema/resolvers/manage/resolveGetByIds.js +3 -1
  535. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  536. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +2 -2
  537. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +3 -1
  538. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  539. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +2 -2
  540. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +3 -1
  541. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  542. package/graphql/schema/resolvers/manage/resolveList.d.ts +2 -2
  543. package/graphql/schema/resolvers/manage/resolveList.js +3 -1
  544. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  545. package/graphql/schema/resolvers/manage/resolveListDeleted.d.ts +4 -0
  546. package/graphql/schema/resolvers/manage/resolveListDeleted.js +20 -0
  547. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -0
  548. package/graphql/schema/resolvers/manage/resolveMove.d.ts +2 -2
  549. package/graphql/schema/resolvers/manage/resolveMove.js +7 -10
  550. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  551. package/graphql/schema/resolvers/manage/resolvePublish.d.ts +2 -2
  552. package/graphql/schema/resolvers/manage/resolvePublish.js +3 -1
  553. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  554. package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +2 -2
  555. package/graphql/schema/resolvers/manage/resolveRepublish.js +3 -1
  556. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  557. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.d.ts +7 -0
  558. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +20 -0
  559. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -0
  560. package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +2 -2
  561. package/graphql/schema/resolvers/manage/resolveUnpublish.js +3 -1
  562. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  563. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +3 -2
  564. package/graphql/schema/resolvers/manage/resolveUpdate.js +4 -2
  565. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  566. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +8 -0
  567. package/graphql/schema/resolvers/manage/resolveValidate.js +20 -0
  568. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
  569. package/graphql/schema/resolvers/preview/resolveGet.d.ts +2 -2
  570. package/graphql/schema/resolvers/preview/resolveGet.js +6 -5
  571. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  572. package/graphql/schema/resolvers/preview/resolveList.d.ts +2 -2
  573. package/graphql/schema/resolvers/preview/resolveList.js +3 -1
  574. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  575. package/graphql/schema/resolvers/read/resolveGet.d.ts +2 -2
  576. package/graphql/schema/resolvers/read/resolveGet.js +6 -5
  577. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  578. package/graphql/schema/resolvers/read/resolveList.d.ts +2 -2
  579. package/graphql/schema/resolvers/read/resolveList.js +3 -1
  580. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  581. package/graphql/schema/resolvers/singular/resolveGet.d.ts +7 -0
  582. package/graphql/schema/resolvers/singular/resolveGet.js +21 -0
  583. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -0
  584. package/graphql/schema/resolvers/singular/resolveUpdate.d.ts +8 -0
  585. package/graphql/schema/resolvers/singular/resolveUpdate.js +21 -0
  586. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -0
  587. package/graphql/schema/schemaPlugins.d.ts +3 -3
  588. package/graphql/schema/schemaPlugins.js +35 -12
  589. package/graphql/schema/schemaPlugins.js.map +1 -1
  590. package/graphql/system.d.ts +1 -1
  591. package/graphql/system.js +5 -2
  592. package/graphql/system.js.map +1 -1
  593. package/graphqlFields/boolean.d.ts +1 -1
  594. package/graphqlFields/boolean.js +3 -1
  595. package/graphqlFields/boolean.js.map +1 -1
  596. package/graphqlFields/datetime.d.ts +1 -1
  597. package/graphqlFields/datetime.js +5 -5
  598. package/graphqlFields/datetime.js.map +1 -1
  599. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  600. package/graphqlFields/dynamicZone/dynamicZoneField.js +100 -23
  601. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  602. package/graphqlFields/dynamicZone/index.d.ts +0 -1
  603. package/graphqlFields/dynamicZone/index.js +2 -7
  604. package/graphqlFields/dynamicZone/index.js.map +1 -1
  605. package/graphqlFields/file.d.ts +1 -1
  606. package/graphqlFields/file.js +3 -1
  607. package/graphqlFields/file.js.map +1 -1
  608. package/graphqlFields/helpers.d.ts +1 -2
  609. package/graphqlFields/helpers.js +6 -18
  610. package/graphqlFields/helpers.js.map +1 -1
  611. package/graphqlFields/index.d.ts +1 -1
  612. package/graphqlFields/index.js +6 -2
  613. package/graphqlFields/index.js.map +1 -1
  614. package/graphqlFields/json.d.ts +2 -0
  615. package/graphqlFields/json.js +49 -0
  616. package/graphqlFields/json.js.map +1 -0
  617. package/graphqlFields/longText.d.ts +1 -1
  618. package/graphqlFields/longText.js +14 -3
  619. package/graphqlFields/longText.js.map +1 -1
  620. package/graphqlFields/number.d.ts +1 -1
  621. package/graphqlFields/number.js +3 -1
  622. package/graphqlFields/number.js.map +1 -1
  623. package/graphqlFields/object.d.ts +2 -2
  624. package/graphqlFields/object.js +38 -44
  625. package/graphqlFields/object.js.map +1 -1
  626. package/graphqlFields/ref.d.ts +1 -1
  627. package/graphqlFields/ref.js +29 -17
  628. package/graphqlFields/ref.js.map +1 -1
  629. package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +6 -0
  630. package/graphqlFields/richText/RichTextPluginsProcessor.js +34 -0
  631. package/graphqlFields/richText/RichTextPluginsProcessor.js.map +1 -0
  632. package/graphqlFields/richText/richTextResolver.d.ts +7 -0
  633. package/graphqlFields/richText/richTextResolver.js +24 -0
  634. package/graphqlFields/richText/richTextResolver.js.map +1 -0
  635. package/graphqlFields/richText.d.ts +1 -1
  636. package/graphqlFields/richText.js +11 -3
  637. package/graphqlFields/richText.js.map +1 -1
  638. package/graphqlFields/searchableJson.d.ts +2 -0
  639. package/graphqlFields/searchableJson.js +60 -0
  640. package/graphqlFields/searchableJson.js.map +1 -0
  641. package/graphqlFields/text.d.ts +1 -1
  642. package/graphqlFields/text.js +3 -1
  643. package/graphqlFields/text.js.map +1 -1
  644. package/htmlRenderer/LexicalRenderer.d.ts +5 -0
  645. package/htmlRenderer/LexicalRenderer.js +28 -0
  646. package/htmlRenderer/LexicalRenderer.js.map +1 -0
  647. package/htmlRenderer/createLexicalHTMLRenderer.d.ts +2 -0
  648. package/htmlRenderer/createLexicalHTMLRenderer.js +31 -0
  649. package/htmlRenderer/createLexicalHTMLRenderer.js.map +1 -0
  650. package/index.d.ts +13 -6
  651. package/index.js +82 -7
  652. package/index.js.map +1 -1
  653. package/modelManager/DefaultCmsModelManager.d.ts +11 -10
  654. package/modelManager/DefaultCmsModelManager.js +19 -18
  655. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  656. package/modelManager/SingletonModelManager.d.ts +12 -0
  657. package/modelManager/SingletonModelManager.js +48 -0
  658. package/modelManager/SingletonModelManager.js.map +1 -0
  659. package/modelManager/index.d.ts +2 -1
  660. package/modelManager/index.js +19 -2
  661. package/modelManager/index.js.map +1 -1
  662. package/package.json +38 -38
  663. package/parameters/context.js +4 -2
  664. package/parameters/context.js.map +1 -1
  665. package/parameters/header.js +7 -6
  666. package/parameters/header.js.map +1 -1
  667. package/parameters/index.js +3 -1
  668. package/parameters/index.js.map +1 -1
  669. package/parameters/manual.d.ts +2 -1
  670. package/parameters/manual.js +9 -4
  671. package/parameters/manual.js.map +1 -1
  672. package/parameters/path.js +4 -3
  673. package/parameters/path.js.map +1 -1
  674. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +9 -0
  675. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +17 -0
  676. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -0
  677. package/plugins/CmsGraphQLSchemaPlugin/index.d.ts +1 -0
  678. package/plugins/CmsGraphQLSchemaPlugin/index.js +18 -0
  679. package/plugins/CmsGraphQLSchemaPlugin/index.js.map +1 -0
  680. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +1 -1
  681. package/plugins/CmsGraphQLSchemaSorterPlugin.js +4 -5
  682. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
  683. package/plugins/CmsGroupPlugin.d.ts +15 -4
  684. package/plugins/CmsGroupPlugin.js +25 -7
  685. package/plugins/CmsGroupPlugin.js.map +1 -1
  686. package/plugins/CmsModelFieldConverterPlugin.d.ts +5 -2
  687. package/plugins/CmsModelFieldConverterPlugin.js +9 -4
  688. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  689. package/plugins/CmsModelPlugin.d.ts +35 -13
  690. package/plugins/CmsModelPlugin.js +150 -39
  691. package/plugins/CmsModelPlugin.js.map +1 -1
  692. package/plugins/CmsParametersPlugin.d.ts +3 -3
  693. package/plugins/CmsParametersPlugin.js +7 -4
  694. package/plugins/CmsParametersPlugin.js.map +1 -1
  695. package/plugins/CmsRichTextRendererPlugin.d.ts +24 -0
  696. package/plugins/CmsRichTextRendererPlugin.js +28 -0
  697. package/plugins/CmsRichTextRendererPlugin.js.map +1 -0
  698. package/plugins/StorageOperationsCmsModelPlugin.d.ts +1 -1
  699. package/plugins/StorageOperationsCmsModelPlugin.js +5 -6
  700. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -1
  701. package/plugins/StorageTransformPlugin.d.ts +7 -3
  702. package/plugins/StorageTransformPlugin.js +12 -5
  703. package/plugins/StorageTransformPlugin.js.map +1 -1
  704. package/plugins/index.d.ts +1 -0
  705. package/plugins/index.js +14 -1
  706. package/plugins/index.js.map +1 -1
  707. package/storage/date.d.ts +3 -0
  708. package/storage/date.js +119 -0
  709. package/storage/date.js.map +1 -0
  710. package/storage/default.js +3 -1
  711. package/storage/default.js.map +1 -1
  712. package/storage/dynamicZone.d.ts +2 -0
  713. package/storage/dynamicZone.js +157 -0
  714. package/storage/dynamicZone.js.map +1 -0
  715. package/storage/index.d.ts +1 -0
  716. package/storage/index.js +21 -0
  717. package/storage/index.js.map +1 -0
  718. package/storage/json.d.ts +2 -0
  719. package/storage/json.js +56 -0
  720. package/storage/json.js.map +1 -0
  721. package/storage/object.js +24 -20
  722. package/storage/object.js.map +1 -1
  723. package/types/context.d.ts +146 -0
  724. package/types/context.js +7 -0
  725. package/types/context.js.map +1 -0
  726. package/types/fields/dynamicZoneField.d.ts +23 -0
  727. package/types/fields/dynamicZoneField.js +7 -0
  728. package/types/fields/dynamicZoneField.js.map +1 -0
  729. package/types/fields/objectField.d.ts +13 -0
  730. package/types/fields/objectField.js +7 -0
  731. package/types/fields/objectField.js.map +1 -0
  732. package/types/identity.d.ts +19 -0
  733. package/types/identity.js +7 -0
  734. package/types/identity.js.map +1 -0
  735. package/types/index.d.ts +10 -0
  736. package/types/index.js +117 -0
  737. package/types/index.js.map +1 -0
  738. package/types/model.d.ts +199 -0
  739. package/types/model.js +7 -0
  740. package/types/model.js.map +1 -0
  741. package/types/modelAst.d.ts +39 -0
  742. package/types/modelAst.js +7 -0
  743. package/types/modelAst.js.map +1 -0
  744. package/types/modelField.d.ts +330 -0
  745. package/types/modelField.js +7 -0
  746. package/types/modelField.js.map +1 -0
  747. package/types/modelGroup.d.ts +77 -0
  748. package/types/modelGroup.js +7 -0
  749. package/types/modelGroup.js.map +1 -0
  750. package/types/plugins.d.ts +365 -0
  751. package/types/plugins.js +7 -0
  752. package/types/plugins.js.map +1 -0
  753. package/{types.d.ts → types/types.d.ts} +484 -1364
  754. package/{types.js → types/types.js} +25 -137
  755. package/types/types.js.map +1 -0
  756. package/utils/RichTextRenderer.d.ts +10 -0
  757. package/utils/RichTextRenderer.js +33 -0
  758. package/utils/RichTextRenderer.js.map +1 -0
  759. package/utils/caching/Cache.d.ts +5 -0
  760. package/utils/caching/Cache.js +48 -0
  761. package/utils/caching/Cache.js.map +1 -0
  762. package/utils/caching/CacheKey.d.ts +3 -0
  763. package/utils/caching/CacheKey.js +28 -0
  764. package/utils/caching/CacheKey.js.map +1 -0
  765. package/utils/caching/index.d.ts +2 -0
  766. package/utils/caching/index.js +29 -0
  767. package/utils/caching/index.js.map +1 -0
  768. package/utils/caching/types.d.ts +13 -0
  769. package/utils/caching/types.js +14 -0
  770. package/utils/caching/types.js.map +1 -0
  771. package/utils/contentEntryTraverser/ContentEntryTraverser.d.ts +13 -0
  772. package/utils/contentEntryTraverser/ContentEntryTraverser.js +97 -0
  773. package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +1 -0
  774. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +6 -0
  775. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +23 -0
  776. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -0
  777. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +7 -0
  778. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +22 -0
  779. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -0
  780. package/utils/contentModelAst/CmsModelToAstConverter.d.ts +11 -0
  781. package/utils/contentModelAst/CmsModelToAstConverter.js +28 -0
  782. package/utils/contentModelAst/CmsModelToAstConverter.js.map +1 -0
  783. package/utils/contentModelAst/index.d.ts +3 -0
  784. package/utils/contentModelAst/index.js +40 -0
  785. package/utils/contentModelAst/index.js.map +1 -0
  786. package/utils/converters/Converter.d.ts +3 -3
  787. package/utils/converters/Converter.js +4 -5
  788. package/utils/converters/Converter.js.map +1 -1
  789. package/utils/converters/ConverterCollection.d.ts +2 -2
  790. package/utils/converters/ConverterCollection.js +13 -7
  791. package/utils/converters/ConverterCollection.js.map +1 -1
  792. package/utils/converters/valueKeyStorageConverter.d.ts +3 -3
  793. package/utils/converters/valueKeyStorageConverter.js +11 -4
  794. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  795. package/utils/createModelField.d.ts +7 -0
  796. package/utils/createModelField.js +51 -0
  797. package/utils/createModelField.js.map +1 -0
  798. package/utils/createTypeFromFields.d.ts +1 -1
  799. package/utils/createTypeFromFields.js +6 -1
  800. package/utils/createTypeFromFields.js.map +1 -1
  801. package/utils/createTypeName.js +3 -1
  802. package/utils/createTypeName.js.map +1 -1
  803. package/utils/date.d.ts +10 -0
  804. package/utils/date.js +36 -0
  805. package/utils/date.js.map +1 -0
  806. package/utils/entryStorage.d.ts +16 -4
  807. package/utils/entryStorage.js +41 -5
  808. package/utils/entryStorage.js.map +1 -1
  809. package/utils/filterAsync.js +9 -8
  810. package/utils/filterAsync.js.map +1 -1
  811. package/utils/getBaseFieldType.d.ts +1 -1
  812. package/utils/getBaseFieldType.js +3 -1
  813. package/utils/getBaseFieldType.js.map +1 -1
  814. package/utils/getEntryDescription.d.ts +1 -1
  815. package/utils/getEntryDescription.js +3 -1
  816. package/utils/getEntryDescription.js.map +1 -1
  817. package/utils/getEntryImage.d.ts +1 -1
  818. package/utils/getEntryImage.js +3 -1
  819. package/utils/getEntryImage.js.map +1 -1
  820. package/utils/getEntryTitle.d.ts +1 -1
  821. package/utils/getEntryTitle.js +3 -1
  822. package/utils/getEntryTitle.js.map +1 -1
  823. package/utils/getSchemaFromFieldPlugins.d.ts +14 -3
  824. package/utils/getSchemaFromFieldPlugins.js +25 -6
  825. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  826. package/utils/identity.d.ts +2 -0
  827. package/utils/identity.js +20 -0
  828. package/utils/identity.js.map +1 -0
  829. package/utils/incrementEntryIdVersion.js +3 -1
  830. package/utils/incrementEntryIdVersion.js.map +1 -1
  831. package/utils/index.d.ts +2 -0
  832. package/utils/index.js +29 -0
  833. package/utils/index.js.map +1 -0
  834. package/utils/isHeadlessCmsReady.d.ts +2 -0
  835. package/utils/isHeadlessCmsReady.js +23 -0
  836. package/utils/isHeadlessCmsReady.js.map +1 -0
  837. package/utils/modelFieldTraverser/ModelFieldTraverser.d.ts +16 -0
  838. package/utils/modelFieldTraverser/ModelFieldTraverser.js +41 -0
  839. package/utils/modelFieldTraverser/ModelFieldTraverser.js.map +1 -0
  840. package/utils/modelFieldTraverser/index.d.ts +1 -0
  841. package/utils/modelFieldTraverser/index.js +18 -0
  842. package/utils/modelFieldTraverser/index.js.map +1 -0
  843. package/utils/renderFields.d.ts +1 -1
  844. package/utils/renderFields.js +5 -1
  845. package/utils/renderFields.js.map +1 -1
  846. package/utils/renderGetFilterFields.d.ts +1 -1
  847. package/utils/renderGetFilterFields.js +5 -4
  848. package/utils/renderGetFilterFields.js.map +1 -1
  849. package/utils/renderInputFields.d.ts +1 -1
  850. package/utils/renderInputFields.js +3 -1
  851. package/utils/renderInputFields.js.map +1 -1
  852. package/utils/renderListFilterFields.d.ts +1 -1
  853. package/utils/renderListFilterFields.js +12 -4
  854. package/utils/renderListFilterFields.js.map +1 -1
  855. package/utils/renderSortEnum.d.ts +2 -2
  856. package/utils/renderSortEnum.js +5 -2
  857. package/utils/renderSortEnum.js.map +1 -1
  858. package/utils/toSlug.js +3 -1
  859. package/utils/toSlug.js.map +1 -1
  860. package/validators/dateGte.d.ts +1 -1
  861. package/validators/dateGte.js +3 -1
  862. package/validators/dateGte.js.map +1 -1
  863. package/validators/dateLte.d.ts +1 -1
  864. package/validators/dateLte.js +3 -1
  865. package/validators/dateLte.js.map +1 -1
  866. package/validators/gte.d.ts +1 -1
  867. package/validators/gte.js +4 -3
  868. package/validators/gte.js.map +1 -1
  869. package/validators/in.d.ts +1 -1
  870. package/validators/in.js +4 -3
  871. package/validators/in.js.map +1 -1
  872. package/validators/index.js +4 -3
  873. package/validators/index.js.map +1 -1
  874. package/validators/lte.d.ts +1 -1
  875. package/validators/lte.js +4 -3
  876. package/validators/lte.js.map +1 -1
  877. package/validators/maxLength.d.ts +1 -1
  878. package/validators/maxLength.js +4 -3
  879. package/validators/maxLength.js.map +1 -1
  880. package/validators/minLength.d.ts +1 -1
  881. package/validators/minLength.js +4 -3
  882. package/validators/minLength.js.map +1 -1
  883. package/validators/pattern.d.ts +1 -1
  884. package/validators/pattern.js +5 -3
  885. package/validators/pattern.js.map +1 -1
  886. package/validators/patternPlugins/email.d.ts +1 -1
  887. package/validators/patternPlugins/email.js +4 -2
  888. package/validators/patternPlugins/email.js.map +1 -1
  889. package/validators/patternPlugins/index.d.ts +1 -1
  890. package/validators/patternPlugins/index.js +3 -1
  891. package/validators/patternPlugins/index.js.map +1 -1
  892. package/validators/patternPlugins/lowerCase.d.ts +1 -1
  893. package/validators/patternPlugins/lowerCase.js +3 -1
  894. package/validators/patternPlugins/lowerCase.js.map +1 -1
  895. package/validators/patternPlugins/lowerCaseSpace.d.ts +1 -1
  896. package/validators/patternPlugins/lowerCaseSpace.js +3 -1
  897. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  898. package/validators/patternPlugins/upperCase.d.ts +1 -1
  899. package/validators/patternPlugins/upperCase.js +3 -1
  900. package/validators/patternPlugins/upperCase.js.map +1 -1
  901. package/validators/patternPlugins/upperCaseSpace.d.ts +1 -1
  902. package/validators/patternPlugins/upperCaseSpace.js +3 -1
  903. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  904. package/validators/patternPlugins/url.d.ts +1 -1
  905. package/validators/patternPlugins/url.js +3 -1
  906. package/validators/patternPlugins/url.js.map +1 -1
  907. package/validators/required.d.ts +1 -1
  908. package/validators/required.js +3 -1
  909. package/validators/required.js.map +1 -1
  910. package/validators/timeGte.d.ts +1 -1
  911. package/validators/timeGte.js +4 -3
  912. package/validators/timeGte.js.map +1 -1
  913. package/validators/timeLte.d.ts +1 -1
  914. package/validators/timeLte.js +4 -3
  915. package/validators/timeLte.js.map +1 -1
  916. package/validators/unique.d.ts +1 -1
  917. package/validators/unique.js +4 -2
  918. package/validators/unique.js.map +1 -1
  919. package/crud/contentModel/afterCreate.d.ts +0 -8
  920. package/crud/contentModel/afterCreate.js +0 -16
  921. package/crud/contentModel/afterCreate.js.map +0 -1
  922. package/crud/contentModel/afterCreateFrom.d.ts +0 -8
  923. package/crud/contentModel/afterCreateFrom.js +0 -16
  924. package/crud/contentModel/afterCreateFrom.js.map +0 -1
  925. package/crud/contentModel/afterDelete.d.ts +0 -8
  926. package/crud/contentModel/afterDelete.js +0 -16
  927. package/crud/contentModel/afterDelete.js.map +0 -1
  928. package/crud/contentModel/afterUpdate.d.ts +0 -8
  929. package/crud/contentModel/afterUpdate.js +0 -16
  930. package/crud/contentModel/afterUpdate.js.map +0 -1
  931. package/crud/contentModel/validateLayout.d.ts +0 -2
  932. package/crud/contentModel/validateLayout.js +0 -28
  933. package/crud/contentModel/validateLayout.js.map +0 -1
  934. package/crud/settings.crud.d.ts +0 -12
  935. package/crud/settings.crud.js +0 -62
  936. package/crud/settings.crud.js.map +0 -1
  937. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +0 -7
  938. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -13
  939. package/graphql/schema/resolvers/commonFieldResolvers.js.map +0 -1
  940. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +0 -3
  941. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +0 -63
  942. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +0 -1
  943. package/plugins/CmsGraphQLSchemaPlugin.d.ts +0 -5
  944. package/plugins/CmsGraphQLSchemaPlugin.js +0 -12
  945. package/plugins/CmsGraphQLSchemaPlugin.js.map +0 -1
  946. package/types.js.map +0 -1
  947. package/utils/permissions/EntriesPermissions.d.ts +0 -4
  948. package/utils/permissions/EntriesPermissions.js +0 -9
  949. package/utils/permissions/EntriesPermissions.js.map +0 -1
  950. package/utils/permissions/ModelGroupsPermissions.d.ts +0 -11
  951. package/utils/permissions/ModelGroupsPermissions.js +0 -48
  952. package/utils/permissions/ModelGroupsPermissions.js.map +0 -1
  953. package/utils/permissions/ModelsPermissions.d.ts +0 -20
  954. package/utils/permissions/ModelsPermissions.js +0 -91
  955. package/utils/permissions/ModelsPermissions.js.map +0 -1
  956. package/utils/permissions/SettingsPermissions.d.ts +0 -4
  957. package/utils/permissions/SettingsPermissions.js +0 -9
  958. package/utils/permissions/SettingsPermissions.js.map +0 -1
  959. package/validators/dynamicZone.d.ts +0 -2
  960. package/validators/dynamicZone.js +0 -20
  961. package/validators/dynamicZone.js.map +0 -1
@@ -5,9 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.referenceFieldsMapping = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _error = _interopRequireDefault(require("@webiny/error"));
10
8
  var _dotProp = _interopRequireDefault(require("dot-prop"));
9
+ var _error = _interopRequireDefault(require("@webiny/error"));
11
10
  var _utils = require("@webiny/utils");
12
11
  var _getBaseFieldType = require("../../utils/getBaseFieldType");
13
12
  const buildReferenceFieldPaths = params => {
@@ -19,7 +18,6 @@ const buildReferenceFieldPaths = params => {
19
18
  const parentPaths = [...initialParentPaths];
20
19
  const isMultipleValues = Array.isArray(input);
21
20
  return fields.filter(field => ["object", "ref", "dynamicZone"].includes((0, _getBaseFieldType.getBaseFieldType)(field))).reduce((collection, field) => {
22
- var _field$settings3;
23
21
  /**
24
22
  * First we check the ref field
25
23
  */
@@ -28,7 +26,7 @@ const buildReferenceFieldPaths = params => {
28
26
  const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(".")}.` : "";
29
27
  if (field.multipleValues) {
30
28
  const inputValue = _dotProp.default.get(input, `${field.fieldId}`, []);
31
- if (Array.isArray(inputValue) === false) {
29
+ if (!Array.isArray(inputValue)) {
32
30
  return collection;
33
31
  }
34
32
  for (const key in inputValue) {
@@ -48,31 +46,42 @@ const buildReferenceFieldPaths = params => {
48
46
  return collection;
49
47
  }
50
48
  if (baseType === "dynamicZone") {
51
- var _field$settings;
52
- const templates = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates) || [];
53
- for (const template of templates) {
54
- if (field.multipleValues) {
55
- const inputValue = _dotProp.default.get(input, `${field.fieldId}`, []);
56
- if (Array.isArray(inputValue) === false) {
57
- return collection;
58
- }
59
- for (const key in inputValue) {
60
- const result = buildReferenceFieldPaths({
61
- fields: template.fields,
62
- input: inputValue[key],
63
- parentPaths: parentPaths.concat([field.fieldId, key, template.gqlTypeName])
64
- });
65
- collection.push(...result);
66
- }
67
- continue;
49
+ const templates = field.settings?.templates || [];
50
+ if (field.multipleValues) {
51
+ const values = _dotProp.default.get(input, field.fieldId, []);
52
+ if (!Array.isArray(values)) {
53
+ return collection;
68
54
  }
69
- const result = buildReferenceFieldPaths({
70
- fields: template.fields,
71
- input,
72
- parentPaths: parentPaths.concat([field.fieldId, template.gqlTypeName])
55
+ values.forEach((value, index) => {
56
+ const template = templates.find(tpl => tpl.id === value["_templateId"]);
57
+ if (!template) {
58
+ return;
59
+ }
60
+ const result = buildReferenceFieldPaths({
61
+ fields: template.fields,
62
+ input: value,
63
+ parentPaths: parentPaths.concat([field.fieldId, String(index)])
64
+ });
65
+ collection.push(...result);
73
66
  });
74
- collection.push(...result);
67
+ return collection;
68
+ }
69
+ const value = _dotProp.default.get(input, field.fieldId, {});
70
+ if (!value) {
71
+ return collection;
75
72
  }
73
+
74
+ // @ts-expect-error We're sure that a template value contains a _templateId property.
75
+ const template = templates.find(tpl => tpl.id === value["_templateId"]);
76
+ if (!template) {
77
+ return collection;
78
+ }
79
+ const result = buildReferenceFieldPaths({
80
+ fields: template.fields,
81
+ input: value ?? {},
82
+ parentPaths: parentPaths.concat([field.fieldId])
83
+ });
84
+ collection.push(...result);
76
85
  return collection;
77
86
  }
78
87
 
@@ -101,9 +110,8 @@ const buildReferenceFieldPaths = params => {
101
110
  return collection;
102
111
  }
103
112
  for (const key in objFieldInputValue) {
104
- var _field$settings2;
105
113
  const result = buildReferenceFieldPaths({
106
- fields: ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.fields) || [],
114
+ fields: field.settings?.fields || [],
107
115
  input: objFieldInputValue[key],
108
116
  parentPaths: parentPaths.concat([field.fieldId, key])
109
117
  });
@@ -116,7 +124,7 @@ const buildReferenceFieldPaths = params => {
116
124
  * Single value reference field.
117
125
  */
118
126
  const results = buildReferenceFieldPaths({
119
- fields: ((_field$settings3 = field.settings) === null || _field$settings3 === void 0 ? void 0 : _field$settings3.fields) || [],
127
+ fields: field.settings?.fields || [],
120
128
  input: objFieldInputValue,
121
129
  parentPaths: parentPaths.concat([field.fieldId])
122
130
  });
@@ -135,6 +143,13 @@ const getReferenceFieldValue = ref => {
135
143
  modelId: (ref.modelId || "").trim() || null
136
144
  };
137
145
  };
146
+
147
+ /**
148
+ * This function traverses the content entry input value, extracts all occurrences of the `ref` field,
149
+ * optionally verifies that those referenced entries exist (by loading them), and normalizes the `ref` value to
150
+ * always contain `{ id, modelId, entryId }`. `entryId` is important when data is being loaded via
151
+ * the `read` and `preview` endpoint.
152
+ */
138
153
  const referenceFieldsMapping = async params => {
139
154
  const {
140
155
  context,
@@ -142,17 +157,68 @@ const referenceFieldsMapping = async params => {
142
157
  input,
143
158
  validateEntries = false
144
159
  } = params;
145
- let output = (0, _objectSpread2.default)({}, input);
160
+ let output = {
161
+ ...input
162
+ };
146
163
  const referenceFieldPaths = buildReferenceFieldPaths({
147
164
  fields: model.fields,
148
165
  input,
149
166
  parentPaths: []
150
167
  });
151
- if (referenceFieldPaths.length === 0) {
168
+ if (!referenceFieldPaths.length) {
152
169
  return output;
153
170
  }
154
- const referencesByModel = {};
155
- const pathsByReferenceId = {};
171
+ if (validateEntries) {
172
+ await validateReferencedEntries({
173
+ output,
174
+ context,
175
+ referenceFieldPaths
176
+ });
177
+ }
178
+
179
+ /**
180
+ * Assign the entryId, id and model values to the output.
181
+ */
182
+ for (const path of referenceFieldPaths) {
183
+ // It is safe to cast here, because `referenceFieldPaths` array is generated from the `input`.
184
+ const refValue = _dotProp.default.get(input, path);
185
+ if (!refValue) {
186
+ continue;
187
+ }
188
+
189
+ /**
190
+ * Over time, the structure of `RefInput` was changing, and we need to handle different cases for backwards
191
+ * compatibility. The latest valid structure of a `ref` field value is { id, modelId }, but we also need
192
+ * to make sure that the legacy structure { entryId, modelId } is supported.
193
+ */
194
+ const {
195
+ id,
196
+ modelId,
197
+ entryId: maybeEntryId
198
+ } = refValue;
199
+ const {
200
+ id: entryId
201
+ } = (0, _utils.parseIdentifier)(maybeEntryId || id);
202
+ output = _dotProp.default.set(output, path, {
203
+ // If `id` is not set, we're dealing with the legacy structure.
204
+ id: id ?? maybeEntryId,
205
+ entryId,
206
+ modelId
207
+ });
208
+ }
209
+ return output;
210
+ };
211
+ exports.referenceFieldsMapping = referenceFieldsMapping;
212
+ async function validateReferencedEntries({
213
+ output,
214
+ context,
215
+ referenceFieldPaths
216
+ }) {
217
+ const referencesByModel = new Map();
218
+
219
+ /**
220
+ * Group references by modelId.
221
+ */
156
222
  for (const path of referenceFieldPaths) {
157
223
  const ref = _dotProp.default.get(output, path);
158
224
  const {
@@ -162,104 +228,61 @@ const referenceFieldsMapping = async params => {
162
228
  if (!id || !modelId) {
163
229
  continue;
164
230
  }
165
- if (!referencesByModel[modelId]) {
166
- referencesByModel[modelId] = [];
167
- }
168
- referencesByModel[modelId].push(id);
169
- if (!pathsByReferenceId[id]) {
170
- pathsByReferenceId[id] = [];
231
+ if (!referencesByModel.has(modelId)) {
232
+ referencesByModel.set(modelId, []);
171
233
  }
172
- pathsByReferenceId[id].push(path);
234
+ referencesByModel.get(modelId)?.push(id);
173
235
  }
174
-
175
- /**
176
- * Again, no point in going further.
177
- */
178
- if (Object.keys(referencesByModel).length === 0) {
179
- return output;
236
+ if (!referencesByModel.size) {
237
+ return;
180
238
  }
239
+
181
240
  /**
182
241
  * Load all models and use only those that are used in reference.
183
242
  */
184
- const models = (await context.cms.listModels()).filter(model => {
185
- const entries = referencesByModel[model.modelId];
186
- if (!Array.isArray(entries) || entries.length === 0) {
187
- return false;
188
- }
189
- return true;
243
+ const models = await context.security.withoutAuthorization(async () => {
244
+ return (await context.cms.listModels()).filter(model => {
245
+ const entries = referencesByModel.get(model.modelId);
246
+ if (!Array.isArray(entries) || entries.length === 0) {
247
+ return false;
248
+ }
249
+ return true;
250
+ });
190
251
  });
191
- /**
192
- * Check for any model existence, just in case.
193
- */
194
- if (models.length === 0) {
195
- return output;
252
+ if (!models.length) {
253
+ return;
196
254
  }
197
255
 
198
256
  /**
199
- * Load all the entries by their ID
257
+ * Load all the entries by their IDs.
200
258
  */
201
- const promises = models.map(model => {
202
- return context.cms.getEntriesByIds(model, referencesByModel[model.modelId]);
259
+ const promises = await context.security.withoutAuthorization(async () => {
260
+ return models.map(model => {
261
+ return context.cms.getEntriesByIds(model, referencesByModel.get(model.modelId) || []);
262
+ });
203
263
  });
204
- const results = await Promise.all(promises);
205
- const records = results.reduce((collection, entries) => {
206
- for (const entry of entries) {
207
- collection[entry.id] = {
208
- id: entry.id,
209
- entryId: entry.entryId,
210
- modelId: entry.modelId
211
- };
212
- }
213
- return collection;
264
+ const allEntries = await Promise.all(promises).then(res => res.flat());
265
+ const entriesByModel = allEntries.reduce((acc, entry) => {
266
+ return {
267
+ ...acc,
268
+ [entry.modelId]: [...(acc[entry.modelId] || []), entry.id]
269
+ };
214
270
  }, {});
271
+
215
272
  /**
216
- * Verify that all referenced entries actually exist.
273
+ * Verify that all entries exist.
217
274
  */
218
- for (const modelId in referencesByModel) {
219
- const entries = referencesByModel[modelId];
220
- for (const id of entries) {
221
- if (records[id]) {
222
- continue;
223
- } else if (validateEntries) {
275
+ referencesByModel.forEach((ids, modelId) => {
276
+ const modelEntriesInDb = entriesByModel[modelId];
277
+ for (const id of ids) {
278
+ if (!modelEntriesInDb || !modelEntriesInDb.includes(id)) {
224
279
  throw new _error.default(`Missing referenced entry with id "${id}" in model "${modelId}".`, "ENTRY_NOT_FOUND", {
225
280
  id,
226
281
  model: modelId
227
282
  });
228
283
  }
229
- const {
230
- id: entryId
231
- } = (0, _utils.parseIdentifier)(id);
232
- records[id] = {
233
- id,
234
- entryId,
235
- modelId
236
- };
237
284
  }
238
- }
285
+ });
286
+ }
239
287
 
240
- /**
241
- * In the end, assign the entryId, id and model values to the output.
242
- */
243
- for (const id in pathsByReferenceId) {
244
- const entry = records[id];
245
- const paths = pathsByReferenceId[id];
246
- if (!entry) {
247
- if (validateEntries) {
248
- throw new _error.default("Missing entry in records.", "ENTRY_ERROR", {
249
- id,
250
- paths
251
- });
252
- }
253
- continue;
254
- }
255
- for (const path of paths) {
256
- output = _dotProp.default.set(output, path, {
257
- id: entry.id,
258
- entryId: entry.entryId,
259
- modelId: entry.modelId
260
- });
261
- }
262
- }
263
- return output;
264
- };
265
- exports.referenceFieldsMapping = referenceFieldsMapping;
288
+ //# sourceMappingURL=referenceFieldsMapping.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["buildReferenceFieldPaths","params","fields","parentPaths","initialParentPaths","input","isMultipleValues","Array","isArray","filter","field","includes","getBaseFieldType","reduce","collection","baseType","parentPathsValue","length","join","multipleValues","inputValue","dotProp","get","fieldId","key","path","push","templates","settings","template","result","concat","gqlTypeName","objFieldPath","objFieldInputValue","results","getReferenceFieldValue","ref","id","modelId","entryId","trim","referenceFieldsMapping","context","model","validateEntries","output","referenceFieldPaths","referencesByModel","pathsByReferenceId","Object","keys","models","cms","listModels","entries","promises","map","getEntriesByIds","Promise","all","records","entry","WebinyError","parseIdentifier","paths","set"],"sources":["referenceFieldsMapping.ts"],"sourcesContent":["import { CmsContext, CmsDynamicZoneTemplate, CmsModel, CmsModelField } from \"~/types\";\nimport WebinyError from \"@webiny/error\";\nimport dotProp from \"dot-prop\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface CmsRefEntry {\n id: string;\n entryId: string;\n modelId: string;\n}\n\ninterface ReferenceObject {\n id: string;\n modelId: string;\n}\n\ninterface Params {\n context: CmsContext;\n model: CmsModel;\n input: Record<string, ReferenceObject | ReferenceObject[]>;\n validateEntries?: boolean;\n}\n\ninterface BuildReferenceFieldPaths {\n fields: CmsModelField[];\n parentPaths: string[];\n input: Record<string, any>;\n}\n\nconst buildReferenceFieldPaths = (params: BuildReferenceFieldPaths): string[] => {\n const { fields, parentPaths: initialParentPaths, input } = params;\n\n const parentPaths = [...initialParentPaths];\n\n const isMultipleValues = Array.isArray(input);\n\n return fields\n .filter(field => [\"object\", \"ref\", \"dynamicZone\"].includes(getBaseFieldType(field)))\n .reduce((collection, field) => {\n /**\n * First we check the ref field\n */\n const baseType = getBaseFieldType(field);\n if (baseType === \"ref\") {\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n if (field.multipleValues) {\n const inputValue = dotProp.get(input, `${field.fieldId}`, []);\n if (Array.isArray(inputValue) === false) {\n return collection;\n }\n for (const key in inputValue) {\n const path = `${parentPathsValue}${field.fieldId}.${key}`;\n collection.push(path);\n }\n return collection;\n }\n\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n collection.push(`${parentPathsValue}${field.fieldId}`);\n\n return collection;\n }\n\n if (baseType === \"dynamicZone\") {\n const templates: CmsDynamicZoneTemplate[] = field.settings?.templates || [];\n for (const template of templates) {\n if (field.multipleValues) {\n const inputValue = dotProp.get(input, `${field.fieldId}`, []);\n if (Array.isArray(inputValue) === false) {\n return collection;\n }\n\n for (const key in inputValue) {\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input: inputValue[key],\n parentPaths: parentPaths.concat([\n field.fieldId,\n key,\n template.gqlTypeName\n ])\n });\n collection.push(...result);\n }\n continue;\n }\n\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input,\n parentPaths: parentPaths.concat([field.fieldId, template.gqlTypeName])\n });\n collection.push(...result);\n }\n\n return collection;\n }\n\n /**\n * Then we move onto the object field\n */\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n /**\n * This is if received input is array. We need to map key with fieldId at this point.\n */\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n const objFieldPath = `${field.fieldId}`;\n const objFieldInputValue = dotProp.get(input, objFieldPath, []);\n\n /**\n * If field is multiple values one, we need to go through the input and use the existing keys.\n */\n if (field.multipleValues) {\n if (Array.isArray(objFieldInputValue) === false) {\n return collection;\n }\n for (const key in objFieldInputValue) {\n const result = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue[key],\n parentPaths: parentPaths.concat([field.fieldId, key])\n });\n collection.push(...result);\n }\n\n return collection;\n }\n\n /**\n * Single value reference field.\n */\n const results = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue,\n parentPaths: parentPaths.concat([field.fieldId])\n });\n\n return collection.concat(results);\n }, [] as string[]);\n};\n\nconst getReferenceFieldValue = (ref: any): { id: string | null; modelId: string | null } => {\n if (!ref) {\n return {\n id: null,\n modelId: null\n };\n }\n return {\n id: (ref.id || ref.entryId || \"\").trim() || null,\n modelId: (ref.modelId || \"\").trim() || null\n };\n};\n\nexport const referenceFieldsMapping = async (params: Params): Promise<Record<string, any>> => {\n const { context, model, input, validateEntries = false } = params;\n\n let output: Record<string, any> = {\n ...input\n };\n\n const referenceFieldPaths = buildReferenceFieldPaths({\n fields: model.fields,\n input,\n parentPaths: []\n });\n if (referenceFieldPaths.length === 0) {\n return output;\n }\n\n const referencesByModel: Record<string, string[]> = {};\n const pathsByReferenceId: Record<string, string[]> = {};\n\n for (const path of referenceFieldPaths) {\n const ref = dotProp.get(output, path) as ReferenceObject | any;\n\n const { id, modelId } = getReferenceFieldValue(ref);\n\n if (!id || !modelId) {\n continue;\n }\n if (!referencesByModel[modelId]) {\n referencesByModel[modelId] = [];\n }\n referencesByModel[modelId].push(id);\n if (!pathsByReferenceId[id]) {\n pathsByReferenceId[id] = [];\n }\n pathsByReferenceId[id].push(path);\n }\n\n /**\n * Again, no point in going further.\n */\n if (Object.keys(referencesByModel).length === 0) {\n return output;\n }\n /**\n * Load all models and use only those that are used in reference.\n */\n const models = (await context.cms.listModels()).filter(model => {\n const entries = referencesByModel[model.modelId];\n if (!Array.isArray(entries) || entries.length === 0) {\n return false;\n }\n return true;\n });\n /**\n * Check for any model existence, just in case.\n */\n if (models.length === 0) {\n return output;\n }\n\n /**\n * Load all the entries by their ID\n */\n const promises = models.map(model => {\n return context.cms.getEntriesByIds(model, referencesByModel[model.modelId]);\n });\n\n const results = await Promise.all(promises);\n\n const records: Record<string, CmsRefEntry> = results.reduce((collection, entries) => {\n for (const entry of entries) {\n collection[entry.id] = {\n id: entry.id,\n entryId: entry.entryId,\n modelId: entry.modelId\n };\n }\n return collection;\n }, {} as Record<string, CmsRefEntry>);\n /**\n * Verify that all referenced entries actually exist.\n */\n for (const modelId in referencesByModel) {\n const entries = referencesByModel[modelId];\n for (const id of entries) {\n if (records[id]) {\n continue;\n } else if (validateEntries) {\n throw new WebinyError(\n `Missing referenced entry with id \"${id}\" in model \"${modelId}\".`,\n \"ENTRY_NOT_FOUND\",\n {\n id,\n model: modelId\n }\n );\n }\n const { id: entryId } = parseIdentifier(id);\n records[id] = {\n id,\n entryId,\n modelId\n };\n }\n }\n\n /**\n * In the end, assign the entryId, id and model values to the output.\n */\n for (const id in pathsByReferenceId) {\n const entry = records[id];\n const paths = pathsByReferenceId[id];\n if (!entry) {\n if (validateEntries) {\n throw new WebinyError(\"Missing entry in records.\", \"ENTRY_ERROR\", {\n id,\n paths\n });\n }\n continue;\n }\n for (const path of paths) {\n output = dotProp.set(output, path, {\n id: entry.id,\n entryId: entry.entryId,\n modelId: entry.modelId\n });\n }\n }\n\n return output;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_dotProp","_interopRequireDefault","require","_error","_utils","_getBaseFieldType","buildReferenceFieldPaths","params","fields","parentPaths","initialParentPaths","input","isMultipleValues","Array","isArray","filter","field","includes","getBaseFieldType","reduce","collection","baseType","parentPathsValue","length","join","multipleValues","inputValue","dotProp","get","fieldId","key","path","push","templates","settings","values","forEach","value","index","template","find","tpl","id","result","concat","String","objFieldPath","objFieldInputValue","results","getReferenceFieldValue","ref","modelId","entryId","trim","referenceFieldsMapping","context","model","validateEntries","output","referenceFieldPaths","validateReferencedEntries","refValue","maybeEntryId","parseIdentifier","set","exports","referencesByModel","Map","has","size","models","security","withoutAuthorization","cms","listModels","entries","promises","map","getEntriesByIds","allEntries","Promise","all","then","res","flat","entriesByModel","acc","entry","ids","modelEntriesInDb","WebinyError"],"sources":["referenceFieldsMapping.ts"],"sourcesContent":["import dotProp from \"dot-prop\";\nimport WebinyError from \"@webiny/error\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\nimport type { CmsContext, CmsDynamicZoneTemplate, CmsModel, CmsModelField } from \"~/types\";\n\ninterface CmsRefEntry {\n id: string;\n entryId: string;\n modelId: string;\n}\n\ntype RefValue = Pick<CmsRefEntry, \"id\" | \"modelId\"> & {\n entryId?: string;\n};\n\ninterface ReferenceObject {\n id: string;\n modelId: string;\n}\n\ninterface Params {\n context: CmsContext;\n model: CmsModel;\n input: Record<string, ReferenceObject | ReferenceObject[]>;\n validateEntries?: boolean;\n}\n\ninterface BuildReferenceFieldPaths {\n fields: CmsModelField[];\n parentPaths: string[];\n input: Record<string, any>;\n}\n\nconst buildReferenceFieldPaths = (params: BuildReferenceFieldPaths): string[] => {\n const { fields, parentPaths: initialParentPaths, input } = params;\n\n const parentPaths = [...initialParentPaths];\n\n const isMultipleValues = Array.isArray(input);\n\n return fields\n .filter(field => [\"object\", \"ref\", \"dynamicZone\"].includes(getBaseFieldType(field)))\n .reduce((collection, field) => {\n /**\n * First we check the ref field\n */\n const baseType = getBaseFieldType(field);\n if (baseType === \"ref\") {\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n if (field.multipleValues) {\n const inputValue = dotProp.get(input, `${field.fieldId}`, []);\n if (!Array.isArray(inputValue)) {\n return collection;\n }\n\n for (const key in inputValue) {\n const path = `${parentPathsValue}${field.fieldId}.${key}`;\n collection.push(path);\n }\n return collection;\n }\n\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n collection.push(`${parentPathsValue}${field.fieldId}`);\n\n return collection;\n }\n\n if (baseType === \"dynamicZone\") {\n const templates: CmsDynamicZoneTemplate[] = field.settings?.templates || [];\n\n if (field.multipleValues) {\n const values = dotProp.get(input, field.fieldId, []);\n if (!Array.isArray(values)) {\n return collection;\n }\n\n values.forEach((value, index) => {\n const template = templates.find(tpl => tpl.id === value[\"_templateId\"]);\n if (!template) {\n return;\n }\n\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input: value,\n parentPaths: parentPaths.concat([field.fieldId, String(index)])\n });\n\n collection.push(...result);\n });\n\n return collection;\n }\n\n const value = dotProp.get(input, field.fieldId, {});\n if (!value) {\n return collection;\n }\n\n // @ts-expect-error We're sure that a template value contains a _templateId property.\n const template = templates.find(tpl => tpl.id === value[\"_templateId\"]);\n\n if (!template) {\n return collection;\n }\n\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input: value ?? {},\n parentPaths: parentPaths.concat([field.fieldId])\n });\n collection.push(...result);\n\n return collection;\n }\n\n /**\n * Then we move onto the object field\n */\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n /**\n * This is if received input is array. We need to map key with fieldId at this point.\n */\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n const objFieldPath = `${field.fieldId}`;\n const objFieldInputValue = dotProp.get(input, objFieldPath, []);\n\n /**\n * If field is multiple values one, we need to go through the input and use the existing keys.\n */\n if (field.multipleValues) {\n if (Array.isArray(objFieldInputValue) === false) {\n return collection;\n }\n for (const key in objFieldInputValue) {\n const result = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue[key],\n parentPaths: parentPaths.concat([field.fieldId, key])\n });\n collection.push(...result);\n }\n\n return collection;\n }\n\n /**\n * Single value reference field.\n */\n const results = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue,\n parentPaths: parentPaths.concat([field.fieldId])\n });\n\n return collection.concat(results);\n }, [] as string[]);\n};\n\nconst getReferenceFieldValue = (ref: any): { id: string | null; modelId: string | null } => {\n if (!ref) {\n return {\n id: null,\n modelId: null\n };\n }\n return {\n id: (ref.id || ref.entryId || \"\").trim() || null,\n modelId: (ref.modelId || \"\").trim() || null\n };\n};\n\n/**\n * This function traverses the content entry input value, extracts all occurrences of the `ref` field,\n * optionally verifies that those referenced entries exist (by loading them), and normalizes the `ref` value to\n * always contain `{ id, modelId, entryId }`. `entryId` is important when data is being loaded via\n * the `read` and `preview` endpoint.\n */\nexport const referenceFieldsMapping = async (params: Params): Promise<Record<string, any>> => {\n const { context, model, input, validateEntries = false } = params;\n\n let output: Record<string, any> = {\n ...input\n };\n\n const referenceFieldPaths = buildReferenceFieldPaths({\n fields: model.fields,\n input,\n parentPaths: []\n });\n\n if (!referenceFieldPaths.length) {\n return output;\n }\n\n if (validateEntries) {\n await validateReferencedEntries({ output, context, referenceFieldPaths });\n }\n\n /**\n * Assign the entryId, id and model values to the output.\n */\n for (const path of referenceFieldPaths) {\n // It is safe to cast here, because `referenceFieldPaths` array is generated from the `input`.\n const refValue: RefValue | undefined = dotProp.get(input, path);\n if (!refValue) {\n continue;\n }\n\n /**\n * Over time, the structure of `RefInput` was changing, and we need to handle different cases for backwards\n * compatibility. The latest valid structure of a `ref` field value is { id, modelId }, but we also need\n * to make sure that the legacy structure { entryId, modelId } is supported.\n */\n const { id, modelId, entryId: maybeEntryId } = refValue;\n\n const { id: entryId } = parseIdentifier(maybeEntryId || id);\n\n output = dotProp.set(output, path, {\n // If `id` is not set, we're dealing with the legacy structure.\n id: id ?? maybeEntryId,\n entryId,\n modelId\n });\n }\n\n return output;\n};\n\ninterface ValidateReferencedEntriesParams {\n output: Record<string, any>;\n context: CmsContext;\n referenceFieldPaths: string[];\n}\n\nasync function validateReferencedEntries({\n output,\n context,\n referenceFieldPaths\n}: ValidateReferencedEntriesParams) {\n const referencesByModel = new Map<string, string[]>();\n\n /**\n * Group references by modelId.\n */\n for (const path of referenceFieldPaths) {\n const ref = dotProp.get(output, path) as ReferenceObject | any;\n\n const { id, modelId } = getReferenceFieldValue(ref);\n\n if (!id || !modelId) {\n continue;\n }\n\n if (!referencesByModel.has(modelId)) {\n referencesByModel.set(modelId, []);\n }\n\n referencesByModel.get(modelId)?.push(id);\n }\n\n if (!referencesByModel.size) {\n return;\n }\n\n /**\n * Load all models and use only those that are used in reference.\n */\n const models = await context.security.withoutAuthorization(async () => {\n return (await context.cms.listModels()).filter(model => {\n const entries = referencesByModel.get(model.modelId);\n if (!Array.isArray(entries) || entries.length === 0) {\n return false;\n }\n return true;\n });\n });\n\n if (!models.length) {\n return;\n }\n\n /**\n * Load all the entries by their IDs.\n */\n const promises = await context.security.withoutAuthorization(async () => {\n return models.map(model => {\n return context.cms.getEntriesByIds(model, referencesByModel.get(model.modelId) || []);\n });\n });\n\n const allEntries = await Promise.all(promises).then(res => res.flat());\n const entriesByModel = allEntries.reduce<Record<string, string[]>>((acc, entry) => {\n return { ...acc, [entry.modelId]: [...(acc[entry.modelId] || []), entry.id] };\n }, {});\n\n /**\n * Verify that all entries exist.\n */\n referencesByModel.forEach((ids, modelId) => {\n const modelEntriesInDb = entriesByModel[modelId];\n for (const id of ids) {\n if (!modelEntriesInDb || !modelEntriesInDb.includes(id)) {\n throw new WebinyError(\n `Missing referenced entry with id \"${id}\" in model \"${modelId}\".`,\n \"ENTRY_NOT_FOUND\",\n {\n id,\n model: modelId\n }\n );\n }\n }\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { CmsModelField } from "../../types";
2
- import { PluginsContainer } from "@webiny/plugins";
1
+ import type { CmsModelField } from "../../types";
2
+ import type { PluginsContainer } from "@webiny/plugins";
3
3
  interface Params {
4
4
  input: string[];
5
5
  fields: CmsModelField[];
@@ -12,7 +12,6 @@ const buildSearchableFieldList = params => {
12
12
  parents
13
13
  } = params;
14
14
  return fields.reduce((result, field) => {
15
- var _field$settings;
16
15
  /**
17
16
  * We need to check if the field is full text searchable, and for that we need a plugin for the field type.
18
17
  */
@@ -23,7 +22,7 @@ const buildSearchableFieldList = params => {
23
22
  /**
24
23
  * There is a possibility that searchable fields exist in nested object field, so check that as well.
25
24
  */
26
- const childFields = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields) || [];
25
+ const childFields = field.settings?.fields || [];
27
26
  if (childFields.length > 0) {
28
27
  /**
29
28
  * So we build a list of searchable child fields and push it into the main result set.
@@ -40,7 +39,7 @@ const buildSearchableFieldList = params => {
40
39
  /**
41
40
  * If not searchable, continue further.
42
41
  */
43
- if (!plugin.fullTextSearch) {
42
+ if (!plugin.fullTextSearch || field.settings?.disableFullTextSearch === true) {
44
43
  return result;
45
44
  }
46
45
 
@@ -69,4 +68,6 @@ const getSearchableFields = params => {
69
68
  parents: []
70
69
  });
71
70
  };
72
- exports.getSearchableFields = getSearchableFields;
71
+ exports.getSearchableFields = getSearchableFields;
72
+
73
+ //# sourceMappingURL=searchableFields.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["buildSearchableFieldList","params","input","plugins","fields","parents","reduce","result","field","plugin","type","childFields","settings","length","childResults","fieldId","push","fullTextSearch","path","join","getSearchableFields","fieldPluginMap","byType","collection","fieldType"],"sources":["searchableFields.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\ninterface BuildParams {\n input: string[];\n fields: CmsModelField[];\n plugins: Record<string, CmsModelFieldToGraphQLPlugin>;\n parents: string[];\n}\nconst buildSearchableFieldList = (params: BuildParams): string[] => {\n const { input, plugins, fields, parents } = params;\n return fields.reduce<string[]>((result, field) => {\n /**\n * We need to check if the field is full text searchable, and for that we need a plugin for the field type.\n */\n const plugin = plugins[field.type];\n if (!plugin) {\n return result;\n }\n /**\n * There is a possibility that searchable fields exist in nested object field, so check that as well.\n */\n const childFields = field.settings?.fields || [];\n if (childFields.length > 0) {\n /**\n * So we build a list of searchable child fields and push it into the main result set.\n */\n const childResults = buildSearchableFieldList({\n fields: childFields,\n parents: [...parents, field.fieldId],\n plugins,\n input\n });\n\n result.push(...childResults);\n return result;\n }\n /**\n * If not searchable, continue further.\n */\n if (!plugin.fullTextSearch) {\n return result;\n }\n\n /**\n * Combine all parent paths with the current one and push it.\n */\n const path = [...parents, field.fieldId].join(\".\");\n result.push(path);\n\n return result;\n }, []);\n};\n\ninterface Params {\n input: string[];\n fields: CmsModelField[];\n plugins: PluginsContainer;\n}\nexport const getSearchableFields = (params: Params): string[] => {\n const { plugins, input, fields } = params;\n const fieldPluginMap = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce((collection, field) => {\n collection[field.fieldType] = field;\n return collection;\n }, {} as Record<string, CmsModelFieldToGraphQLPlugin>);\n\n return buildSearchableFieldList({\n fields,\n input,\n plugins: fieldPluginMap,\n parents: []\n });\n};\n"],"mappings":";;;;;;AASA,MAAMA,wBAAwB,GAAIC,MAAmB,IAAe;EAChE,MAAM;IAAEC,KAAK;IAAEC,OAAO;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,MAAM;EAClD,OAAOG,MAAM,CAACE,MAAM,CAAW,CAACC,MAAM,EAAEC,KAAK,KAAK;IAAA;IAC9C;AACR;AACA;IACQ,MAAMC,MAAM,GAAGN,OAAO,CAACK,KAAK,CAACE,IAAI,CAAC;IAClC,IAAI,CAACD,MAAM,EAAE;MACT,OAAOF,MAAM;IACjB;IACA;AACR;AACA;IACQ,MAAMI,WAAW,GAAG,oBAAAH,KAAK,CAACI,QAAQ,oDAAd,gBAAgBR,MAAM,KAAI,EAAE;IAChD,IAAIO,WAAW,CAACE,MAAM,GAAG,CAAC,EAAE;MACxB;AACZ;AACA;MACY,MAAMC,YAAY,GAAGd,wBAAwB,CAAC;QAC1CI,MAAM,EAAEO,WAAW;QACnBN,OAAO,EAAE,CAAC,GAAGA,OAAO,EAAEG,KAAK,CAACO,OAAO,CAAC;QACpCZ,OAAO;QACPD;MACJ,CAAC,CAAC;MAEFK,MAAM,CAACS,IAAI,CAAC,GAAGF,YAAY,CAAC;MAC5B,OAAOP,MAAM;IACjB;IACA;AACR;AACA;IACQ,IAAI,CAACE,MAAM,CAACQ,cAAc,EAAE;MACxB,OAAOV,MAAM;IACjB;;IAEA;AACR;AACA;IACQ,MAAMW,IAAI,GAAG,CAAC,GAAGb,OAAO,EAAEG,KAAK,CAACO,OAAO,CAAC,CAACI,IAAI,CAAC,GAAG,CAAC;IAClDZ,MAAM,CAACS,IAAI,CAACE,IAAI,CAAC;IAEjB,OAAOX,MAAM;EACjB,CAAC,EAAE,EAAE,CAAC;AACV,CAAC;AAOM,MAAMa,mBAAmB,GAAInB,MAAc,IAAe;EAC7D,MAAM;IAAEE,OAAO;IAAED,KAAK;IAAEE;EAAO,CAAC,GAAGH,MAAM;EACzC,MAAMoB,cAAc,GAAGlB,OAAO,CACzBmB,MAAM,CAA+B,4BAA4B,CAAC,CAClEhB,MAAM,CAAC,CAACiB,UAAU,EAAEf,KAAK,KAAK;IAC3Be,UAAU,CAACf,KAAK,CAACgB,SAAS,CAAC,GAAGhB,KAAK;IACnC,OAAOe,UAAU;EACrB,CAAC,EAAE,CAAC,CAAC,CAAiD;EAE1D,OAAOvB,wBAAwB,CAAC;IAC5BI,MAAM;IACNF,KAAK;IACLC,OAAO,EAAEkB,cAAc;IACvBhB,OAAO,EAAE;EACb,CAAC,CAAC;AACN,CAAC;AAAC"}
1
+ {"version":3,"names":["buildSearchableFieldList","params","input","plugins","fields","parents","reduce","result","field","plugin","type","childFields","settings","length","childResults","fieldId","push","fullTextSearch","disableFullTextSearch","path","join","getSearchableFields","fieldPluginMap","byType","collection","fieldType","exports"],"sources":["searchableFields.ts"],"sourcesContent":["import type { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\n\ninterface BuildParams {\n input: string[];\n fields: CmsModelField[];\n plugins: Record<string, CmsModelFieldToGraphQLPlugin>;\n parents: string[];\n}\nconst buildSearchableFieldList = (params: BuildParams): string[] => {\n const { input, plugins, fields, parents } = params;\n return fields.reduce<string[]>((result, field) => {\n /**\n * We need to check if the field is full text searchable, and for that we need a plugin for the field type.\n */\n const plugin = plugins[field.type];\n if (!plugin) {\n return result;\n }\n /**\n * There is a possibility that searchable fields exist in nested object field, so check that as well.\n */\n const childFields = field.settings?.fields || [];\n if (childFields.length > 0) {\n /**\n * So we build a list of searchable child fields and push it into the main result set.\n */\n const childResults = buildSearchableFieldList({\n fields: childFields,\n parents: [...parents, field.fieldId],\n plugins,\n input\n });\n\n result.push(...childResults);\n return result;\n }\n /**\n * If not searchable, continue further.\n */\n if (!plugin.fullTextSearch || field.settings?.disableFullTextSearch === true) {\n return result;\n }\n\n /**\n * Combine all parent paths with the current one and push it.\n */\n const path = [...parents, field.fieldId].join(\".\");\n result.push(path);\n\n return result;\n }, []);\n};\n\ninterface Params {\n input: string[];\n fields: CmsModelField[];\n plugins: PluginsContainer;\n}\nexport const getSearchableFields = (params: Params): string[] => {\n const { plugins, input, fields } = params;\n const fieldPluginMap = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce((collection, field) => {\n collection[field.fieldType] = field;\n return collection;\n }, {} as Record<string, CmsModelFieldToGraphQLPlugin>);\n\n return buildSearchableFieldList({\n fields,\n input,\n plugins: fieldPluginMap,\n parents: []\n });\n};\n"],"mappings":";;;;;;AASA,MAAMA,wBAAwB,GAAIC,MAAmB,IAAe;EAChE,MAAM;IAAEC,KAAK;IAAEC,OAAO;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,MAAM;EAClD,OAAOG,MAAM,CAACE,MAAM,CAAW,CAACC,MAAM,EAAEC,KAAK,KAAK;IAC9C;AACR;AACA;IACQ,MAAMC,MAAM,GAAGN,OAAO,CAACK,KAAK,CAACE,IAAI,CAAC;IAClC,IAAI,CAACD,MAAM,EAAE;MACT,OAAOF,MAAM;IACjB;IACA;AACR;AACA;IACQ,MAAMI,WAAW,GAAGH,KAAK,CAACI,QAAQ,EAAER,MAAM,IAAI,EAAE;IAChD,IAAIO,WAAW,CAACE,MAAM,GAAG,CAAC,EAAE;MACxB;AACZ;AACA;MACY,MAAMC,YAAY,GAAGd,wBAAwB,CAAC;QAC1CI,MAAM,EAAEO,WAAW;QACnBN,OAAO,EAAE,CAAC,GAAGA,OAAO,EAAEG,KAAK,CAACO,OAAO,CAAC;QACpCZ,OAAO;QACPD;MACJ,CAAC,CAAC;MAEFK,MAAM,CAACS,IAAI,CAAC,GAAGF,YAAY,CAAC;MAC5B,OAAOP,MAAM;IACjB;IACA;AACR;AACA;IACQ,IAAI,CAACE,MAAM,CAACQ,cAAc,IAAIT,KAAK,CAACI,QAAQ,EAAEM,qBAAqB,KAAK,IAAI,EAAE;MAC1E,OAAOX,MAAM;IACjB;;IAEA;AACR;AACA;IACQ,MAAMY,IAAI,GAAG,CAAC,GAAGd,OAAO,EAAEG,KAAK,CAACO,OAAO,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC;IAClDb,MAAM,CAACS,IAAI,CAACG,IAAI,CAAC;IAEjB,OAAOZ,MAAM;EACjB,CAAC,EAAE,EAAE,CAAC;AACV,CAAC;AAOM,MAAMc,mBAAmB,GAAIpB,MAAc,IAAe;EAC7D,MAAM;IAAEE,OAAO;IAAED,KAAK;IAAEE;EAAO,CAAC,GAAGH,MAAM;EACzC,MAAMqB,cAAc,GAAGnB,OAAO,CACzBoB,MAAM,CAA+B,4BAA4B,CAAC,CAClEjB,MAAM,CAAC,CAACkB,UAAU,EAAEhB,KAAK,KAAK;IAC3BgB,UAAU,CAAChB,KAAK,CAACiB,SAAS,CAAC,GAAGjB,KAAK;IACnC,OAAOgB,UAAU;EACrB,CAAC,EAAE,CAAC,CAAiD,CAAC;EAE1D,OAAOxB,wBAAwB,CAAC;IAC5BI,MAAM;IACNF,KAAK;IACLC,OAAO,EAAEmB,cAAc;IACvBjB,OAAO,EAAE;EACb,CAAC,CAAC;AACN,CAAC;AAACqB,OAAA,CAAAL,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { IDeleteEntry, IDeleteEntryOperation, IGetLatestRevisionByEntryId } from "../../abstractions";
2
+ import type { CmsDeleteEntryOptions, CmsModel } from "../../../../types";
3
+ import type { TransformEntryDelete } from "./TransformEntryDelete";
4
+ export declare class DeleteEntry implements IDeleteEntry {
5
+ private getEntry;
6
+ private transformEntry;
7
+ private deleteEntry;
8
+ constructor(getEntry: IGetLatestRevisionByEntryId, transformEntry: TransformEntryDelete, deleteEntry: IDeleteEntryOperation);
9
+ execute(model: CmsModel, id: string, options: CmsDeleteEntryOptions): Promise<void>;
10
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DeleteEntry = void 0;
7
+ var _handlerGraphql = require("@webiny/handler-graphql");
8
+ var _utils = require("@webiny/utils");
9
+ class DeleteEntry {
10
+ constructor(getEntry, transformEntry, deleteEntry) {
11
+ this.getEntry = getEntry;
12
+ this.transformEntry = transformEntry;
13
+ this.deleteEntry = deleteEntry;
14
+ }
15
+ async execute(model, id, options) {
16
+ const {
17
+ force
18
+ } = options;
19
+ const entryToDelete = await this.getEntry.execute(model, {
20
+ id
21
+ });
22
+
23
+ /**
24
+ * In the case we are forcing the deletion, we do not need the storageEntry to exist as it might be an error when loading single database record.
25
+ *
26
+ * This happens, sometimes, in the Elasticsearch system as the entry might get deleted from the DynamoDB but not from the Elasticsearch.
27
+ * This is due to high load on the Elasticsearch at the time of the deletion.
28
+ */
29
+ if (!entryToDelete && force) {
30
+ const {
31
+ id: entryId
32
+ } = (0, _utils.parseIdentifier)(id);
33
+ const entry = {
34
+ id,
35
+ entryId
36
+ };
37
+ return await this.deleteEntry.execute(model, {
38
+ entry
39
+ });
40
+ }
41
+
42
+ /**
43
+ * If there is no entry, and we do not force the deletion, just throw an error.
44
+ */
45
+ if (!entryToDelete) {
46
+ throw new _handlerGraphql.NotFoundError(`Entry "${id}" was not found!`);
47
+ }
48
+ const {
49
+ entry
50
+ } = await this.transformEntry.execute(model, entryToDelete);
51
+ await this.deleteEntry.execute(model, {
52
+ entry
53
+ });
54
+ }
55
+ }
56
+ exports.DeleteEntry = DeleteEntry;
57
+
58
+ //# sourceMappingURL=DeleteEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_handlerGraphql","require","_utils","DeleteEntry","constructor","getEntry","transformEntry","deleteEntry","execute","model","id","options","force","entryToDelete","entryId","parseIdentifier","entry","NotFoundError","exports"],"sources":["DeleteEntry.ts"],"sourcesContent":["import { NotFoundError } from \"@webiny/handler-graphql\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport type {\n IDeleteEntry,\n IDeleteEntryOperation,\n IGetLatestRevisionByEntryId\n} from \"../../abstractions\";\nimport type { CmsDeleteEntryOptions, CmsEntry, CmsModel } from \"~/types\";\nimport type { TransformEntryDelete } from \"./TransformEntryDelete\";\n\nexport class DeleteEntry implements IDeleteEntry {\n private getEntry: IGetLatestRevisionByEntryId;\n private transformEntry: TransformEntryDelete;\n private deleteEntry: IDeleteEntryOperation;\n\n constructor(\n getEntry: IGetLatestRevisionByEntryId,\n transformEntry: TransformEntryDelete,\n deleteEntry: IDeleteEntryOperation\n ) {\n this.getEntry = getEntry;\n this.transformEntry = transformEntry;\n this.deleteEntry = deleteEntry;\n }\n\n async execute(model: CmsModel, id: string, options: CmsDeleteEntryOptions) {\n const { force } = options;\n\n const entryToDelete = await this.getEntry.execute(model, { id });\n\n /**\n * In the case we are forcing the deletion, we do not need the storageEntry to exist as it might be an error when loading single database record.\n *\n * This happens, sometimes, in the Elasticsearch system as the entry might get deleted from the DynamoDB but not from the Elasticsearch.\n * This is due to high load on the Elasticsearch at the time of the deletion.\n */\n if (!entryToDelete && force) {\n const { id: entryId } = parseIdentifier(id);\n const entry = {\n id,\n entryId\n } as CmsEntry;\n return await this.deleteEntry.execute(model, { entry });\n }\n\n /**\n * If there is no entry, and we do not force the deletion, just throw an error.\n */\n if (!entryToDelete) {\n throw new NotFoundError(`Entry \"${id}\" was not found!`);\n }\n\n const { entry } = await this.transformEntry.execute(model, entryToDelete);\n\n await this.deleteEntry.execute(model, { entry });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASO,MAAME,WAAW,CAAyB;EAK7CC,WAAWA,CACPC,QAAqC,EACrCC,cAAoC,EACpCC,WAAkC,EACpC;IACE,IAAI,CAACF,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,WAAW,GAAGA,WAAW;EAClC;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAEC,OAA8B,EAAE;IACvE,MAAM;MAAEC;IAAM,CAAC,GAAGD,OAAO;IAEzB,MAAME,aAAa,GAAG,MAAM,IAAI,CAACR,QAAQ,CAACG,OAAO,CAACC,KAAK,EAAE;MAAEC;IAAG,CAAC,CAAC;;IAEhE;AACR;AACA;AACA;AACA;AACA;IACQ,IAAI,CAACG,aAAa,IAAID,KAAK,EAAE;MACzB,MAAM;QAAEF,EAAE,EAAEI;MAAQ,CAAC,GAAG,IAAAC,sBAAe,EAACL,EAAE,CAAC;MAC3C,MAAMM,KAAK,GAAG;QACVN,EAAE;QACFI;MACJ,CAAa;MACb,OAAO,MAAM,IAAI,CAACP,WAAW,CAACC,OAAO,CAACC,KAAK,EAAE;QAAEO;MAAM,CAAC,CAAC;IAC3D;;IAEA;AACR;AACA;IACQ,IAAI,CAACH,aAAa,EAAE;MAChB,MAAM,IAAII,6BAAa,CAAC,UAAUP,EAAE,kBAAkB,CAAC;IAC3D;IAEA,MAAM;MAAEM;IAAM,CAAC,GAAG,MAAM,IAAI,CAACV,cAAc,CAACE,OAAO,CAACC,KAAK,EAAEI,aAAa,CAAC;IAEzE,MAAM,IAAI,CAACN,WAAW,CAACC,OAAO,CAACC,KAAK,EAAE;MAAEO;IAAM,CAAC,CAAC;EACpD;AACJ;AAACE,OAAA,CAAAf,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { IDeleteEntryOperation } from "../../abstractions";
2
+ import type { CmsEntryStorageOperations, CmsEntryStorageOperationsDeleteParams, CmsModel } from "../../../../types";
3
+ export declare class DeleteEntryOperation implements IDeleteEntryOperation {
4
+ private operation;
5
+ constructor(operation: CmsEntryStorageOperations["delete"]);
6
+ execute(model: CmsModel, params: CmsEntryStorageOperationsDeleteParams): Promise<void>;
7
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DeleteEntryOperation = void 0;
7
+ class DeleteEntryOperation {
8
+ constructor(operation) {
9
+ this.operation = operation;
10
+ }
11
+ async execute(model, params) {
12
+ await this.operation(model, params);
13
+ }
14
+ }
15
+ exports.DeleteEntryOperation = DeleteEntryOperation;
16
+
17
+ //# sourceMappingURL=DeleteEntryOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeleteEntryOperation","constructor","operation","execute","model","params","exports"],"sources":["DeleteEntryOperation.ts"],"sourcesContent":["import type { IDeleteEntryOperation } from \"../../abstractions\";\nimport type {\n CmsEntryStorageOperations,\n CmsEntryStorageOperationsDeleteParams,\n CmsModel\n} from \"~/types\";\n\nexport class DeleteEntryOperation implements IDeleteEntryOperation {\n private operation: CmsEntryStorageOperations[\"delete\"];\n\n constructor(operation: CmsEntryStorageOperations[\"delete\"]) {\n this.operation = operation;\n }\n\n async execute(model: CmsModel, params: CmsEntryStorageOperationsDeleteParams) {\n await this.operation(model, params);\n }\n}\n"],"mappings":";;;;;;AAOO,MAAMA,oBAAoB,CAAkC;EAG/DC,WAAWA,CAACC,SAA8C,EAAE;IACxD,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,MAA6C,EAAE;IAC1E,MAAM,IAAI,CAACH,SAAS,CAACE,KAAK,EAAEC,MAAM,CAAC;EACvC;AACJ;AAACC,OAAA,CAAAN,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { IDeleteEntryOperation } from "../../abstractions";
2
+ import type { CmsEntryStorageOperationsDeleteParams, CmsModel } from "../../../../types";
3
+ import type { DeleteEntryUseCasesTopics } from "./index";
4
+ export declare class DeleteEntryOperationWithEvents implements IDeleteEntryOperation {
5
+ private topics;
6
+ private operation;
7
+ constructor(topics: DeleteEntryUseCasesTopics, operation: IDeleteEntryOperation);
8
+ execute(model: CmsModel, params: CmsEntryStorageOperationsDeleteParams): Promise<void>;
9
+ }