@webiny/api-headless-cms 0.0.0-unstable.fcdad0bc61 → 0.0.0-unstable.fdd9228b5d

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 (988) hide show
  1. package/constants.d.ts +44 -0
  2. package/constants.js +70 -0
  3. package/constants.js.map +1 -0
  4. package/context.d.ts +5 -2
  5. package/context.js +134 -30
  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 +16 -5
  66. package/crud/contentEntry/afterDelete.js.map +1 -1
  67. package/crud/contentEntry/beforeCreate.d.ts +2 -2
  68. package/crud/contentEntry/beforeCreate.js +2 -3
  69. package/crud/contentEntry/beforeCreate.js.map +1 -1
  70. package/crud/contentEntry/beforeUpdate.d.ts +2 -2
  71. package/crud/contentEntry/beforeUpdate.js +2 -3
  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 +222 -83
  102. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  103. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  104. package/crud/contentEntry/markLockedFields.js +34 -37
  105. package/crud/contentEntry/markLockedFields.js.map +1 -1
  106. package/crud/contentEntry/referenceFieldsMapping.d.ts +7 -1
  107. package/crud/contentEntry/referenceFieldsMapping.js +146 -146
  108. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  109. package/crud/contentEntry/searchableFields.d.ts +9 -0
  110. package/crud/contentEntry/searchableFields.js +73 -0
  111. package/crud/contentEntry/searchableFields.js.map +1 -0
  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 +9 -7
  290. package/crud/contentEntry.crud.js +1092 -1094
  291. package/crud/contentEntry.crud.js.map +1 -1
  292. package/crud/contentModel/beforeCreate.d.ts +3 -4
  293. package/crud/contentModel/beforeCreate.js +53 -117
  294. package/crud/contentModel/beforeCreate.js.map +1 -1
  295. package/crud/contentModel/beforeDelete.d.ts +3 -5
  296. package/crud/contentModel/beforeDelete.js +51 -29
  297. package/crud/contentModel/beforeDelete.js.map +1 -1
  298. package/crud/contentModel/beforeUpdate.d.ts +3 -5
  299. package/crud/contentModel/beforeUpdate.js +32 -12
  300. package/crud/contentModel/beforeUpdate.js.map +1 -1
  301. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  302. package/crud/contentModel/compatibility/modelApiName.js +26 -0
  303. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  304. package/crud/contentModel/contentModelManagerFactory.d.ts +2 -2
  305. package/crud/contentModel/contentModelManagerFactory.js +2 -7
  306. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  307. package/crud/contentModel/createFieldStorageId.d.ts +1 -1
  308. package/crud/contentModel/createFieldStorageId.js +6 -3
  309. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  310. package/crud/contentModel/defaultFields.d.ts +5 -0
  311. package/crud/contentModel/defaultFields.js +60 -0
  312. package/crud/contentModel/defaultFields.js.map +1 -0
  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 -0
  317. package/crud/contentModel/fields/descriptionField.js +30 -0
  318. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  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 -0
  323. package/crud/contentModel/fields/imageField.js +25 -0
  324. package/crud/contentModel/fields/imageField.js.map +1 -0
  325. package/crud/contentModel/fields/titleField.d.ts +6 -0
  326. package/crud/contentModel/fields/titleField.js +31 -0
  327. package/crud/contentModel/fields/titleField.js.map +1 -0
  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 +6 -0
  332. package/crud/contentModel/validate/endingAllowed.js +28 -0
  333. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  334. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  335. package/crud/contentModel/validate/isModelEndingAllowed.js +25 -0
  336. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  337. package/crud/contentModel/validate/modelId.d.ts +11 -0
  338. package/crud/contentModel/validate/modelId.js +38 -0
  339. package/crud/contentModel/validate/modelId.js.map +1 -0
  340. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  341. package/crud/contentModel/validate/pluralApiName.js +26 -0
  342. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  343. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  344. package/crud/contentModel/validate/singularApiName.js +26 -0
  345. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  346. package/crud/contentModel/validateModel.d.ts +4 -4
  347. package/crud/contentModel/validateModel.js +8 -11
  348. package/crud/contentModel/validateModel.js.map +1 -1
  349. package/crud/contentModel/validateModelFields.d.ts +4 -4
  350. package/crud/contentModel/validateModelFields.js +136 -152
  351. package/crud/contentModel/validateModelFields.js.map +1 -1
  352. package/crud/contentModel/validateStorageId.d.ts +1 -0
  353. package/crud/contentModel/validateStorageId.js +19 -0
  354. package/crud/contentModel/validateStorageId.js.map +1 -0
  355. package/crud/contentModel/validation.d.ts +893 -0
  356. package/crud/contentModel/validation.js +205 -0
  357. package/crud/contentModel/validation.js.map +1 -0
  358. package/crud/contentModel.crud.d.ts +6 -4
  359. package/crud/contentModel.crud.js +475 -460
  360. package/crud/contentModel.crud.js.map +1 -1
  361. package/crud/contentModelGroup/beforeCreate.d.ts +3 -3
  362. package/crud/contentModelGroup/beforeCreate.js +14 -12
  363. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  364. package/crud/contentModelGroup/beforeDelete.d.ts +3 -3
  365. package/crud/contentModelGroup/beforeDelete.js +2 -8
  366. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  367. package/crud/contentModelGroup/beforeUpdate.d.ts +3 -3
  368. package/crud/contentModelGroup/beforeUpdate.js +2 -5
  369. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  370. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +8 -0
  371. package/crud/contentModelGroup/listGroupsFromDatabase.js +22 -0
  372. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -0
  373. package/crud/contentModelGroup/validation.d.ts +33 -0
  374. package/crud/contentModelGroup/validation.js +37 -0
  375. package/crud/contentModelGroup/validation.js.map +1 -0
  376. package/crud/contentModelGroup.crud.d.ts +6 -4
  377. package/crud/contentModelGroup.crud.js +280 -289
  378. package/crud/contentModelGroup.crud.js.map +1 -1
  379. package/crud/system.crud.d.ts +4 -4
  380. package/crud/system.crud.js +18 -106
  381. package/crud/system.crud.js.map +1 -1
  382. package/export/crud/exporting.d.ts +3 -0
  383. package/export/crud/exporting.js +49 -0
  384. package/export/crud/exporting.js.map +1 -0
  385. package/export/crud/importing.d.ts +3 -0
  386. package/export/crud/importing.js +79 -0
  387. package/export/crud/importing.js.map +1 -0
  388. package/export/crud/imports/importData.d.ts +14 -0
  389. package/export/crud/imports/importData.js +52 -0
  390. package/export/crud/imports/importData.js.map +1 -0
  391. package/export/crud/imports/importGroups.d.ts +8 -0
  392. package/export/crud/imports/importGroups.js +104 -0
  393. package/export/crud/imports/importGroups.js.map +1 -0
  394. package/export/crud/imports/importModels.d.ts +8 -0
  395. package/export/crud/imports/importModels.js +136 -0
  396. package/export/crud/imports/importModels.js.map +1 -0
  397. package/export/crud/imports/validateGroups.d.ts +8 -0
  398. package/export/crud/imports/validateGroups.js +112 -0
  399. package/export/crud/imports/validateGroups.js.map +1 -0
  400. package/export/crud/imports/validateInput.d.ts +19 -0
  401. package/export/crud/imports/validateInput.js +55 -0
  402. package/export/crud/imports/validateInput.js.map +1 -0
  403. package/export/crud/imports/validateModels.d.ts +12 -0
  404. package/export/crud/imports/validateModels.js +203 -0
  405. package/export/crud/imports/validateModels.js.map +1 -0
  406. package/export/crud/index.d.ts +4 -0
  407. package/export/crud/index.js +15 -0
  408. package/export/crud/index.js.map +1 -0
  409. package/export/crud/sanitize.d.ts +4 -0
  410. package/export/crud/sanitize.js +36 -0
  411. package/export/crud/sanitize.js.map +1 -0
  412. package/export/graphql/index.d.ts +3 -0
  413. package/export/graphql/index.js +188 -0
  414. package/export/graphql/index.js.map +1 -0
  415. package/export/index.d.ts +2 -0
  416. package/export/index.js +29 -0
  417. package/export/index.js.map +1 -0
  418. package/export/types.d.ts +113 -0
  419. package/export/types.js +21 -0
  420. package/export/types.js.map +1 -0
  421. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +5 -3
  422. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +3 -19
  423. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  424. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +12 -0
  425. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +158 -0
  426. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  427. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +3 -2
  428. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +48 -92
  429. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  430. package/fieldConverters/index.d.ts +5 -1
  431. package/fieldConverters/index.js +7 -4
  432. package/fieldConverters/index.js.map +1 -1
  433. package/graphql/buildSchemaPlugins.d.ts +8 -3
  434. package/graphql/buildSchemaPlugins.js +9 -11
  435. package/graphql/buildSchemaPlugins.js.map +1 -1
  436. package/graphql/checkEndpointAccess.d.ts +2 -0
  437. package/graphql/checkEndpointAccess.js +20 -0
  438. package/graphql/checkEndpointAccess.js.map +1 -0
  439. package/graphql/createExecutableSchema.d.ts +6 -0
  440. package/graphql/createExecutableSchema.js +38 -0
  441. package/graphql/createExecutableSchema.js.map +1 -0
  442. package/graphql/createRequestBody.d.ts +2 -0
  443. package/graphql/createRequestBody.js +16 -0
  444. package/graphql/createRequestBody.js.map +1 -0
  445. package/graphql/formatErrorPayload.d.ts +1 -0
  446. package/graphql/formatErrorPayload.js +27 -0
  447. package/graphql/formatErrorPayload.js.map +1 -0
  448. package/graphql/generateSchema.d.ts +8 -0
  449. package/graphql/generateSchema.js +38 -0
  450. package/graphql/generateSchema.js.map +1 -0
  451. package/graphql/getSchema/generateCacheId.d.ts +10 -0
  452. package/graphql/getSchema/generateCacheId.js +17 -0
  453. package/graphql/getSchema/generateCacheId.js.map +1 -0
  454. package/graphql/getSchema/generateCacheKey.d.ts +10 -0
  455. package/graphql/getSchema/generateCacheKey.js +34 -0
  456. package/graphql/getSchema/generateCacheKey.js.map +1 -0
  457. package/graphql/getSchema.d.ts +16 -0
  458. package/graphql/getSchema.js +81 -0
  459. package/graphql/getSchema.js.map +1 -0
  460. package/graphql/graphQLHandlerFactory.d.ts +2 -2
  461. package/graphql/graphQLHandlerFactory.js +8 -129
  462. package/graphql/graphQLHandlerFactory.js.map +1 -1
  463. package/graphql/handleRequest.d.ts +11 -0
  464. package/graphql/handleRequest.js +86 -0
  465. package/graphql/handleRequest.js.map +1 -0
  466. package/graphql/index.d.ts +4 -5
  467. package/graphql/index.js +4 -46
  468. package/graphql/index.js.map +1 -1
  469. package/graphql/scalars/RevisionId.d.ts +2 -0
  470. package/graphql/scalars/RevisionId.js +26 -0
  471. package/graphql/scalars/RevisionId.js.map +1 -0
  472. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +2 -0
  473. package/graphql/scalars/RevisionIdScalarPlugin.js +18 -0
  474. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -0
  475. package/graphql/schema/baseContentSchema.d.ts +7 -3
  476. package/graphql/schema/baseContentSchema.js +17 -32
  477. package/graphql/schema/baseContentSchema.js.map +1 -1
  478. package/graphql/schema/baseSchema.d.ts +2 -0
  479. package/graphql/schema/baseSchema.js +153 -0
  480. package/graphql/schema/baseSchema.js.map +1 -0
  481. package/graphql/schema/contentEntries.d.ts +7 -3
  482. package/graphql/schema/contentEntries.js +159 -111
  483. package/graphql/schema/contentEntries.js.map +1 -1
  484. package/graphql/schema/contentModelGroups.d.ts +7 -3
  485. package/graphql/schema/contentModelGroups.js +20 -30
  486. package/graphql/schema/contentModelGroups.js.map +1 -1
  487. package/graphql/schema/contentModels.d.ts +6 -3
  488. package/graphql/schema/contentModels.js +86 -34
  489. package/graphql/schema/contentModels.js.map +1 -1
  490. package/graphql/schema/createFieldResolvers.d.ts +3 -3
  491. package/graphql/schema/createFieldResolvers.js +28 -41
  492. package/graphql/schema/createFieldResolvers.js.map +1 -1
  493. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  494. package/graphql/schema/createFieldTypePluginRecords.js +15 -0
  495. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  496. package/graphql/schema/createManageResolvers.d.ts +1 -2
  497. package/graphql/schema/createManageResolvers.js +62 -80
  498. package/graphql/schema/createManageResolvers.js.map +1 -1
  499. package/graphql/schema/createManageSDL.d.ts +4 -1
  500. package/graphql/schema/createManageSDL.js +128 -81
  501. package/graphql/schema/createManageSDL.js.map +1 -1
  502. package/graphql/schema/createPreviewResolvers.d.ts +1 -2
  503. package/graphql/schema/createPreviewResolvers.js +13 -29
  504. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  505. package/graphql/schema/createReadResolvers.d.ts +1 -2
  506. package/graphql/schema/createReadResolvers.js +18 -29
  507. package/graphql/schema/createReadResolvers.js.map +1 -1
  508. package/graphql/schema/createReadSDL.d.ts +4 -1
  509. package/graphql/schema/createReadSDL.js +56 -48
  510. package/graphql/schema/createReadSDL.js.map +1 -1
  511. package/graphql/schema/createSingularResolvers.d.ts +12 -0
  512. package/graphql/schema/createSingularResolvers.js +56 -0
  513. package/graphql/schema/createSingularResolvers.js.map +1 -0
  514. package/graphql/schema/createSingularSDL.d.ts +12 -0
  515. package/graphql/schema/createSingularSDL.js +95 -0
  516. package/graphql/schema/createSingularSDL.js.map +1 -0
  517. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.d.ts +7 -0
  518. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +59 -0
  519. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -0
  520. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +3 -2
  521. package/graphql/schema/resolvers/manage/resolveCreate.js +3 -4
  522. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  523. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +3 -2
  524. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +3 -4
  525. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  526. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +3 -2
  527. package/graphql/schema/resolvers/manage/resolveDelete.js +16 -9
  528. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  529. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  530. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +22 -0
  531. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  532. package/graphql/schema/resolvers/manage/resolveGet.d.ts +2 -2
  533. package/graphql/schema/resolvers/manage/resolveGet.js +11 -20
  534. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  535. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +2 -2
  536. package/graphql/schema/resolvers/manage/resolveGetByIds.js +2 -3
  537. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  538. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +2 -2
  539. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +2 -3
  540. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  541. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  542. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +20 -0
  543. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  544. package/graphql/schema/resolvers/manage/resolveList.d.ts +2 -2
  545. package/graphql/schema/resolvers/manage/resolveList.js +2 -3
  546. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  547. package/graphql/schema/resolvers/manage/resolveListDeleted.d.ts +4 -0
  548. package/graphql/schema/resolvers/manage/resolveListDeleted.js +20 -0
  549. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -0
  550. package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
  551. package/graphql/schema/resolvers/manage/resolveMove.js +27 -0
  552. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
  553. package/graphql/schema/resolvers/manage/resolvePublish.d.ts +2 -2
  554. package/graphql/schema/resolvers/manage/resolvePublish.js +2 -3
  555. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  556. package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +2 -2
  557. package/graphql/schema/resolvers/manage/resolveRepublish.js +2 -3
  558. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  559. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.d.ts +7 -0
  560. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +20 -0
  561. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -0
  562. package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +2 -2
  563. package/graphql/schema/resolvers/manage/resolveUnpublish.js +2 -3
  564. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  565. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +3 -2
  566. package/graphql/schema/resolvers/manage/resolveUpdate.js +3 -4
  567. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  568. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +8 -0
  569. package/graphql/schema/resolvers/manage/{resolveRequestChanges.js → resolveValidate.js} +5 -6
  570. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
  571. package/graphql/schema/resolvers/preview/resolveGet.d.ts +2 -2
  572. package/graphql/schema/resolvers/preview/resolveGet.js +5 -12
  573. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  574. package/graphql/schema/resolvers/preview/resolveList.d.ts +2 -2
  575. package/graphql/schema/resolvers/preview/resolveList.js +2 -3
  576. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  577. package/graphql/schema/resolvers/read/resolveGet.d.ts +2 -2
  578. package/graphql/schema/resolvers/read/resolveGet.js +5 -12
  579. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  580. package/graphql/schema/resolvers/read/resolveList.d.ts +2 -2
  581. package/graphql/schema/resolvers/read/resolveList.js +2 -3
  582. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  583. package/graphql/schema/resolvers/singular/resolveGet.d.ts +7 -0
  584. package/graphql/schema/resolvers/singular/resolveGet.js +21 -0
  585. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -0
  586. package/graphql/schema/resolvers/singular/resolveUpdate.d.ts +8 -0
  587. package/graphql/schema/resolvers/{manage/resolveRequestReview.js → singular/resolveUpdate.js} +6 -6
  588. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -0
  589. package/graphql/schema/schemaPlugins.d.ts +8 -3
  590. package/graphql/schema/schemaPlugins.js +81 -69
  591. package/graphql/schema/schemaPlugins.js.map +1 -1
  592. package/graphql/system.d.ts +3 -6
  593. package/graphql/system.js +59 -98
  594. package/graphql/system.js.map +1 -1
  595. package/graphqlFields/boolean.d.ts +1 -1
  596. package/graphqlFields/boolean.js +2 -12
  597. package/graphqlFields/boolean.js.map +1 -1
  598. package/graphqlFields/datetime.d.ts +1 -1
  599. package/graphqlFields/datetime.js +4 -21
  600. package/graphqlFields/datetime.js.map +1 -1
  601. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  602. package/graphqlFields/dynamicZone/dynamicZoneField.js +320 -0
  603. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  604. package/graphqlFields/dynamicZone/index.d.ts +1 -0
  605. package/graphqlFields/dynamicZone/index.js +14 -0
  606. package/graphqlFields/dynamicZone/index.js.map +1 -0
  607. package/graphqlFields/file.d.ts +1 -1
  608. package/graphqlFields/file.js +2 -8
  609. package/graphqlFields/file.js.map +1 -1
  610. package/graphqlFields/helpers.d.ts +1 -2
  611. package/graphqlFields/helpers.js +5 -27
  612. package/graphqlFields/helpers.js.map +1 -1
  613. package/graphqlFields/index.d.ts +2 -2
  614. package/graphqlFields/index.js +6 -12
  615. package/graphqlFields/index.js.map +1 -1
  616. package/graphqlFields/json.d.ts +2 -0
  617. package/graphqlFields/json.js +49 -0
  618. package/graphqlFields/json.js.map +1 -0
  619. package/graphqlFields/longText.d.ts +1 -1
  620. package/graphqlFields/longText.js +13 -12
  621. package/graphqlFields/longText.js.map +1 -1
  622. package/graphqlFields/number.d.ts +1 -1
  623. package/graphqlFields/number.js +7 -12
  624. package/graphqlFields/number.js.map +1 -1
  625. package/graphqlFields/object.d.ts +2 -2
  626. package/graphqlFields/object.js +128 -101
  627. package/graphqlFields/object.js.map +1 -1
  628. package/graphqlFields/ref.d.ts +1 -1
  629. package/graphqlFields/ref.js +111 -119
  630. package/graphqlFields/ref.js.map +1 -1
  631. package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +6 -0
  632. package/graphqlFields/richText/RichTextPluginsProcessor.js +34 -0
  633. package/graphqlFields/richText/RichTextPluginsProcessor.js.map +1 -0
  634. package/graphqlFields/richText/richTextResolver.d.ts +7 -0
  635. package/graphqlFields/richText/richTextResolver.js +24 -0
  636. package/graphqlFields/richText/richTextResolver.js.map +1 -0
  637. package/graphqlFields/richText.d.ts +1 -1
  638. package/graphqlFields/richText.js +10 -11
  639. package/graphqlFields/richText.js.map +1 -1
  640. package/graphqlFields/searchableJson.d.ts +2 -0
  641. package/graphqlFields/searchableJson.js +60 -0
  642. package/graphqlFields/searchableJson.js.map +1 -0
  643. package/graphqlFields/text.d.ts +1 -1
  644. package/graphqlFields/text.js +4 -11
  645. package/graphqlFields/text.js.map +1 -1
  646. package/htmlRenderer/LexicalRenderer.d.ts +5 -0
  647. package/htmlRenderer/LexicalRenderer.js +28 -0
  648. package/htmlRenderer/LexicalRenderer.js.map +1 -0
  649. package/htmlRenderer/createLexicalHTMLRenderer.d.ts +2 -0
  650. package/htmlRenderer/createLexicalHTMLRenderer.js +31 -0
  651. package/htmlRenderer/createLexicalHTMLRenderer.js.map +1 -0
  652. package/index.d.ts +15 -6
  653. package/index.js +105 -30
  654. package/index.js.map +1 -1
  655. package/modelManager/DefaultCmsModelManager.d.ts +11 -10
  656. package/modelManager/DefaultCmsModelManager.js +18 -33
  657. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  658. package/modelManager/SingletonModelManager.d.ts +12 -0
  659. package/modelManager/SingletonModelManager.js +48 -0
  660. package/modelManager/SingletonModelManager.js.map +1 -0
  661. package/modelManager/index.d.ts +2 -1
  662. package/modelManager/index.js +18 -5
  663. package/modelManager/index.js.map +1 -1
  664. package/package.json +40 -45
  665. package/parameters/context.js +3 -5
  666. package/parameters/context.js.map +1 -1
  667. package/parameters/header.js +6 -16
  668. package/parameters/header.js.map +1 -1
  669. package/parameters/index.js +3 -9
  670. package/parameters/index.js.map +1 -1
  671. package/parameters/manual.d.ts +2 -1
  672. package/parameters/manual.js +9 -11
  673. package/parameters/manual.js.map +1 -1
  674. package/parameters/path.js +3 -13
  675. package/parameters/path.js.map +1 -1
  676. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +9 -0
  677. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +17 -0
  678. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -0
  679. package/plugins/CmsGraphQLSchemaPlugin/index.d.ts +1 -0
  680. package/plugins/CmsGraphQLSchemaPlugin/index.js +18 -0
  681. package/plugins/CmsGraphQLSchemaPlugin/index.js.map +1 -0
  682. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  683. package/plugins/CmsGraphQLSchemaSorterPlugin.js +27 -0
  684. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  685. package/plugins/CmsGroupPlugin.d.ts +15 -4
  686. package/plugins/CmsGroupPlugin.js +23 -13
  687. package/plugins/CmsGroupPlugin.js.map +1 -1
  688. package/plugins/CmsModelFieldConverterPlugin.d.ts +7 -4
  689. package/plugins/CmsModelFieldConverterPlugin.js +8 -8
  690. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  691. package/plugins/CmsModelPlugin.d.ts +47 -7
  692. package/plugins/CmsModelPlugin.js +169 -68
  693. package/plugins/CmsModelPlugin.js.map +1 -1
  694. package/plugins/CmsParametersPlugin.d.ts +3 -3
  695. package/plugins/CmsParametersPlugin.js +6 -10
  696. package/plugins/CmsParametersPlugin.js.map +1 -1
  697. package/plugins/CmsRichTextRendererPlugin.d.ts +24 -0
  698. package/plugins/CmsRichTextRendererPlugin.js +28 -0
  699. package/plugins/CmsRichTextRendererPlugin.js.map +1 -0
  700. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  701. package/plugins/StorageOperationsCmsModelPlugin.js +41 -0
  702. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  703. package/plugins/StorageTransformPlugin.d.ts +18 -14
  704. package/plugins/StorageTransformPlugin.js +11 -13
  705. package/plugins/StorageTransformPlugin.js.map +1 -1
  706. package/plugins/index.d.ts +4 -0
  707. package/plugins/index.js +47 -11
  708. package/plugins/index.js.map +1 -1
  709. package/storage/date.d.ts +3 -0
  710. package/storage/date.js +119 -0
  711. package/storage/date.js.map +1 -0
  712. package/storage/default.js +2 -3
  713. package/storage/default.js.map +1 -1
  714. package/storage/dynamicZone.d.ts +2 -0
  715. package/storage/dynamicZone.js +157 -0
  716. package/storage/dynamicZone.js.map +1 -0
  717. package/storage/index.d.ts +1 -0
  718. package/storage/index.js +21 -0
  719. package/storage/index.js.map +1 -0
  720. package/storage/json.d.ts +2 -0
  721. package/storage/json.js +56 -0
  722. package/storage/json.js.map +1 -0
  723. package/storage/object.js +27 -39
  724. package/storage/object.js.map +1 -1
  725. package/types/context.d.ts +146 -0
  726. package/types/context.js +7 -0
  727. package/types/context.js.map +1 -0
  728. package/types/fields/dynamicZoneField.d.ts +23 -0
  729. package/types/fields/dynamicZoneField.js +7 -0
  730. package/types/fields/dynamicZoneField.js.map +1 -0
  731. package/types/fields/objectField.d.ts +13 -0
  732. package/types/fields/objectField.js +7 -0
  733. package/types/fields/objectField.js.map +1 -0
  734. package/types/identity.d.ts +19 -0
  735. package/types/identity.js +7 -0
  736. package/types/identity.js.map +1 -0
  737. package/types/index.d.ts +10 -0
  738. package/types/index.js +117 -0
  739. package/types/index.js.map +1 -0
  740. package/types/model.d.ts +199 -0
  741. package/types/model.js +7 -0
  742. package/types/model.js.map +1 -0
  743. package/types/modelAst.d.ts +39 -0
  744. package/types/modelAst.js +7 -0
  745. package/types/modelAst.js.map +1 -0
  746. package/types/modelField.d.ts +330 -0
  747. package/types/modelField.js +7 -0
  748. package/types/modelField.js.map +1 -0
  749. package/types/modelGroup.d.ts +77 -0
  750. package/types/modelGroup.js +7 -0
  751. package/types/modelGroup.js.map +1 -0
  752. package/types/plugins.d.ts +365 -0
  753. package/types/plugins.js +7 -0
  754. package/types/plugins.js.map +1 -0
  755. package/types/types.d.ts +1897 -0
  756. package/{types.js → types/types.js} +79 -187
  757. package/types/types.js.map +1 -0
  758. package/utils/RichTextRenderer.d.ts +10 -0
  759. package/utils/RichTextRenderer.js +33 -0
  760. package/utils/RichTextRenderer.js.map +1 -0
  761. package/utils/caching/Cache.d.ts +5 -0
  762. package/utils/caching/Cache.js +48 -0
  763. package/utils/caching/Cache.js.map +1 -0
  764. package/utils/caching/CacheKey.d.ts +3 -0
  765. package/utils/caching/CacheKey.js +28 -0
  766. package/utils/caching/CacheKey.js.map +1 -0
  767. package/utils/caching/index.d.ts +2 -0
  768. package/utils/caching/index.js +29 -0
  769. package/utils/caching/index.js.map +1 -0
  770. package/utils/caching/types.d.ts +13 -0
  771. package/utils/caching/types.js +14 -0
  772. package/utils/caching/types.js.map +1 -0
  773. package/utils/contentEntryTraverser/ContentEntryTraverser.d.ts +13 -0
  774. package/utils/contentEntryTraverser/ContentEntryTraverser.js +97 -0
  775. package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +1 -0
  776. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +6 -0
  777. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +23 -0
  778. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -0
  779. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +7 -0
  780. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +22 -0
  781. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -0
  782. package/utils/contentModelAst/CmsModelToAstConverter.d.ts +11 -0
  783. package/utils/contentModelAst/CmsModelToAstConverter.js +28 -0
  784. package/utils/contentModelAst/CmsModelToAstConverter.js.map +1 -0
  785. package/utils/contentModelAst/index.d.ts +3 -0
  786. package/utils/contentModelAst/index.js +40 -0
  787. package/utils/contentModelAst/index.js.map +1 -0
  788. package/utils/converters/Converter.d.ts +3 -3
  789. package/utils/converters/Converter.js +3 -17
  790. package/utils/converters/Converter.js.map +1 -1
  791. package/utils/converters/ConverterCollection.d.ts +2 -2
  792. package/utils/converters/ConverterCollection.js +26 -40
  793. package/utils/converters/ConverterCollection.js.map +1 -1
  794. package/utils/converters/valueKeyStorageConverter.d.ts +4 -8
  795. package/utils/converters/valueKeyStorageConverter.js +32 -45
  796. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  797. package/utils/createModelField.d.ts +7 -0
  798. package/utils/createModelField.js +51 -0
  799. package/utils/createModelField.js.map +1 -0
  800. package/utils/createTypeFromFields.d.ts +16 -0
  801. package/utils/createTypeFromFields.js +71 -0
  802. package/utils/createTypeFromFields.js.map +1 -0
  803. package/utils/createTypeName.d.ts +0 -2
  804. package/utils/createTypeName.js +4 -17
  805. package/utils/createTypeName.js.map +1 -1
  806. package/utils/date.d.ts +10 -0
  807. package/utils/date.js +36 -0
  808. package/utils/date.js.map +1 -0
  809. package/utils/entryStorage.d.ts +16 -4
  810. package/utils/entryStorage.js +62 -39
  811. package/utils/entryStorage.js.map +1 -1
  812. package/utils/filterAsync.js +8 -12
  813. package/utils/filterAsync.js.map +1 -1
  814. package/utils/getBaseFieldType.d.ts +2 -0
  815. package/utils/getBaseFieldType.js +12 -0
  816. package/utils/getBaseFieldType.js.map +1 -0
  817. package/utils/getEntryDescription.d.ts +2 -0
  818. package/utils/getEntryDescription.js +19 -0
  819. package/utils/getEntryDescription.js.map +1 -0
  820. package/utils/getEntryImage.d.ts +2 -0
  821. package/utils/getEntryImage.js +19 -0
  822. package/utils/getEntryImage.js.map +1 -0
  823. package/utils/getEntryTitle.d.ts +2 -2
  824. package/utils/getEntryTitle.js +3 -10
  825. package/utils/getEntryTitle.js.map +1 -1
  826. package/utils/getSchemaFromFieldPlugins.d.ts +15 -7
  827. package/utils/getSchemaFromFieldPlugins.js +40 -17
  828. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  829. package/utils/identity.d.ts +2 -0
  830. package/utils/identity.js +20 -0
  831. package/utils/identity.js.map +1 -0
  832. package/utils/incrementEntryIdVersion.d.ts +5 -0
  833. package/utils/incrementEntryIdVersion.js +31 -0
  834. package/utils/incrementEntryIdVersion.js.map +1 -0
  835. package/utils/index.d.ts +2 -0
  836. package/utils/index.js +29 -0
  837. package/utils/index.js.map +1 -0
  838. package/utils/isHeadlessCmsReady.d.ts +2 -0
  839. package/utils/isHeadlessCmsReady.js +23 -0
  840. package/utils/isHeadlessCmsReady.js.map +1 -0
  841. package/utils/modelFieldTraverser/ModelFieldTraverser.d.ts +16 -0
  842. package/utils/modelFieldTraverser/ModelFieldTraverser.js +41 -0
  843. package/utils/modelFieldTraverser/ModelFieldTraverser.js.map +1 -0
  844. package/utils/modelFieldTraverser/index.d.ts +1 -0
  845. package/utils/modelFieldTraverser/index.js +18 -0
  846. package/utils/modelFieldTraverser/index.js.map +1 -0
  847. package/utils/renderFields.d.ts +5 -3
  848. package/utils/renderFields.js +16 -11
  849. package/utils/renderFields.js.map +1 -1
  850. package/utils/renderGetFilterFields.d.ts +2 -2
  851. package/utils/renderGetFilterFields.js +10 -30
  852. package/utils/renderGetFilterFields.js.map +1 -1
  853. package/utils/renderInputFields.d.ts +5 -3
  854. package/utils/renderInputFields.js +21 -14
  855. package/utils/renderInputFields.js.map +1 -1
  856. package/utils/renderListFilterFields.d.ts +3 -1
  857. package/utils/renderListFilterFields.js +27 -30
  858. package/utils/renderListFilterFields.js.map +1 -1
  859. package/utils/renderSortEnum.d.ts +9 -5
  860. package/utils/renderSortEnum.js +29 -12
  861. package/utils/renderSortEnum.js.map +1 -1
  862. package/utils/toSlug.js +2 -4
  863. package/utils/toSlug.js.map +1 -1
  864. package/validators/dateGte.d.ts +1 -1
  865. package/validators/dateGte.js +2 -7
  866. package/validators/dateGte.js.map +1 -1
  867. package/validators/dateLte.d.ts +1 -1
  868. package/validators/dateLte.js +2 -7
  869. package/validators/dateLte.js.map +1 -1
  870. package/validators/gte.d.ts +1 -1
  871. package/validators/gte.js +3 -10
  872. package/validators/gte.js.map +1 -1
  873. package/validators/in.d.ts +1 -1
  874. package/validators/in.js +3 -10
  875. package/validators/in.js.map +1 -1
  876. package/validators/index.js +2 -15
  877. package/validators/index.js.map +1 -1
  878. package/validators/lte.d.ts +1 -1
  879. package/validators/lte.js +3 -10
  880. package/validators/lte.js.map +1 -1
  881. package/validators/maxLength.d.ts +1 -1
  882. package/validators/maxLength.js +3 -10
  883. package/validators/maxLength.js.map +1 -1
  884. package/validators/minLength.d.ts +1 -1
  885. package/validators/minLength.js +3 -10
  886. package/validators/minLength.js.map +1 -1
  887. package/validators/pattern.d.ts +1 -1
  888. package/validators/pattern.js +4 -11
  889. package/validators/pattern.js.map +1 -1
  890. package/validators/patternPlugins/email.d.ts +1 -1
  891. package/validators/patternPlugins/email.js +3 -3
  892. package/validators/patternPlugins/email.js.map +1 -1
  893. package/validators/patternPlugins/index.d.ts +1 -1
  894. package/validators/patternPlugins/index.js +2 -8
  895. package/validators/patternPlugins/index.js.map +1 -1
  896. package/validators/patternPlugins/lowerCase.d.ts +1 -1
  897. package/validators/patternPlugins/lowerCase.js +2 -2
  898. package/validators/patternPlugins/lowerCase.js.map +1 -1
  899. package/validators/patternPlugins/lowerCaseSpace.d.ts +1 -1
  900. package/validators/patternPlugins/lowerCaseSpace.js +2 -2
  901. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  902. package/validators/patternPlugins/upperCase.d.ts +1 -1
  903. package/validators/patternPlugins/upperCase.js +2 -2
  904. package/validators/patternPlugins/upperCase.js.map +1 -1
  905. package/validators/patternPlugins/upperCaseSpace.d.ts +1 -1
  906. package/validators/patternPlugins/upperCaseSpace.js +2 -2
  907. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  908. package/validators/patternPlugins/url.d.ts +1 -1
  909. package/validators/patternPlugins/url.js +2 -2
  910. package/validators/patternPlugins/url.js.map +1 -1
  911. package/validators/required.d.ts +1 -1
  912. package/validators/required.js +2 -5
  913. package/validators/required.js.map +1 -1
  914. package/validators/timeGte.d.ts +1 -1
  915. package/validators/timeGte.js +3 -10
  916. package/validators/timeGte.js.map +1 -1
  917. package/validators/timeLte.d.ts +1 -1
  918. package/validators/timeLte.js +3 -10
  919. package/validators/timeLte.js.map +1 -1
  920. package/validators/unique.d.ts +1 -1
  921. package/validators/unique.js +3 -8
  922. package/validators/unique.js.map +1 -1
  923. package/crud/contentModel/afterCreate.d.ts +0 -8
  924. package/crud/contentModel/afterCreate.js +0 -18
  925. package/crud/contentModel/afterCreate.js.map +0 -1
  926. package/crud/contentModel/afterCreateFrom.d.ts +0 -8
  927. package/crud/contentModel/afterCreateFrom.js +0 -18
  928. package/crud/contentModel/afterCreateFrom.js.map +0 -1
  929. package/crud/contentModel/afterDelete.d.ts +0 -8
  930. package/crud/contentModel/afterDelete.js +0 -18
  931. package/crud/contentModel/afterDelete.js.map +0 -1
  932. package/crud/contentModel/afterUpdate.d.ts +0 -8
  933. package/crud/contentModel/afterUpdate.js +0 -18
  934. package/crud/contentModel/afterUpdate.js.map +0 -1
  935. package/crud/contentModel/createFieldModels.d.ts +0 -2
  936. package/crud/contentModel/createFieldModels.js +0 -26
  937. package/crud/contentModel/createFieldModels.js.map +0 -1
  938. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  939. package/crud/contentModel/fieldIdValidation.js +0 -25
  940. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  941. package/crud/contentModel/idValidation.d.ts +0 -1
  942. package/crud/contentModel/idValidation.js +0 -22
  943. package/crud/contentModel/idValidation.js.map +0 -1
  944. package/crud/contentModel/models.d.ts +0 -4
  945. package/crud/contentModel/models.js +0 -180
  946. package/crud/contentModel/models.js.map +0 -1
  947. package/crud/contentModel/systemFields.d.ts +0 -1
  948. package/crud/contentModel/systemFields.js +0 -8
  949. package/crud/contentModel/systemFields.js.map +0 -1
  950. package/crud/contentModel/validateLayout.d.ts +0 -2
  951. package/crud/contentModel/validateLayout.js +0 -36
  952. package/crud/contentModel/validateLayout.js.map +0 -1
  953. package/crud/index.d.ts +0 -6
  954. package/crud/index.js +0 -85
  955. package/crud/index.js.map +0 -1
  956. package/crud/settings.crud.d.ts +0 -10
  957. package/crud/settings.crud.js +0 -83
  958. package/crud/settings.crud.js.map +0 -1
  959. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  960. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -14
  961. package/graphql/schema/resolvers/commonFieldResolvers.js.map +0 -1
  962. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  963. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  964. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  965. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  966. package/types.d.ts +0 -2457
  967. package/types.js.map +0 -1
  968. package/upgrades/5.33.0/index.d.ts +0 -3
  969. package/upgrades/5.33.0/index.js +0 -182
  970. package/upgrades/5.33.0/index.js.map +0 -1
  971. package/upgrades/index.d.ts +0 -1
  972. package/upgrades/index.js +0 -12
  973. package/upgrades/index.js.map +0 -1
  974. package/utils/access.d.ts +0 -8
  975. package/utils/access.js +0 -90
  976. package/utils/access.js.map +0 -1
  977. package/utils/filterModelFields.d.ts +0 -16
  978. package/utils/filterModelFields.js +0 -77
  979. package/utils/filterModelFields.js.map +0 -1
  980. package/utils/ownership.d.ts +0 -8
  981. package/utils/ownership.js +0 -41
  982. package/utils/ownership.js.map +0 -1
  983. package/utils/permissions.d.ts +0 -7
  984. package/utils/permissions.js +0 -106
  985. package/utils/permissions.js.map +0 -1
  986. package/utils/pluralizedTypeName.d.ts +0 -1
  987. package/utils/pluralizedTypeName.js +0 -26
  988. package/utils/pluralizedTypeName.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["markLockedFields","params","model","context","plugins","byType","CmsModelPlugin","type","find","plugin","contentModel","modelId","cmsLockedFieldPlugins","existingLockedFields","lockedFields","field","fields","alreadyLocked","some","lockedField","fieldId","storageId","lockedFieldData","lockedFieldPlugins","filter","pl","fieldType","getLockedFieldData","data","push","multipleValues","length","newLockedFields","concat","cms","updateModelDirect","original","ex","WebinyError","markUnlockedFields"],"sources":["markLockedFields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsEntry, CmsModel, CmsContext, CmsModelLockedFieldPlugin, LockedField } from \"~/types\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\n\ninterface MarkLockedFieldsParams {\n model: CmsModel;\n entry: CmsEntry;\n context: CmsContext;\n}\nexport const markLockedFields = async (params: MarkLockedFieldsParams): Promise<void> => {\n const { model, context } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n const cmsLockedFieldPlugins =\n context.plugins.byType<CmsModelLockedFieldPlugin>(\"cms-model-locked-field\");\n\n const existingLockedFields = model.lockedFields || [];\n const lockedFields: LockedField[] = [];\n for (const field of model.fields) {\n const alreadyLocked = existingLockedFields.some(\n lockedField => lockedField.fieldId === field.storageId\n );\n if (alreadyLocked) {\n continue;\n }\n\n let lockedFieldData = {};\n\n const lockedFieldPlugins = cmsLockedFieldPlugins.filter(pl => pl.fieldType === field.type);\n for (const plugin of lockedFieldPlugins) {\n if (typeof plugin.getLockedFieldData !== \"function\") {\n continue;\n }\n const data = plugin.getLockedFieldData({\n field\n });\n lockedFieldData = { ...lockedFieldData, ...data };\n }\n\n lockedFields.push({\n fieldId: field.storageId,\n multipleValues: !!field.multipleValues,\n type: field.type,\n ...lockedFieldData\n });\n }\n // no need to update anything if no locked fields were added\n if (lockedFields.length === 0) {\n return;\n }\n\n const newLockedFields = existingLockedFields.concat(lockedFields);\n\n try {\n await context.cms.updateModelDirect({\n original: model,\n model: {\n ...model,\n lockedFields: newLockedFields\n }\n });\n model.lockedFields = newLockedFields;\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with new locked fields.`,\n \"MODEL_LOCKED_FIELDS_UPDATE_FAILED\",\n ex\n );\n }\n};\n\nexport interface MarkFieldsUnlockedParams {\n context: CmsContext;\n model: CmsModel;\n}\nexport const markUnlockedFields = async (params: MarkFieldsUnlockedParams) => {\n const { context, model } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n try {\n await context.cms.updateModelDirect({\n original: model,\n model: {\n ...model,\n lockedFields: []\n }\n });\n model.lockedFields = [];\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with unlocked fields.`,\n \"MODEL_UNLOCKED_FIELDS_UPDATE_FAILED\",\n ex\n );\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_CmsModelPlugin","_getBaseFieldType","markLockedFields","params","model","context","plugins","byType","CmsModelPlugin","type","find","plugin","contentModel","modelId","cmsLockedFieldPlugins","existingLockedFields","lockedFields","field","fields","baseType","getBaseFieldType","alreadyLocked","some","lockedField","fieldId","storageId","lockedFieldData","lockedFieldPlugins","filter","pl","fieldType","getLockedFieldData","data","push","multipleValues","length","newLockedFields","concat","cms","updateModelDirect","original","ex","WebinyError","message","code","exports","markUnlockedFields"],"sources":["markLockedFields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n CmsContext,\n CmsEntry,\n CmsModel,\n CmsModelLockedFieldPlugin,\n LockedField\n} from \"~/types\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface MarkLockedFieldsParams {\n model: CmsModel;\n entry: CmsEntry;\n context: CmsContext;\n}\n\nexport const markLockedFields = async (params: MarkLockedFieldsParams): Promise<void> => {\n const { model, context } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n const cmsLockedFieldPlugins =\n context.plugins.byType<CmsModelLockedFieldPlugin>(\"cms-model-locked-field\");\n\n const existingLockedFields = model.lockedFields || [];\n const lockedFields: LockedField[] = [];\n for (const field of model.fields) {\n const baseType = getBaseFieldType(field);\n const alreadyLocked = existingLockedFields.some(\n lockedField => lockedField.fieldId === field.storageId\n );\n if (alreadyLocked) {\n continue;\n }\n\n let lockedFieldData = {};\n\n const lockedFieldPlugins = cmsLockedFieldPlugins.filter(pl => pl.fieldType === baseType);\n for (const plugin of lockedFieldPlugins) {\n if (typeof plugin.getLockedFieldData !== \"function\") {\n continue;\n }\n const data = plugin.getLockedFieldData({\n field\n });\n lockedFieldData = { ...lockedFieldData, ...data };\n }\n\n lockedFields.push({\n fieldId: field.storageId,\n multipleValues: !!field.multipleValues,\n type: baseType,\n ...lockedFieldData\n });\n }\n // no need to update anything if no locked fields were added\n if (lockedFields.length === 0) {\n return;\n }\n\n const newLockedFields = existingLockedFields.concat(lockedFields);\n\n try {\n await context.cms.updateModelDirect({\n /**\n * At this point we know this is a CmsModel, so it is safe to cast.\n */\n original: model as CmsModel,\n model: {\n ...model,\n lockedFields: newLockedFields\n } as CmsModel\n });\n model.lockedFields = newLockedFields;\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with new locked fields.`,\n \"MODEL_LOCKED_FIELDS_UPDATE_FAILED\",\n {\n message: ex.message,\n code: ex.code,\n data: ex.data\n }\n );\n }\n};\n\nexport interface MarkFieldsUnlockedParams {\n context: CmsContext;\n model: CmsModel;\n}\n\nexport const markUnlockedFields = async (params: MarkFieldsUnlockedParams) => {\n const { context, model } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n try {\n await context.cms.updateModelDirect({\n original: model as CmsModel,\n model: {\n ...model,\n lockedFields: []\n }\n });\n model.lockedFields = [];\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with unlocked fields.`,\n \"MODEL_UNLOCKED_FIELDS_UPDATE_FAILED\",\n {\n message: ex.message,\n code: ex.code,\n data: ex.data\n }\n );\n }\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { CmsContext, CmsModel } from "../../types";
1
+ import type { CmsContext, CmsModel } from "../../types";
2
2
  interface ReferenceObject {
3
3
  id: string;
4
4
  modelId: string;
@@ -9,5 +9,11 @@ interface Params {
9
9
  input: Record<string, ReferenceObject | ReferenceObject[]>;
10
10
  validateEntries?: boolean;
11
11
  }
12
+ /**
13
+ * This function traverses the content entry input value, extracts all occurrences of the `ref` field,
14
+ * optionally verifies that those referenced entries exist (by loading them), and normalizes the `ref` value to
15
+ * always contain `{ id, modelId, entryId }`. `entryId` is important when data is being loaded via
16
+ * the `read` and `preview` endpoint.
17
+ */
12
18
  export declare const referenceFieldsMapping: (params: Params) => Promise<Record<string, any>>;
13
19
  export {};
@@ -1,20 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.referenceFieldsMapping = void 0;
9
-
10
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
- var _error = _interopRequireDefault(require("@webiny/error"));
13
-
14
8
  var _dotProp = _interopRequireDefault(require("dot-prop"));
15
-
9
+ var _error = _interopRequireDefault(require("@webiny/error"));
16
10
  var _utils = require("@webiny/utils");
17
-
11
+ var _getBaseFieldType = require("../../utils/getBaseFieldType");
18
12
  const buildReferenceFieldPaths = params => {
19
13
  const {
20
14
  fields,
@@ -23,101 +17,120 @@ const buildReferenceFieldPaths = params => {
23
17
  } = params;
24
18
  const parentPaths = [...initialParentPaths];
25
19
  const isMultipleValues = Array.isArray(input);
26
- return fields.filter(field => ["object", "ref"].includes(field.type)).reduce((collection, field) => {
27
- var _field$settings2;
28
-
20
+ return fields.filter(field => ["object", "ref", "dynamicZone"].includes((0, _getBaseFieldType.getBaseFieldType)(field))).reduce((collection, field) => {
29
21
  /**
30
22
  * First we check the ref field
31
23
  */
32
- if (field.type === "ref") {
24
+ const baseType = (0, _getBaseFieldType.getBaseFieldType)(field);
25
+ if (baseType === "ref") {
33
26
  const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(".")}.` : "";
34
-
35
27
  if (field.multipleValues) {
36
28
  const inputValue = _dotProp.default.get(input, `${field.fieldId}`, []);
37
-
38
- if (Array.isArray(inputValue) === false) {
29
+ if (!Array.isArray(inputValue)) {
39
30
  return collection;
40
31
  }
41
-
42
32
  for (const key in inputValue) {
43
33
  const path = `${parentPathsValue}${field.fieldId}.${key}`;
44
34
  collection.push(path);
45
35
  }
46
-
47
36
  return collection;
48
37
  }
49
-
50
38
  if (isMultipleValues) {
51
39
  for (const key in input) {
52
40
  const path = `${parentPathsValue}${key}.${field.fieldId}`;
53
41
  collection.push(path);
54
42
  }
55
-
56
43
  return collection;
57
44
  }
58
-
59
45
  collection.push(`${parentPathsValue}${field.fieldId}`);
60
46
  return collection;
61
47
  }
48
+ if (baseType === "dynamicZone") {
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;
54
+ }
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);
66
+ });
67
+ return collection;
68
+ }
69
+ const value = _dotProp.default.get(input, field.fieldId, {});
70
+ if (!value) {
71
+ return collection;
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);
85
+ return collection;
86
+ }
87
+
62
88
  /**
63
89
  * Then we move onto the object field
64
90
  */
65
-
66
-
67
91
  const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(".")}.` : "";
68
92
  /**
69
93
  * This is if received input is array. We need to map key with fieldId at this point.
70
94
  */
71
-
72
95
  if (isMultipleValues) {
73
96
  for (const key in input) {
74
97
  const path = `${parentPathsValue}${key}.${field.fieldId}`;
75
98
  collection.push(path);
76
99
  }
77
-
78
100
  return collection;
79
101
  }
80
-
81
102
  const objFieldPath = `${field.fieldId}`;
82
-
83
103
  const objFieldInputValue = _dotProp.default.get(input, objFieldPath, []);
104
+
84
105
  /**
85
106
  * If field is multiple values one, we need to go through the input and use the existing keys.
86
107
  */
87
-
88
-
89
108
  if (field.multipleValues) {
90
109
  if (Array.isArray(objFieldInputValue) === false) {
91
110
  return collection;
92
111
  }
93
-
94
112
  for (const key in objFieldInputValue) {
95
- var _field$settings;
96
-
97
113
  const result = buildReferenceFieldPaths({
98
- fields: ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields) || [],
114
+ fields: field.settings?.fields || [],
99
115
  input: objFieldInputValue[key],
100
116
  parentPaths: parentPaths.concat([field.fieldId, key])
101
117
  });
102
118
  collection.push(...result);
103
119
  }
104
-
105
120
  return collection;
106
121
  }
122
+
107
123
  /**
108
124
  * Single value reference field.
109
125
  */
110
-
111
-
112
126
  const results = buildReferenceFieldPaths({
113
- fields: ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.fields) || [],
127
+ fields: field.settings?.fields || [],
114
128
  input: objFieldInputValue,
115
129
  parentPaths: parentPaths.concat([field.fieldId])
116
130
  });
117
131
  return collection.concat(results);
118
132
  }, []);
119
133
  };
120
-
121
134
  const getReferenceFieldValue = ref => {
122
135
  if (!ref) {
123
136
  return {
@@ -125,13 +138,18 @@ const getReferenceFieldValue = ref => {
125
138
  modelId: null
126
139
  };
127
140
  }
128
-
129
141
  return {
130
142
  id: (ref.id || ref.entryId || "").trim() || null,
131
143
  modelId: (ref.modelId || "").trim() || null
132
144
  };
133
145
  };
134
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
+ */
135
153
  const referenceFieldsMapping = async params => {
136
154
  const {
137
155
  context,
@@ -139,150 +157,132 @@ const referenceFieldsMapping = async params => {
139
157
  input,
140
158
  validateEntries = false
141
159
  } = params;
142
- let output = (0, _objectSpread2.default)({}, input);
160
+ let output = {
161
+ ...input
162
+ };
143
163
  const referenceFieldPaths = buildReferenceFieldPaths({
144
164
  fields: model.fields,
145
165
  input,
146
166
  parentPaths: []
147
167
  });
148
-
149
- if (referenceFieldPaths.length === 0) {
168
+ if (!referenceFieldPaths.length) {
150
169
  return output;
151
170
  }
171
+ if (validateEntries) {
172
+ await validateReferencedEntries({
173
+ output,
174
+ context,
175
+ referenceFieldPaths
176
+ });
177
+ }
152
178
 
153
- const referencesByModel = {};
154
- const pathsByReferenceId = {};
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();
155
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
-
159
224
  const {
160
225
  id,
161
226
  modelId
162
227
  } = getReferenceFieldValue(ref);
163
-
164
228
  if (!id || !modelId) {
165
229
  continue;
166
230
  }
167
-
168
- if (!referencesByModel[modelId]) {
169
- referencesByModel[modelId] = [];
170
- }
171
-
172
- referencesByModel[modelId].push(id);
173
-
174
- if (!pathsByReferenceId[id]) {
175
- pathsByReferenceId[id] = [];
231
+ if (!referencesByModel.has(modelId)) {
232
+ referencesByModel.set(modelId, []);
176
233
  }
177
-
178
- pathsByReferenceId[id].push(path);
234
+ referencesByModel.get(modelId)?.push(id);
179
235
  }
180
- /**
181
- * Again, no point in going further.
182
- */
183
-
184
-
185
- if (Object.keys(referencesByModel).length === 0) {
186
- return output;
236
+ if (!referencesByModel.size) {
237
+ return;
187
238
  }
239
+
188
240
  /**
189
241
  * Load all models and use only those that are used in reference.
190
242
  */
191
-
192
-
193
- const models = (await context.cms.listModels()).filter(model => {
194
- const entries = referencesByModel[model.modelId];
195
-
196
- if (Array.isArray(entries) === false || entries.length === 0) {
197
- return false;
198
- }
199
-
200
- 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
+ });
201
251
  });
202
- /**
203
- * Check for any model existence, just in case.
204
- */
205
-
206
- if (models.length === 0) {
207
- return output;
252
+ if (!models.length) {
253
+ return;
208
254
  }
255
+
209
256
  /**
210
- * Load all the entries by their ID
257
+ * Load all the entries by their IDs.
211
258
  */
212
-
213
-
214
- const promises = models.map(model => {
215
- 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
+ });
216
263
  });
217
- const results = await Promise.all(promises);
218
- const records = results.reduce((collection, entries) => {
219
- for (const entry of entries) {
220
- collection[entry.id] = {
221
- id: entry.id,
222
- entryId: entry.entryId,
223
- modelId: entry.modelId
224
- };
225
- }
226
-
227
- 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
+ };
228
270
  }, {});
271
+
229
272
  /**
230
- * Verify that all referenced entries actually exist.
273
+ * Verify that all entries exist.
231
274
  */
232
-
233
- for (const modelId in referencesByModel) {
234
- const entries = referencesByModel[modelId];
235
-
236
- for (const id of entries) {
237
- if (records[id]) {
238
- continue;
239
- } else if (validateEntries === true) {
275
+ referencesByModel.forEach((ids, modelId) => {
276
+ const modelEntriesInDb = entriesByModel[modelId];
277
+ for (const id of ids) {
278
+ if (!modelEntriesInDb || !modelEntriesInDb.includes(id)) {
240
279
  throw new _error.default(`Missing referenced entry with id "${id}" in model "${modelId}".`, "ENTRY_NOT_FOUND", {
241
280
  id,
242
281
  model: modelId
243
282
  });
244
283
  }
245
-
246
- const {
247
- id: entryId
248
- } = (0, _utils.parseIdentifier)(id);
249
- records[id] = {
250
- id,
251
- entryId,
252
- modelId
253
- };
254
284
  }
255
- }
256
- /**
257
- * In the end, assign the entryId, id and model values to the output.
258
- */
259
-
260
-
261
- for (const id in pathsByReferenceId) {
262
- const entry = records[id];
263
- const paths = pathsByReferenceId[id];
264
-
265
- if (!entry) {
266
- if (validateEntries === true) {
267
- throw new _error.default("Missing entry in records.", "ENTRY_ERROR", {
268
- id,
269
- paths
270
- });
271
- }
272
-
273
- continue;
274
- }
275
-
276
- for (const path of paths) {
277
- output = _dotProp.default.set(output, path, {
278
- id: entry.id,
279
- entryId: entry.entryId,
280
- modelId: entry.modelId
281
- });
282
- }
283
- }
284
-
285
- return output;
286
- };
285
+ });
286
+ }
287
287
 
288
- 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","type","reduce","collection","parentPathsValue","length","join","multipleValues","inputValue","dotProp","get","fieldId","key","path","push","objFieldPath","objFieldInputValue","result","settings","concat","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, CmsModel, CmsModelField } from \"~/types\";\nimport WebinyError from \"@webiny/error\";\nimport dotProp from \"dot-prop\";\nimport { parseIdentifier } from \"@webiny/utils\";\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\"].includes(field.type))\n .reduce((collection, field) => {\n /**\n * First we check the ref field\n */\n if (field.type === \"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 * 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) === false || 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 === true) {\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 === true) {\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":[]}
@@ -0,0 +1,9 @@
1
+ import type { CmsModelField } from "../../types";
2
+ import type { PluginsContainer } from "@webiny/plugins";
3
+ interface Params {
4
+ input: string[];
5
+ fields: CmsModelField[];
6
+ plugins: PluginsContainer;
7
+ }
8
+ export declare const getSearchableFields: (params: Params) => string[];
9
+ export {};
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getSearchableFields = void 0;
7
+ const buildSearchableFieldList = params => {
8
+ const {
9
+ input,
10
+ plugins,
11
+ fields,
12
+ parents
13
+ } = params;
14
+ return fields.reduce((result, field) => {
15
+ /**
16
+ * We need to check if the field is full text searchable, and for that we need a plugin for the field type.
17
+ */
18
+ const plugin = plugins[field.type];
19
+ if (!plugin) {
20
+ return result;
21
+ }
22
+ /**
23
+ * There is a possibility that searchable fields exist in nested object field, so check that as well.
24
+ */
25
+ const childFields = field.settings?.fields || [];
26
+ if (childFields.length > 0) {
27
+ /**
28
+ * So we build a list of searchable child fields and push it into the main result set.
29
+ */
30
+ const childResults = buildSearchableFieldList({
31
+ fields: childFields,
32
+ parents: [...parents, field.fieldId],
33
+ plugins,
34
+ input
35
+ });
36
+ result.push(...childResults);
37
+ return result;
38
+ }
39
+ /**
40
+ * If not searchable, continue further.
41
+ */
42
+ if (!plugin.fullTextSearch || field.settings?.disableFullTextSearch === true) {
43
+ return result;
44
+ }
45
+
46
+ /**
47
+ * Combine all parent paths with the current one and push it.
48
+ */
49
+ const path = [...parents, field.fieldId].join(".");
50
+ result.push(path);
51
+ return result;
52
+ }, []);
53
+ };
54
+ const getSearchableFields = params => {
55
+ const {
56
+ plugins,
57
+ input,
58
+ fields
59
+ } = params;
60
+ const fieldPluginMap = plugins.byType("cms-model-field-to-graphql").reduce((collection, field) => {
61
+ collection[field.fieldType] = field;
62
+ return collection;
63
+ }, {});
64
+ return buildSearchableFieldList({
65
+ fields,
66
+ input,
67
+ plugins: fieldPluginMap,
68
+ parents: []
69
+ });
70
+ };
71
+ exports.getSearchableFields = getSearchableFields;
72
+
73
+ //# sourceMappingURL=searchableFields.js.map