@webiny/api-headless-cms 0.0.0-unstable.e3f4727c56 → 0.0.0-unstable.eb196ccd2f

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 (987) 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 +1 -1
  5. package/context.js +122 -52
  6. package/context.js.map +1 -1
  7. package/crud/AccessControl/AccessControl.d.ts +98 -0
  8. package/crud/AccessControl/AccessControl.js +542 -0
  9. package/crud/AccessControl/AccessControl.js.map +1 -0
  10. package/crud/AccessControl/README.md +47 -0
  11. package/crud/AccessControl/groups-own.png +0 -0
  12. package/crud/AccessControl/models-own.png +0 -0
  13. package/crud/contentEntry/abstractions/IDeleteEntry.d.ts +4 -0
  14. package/crud/contentEntry/abstractions/IDeleteEntry.js +7 -0
  15. package/crud/contentEntry/abstractions/IDeleteEntry.js.map +1 -0
  16. package/crud/contentEntry/abstractions/IDeleteEntryOperation.d.ts +4 -0
  17. package/crud/contentEntry/abstractions/IDeleteEntryOperation.js +7 -0
  18. package/crud/contentEntry/abstractions/IDeleteEntryOperation.js.map +1 -0
  19. package/crud/contentEntry/abstractions/IGetEntriesByIds.d.ts +4 -0
  20. package/crud/contentEntry/abstractions/IGetEntriesByIds.js +7 -0
  21. package/crud/contentEntry/abstractions/IGetEntriesByIds.js.map +1 -0
  22. package/crud/contentEntry/abstractions/IGetEntry.d.ts +4 -0
  23. package/crud/contentEntry/abstractions/IGetEntry.js +7 -0
  24. package/crud/contentEntry/abstractions/IGetEntry.js.map +1 -0
  25. package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.d.ts +4 -0
  26. package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.js +7 -0
  27. package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.js.map +1 -0
  28. package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.d.ts +4 -0
  29. package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.js +7 -0
  30. package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.js.map +1 -0
  31. package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.d.ts +4 -0
  32. package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.js +7 -0
  33. package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.js.map +1 -0
  34. package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.d.ts +4 -0
  35. package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.js +7 -0
  36. package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.js.map +1 -0
  37. package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.d.ts +4 -0
  38. package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.js +7 -0
  39. package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.js.map +1 -0
  40. package/crud/contentEntry/abstractions/IGetRevisionById.d.ts +4 -0
  41. package/crud/contentEntry/abstractions/IGetRevisionById.js +7 -0
  42. package/crud/contentEntry/abstractions/IGetRevisionById.js.map +1 -0
  43. package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.d.ts +4 -0
  44. package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.js +7 -0
  45. package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.js.map +1 -0
  46. package/crud/contentEntry/abstractions/IListEntries.d.ts +4 -0
  47. package/crud/contentEntry/abstractions/IListEntries.js +7 -0
  48. package/crud/contentEntry/abstractions/IListEntries.js.map +1 -0
  49. package/crud/contentEntry/abstractions/IListEntriesOperation.d.ts +4 -0
  50. package/crud/contentEntry/abstractions/IListEntriesOperation.js +7 -0
  51. package/crud/contentEntry/abstractions/IListEntriesOperation.js.map +1 -0
  52. package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.d.ts +4 -0
  53. package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.js +7 -0
  54. package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.js.map +1 -0
  55. package/crud/contentEntry/abstractions/IRestoreEntryFromBin.d.ts +4 -0
  56. package/crud/contentEntry/abstractions/IRestoreEntryFromBin.js +7 -0
  57. package/crud/contentEntry/abstractions/IRestoreEntryFromBin.js.map +1 -0
  58. package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.d.ts +4 -0
  59. package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.js +7 -0
  60. package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.js.map +1 -0
  61. package/crud/contentEntry/abstractions/index.d.ts +16 -0
  62. package/crud/contentEntry/abstractions/index.js +183 -0
  63. package/crud/contentEntry/abstractions/index.js.map +1 -0
  64. package/crud/contentEntry/afterDelete.d.ts +6 -2
  65. package/crud/contentEntry/afterDelete.js +18 -2
  66. package/crud/contentEntry/afterDelete.js.map +1 -1
  67. package/crud/contentEntry/beforeCreate.d.ts +2 -2
  68. package/crud/contentEntry/beforeCreate.js +3 -1
  69. package/crud/contentEntry/beforeCreate.js.map +1 -1
  70. package/crud/contentEntry/beforeUpdate.d.ts +2 -2
  71. package/crud/contentEntry/beforeUpdate.js +3 -1
  72. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  73. package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +20 -0
  74. package/crud/contentEntry/entryDataFactories/createEntryData.js +254 -0
  75. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -0
  76. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +23 -0
  77. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +157 -0
  78. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -0
  79. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +13 -0
  80. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +63 -0
  81. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -0
  82. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +12 -0
  83. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +59 -0
  84. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -0
  85. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +12 -0
  86. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +40 -0
  87. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -0
  88. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +20 -0
  89. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +130 -0
  90. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -0
  91. package/crud/contentEntry/entryDataFactories/index.d.ts +8 -0
  92. package/crud/contentEntry/entryDataFactories/index.js +95 -0
  93. package/crud/contentEntry/entryDataFactories/index.js.map +1 -0
  94. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +5 -0
  95. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +36 -0
  96. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -0
  97. package/crud/contentEntry/entryDataFactories/statuses.d.ts +4 -0
  98. package/crud/contentEntry/entryDataFactories/statuses.js +12 -0
  99. package/crud/contentEntry/entryDataFactories/statuses.js.map +1 -0
  100. package/crud/contentEntry/entryDataValidation.d.ts +5 -3
  101. package/crud/contentEntry/entryDataValidation.js +223 -45
  102. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  103. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  104. package/crud/contentEntry/markLockedFields.js +20 -10
  105. package/crud/contentEntry/markLockedFields.js.map +1 -1
  106. package/crud/contentEntry/referenceFieldsMapping.d.ts +7 -1
  107. package/crud/contentEntry/referenceFieldsMapping.js +143 -91
  108. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  109. package/crud/contentEntry/searchableFields.d.ts +2 -2
  110. package/crud/contentEntry/searchableFields.js +5 -4
  111. package/crud/contentEntry/searchableFields.js.map +1 -1
  112. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.d.ts +10 -0
  113. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js +58 -0
  114. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js.map +1 -0
  115. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.d.ts +7 -0
  116. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js +17 -0
  117. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js.map +1 -0
  118. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.d.ts +9 -0
  119. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js +45 -0
  120. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js.map +1 -0
  121. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.d.ts +9 -0
  122. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js +22 -0
  123. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js.map +1 -0
  124. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.d.ts +10 -0
  125. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js +33 -0
  126. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js.map +1 -0
  127. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.d.ts +7 -0
  128. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js +17 -0
  129. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js.map +1 -0
  130. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.d.ts +9 -0
  131. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js +45 -0
  132. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js.map +1 -0
  133. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.d.ts +6 -0
  134. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js +21 -0
  135. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js.map +1 -0
  136. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.d.ts +9 -0
  137. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js +54 -0
  138. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js.map +1 -0
  139. package/crud/contentEntry/useCases/DeleteEntry/index.d.ts +28 -0
  140. package/crud/contentEntry/useCases/DeleteEntry/index.js +42 -0
  141. package/crud/contentEntry/useCases/DeleteEntry/index.js.map +1 -0
  142. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.d.ts +9 -0
  143. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js +21 -0
  144. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js.map +1 -0
  145. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.d.ts +7 -0
  146. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js +18 -0
  147. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js.map +1 -0
  148. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.d.ts +9 -0
  149. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js +28 -0
  150. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js.map +1 -0
  151. package/crud/contentEntry/useCases/GetEntriesByIds/index.d.ts +13 -0
  152. package/crud/contentEntry/useCases/GetEntriesByIds/index.js +20 -0
  153. package/crud/contentEntry/useCases/GetEntriesByIds/index.js.map +1 -0
  154. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.d.ts +9 -0
  155. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js +21 -0
  156. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js.map +1 -0
  157. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.d.ts +7 -0
  158. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js +18 -0
  159. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js.map +1 -0
  160. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.d.ts +9 -0
  161. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js +28 -0
  162. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js.map +1 -0
  163. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.d.ts +13 -0
  164. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js +20 -0
  165. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js.map +1 -0
  166. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.d.ts +9 -0
  167. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js +22 -0
  168. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js.map +1 -0
  169. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.d.ts +7 -0
  170. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js +21 -0
  171. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js.map +1 -0
  172. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.d.ts +7 -0
  173. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js +21 -0
  174. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js.map +1 -0
  175. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.d.ts +15 -0
  176. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js +22 -0
  177. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js.map +1 -0
  178. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.d.ts +9 -0
  179. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js +22 -0
  180. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js.map +1 -0
  181. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.d.ts +7 -0
  182. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js +21 -0
  183. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js.map +1 -0
  184. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.d.ts +11 -0
  185. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js +18 -0
  186. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js.map +1 -0
  187. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.d.ts +9 -0
  188. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js +21 -0
  189. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js.map +1 -0
  190. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.d.ts +7 -0
  191. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js +18 -0
  192. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js.map +1 -0
  193. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.d.ts +9 -0
  194. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js +28 -0
  195. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js.map +1 -0
  196. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.d.ts +13 -0
  197. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js +20 -0
  198. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js.map +1 -0
  199. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.d.ts +9 -0
  200. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js +22 -0
  201. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js.map +1 -0
  202. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.d.ts +7 -0
  203. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js +21 -0
  204. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js.map +1 -0
  205. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.d.ts +11 -0
  206. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js +18 -0
  207. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js.map +1 -0
  208. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.d.ts +9 -0
  209. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js +22 -0
  210. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js.map +1 -0
  211. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.d.ts +7 -0
  212. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js +21 -0
  213. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js.map +1 -0
  214. package/crud/contentEntry/useCases/GetRevisionById/index.d.ts +11 -0
  215. package/crud/contentEntry/useCases/GetRevisionById/index.js +18 -0
  216. package/crud/contentEntry/useCases/GetRevisionById/index.js.map +1 -0
  217. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.d.ts +9 -0
  218. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js +21 -0
  219. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js.map +1 -0
  220. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.d.ts +7 -0
  221. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js +18 -0
  222. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js.map +1 -0
  223. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.d.ts +13 -0
  224. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js +18 -0
  225. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js.map +1 -0
  226. package/crud/contentEntry/useCases/ListEntries/GetEntry.d.ts +7 -0
  227. package/crud/contentEntry/useCases/ListEntries/GetEntry.js +29 -0
  228. package/crud/contentEntry/useCases/ListEntries/GetEntry.js.map +1 -0
  229. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.d.ts +11 -0
  230. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js +38 -0
  231. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js.map +1 -0
  232. package/crud/contentEntry/useCases/ListEntries/ListEntries.d.ts +7 -0
  233. package/crud/contentEntry/useCases/ListEntries/ListEntries.js +62 -0
  234. package/crud/contentEntry/useCases/ListEntries/ListEntries.js.map +1 -0
  235. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.d.ts +14 -0
  236. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js +24 -0
  237. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js.map +1 -0
  238. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.d.ts +7 -0
  239. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js +24 -0
  240. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js.map +1 -0
  241. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.d.ts +7 -0
  242. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js +25 -0
  243. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js.map +1 -0
  244. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.d.ts +7 -0
  245. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js +24 -0
  246. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js.map +1 -0
  247. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.d.ts +7 -0
  248. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js +24 -0
  249. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js.map +1 -0
  250. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.d.ts +9 -0
  251. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js +22 -0
  252. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js.map +1 -0
  253. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.d.ts +8 -0
  254. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js +27 -0
  255. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js.map +1 -0
  256. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.d.ts +8 -0
  257. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js +26 -0
  258. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js.map +1 -0
  259. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.d.ts +7 -0
  260. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js +36 -0
  261. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js.map +1 -0
  262. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.d.ts +11 -0
  263. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js +41 -0
  264. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js.map +1 -0
  265. package/crud/contentEntry/useCases/ListEntries/index.d.ts +26 -0
  266. package/crud/contentEntry/useCases/ListEntries/index.js +61 -0
  267. package/crud/contentEntry/useCases/ListEntries/index.js.map +1 -0
  268. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.d.ts +10 -0
  269. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js +37 -0
  270. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js.map +1 -0
  271. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.d.ts +9 -0
  272. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js +19 -0
  273. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js.map +1 -0
  274. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.d.ts +9 -0
  275. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js +42 -0
  276. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js.map +1 -0
  277. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.d.ts +9 -0
  278. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js +22 -0
  279. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js.map +1 -0
  280. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.d.ts +9 -0
  281. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js +53 -0
  282. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js.map +1 -0
  283. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.d.ts +25 -0
  284. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js +24 -0
  285. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js.map +1 -0
  286. package/crud/contentEntry/useCases/index.d.ts +11 -0
  287. package/crud/contentEntry/useCases/index.js +128 -0
  288. package/crud/contentEntry/useCases/index.js.map +1 -0
  289. package/crud/contentEntry.crud.d.ts +9 -7
  290. package/crud/contentEntry.crud.js +1057 -998
  291. package/crud/contentEntry.crud.js.map +1 -1
  292. package/crud/contentModel/beforeCreate.d.ts +2 -2
  293. package/crud/contentModel/beforeCreate.js +50 -85
  294. package/crud/contentModel/beforeCreate.js.map +1 -1
  295. package/crud/contentModel/beforeDelete.d.ts +3 -5
  296. package/crud/contentModel/beforeDelete.js +52 -20
  297. package/crud/contentModel/beforeDelete.js.map +1 -1
  298. package/crud/contentModel/beforeUpdate.d.ts +2 -2
  299. package/crud/contentModel/beforeUpdate.js +31 -6
  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 +3 -1
  306. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  307. package/crud/contentModel/createFieldStorageId.d.ts +1 -1
  308. package/crud/contentModel/createFieldStorageId.js +3 -1
  309. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  310. package/crud/contentModel/defaultFields.d.ts +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 +2 -1
  347. package/crud/contentModel/validateModel.js +3 -1
  348. package/crud/contentModel/validateModel.js.map +1 -1
  349. package/crud/contentModel/validateModelFields.d.ts +2 -1
  350. package/crud/contentModel/validateModelFields.js +27 -64
  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 +583 -167
  356. package/crud/contentModel/validation.js +130 -22
  357. package/crud/contentModel/validation.js.map +1 -1
  358. package/crud/contentModel.crud.d.ts +6 -4
  359. package/crud/contentModel.crud.js +480 -415
  360. package/crud/contentModel.crud.js.map +1 -1
  361. package/crud/contentModelGroup/beforeCreate.d.ts +3 -3
  362. package/crud/contentModelGroup/beforeCreate.js +15 -1
  363. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  364. package/crud/contentModelGroup/beforeDelete.d.ts +3 -3
  365. package/crud/contentModelGroup/beforeDelete.js +3 -1
  366. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  367. package/crud/contentModelGroup/beforeUpdate.d.ts +3 -3
  368. package/crud/contentModelGroup/beforeUpdate.js +3 -1
  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 +9 -6
  374. package/crud/contentModelGroup/validation.js +5 -2
  375. package/crud/contentModelGroup/validation.js.map +1 -1
  376. package/crud/contentModelGroup.crud.d.ts +6 -4
  377. package/crud/contentModelGroup.crud.js +261 -228
  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 -11
  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 +4 -7
  423. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  424. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +3 -2
  425. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +28 -73
  426. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  427. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +3 -2
  428. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +49 -40
  429. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  430. package/fieldConverters/index.d.ts +3 -0
  431. package/fieldConverters/index.js +7 -1
  432. package/fieldConverters/index.js.map +1 -1
  433. package/graphql/buildSchemaPlugins.d.ts +3 -3
  434. package/graphql/buildSchemaPlugins.js +7 -1
  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 +2 -3
  440. package/graphql/createExecutableSchema.js +17 -8
  441. package/graphql/createExecutableSchema.js.map +1 -1
  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 +2 -2
  449. package/graphql/generateSchema.js +9 -2
  450. package/graphql/generateSchema.js.map +1 -1
  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 +9 -146
  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 -3
  467. package/graphql/index.js +4 -2
  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 +3 -3
  476. package/graphql/schema/baseContentSchema.js +10 -21
  477. package/graphql/schema/baseContentSchema.js.map +1 -1
  478. package/graphql/schema/baseSchema.d.ts +2 -3
  479. package/graphql/schema/baseSchema.js +103 -3
  480. package/graphql/schema/baseSchema.js.map +1 -1
  481. package/graphql/schema/contentEntries.d.ts +3 -3
  482. package/graphql/schema/contentEntries.js +135 -61
  483. package/graphql/schema/contentEntries.js.map +1 -1
  484. package/graphql/schema/contentModelGroups.d.ts +3 -3
  485. package/graphql/schema/contentModelGroups.js +13 -10
  486. package/graphql/schema/contentModelGroups.js.map +1 -1
  487. package/graphql/schema/contentModels.d.ts +4 -5
  488. package/graphql/schema/contentModels.js +54 -19
  489. package/graphql/schema/contentModels.js.map +1 -1
  490. package/graphql/schema/createFieldResolvers.d.ts +2 -2
  491. package/graphql/schema/createFieldResolvers.js +18 -24
  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 +63 -55
  498. package/graphql/schema/createManageResolvers.js.map +1 -1
  499. package/graphql/schema/createManageSDL.d.ts +3 -2
  500. package/graphql/schema/createManageSDL.js +125 -69
  501. package/graphql/schema/createManageSDL.js.map +1 -1
  502. package/graphql/schema/createPreviewResolvers.d.ts +1 -2
  503. package/graphql/schema/createPreviewResolvers.js +14 -20
  504. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  505. package/graphql/schema/createReadResolvers.d.ts +1 -2
  506. package/graphql/schema/createReadResolvers.js +15 -21
  507. package/graphql/schema/createReadResolvers.js.map +1 -1
  508. package/graphql/schema/createReadSDL.d.ts +3 -2
  509. package/graphql/schema/createReadSDL.js +50 -38
  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 +4 -2
  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 +4 -2
  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 +17 -4
  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 +12 -5
  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 +3 -1
  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 +3 -1
  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 +3 -1
  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 +3 -1
  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 +3 -1
  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 +3 -1
  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 +4 -2
  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/resolveValidate.js +20 -0
  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 +6 -5
  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 +3 -1
  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 +6 -5
  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 +3 -1
  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/singular/resolveUpdate.js +21 -0
  588. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -0
  589. package/graphql/schema/schemaPlugins.d.ts +3 -3
  590. package/graphql/schema/schemaPlugins.js +39 -25
  591. package/graphql/schema/schemaPlugins.js.map +1 -1
  592. package/graphql/system.d.ts +3 -6
  593. package/graphql/system.js +6 -13
  594. package/graphql/system.js.map +1 -1
  595. package/graphqlFields/boolean.d.ts +1 -1
  596. package/graphqlFields/boolean.js +3 -1
  597. package/graphqlFields/boolean.js.map +1 -1
  598. package/graphqlFields/datetime.d.ts +1 -1
  599. package/graphqlFields/datetime.js +5 -5
  600. package/graphqlFields/datetime.js.map +1 -1
  601. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  602. package/graphqlFields/dynamicZone/dynamicZoneField.js +142 -30
  603. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  604. package/graphqlFields/dynamicZone/index.d.ts +0 -1
  605. package/graphqlFields/dynamicZone/index.js +2 -7
  606. package/graphqlFields/dynamicZone/index.js.map +1 -1
  607. package/graphqlFields/file.d.ts +1 -1
  608. package/graphqlFields/file.js +3 -1
  609. package/graphqlFields/file.js.map +1 -1
  610. package/graphqlFields/helpers.d.ts +1 -2
  611. package/graphqlFields/helpers.js +6 -18
  612. package/graphqlFields/helpers.js.map +1 -1
  613. package/graphqlFields/index.d.ts +1 -1
  614. package/graphqlFields/index.js +6 -2
  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 +14 -3
  621. package/graphqlFields/longText.js.map +1 -1
  622. package/graphqlFields/number.d.ts +1 -1
  623. package/graphqlFields/number.js +4 -1
  624. package/graphqlFields/number.js.map +1 -1
  625. package/graphqlFields/object.d.ts +2 -2
  626. package/graphqlFields/object.js +47 -34
  627. package/graphqlFields/object.js.map +1 -1
  628. package/graphqlFields/ref.d.ts +1 -1
  629. package/graphqlFields/ref.js +69 -29
  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 +11 -3
  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 +5 -1
  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 +106 -7
  654. package/index.js.map +1 -1
  655. package/modelManager/DefaultCmsModelManager.d.ts +11 -10
  656. package/modelManager/DefaultCmsModelManager.js +19 -18
  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 +19 -2
  663. package/modelManager/index.js.map +1 -1
  664. package/package.json +40 -44
  665. package/parameters/context.js +4 -2
  666. package/parameters/context.js.map +1 -1
  667. package/parameters/header.js +7 -6
  668. package/parameters/header.js.map +1 -1
  669. package/parameters/index.js +3 -1
  670. package/parameters/index.js.map +1 -1
  671. package/parameters/manual.d.ts +2 -1
  672. package/parameters/manual.js +9 -4
  673. package/parameters/manual.js.map +1 -1
  674. package/parameters/path.js +4 -3
  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 +1 -1
  683. package/plugins/CmsGraphQLSchemaSorterPlugin.js +4 -5
  684. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
  685. package/plugins/CmsGroupPlugin.d.ts +15 -4
  686. package/plugins/CmsGroupPlugin.js +25 -7
  687. package/plugins/CmsGroupPlugin.js.map +1 -1
  688. package/plugins/CmsModelFieldConverterPlugin.d.ts +5 -2
  689. package/plugins/CmsModelFieldConverterPlugin.js +9 -4
  690. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  691. package/plugins/CmsModelPlugin.d.ts +47 -7
  692. package/plugins/CmsModelPlugin.js +169 -32
  693. package/plugins/CmsModelPlugin.js.map +1 -1
  694. package/plugins/CmsParametersPlugin.d.ts +3 -3
  695. package/plugins/CmsParametersPlugin.js +7 -4
  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 +7 -3
  704. package/plugins/StorageTransformPlugin.js +12 -5
  705. package/plugins/StorageTransformPlugin.js.map +1 -1
  706. package/plugins/index.d.ts +2 -0
  707. package/plugins/index.js +25 -1
  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 +3 -1
  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 +24 -20
  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} +33 -134
  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 +4 -5
  790. package/utils/converters/Converter.js.map +1 -1
  791. package/utils/converters/ConverterCollection.d.ts +2 -2
  792. package/utils/converters/ConverterCollection.js +13 -7
  793. package/utils/converters/ConverterCollection.js.map +1 -1
  794. package/utils/converters/valueKeyStorageConverter.d.ts +4 -8
  795. package/utils/converters/valueKeyStorageConverter.js +34 -21
  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 +2 -1
  801. package/utils/createTypeFromFields.js +14 -7
  802. package/utils/createTypeFromFields.js.map +1 -1
  803. package/utils/createTypeName.d.ts +0 -2
  804. package/utils/createTypeName.js +3 -9
  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 +41 -5
  811. package/utils/entryStorage.js.map +1 -1
  812. package/utils/filterAsync.js +9 -8
  813. package/utils/filterAsync.js.map +1 -1
  814. package/utils/getBaseFieldType.d.ts +2 -4
  815. package/utils/getBaseFieldType.js +3 -1
  816. package/utils/getBaseFieldType.js.map +1 -1
  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 -1
  825. package/utils/getEntryTitle.js.map +1 -1
  826. package/utils/getSchemaFromFieldPlugins.d.ts +14 -3
  827. package/utils/getSchemaFromFieldPlugins.js +25 -6
  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 +15 -3
  849. package/utils/renderFields.js.map +1 -1
  850. package/utils/renderGetFilterFields.d.ts +2 -2
  851. package/utils/renderGetFilterFields.js +9 -21
  852. package/utils/renderGetFilterFields.js.map +1 -1
  853. package/utils/renderInputFields.d.ts +5 -3
  854. package/utils/renderInputFields.js +20 -6
  855. package/utils/renderInputFields.js.map +1 -1
  856. package/utils/renderListFilterFields.d.ts +3 -1
  857. package/utils/renderListFilterFields.js +25 -22
  858. package/utils/renderListFilterFields.js.map +1 -1
  859. package/utils/renderSortEnum.d.ts +4 -3
  860. package/utils/renderSortEnum.js +10 -3
  861. package/utils/renderSortEnum.js.map +1 -1
  862. package/utils/toSlug.js +3 -1
  863. package/utils/toSlug.js.map +1 -1
  864. package/validators/dateGte.d.ts +1 -1
  865. package/validators/dateGte.js +3 -1
  866. package/validators/dateGte.js.map +1 -1
  867. package/validators/dateLte.d.ts +1 -1
  868. package/validators/dateLte.js +3 -1
  869. package/validators/dateLte.js.map +1 -1
  870. package/validators/gte.d.ts +1 -1
  871. package/validators/gte.js +4 -3
  872. package/validators/gte.js.map +1 -1
  873. package/validators/in.d.ts +1 -1
  874. package/validators/in.js +4 -3
  875. package/validators/in.js.map +1 -1
  876. package/validators/index.js +4 -3
  877. package/validators/index.js.map +1 -1
  878. package/validators/lte.d.ts +1 -1
  879. package/validators/lte.js +4 -3
  880. package/validators/lte.js.map +1 -1
  881. package/validators/maxLength.d.ts +1 -1
  882. package/validators/maxLength.js +4 -3
  883. package/validators/maxLength.js.map +1 -1
  884. package/validators/minLength.d.ts +1 -1
  885. package/validators/minLength.js +4 -3
  886. package/validators/minLength.js.map +1 -1
  887. package/validators/pattern.d.ts +1 -1
  888. package/validators/pattern.js +5 -3
  889. package/validators/pattern.js.map +1 -1
  890. package/validators/patternPlugins/email.d.ts +1 -1
  891. package/validators/patternPlugins/email.js +4 -2
  892. package/validators/patternPlugins/email.js.map +1 -1
  893. package/validators/patternPlugins/index.d.ts +1 -1
  894. package/validators/patternPlugins/index.js +3 -1
  895. package/validators/patternPlugins/index.js.map +1 -1
  896. package/validators/patternPlugins/lowerCase.d.ts +1 -1
  897. package/validators/patternPlugins/lowerCase.js +3 -1
  898. package/validators/patternPlugins/lowerCase.js.map +1 -1
  899. package/validators/patternPlugins/lowerCaseSpace.d.ts +1 -1
  900. package/validators/patternPlugins/lowerCaseSpace.js +3 -1
  901. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  902. package/validators/patternPlugins/upperCase.d.ts +1 -1
  903. package/validators/patternPlugins/upperCase.js +3 -1
  904. package/validators/patternPlugins/upperCase.js.map +1 -1
  905. package/validators/patternPlugins/upperCaseSpace.d.ts +1 -1
  906. package/validators/patternPlugins/upperCaseSpace.js +3 -1
  907. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  908. package/validators/patternPlugins/url.d.ts +1 -1
  909. package/validators/patternPlugins/url.js +3 -1
  910. package/validators/patternPlugins/url.js.map +1 -1
  911. package/validators/required.d.ts +1 -1
  912. package/validators/required.js +3 -1
  913. package/validators/required.js.map +1 -1
  914. package/validators/timeGte.d.ts +1 -1
  915. package/validators/timeGte.js +4 -3
  916. package/validators/timeGte.js.map +1 -1
  917. package/validators/timeLte.d.ts +1 -1
  918. package/validators/timeLte.js +4 -3
  919. package/validators/timeLte.js.map +1 -1
  920. package/validators/unique.d.ts +1 -1
  921. package/validators/unique.js +4 -2
  922. package/validators/unique.js.map +1 -1
  923. package/crud/contentModel/afterCreate.d.ts +0 -8
  924. package/crud/contentModel/afterCreate.js +0 -16
  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 -16
  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 -16
  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 -16
  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 -192
  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 -28
  952. package/crud/contentModel/validateLayout.js.map +0 -1
  953. package/crud/settings.crud.d.ts +0 -10
  954. package/crud/settings.crud.js +0 -71
  955. package/crud/settings.crud.js.map +0 -1
  956. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  957. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -12
  958. package/graphql/schema/resolvers/commonFieldResolvers.js.map +0 -1
  959. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +0 -3
  960. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +0 -63
  961. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +0 -1
  962. package/plugins/CmsGraphQLSchemaPlugin.d.ts +0 -5
  963. package/plugins/CmsGraphQLSchemaPlugin.js +0 -12
  964. package/plugins/CmsGraphQLSchemaPlugin.js.map +0 -1
  965. package/types.d.ts +0 -2634
  966. package/types.js.map +0 -1
  967. package/upgrades/5.33.0/index.d.ts +0 -3
  968. package/upgrades/5.33.0/index.js +0 -182
  969. package/upgrades/5.33.0/index.js.map +0 -1
  970. package/upgrades/index.d.ts +0 -1
  971. package/upgrades/index.js +0 -12
  972. package/upgrades/index.js.map +0 -1
  973. package/utils/access.d.ts +0 -8
  974. package/utils/access.js +0 -76
  975. package/utils/access.js.map +0 -1
  976. package/utils/ownership.d.ts +0 -8
  977. package/utils/ownership.js +0 -33
  978. package/utils/ownership.js.map +0 -1
  979. package/utils/permissions.d.ts +0 -7
  980. package/utils/permissions.js +0 -91
  981. package/utils/permissions.js.map +0 -1
  982. package/utils/pluralizedTypeName.d.ts +0 -1
  983. package/utils/pluralizedTypeName.js +0 -20
  984. package/utils/pluralizedTypeName.js.map +0 -1
  985. package/validators/dynamicZone.d.ts +0 -2
  986. package/validators/dynamicZone.js +0 -20
  987. package/validators/dynamicZone.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["ensureTypeTag","model","tags","some","tag","startsWith","push","createModelsCrud","params","getTenant","getIdentity","getLocale","storageOperations","context","loaders","listModels","DataLoader","models","list","where","tenant","id","locale","code","map","clearModelsCache","loader","Object","values","clearAll","managers","Map","updateManager","manager","contentModelManagerFactory","set","modelId","checkModelPermissions","check","checkPermissions","rwd","getModelsAsPlugins","plugins","byType","CmsModelPlugin","type","filter","plugin","modelTenant","modelLocale","contentModel","webinyVersion","WEBINY_VERSION","modelsGet","pluginModel","find","get","NotFoundError","modelsList","databaseModels","load","pluginsModels","concat","permission","filterAsync","validateOwnership","validateModelAccess","getModel","checkOwnership","checkModelAccess","getModelManager","target","has","m","onModelBeforeCreate","createTopic","onModelAfterCreate","onModelCreateError","onModelBeforeCreateFrom","onModelAfterCreateFrom","onModelCreateFromError","onModelBeforeUpdate","onModelAfterUpdate","onModelUpdateError","onModelBeforeDelete","onModelAfterDelete","onModelDeleteError","onModelInitialize","assignModelBeforeCreate","assignModelAfterCreate","assignModelBeforeUpdate","assignModelAfterUpdate","assignModelAfterCreateFrom","assignModelBeforeDelete","assignModelAfterDelete","onBeforeModelCreate","onAfterModelCreate","onBeforeModelCreateFrom","onAfterModelCreateFrom","onBeforeModelUpdate","onAfterModelUpdate","onBeforeModelDelete","onAfterModelDelete","createModel","input","result","createModelCreateValidation","safeParseAsync","success","createZodError","error","data","security","disableAuthorization","group","cms","getGroup","enableAuthorization","identity","name","description","titleFieldId","createdBy","displayName","createdOn","Date","toISOString","savedOn","fields","lockedFields","layout","publish","createdModel","create","ex","updateModelDirect","initialModel","original","resultModel","update","createModelFrom","userInput","createModelCreateFromValidation","i18n","groups","updateModel","createModelUpdateValidation","keys","length","groupData","deleteModel","delete","WebinyError","message","initializeModel","getEntryManager","getManagers","getEntryManagers"],"sources":["contentModel.crud.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport WebinyError from \"@webiny/error\";\nimport {\n CmsContext,\n CmsModel,\n CmsModelContext,\n CmsModelManager,\n HeadlessCmsStorageOperations,\n OnModelBeforeCreateTopicParams,\n OnModelAfterCreateTopicParams,\n OnModelBeforeUpdateTopicParams,\n OnModelAfterUpdateTopicParams,\n OnModelBeforeDeleteTopicParams,\n OnModelAfterDeleteTopicParams,\n OnModelInitializeParams,\n OnModelBeforeCreateFromTopicParams,\n OnModelAfterCreateFromTopicParams,\n CmsModelUpdateInput,\n OnModelCreateErrorTopicParams,\n OnModelCreateFromErrorParams,\n OnModelUpdateErrorTopicParams,\n OnModelDeleteErrorTopicParams,\n CmsModelGroup\n} from \"~/types\";\n\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { contentModelManagerFactory } from \"./contentModel/contentModelManagerFactory\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { assignModelBeforeCreate } from \"./contentModel/beforeCreate\";\nimport { assignModelBeforeUpdate } from \"./contentModel/beforeUpdate\";\nimport { assignModelBeforeDelete } from \"./contentModel/beforeDelete\";\nimport { assignModelAfterCreate } from \"./contentModel/afterCreate\";\nimport { assignModelAfterUpdate } from \"./contentModel/afterUpdate\";\nimport { assignModelAfterDelete } from \"./contentModel/afterDelete\";\nimport { assignModelAfterCreateFrom } from \"./contentModel/afterCreateFrom\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\nimport { checkPermissions } from \"~/utils/permissions\";\nimport { filterAsync } from \"~/utils/filterAsync\";\nimport { checkOwnership, validateOwnership } from \"~/utils/ownership\";\nimport { checkModelAccess, validateModelAccess } from \"~/utils/access\";\nimport {\n createModelCreateFromValidation,\n createModelCreateValidation,\n createModelUpdateValidation\n} from \"~/crud/contentModel/validation\";\nimport { createZodError } from \"@webiny/utils\";\n\n/**\n * Given a model, return an array of tags ensuring the `type` tag is set.\n */\nconst ensureTypeTag = (model: Pick<CmsModel, \"tags\">) => {\n // Let's make sure we have a `type` tag assigned.\n // If `type` tag is not set, set it to a default one (`model`).\n const tags = model.tags || [];\n if (!tags.some(tag => tag.startsWith(\"type:\"))) {\n tags.push(\"type:model\");\n }\n\n return tags;\n};\n\nexport interface CreateModelsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\n\nexport const createModelsCrud = (params: CreateModelsCrudParams): CmsModelContext => {\n const { getTenant, getIdentity, getLocale, storageOperations, context } = params;\n\n const loaders = {\n listModels: new DataLoader(async () => {\n const models = await storageOperations.models.list({\n where: {\n tenant: getTenant().id,\n locale: getLocale().code\n }\n });\n return [\n models.map(model => {\n return {\n ...model,\n tags: ensureTypeTag(model),\n tenant: model.tenant || getTenant().id,\n locale: model.locale || getLocale().code\n };\n })\n ];\n })\n };\n\n const clearModelsCache = (): void => {\n for (const loader of Object.values(loaders)) {\n loader.clearAll();\n }\n };\n\n const managers = new Map<string, CmsModelManager>();\n const updateManager = async (\n context: CmsContext,\n model: CmsModel\n ): Promise<CmsModelManager> => {\n const manager = await contentModelManagerFactory(context, model);\n managers.set(model.modelId, manager);\n return manager;\n };\n\n const checkModelPermissions = (check: string) => {\n return checkPermissions(context, \"cms.contentModel\", { rwd: check });\n };\n\n const getModelsAsPlugins = (): CmsModel[] => {\n const tenant = getTenant().id;\n const locale = getLocale().code;\n\n return (\n context.plugins\n .byType<CmsModelPlugin>(CmsModelPlugin.type)\n /**\n * We need to filter out models that are not for this tenant or locale.\n * If it does not have tenant or locale define, it is for every locale and tenant\n */\n .filter(plugin => {\n const { tenant: modelTenant, locale: modelLocale } = plugin.contentModel;\n if (modelTenant && modelTenant !== tenant) {\n return false;\n } else if (modelLocale && modelLocale !== locale) {\n return false;\n }\n return true;\n })\n .map<CmsModel>(plugin => {\n return {\n ...plugin.contentModel,\n tags: ensureTypeTag(plugin.contentModel),\n tenant,\n locale,\n webinyVersion: context.WEBINY_VERSION\n };\n })\n );\n };\n\n const modelsGet = async (modelId: string): Promise<CmsModel> => {\n const pluginModel = getModelsAsPlugins().find(model => model.modelId === modelId);\n\n if (pluginModel) {\n return pluginModel;\n }\n\n const model = await storageOperations.models.get({\n tenant: getTenant().id,\n locale: getLocale().code,\n modelId\n });\n\n if (!model) {\n throw new NotFoundError(`Content model \"${modelId}\" was not found!`);\n }\n\n return {\n ...model,\n tags: ensureTypeTag(model),\n tenant: model.tenant || getTenant().id,\n locale: model.locale || getLocale().code\n };\n };\n\n const modelsList = async (): Promise<CmsModel[]> => {\n const databaseModels: CmsModel[] = await loaders.listModels.load(\"listModels\");\n\n const pluginsModels = getModelsAsPlugins();\n\n return databaseModels.concat(pluginsModels);\n };\n\n const listModels = async () => {\n const permission = await checkModelPermissions(\"r\");\n const models = await modelsList();\n return filterAsync(models, async model => {\n if (!validateOwnership(context, permission, model)) {\n return false;\n }\n return validateModelAccess(context, model);\n });\n };\n\n const getModel = async (modelId: string): Promise<CmsModel> => {\n const permission = await checkModelPermissions(\"r\");\n\n const model = await modelsGet(modelId);\n\n checkOwnership(context, permission, model);\n await checkModelAccess(context, model);\n\n return model;\n };\n\n const getModelManager: CmsModelContext[\"getModelManager\"] = async (\n target\n ): Promise<CmsModelManager> => {\n const modelId = typeof target === \"string\" ? target : target.modelId;\n if (managers.has(modelId)) {\n return managers.get(modelId) as CmsModelManager;\n }\n const models = await modelsList();\n const model = models.find(m => m.modelId === modelId);\n if (!model) {\n throw new NotFoundError(`There is no content model \"${modelId}\".`);\n }\n return await updateManager(context, model);\n };\n\n /**\n * Create\n */\n const onModelBeforeCreate =\n createTopic<OnModelBeforeCreateTopicParams>(\"cms.onModelBeforeCreate\");\n const onModelAfterCreate = createTopic<OnModelAfterCreateTopicParams>(\"cms.onModelAfterCreate\");\n const onModelCreateError = createTopic<OnModelCreateErrorTopicParams>(\"cms.onModelCreateError\");\n /**\n * Create from / clone\n */\n const onModelBeforeCreateFrom = createTopic<OnModelBeforeCreateFromTopicParams>(\n \"cms.onModelBeforeCreateFrom\"\n );\n const onModelAfterCreateFrom = createTopic<OnModelAfterCreateFromTopicParams>(\n \"cms.onModelAfterCreateFrom\"\n );\n const onModelCreateFromError = createTopic<OnModelCreateFromErrorParams>(\n \"cms.onModelCreateFromError\"\n );\n /**\n * Update\n */\n const onModelBeforeUpdate =\n createTopic<OnModelBeforeUpdateTopicParams>(\"cms.onModelBeforeUpdate\");\n const onModelAfterUpdate = createTopic<OnModelAfterUpdateTopicParams>(\"cms.onModelAfterUpdate\");\n const onModelUpdateError = createTopic<OnModelUpdateErrorTopicParams>(\"cms.onModelUpdateError\");\n /**\n * Delete\n */\n const onModelBeforeDelete =\n createTopic<OnModelBeforeDeleteTopicParams>(\"cms.onModelBeforeDelete\");\n const onModelAfterDelete = createTopic<OnModelAfterDeleteTopicParams>(\"cms.onModelAfterDelete\");\n const onModelDeleteError = createTopic<OnModelDeleteErrorTopicParams>(\"cms.onModelDeleteError\");\n /**\n * Initialize\n */\n const onModelInitialize = createTopic<OnModelInitializeParams>(\"cms.onModelInitialize\");\n /**\n * We need to assign some default behaviors.\n */\n assignModelBeforeCreate({\n onModelBeforeCreate,\n onModelBeforeCreateFrom,\n context,\n storageOperations\n });\n assignModelAfterCreate({\n context,\n onModelAfterCreate\n });\n assignModelBeforeUpdate({\n onModelBeforeUpdate,\n context\n });\n assignModelAfterUpdate({\n context,\n onModelAfterUpdate\n });\n assignModelAfterCreateFrom({\n context,\n onModelAfterCreateFrom\n });\n assignModelBeforeDelete({\n onModelBeforeDelete,\n plugins: context.plugins,\n storageOperations\n });\n assignModelAfterDelete({\n context,\n onModelAfterDelete\n });\n\n return {\n /**\n * Deprecated - will be removed in 5.36.0\n */\n onBeforeModelCreate: onModelBeforeCreate,\n onAfterModelCreate: onModelAfterCreate,\n onBeforeModelCreateFrom: onModelBeforeCreateFrom,\n onAfterModelCreateFrom: onModelAfterCreateFrom,\n onBeforeModelUpdate: onModelBeforeUpdate,\n onAfterModelUpdate: onModelAfterUpdate,\n onBeforeModelDelete: onModelBeforeDelete,\n onAfterModelDelete: onModelAfterDelete,\n /**\n * Released in 5.34.0\n */\n onModelBeforeCreate,\n onModelAfterCreate,\n onModelCreateError,\n onModelBeforeCreateFrom,\n onModelAfterCreateFrom,\n onModelCreateFromError,\n onModelBeforeUpdate,\n onModelAfterUpdate,\n onModelUpdateError,\n onModelBeforeDelete,\n onModelAfterDelete,\n onModelDeleteError,\n onModelInitialize,\n clearModelsCache,\n getModel,\n listModels,\n async createModel(input) {\n await checkModelPermissions(\"w\");\n\n const result = await createModelCreateValidation().safeParseAsync(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const data = result.data;\n\n context.security.disableAuthorization();\n const group = await context.cms.getGroup(data.group);\n context.security.enableAuthorization();\n if (!group) {\n throw new NotFoundError(`There is no group \"${data.group}\".`);\n }\n\n const identity = getIdentity();\n const model: CmsModel = {\n name: data.name,\n description: data.description || \"\",\n modelId: data.modelId || \"\",\n titleFieldId: \"id\",\n locale: getLocale().code,\n tenant: getTenant().id,\n group: {\n id: group.id,\n name: group.name\n },\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n fields: data.fields,\n lockedFields: [],\n layout: data.layout || [],\n tags: [...(data.tags || [])],\n webinyVersion: context.WEBINY_VERSION\n };\n\n model.tags = ensureTypeTag(model);\n\n try {\n await onModelBeforeCreate.publish({\n input: data,\n model\n });\n\n const createdModel = await storageOperations.models.create({\n model\n });\n\n loaders.listModels.clearAll();\n\n await updateManager(context, model);\n\n await onModelAfterCreate.publish({\n input: data,\n model: createdModel\n });\n\n return createdModel;\n } catch (ex) {\n await onModelCreateError.publish({\n input: data,\n model,\n error: ex\n });\n throw ex;\n }\n },\n /**\n * Method does not check for permissions or ownership.\n * @internal\n */\n async updateModelDirect(params) {\n const { model: initialModel, original } = params;\n\n const model: CmsModel = {\n ...initialModel,\n tenant: initialModel.tenant || getTenant().id,\n locale: initialModel.locale || getLocale().code,\n webinyVersion: context.WEBINY_VERSION\n };\n\n try {\n await onModelBeforeUpdate.publish({\n input: {} as CmsModelUpdateInput,\n original,\n model\n });\n\n const resultModel = await storageOperations.models.update({\n model\n });\n\n await updateManager(context, resultModel);\n\n loaders.listModels.clearAll();\n\n await onModelAfterUpdate.publish({\n input: {} as CmsModelUpdateInput,\n original,\n model: resultModel\n });\n\n return resultModel;\n } catch (ex) {\n await onModelUpdateError.publish({\n input: {} as CmsModelUpdateInput,\n original,\n model,\n error: ex\n });\n throw ex;\n }\n },\n async createModelFrom(modelId, userInput) {\n await checkModelPermissions(\"w\");\n /**\n * Get a model record; this will also perform ownership validation.\n */\n const original = await getModel(modelId);\n\n const result = await createModelCreateFromValidation().safeParseAsync({\n name: userInput.name,\n modelId: userInput.modelId,\n description: userInput.description || original.description,\n group: userInput.group,\n locale: userInput.locale\n });\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const data = result.data;\n\n const locale = await context.i18n.getLocale(data.locale || original.locale);\n if (!locale) {\n throw new NotFoundError(`There is no locale \"${data.locale}\".`);\n }\n /**\n * Use storage operations directly because we cannot get group from different locale via context methods.\n */\n const group = await context.cms.storageOperations.groups.get({\n id: data.group,\n tenant: original.tenant,\n locale: locale.code\n });\n if (!group) {\n throw new NotFoundError(`There is no group \"${data.group}\".`);\n }\n\n const identity = getIdentity();\n const model: CmsModel = {\n ...original,\n locale: locale.code,\n group: {\n id: group.id,\n name: group.name\n },\n name: data.name,\n modelId: data.modelId || \"\",\n description: data.description || \"\",\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n lockedFields: [],\n webinyVersion: context.WEBINY_VERSION\n };\n\n try {\n await onModelBeforeCreateFrom.publish({\n input: data,\n model,\n original\n });\n\n const createdModel = await storageOperations.models.create({\n model\n });\n\n loaders.listModels.clearAll();\n\n await updateManager(context, model);\n\n await onModelAfterCreateFrom.publish({\n input: data,\n original,\n model: createdModel\n });\n\n return createdModel;\n } catch (ex) {\n await onModelCreateFromError.publish({\n input: data,\n original,\n model,\n error: ex\n });\n throw ex;\n }\n },\n async updateModel(modelId, input) {\n await checkModelPermissions(\"w\");\n\n // Get a model record; this will also perform ownership validation.\n const original = await getModel(modelId);\n\n const result = await createModelUpdateValidation().safeParseAsync(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const data = result.data;\n\n if (Object.keys(data).length === 0) {\n /**\n * We need to return the original if nothing is to be updated.\n */\n return original;\n }\n let group: CmsModelGroup = {\n id: original.group.id,\n name: original.group.name\n };\n if (data.group) {\n context.security.disableAuthorization();\n const groupData = await context.cms.getGroup(data.group);\n context.security.enableAuthorization();\n if (!groupData) {\n throw new NotFoundError(`There is no group \"${data.group}\".`);\n }\n group = {\n id: groupData.id,\n name: groupData.name\n };\n }\n const model: CmsModel = {\n ...original,\n ...data,\n group,\n description: data.description || original.description,\n tenant: original.tenant || getTenant().id,\n locale: original.locale || getLocale().code,\n webinyVersion: context.WEBINY_VERSION,\n savedOn: new Date().toISOString()\n };\n\n model.tags = ensureTypeTag(model);\n\n try {\n await onModelBeforeUpdate.publish({\n input: data,\n original,\n model\n });\n\n const resultModel = await storageOperations.models.update({\n model\n });\n\n await updateManager(context, resultModel);\n\n await onModelAfterUpdate.publish({\n input: data,\n original,\n model: resultModel\n });\n\n return resultModel;\n } catch (ex) {\n await onModelUpdateError.publish({\n input: data,\n model,\n original,\n error: ex\n });\n\n throw ex;\n }\n },\n async deleteModel(modelId) {\n await checkModelPermissions(\"d\");\n\n const model = await getModel(modelId);\n\n try {\n await onModelBeforeDelete.publish({\n model\n });\n\n try {\n await storageOperations.models.delete({\n model\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete the content model\",\n ex.code || \"CONTENT_MODEL_DELETE_ERROR\",\n {\n error: ex,\n modelId: model.modelId\n }\n );\n }\n\n await onModelAfterDelete.publish({\n model\n });\n\n managers.delete(model.modelId);\n } catch (ex) {\n await onModelDeleteError.publish({\n model,\n error: ex\n });\n throw ex;\n }\n },\n async initializeModel(modelId, data) {\n /**\n * We require that users have write permissions to initialize models.\n * Maybe introduce another permission for it?\n */\n await checkModelPermissions(\"w\");\n\n const model = await getModel(modelId);\n\n await onModelInitialize.publish({ model, data });\n\n return true;\n },\n getModelManager,\n getEntryManager: async model => {\n return getModelManager(model);\n },\n getManagers: () => managers,\n getEntryManagers: () => managers\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_handlerGraphql","_contentModelManagerFactory","_pubsub","_beforeCreate","_beforeUpdate","_beforeDelete","_CmsModelPlugin","_validation","_utils","_defaultFields","_utils2","_ensureTypeTag","_listModelsFromDatabase","_filterAsync","_contentModelAst","_modelManager","createModelsCrud","params","getTenant","getIdentity","getLocale","storageOperations","accessControl","context","listPluginModelsCache","createMemoryCache","listFilteredModelsCache","listDatabaseModelsCache","clearModelsCache","clear","managers","Map","updateManager","model","manager","contentModelManagerFactory","set","modelId","fieldTypePlugins","plugins","byType","getModelToAstConverter","CmsModelToAstConverter","CmsModelFieldToAstConverterFromPlugins","listPluginModels","tenant","locale","modelPlugins","CmsModelPlugin","type","cacheKey","createCacheKey","models","map","contentModel","pluralApiName","singularApiName","savedOn","join","identity","security","isAuthorizationEnabled","id","undefined","getOrSet","filter","plugin","modelTenant","modelLocale","tags","ensureTypeTag","webinyVersion","WEBINY_VERSION","filterAsync","canAccessModel","getModelFromCache","listModels","find","m","NotFoundError","code","input","benchmark","measure","pluginModels","dbCacheKey","databaseModels","listModelsFromDatabase","filteredCacheKey","get","filteredModels","includePrivate","isPrivate","includePlugins","concat","getModel","withoutAuthorization","ensureCanAccessModel","getEntryManager","target","has","getSingletonEntryManager","SingletonModelManager","create","onModelBeforeCreate","createTopic","onModelAfterCreate","onModelCreateError","onModelBeforeCreateFrom","onModelAfterCreateFrom","onModelCreateFromError","onModelBeforeUpdate","onModelAfterUpdate","onModelUpdateError","onModelBeforeDelete","onModelAfterDelete","onModelDeleteError","onModelInitialize","assignModelBeforeCreate","assignModelBeforeUpdate","assignModelBeforeDelete","createModel","rwd","result","createModelCreateValidation","safeParseAsync","success","createZodError","error","defaultFields","data","removeUndefinedValues","assignModelDefaultFields","group","cms","getGroup","titleFieldId","descriptionFieldId","imageFieldId","description","name","createdBy","displayName","createdOn","Date","toISOString","lockedFields","publish","createdModel","ex","updateModel","original","createModelUpdateValidation","Object","keys","length","groupId","groupData","resultModel","update","updateModelDirect","initialModel","createModelFrom","createModelCreateFromValidation","i18n","groups","icon","deleteModel","delete","WebinyError","message","initializeModel","userInput","getEntryManagers","exports"],"sources":["contentModel.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n CmsContext,\n CmsEntryValues,\n CmsModel,\n CmsModelContext,\n CmsModelFieldToGraphQLPlugin,\n CmsModelGroup,\n CmsModelManager,\n CmsModelUpdateInput,\n HeadlessCmsStorageOperations,\n ICmsModelListParams,\n OnModelAfterCreateFromTopicParams,\n OnModelAfterCreateTopicParams,\n OnModelAfterDeleteTopicParams,\n OnModelAfterUpdateTopicParams,\n OnModelBeforeCreateFromTopicParams,\n OnModelBeforeCreateTopicParams,\n OnModelBeforeDeleteTopicParams,\n OnModelBeforeUpdateTopicParams,\n OnModelCreateErrorTopicParams,\n OnModelCreateFromErrorParams,\n OnModelDeleteErrorTopicParams,\n OnModelInitializeParams,\n OnModelUpdateErrorTopicParams\n} from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { contentModelManagerFactory } from \"./contentModel/contentModelManagerFactory\";\nimport type { Tenant } from \"@webiny/api-tenancy/types\";\nimport type { I18NLocale } from \"@webiny/api-i18n/types\";\nimport type { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { assignModelBeforeCreate } from \"./contentModel/beforeCreate\";\nimport { assignModelBeforeUpdate } from \"./contentModel/beforeUpdate\";\nimport { assignModelBeforeDelete } from \"./contentModel/beforeDelete\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\nimport {\n createModelCreateFromValidation,\n createModelCreateValidation,\n createModelUpdateValidation\n} from \"~/crud/contentModel/validation\";\nimport { createZodError, removeUndefinedValues } from \"@webiny/utils\";\nimport { assignModelDefaultFields } from \"~/crud/contentModel/defaultFields\";\nimport { createCacheKey, createMemoryCache } from \"~/utils\";\nimport { ensureTypeTag } from \"./contentModel/ensureTypeTag\";\nimport { listModelsFromDatabase } from \"~/crud/contentModel/listModelsFromDatabase\";\nimport { filterAsync } from \"~/utils/filterAsync\";\nimport type { AccessControl } from \"./AccessControl/AccessControl\";\nimport {\n CmsModelFieldToAstConverterFromPlugins,\n CmsModelToAstConverter\n} from \"~/utils/contentModelAst\";\nimport { SingletonModelManager } from \"~/modelManager\";\n\nexport interface CreateModelsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n accessControl: AccessControl;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\n\nexport const createModelsCrud = (params: CreateModelsCrudParams): CmsModelContext => {\n const { getTenant, getIdentity, getLocale, storageOperations, accessControl, context } = params;\n\n const listPluginModelsCache = createMemoryCache<Promise<CmsModel[]>>();\n const listFilteredModelsCache = createMemoryCache<Promise<CmsModel[]>>();\n const listDatabaseModelsCache = createMemoryCache<Promise<CmsModel[]>>();\n const clearModelsCache = (): void => {\n listDatabaseModelsCache.clear();\n listFilteredModelsCache.clear();\n };\n\n const managers = new Map<string, CmsModelManager>();\n const updateManager = async <T extends CmsEntryValues = CmsEntryValues>(\n context: CmsContext,\n model: CmsModel\n ): Promise<CmsModelManager<T>> => {\n const manager = await contentModelManagerFactory<T>(context, model);\n managers.set(model.modelId, manager);\n return manager;\n };\n\n const fieldTypePlugins = context.plugins.byType<CmsModelFieldToGraphQLPlugin>(\n \"cms-model-field-to-graphql\"\n );\n\n const getModelToAstConverter = () => {\n return new CmsModelToAstConverter(\n new CmsModelFieldToAstConverterFromPlugins(fieldTypePlugins)\n );\n };\n\n const listPluginModels = async (tenant: string, locale: string): Promise<CmsModel[]> => {\n const modelPlugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n const cacheKey = createCacheKey({\n tenant,\n locale,\n models: modelPlugins\n .map(({ contentModel: model }) => {\n return `${model.modelId}#${model.pluralApiName}#${model.singularApiName}#${\n model.savedOn || \"savedOn:plugin\"\n }`;\n })\n .join(\"/\"),\n identity: context.security.isAuthorizationEnabled() ? getIdentity()?.id : undefined\n });\n return listPluginModelsCache.getOrSet(cacheKey, async () => {\n const models = modelPlugins\n /**\n * We need to filter out models that are not for this tenant or locale.\n * If it does not have tenant or locale define, it is for every locale and tenant\n */\n .filter(plugin => {\n const { tenant: modelTenant, locale: modelLocale } = plugin.contentModel;\n if (modelTenant && modelTenant !== tenant) {\n return false;\n } else if (modelLocale && modelLocale !== locale) {\n return false;\n }\n return true;\n })\n .map(plugin => {\n return {\n ...plugin.contentModel,\n tags: ensureTypeTag(plugin.contentModel),\n tenant,\n locale,\n webinyVersion: context.WEBINY_VERSION\n };\n }) as unknown as CmsModel[];\n\n return filterAsync(models, async model => {\n return accessControl.canAccessModel({ model });\n });\n });\n };\n\n const getModelFromCache = async (modelId: string) => {\n const models = await listModels();\n const model = models.find(m => m.modelId === modelId);\n if (!model) {\n throw new NotFoundError(`Content model \"${modelId}\" was not found!`);\n }\n\n return {\n ...model,\n tags: ensureTypeTag(model),\n tenant: model.tenant || getTenant().id,\n locale: model.locale || getLocale().code\n };\n };\n\n /**\n * The list models cache is a key -> Promise pair so it the listModels() can be called multiple times but executed only once.\n *\n * We always fetch the plugins and database models separately.\n * Then we combine them and run access filtering on them\n */\n const listModels = async (input?: ICmsModelListParams) => {\n return context.benchmark.measure(\"headlessCms.crud.models.listModels\", async () => {\n /**\n * Maybe we can cache based on permissions, not the identity id?\n *\n * TODO: @adrian please check if possible.\n */\n const tenant = getTenant().id;\n const locale = getLocale().code;\n let pluginModels = await listPluginModels(tenant, locale);\n const dbCacheKey = createCacheKey({\n tenant,\n locale\n });\n const databaseModels = await listDatabaseModelsCache.getOrSet(dbCacheKey, async () => {\n return await listModelsFromDatabase(params);\n });\n\n const filteredCacheKey = createCacheKey({\n dbCacheKey: dbCacheKey.get(),\n identity: context.security.isAuthorizationEnabled() ? getIdentity()?.id : undefined\n });\n\n let filteredModels = await listFilteredModelsCache.getOrSet(\n filteredCacheKey,\n async () => {\n return filterAsync(databaseModels, async model => {\n return accessControl.canAccessModel({ model });\n });\n }\n );\n /**\n * Do we need to hide private models?\n */\n if (input?.includePrivate === false) {\n filteredModels = filteredModels.filter(model => !model.isPrivate);\n pluginModels = pluginModels.filter(model => !model.isPrivate);\n }\n /**\n * Do we need to hide plugin models?\n */\n if (input?.includePlugins === false) {\n return filteredModels;\n }\n\n return filteredModels.concat(pluginModels);\n });\n };\n\n const getModel = async (modelId: string): Promise<CmsModel> => {\n return context.benchmark.measure(\"headlessCms.crud.models.getModel\", async () => {\n const model = await context.security.withoutAuthorization(async () => {\n return await getModelFromCache(modelId);\n });\n if (!model) {\n throw new NotFoundError(`Content model \"${modelId}\" was not found!`);\n }\n\n await accessControl.ensureCanAccessModel({ model });\n\n return model;\n });\n };\n\n const getEntryManager: CmsModelContext[\"getEntryManager\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n target: string | Pick<CmsModel, \"modelId\">\n ): Promise<CmsModelManager<T>> => {\n const modelId = typeof target === \"string\" ? target : target.modelId;\n if (managers.has(modelId)) {\n return managers.get(modelId) as CmsModelManager<T>;\n }\n const model = await getModelFromCache(modelId);\n return await updateManager<T>(context, model);\n };\n\n const getSingletonEntryManager = async <T extends CmsEntryValues = CmsEntryValues>(\n input: CmsModel | string\n ) => {\n const model = typeof input === \"string\" ? await getModel(input) : input;\n\n const manager = await getEntryManager<T>(model);\n\n return SingletonModelManager.create<T>(manager);\n };\n\n /**\n * Create\n */\n const onModelBeforeCreate =\n createTopic<OnModelBeforeCreateTopicParams>(\"cms.onModelBeforeCreate\");\n const onModelAfterCreate = createTopic<OnModelAfterCreateTopicParams>(\"cms.onModelAfterCreate\");\n const onModelCreateError = createTopic<OnModelCreateErrorTopicParams>(\"cms.onModelCreateError\");\n /**\n * Create from / clone\n */\n const onModelBeforeCreateFrom = createTopic<OnModelBeforeCreateFromTopicParams>(\n \"cms.onModelBeforeCreateFrom\"\n );\n const onModelAfterCreateFrom = createTopic<OnModelAfterCreateFromTopicParams>(\n \"cms.onModelAfterCreateFrom\"\n );\n const onModelCreateFromError = createTopic<OnModelCreateFromErrorParams>(\n \"cms.onModelCreateFromError\"\n );\n /**\n * Update\n */\n const onModelBeforeUpdate =\n createTopic<OnModelBeforeUpdateTopicParams>(\"cms.onModelBeforeUpdate\");\n const onModelAfterUpdate = createTopic<OnModelAfterUpdateTopicParams>(\"cms.onModelAfterUpdate\");\n const onModelUpdateError = createTopic<OnModelUpdateErrorTopicParams>(\"cms.onModelUpdateError\");\n /**\n * Delete\n */\n const onModelBeforeDelete =\n createTopic<OnModelBeforeDeleteTopicParams>(\"cms.onModelBeforeDelete\");\n const onModelAfterDelete = createTopic<OnModelAfterDeleteTopicParams>(\"cms.onModelAfterDelete\");\n const onModelDeleteError = createTopic<OnModelDeleteErrorTopicParams>(\"cms.onModelDeleteError\");\n /**\n * Initialize\n */\n const onModelInitialize = createTopic<OnModelInitializeParams>(\"cms.onModelInitialize\");\n /**\n * We need to assign some default behaviors.\n */\n assignModelBeforeCreate({\n onModelBeforeCreate,\n onModelBeforeCreateFrom,\n context,\n storageOperations\n });\n assignModelBeforeUpdate({\n onModelBeforeUpdate,\n context\n });\n assignModelBeforeDelete({\n onModelBeforeDelete,\n context\n });\n\n /**\n * CRUD methods\n */\n const createModel: CmsModelContext[\"createModel\"] = async input => {\n await accessControl.ensureCanAccessModel({ rwd: \"w\" });\n\n const result = await createModelCreateValidation().safeParseAsync(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n /**\n * We need to extract the defaultFields because it is not for the CmsModel object.\n */\n const { defaultFields, ...data } = removeUndefinedValues(result.data);\n if (defaultFields) {\n assignModelDefaultFields(data);\n }\n\n const group = await context.cms.getGroup(data.group);\n\n const identity = getIdentity();\n const model: CmsModel = {\n ...data,\n modelId: data.modelId || \"\",\n singularApiName: data.singularApiName,\n pluralApiName: data.pluralApiName,\n titleFieldId: \"id\",\n descriptionFieldId: null,\n imageFieldId: null,\n description: data.description || \"\",\n locale: getLocale().code,\n tenant: getTenant().id,\n group: {\n id: group.id,\n name: group.name\n },\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n lockedFields: [],\n webinyVersion: context.WEBINY_VERSION\n };\n\n model.tags = ensureTypeTag(model);\n\n await accessControl.ensureCanAccessModel({ model, rwd: \"w\" });\n\n try {\n await onModelBeforeCreate.publish({\n input: data,\n model\n });\n\n const createdModel = await storageOperations.models.create({\n model\n });\n\n clearModelsCache();\n\n await updateManager(context, model);\n\n await onModelAfterCreate.publish({\n input: data,\n model: createdModel\n });\n\n return createdModel;\n } catch (ex) {\n await onModelCreateError.publish({\n input: data,\n model,\n error: ex\n });\n throw ex;\n }\n };\n const updateModel: CmsModelContext[\"updateModel\"] = async (modelId, input) => {\n await accessControl.ensureCanAccessModel({ rwd: \"w\" });\n\n // Get a model record; this will also perform ownership validation.\n const original = await getModel(modelId);\n\n const result = await createModelUpdateValidation().safeParseAsync(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const data = removeUndefinedValues(result.data);\n\n if (Object.keys(data).length === 0) {\n /**\n * We need to return the original if nothing is to be updated.\n */\n return original;\n }\n let group: CmsModelGroup = {\n id: original.group.id,\n name: original.group.name\n };\n const groupId = data.group;\n if (groupId) {\n const groupData = await context.cms.getGroup(groupId);\n group = {\n id: groupData.id,\n name: groupData.name\n };\n }\n const model: CmsModel = {\n ...original,\n ...data,\n titleFieldId:\n data.titleFieldId === undefined\n ? original.titleFieldId\n : (data.titleFieldId as string),\n descriptionFieldId:\n data.descriptionFieldId === undefined\n ? original.descriptionFieldId\n : data.descriptionFieldId,\n imageFieldId:\n data.imageFieldId === undefined ? original.imageFieldId : data.imageFieldId,\n group,\n description: data.description || original.description,\n tenant: original.tenant || getTenant().id,\n locale: original.locale || getLocale().code,\n webinyVersion: context.WEBINY_VERSION,\n savedOn: new Date().toISOString()\n };\n\n await accessControl.ensureCanAccessModel({ model, rwd: \"w\" });\n\n model.tags = ensureTypeTag(model);\n\n try {\n await onModelBeforeUpdate.publish({\n input: data,\n original,\n model\n });\n\n const resultModel = await storageOperations.models.update({\n model\n });\n\n await updateManager(context, resultModel);\n\n await onModelAfterUpdate.publish({\n input: data,\n original,\n model: resultModel\n });\n\n return resultModel;\n } catch (ex) {\n await onModelUpdateError.publish({\n input: data,\n model,\n original,\n error: ex\n });\n\n throw ex;\n }\n };\n const updateModelDirect: CmsModelContext[\"updateModelDirect\"] = async params => {\n const { model: initialModel, original } = params;\n\n const model: CmsModel = {\n ...initialModel,\n tenant: initialModel.tenant || getTenant().id,\n locale: initialModel.locale || getLocale().code,\n webinyVersion: context.WEBINY_VERSION\n };\n\n try {\n await onModelBeforeUpdate.publish({\n input: {} as CmsModelUpdateInput,\n original,\n model\n });\n\n const resultModel = await storageOperations.models.update({\n model\n });\n\n await updateManager(context, resultModel);\n\n clearModelsCache();\n\n await onModelAfterUpdate.publish({\n input: {} as CmsModelUpdateInput,\n original,\n model: resultModel\n });\n\n return resultModel;\n } catch (ex) {\n await onModelUpdateError.publish({\n input: {} as CmsModelUpdateInput,\n original,\n model,\n error: ex\n });\n throw ex;\n }\n };\n const createModelFrom: CmsModelContext[\"createModelFrom\"] = async (modelId, input) => {\n await accessControl.ensureCanAccessModel({ rwd: \"w\" });\n\n /**\n * Get a model record; this will also perform ownership validation.\n */\n const original = await getModel(modelId);\n\n const result = await createModelCreateFromValidation().safeParseAsync({\n ...input,\n description: input.description || original.description\n });\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const data = removeUndefinedValues(result.data);\n\n const locale = await context.i18n.getLocale(data.locale || original.locale);\n if (!locale) {\n throw new NotFoundError(`There is no locale \"${data.locale}\".`);\n }\n /**\n * Use storage operations directly because we cannot get group from different locale via context methods.\n */\n const group = await context.cms.storageOperations.groups.get({\n id: data.group,\n tenant: original.tenant,\n locale: locale.code\n });\n if (!group) {\n throw new NotFoundError(`There is no group \"${data.group}\".`);\n }\n\n const identity = getIdentity();\n const model: CmsModel = {\n ...original,\n singularApiName: data.singularApiName,\n pluralApiName: data.pluralApiName,\n locale: locale.code,\n group: {\n id: group.id,\n name: group.name\n },\n icon: data.icon,\n name: data.name,\n modelId: data.modelId || \"\",\n description: data.description || \"\",\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n lockedFields: [],\n webinyVersion: context.WEBINY_VERSION\n };\n\n await accessControl.ensureCanAccessModel({ model, rwd: \"w\" });\n\n try {\n await onModelBeforeCreateFrom.publish({\n input: data,\n model,\n original\n });\n\n const createdModel = await storageOperations.models.create({\n model\n });\n\n clearModelsCache();\n\n await updateManager(context, model);\n\n await onModelAfterCreateFrom.publish({\n input: data,\n original,\n model: createdModel\n });\n\n return createdModel;\n } catch (ex) {\n await onModelCreateFromError.publish({\n input: data,\n original,\n model,\n error: ex\n });\n throw ex;\n }\n };\n const deleteModel: CmsModelContext[\"deleteModel\"] = async modelId => {\n await accessControl.ensureCanAccessModel({ rwd: \"d\" });\n\n const model = await getModel(modelId);\n\n await accessControl.ensureCanAccessModel({ model, rwd: \"d\" });\n\n try {\n await onModelBeforeDelete.publish({\n model\n });\n\n try {\n await storageOperations.models.delete({\n model\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete the content model\",\n ex.code || \"CONTENT_MODEL_DELETE_ERROR\",\n {\n error: ex,\n modelId: model.modelId\n }\n );\n }\n\n clearModelsCache();\n\n await onModelAfterDelete.publish({\n model\n });\n\n managers.delete(model.modelId);\n } catch (ex) {\n await onModelDeleteError.publish({\n model,\n error: ex\n });\n throw ex;\n }\n };\n const initializeModel: CmsModelContext[\"initializeModel\"] = async (modelId, data) => {\n /**\n * We require that users have write permissions to initialize models.\n * Maybe introduce another permission for it?\n */\n const model = await getModel(modelId);\n\n await accessControl.ensureCanAccessModel({ model, rwd: \"w\" });\n\n await onModelInitialize.publish({ model, data });\n\n return true;\n };\n return {\n onModelBeforeCreate,\n onModelAfterCreate,\n onModelCreateError,\n onModelBeforeCreateFrom,\n onModelAfterCreateFrom,\n onModelCreateFromError,\n onModelBeforeUpdate,\n onModelAfterUpdate,\n onModelUpdateError,\n onModelBeforeDelete,\n onModelAfterDelete,\n onModelDeleteError,\n onModelInitialize,\n clearModelsCache,\n getModel,\n getModelToAstConverter,\n listModels,\n async createModel(input) {\n return context.benchmark.measure(\"headlessCms.crud.models.createModel\", async () => {\n return createModel(input);\n });\n },\n /**\n * Method does not check for permissions or ownership.\n * @internal\n */\n async updateModelDirect(params) {\n return context.benchmark.measure(\n \"headlessCms.crud.models.updateModelDirect\",\n async () => {\n return updateModelDirect(params);\n }\n );\n },\n async createModelFrom(modelId, userInput) {\n return context.benchmark.measure(\n \"headlessCms.crud.models.createModelFrom\",\n async () => {\n return createModelFrom(modelId, userInput);\n }\n );\n },\n async updateModel(modelId, input) {\n return context.benchmark.measure(\"headlessCms.crud.models.updateModel\", async () => {\n return updateModel(modelId, input);\n });\n },\n async deleteModel(modelId) {\n return context.benchmark.measure(\"headlessCms.crud.models.deleteModel\", async () => {\n return deleteModel(modelId);\n });\n },\n async initializeModel(modelId, data) {\n return context.benchmark.measure(\n \"headlessCms.crud.models.initializeModel\",\n async () => {\n return initializeModel(modelId, data);\n }\n );\n },\n getEntryManager,\n getEntryManagers: () => managers,\n getSingletonEntryManager\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { OnGroupBeforeCreateTopicParams, HeadlessCmsStorageOperations } from "../../types";
2
- import { Topic } from "@webiny/pubsub/types";
3
- import { PluginsContainer } from "@webiny/plugins";
1
+ import type { HeadlessCmsStorageOperations, OnGroupBeforeCreateTopicParams } from "../../types";
2
+ import type { Topic } from "@webiny/pubsub/types";
3
+ import type { PluginsContainer } from "@webiny/plugins";
4
4
  interface AssignBeforeGroupCreateParams {
5
5
  onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;
6
6
  plugins: PluginsContainer;
@@ -19,6 +19,18 @@ const assignBeforeGroupCreate = params => {
19
19
  const {
20
20
  group
21
21
  } = params;
22
+ if (group.id) {
23
+ const groups = await storageOperations.groups.list({
24
+ where: {
25
+ tenant: group.tenant,
26
+ locale: group.locale,
27
+ id: group.id
28
+ }
29
+ });
30
+ if (groups.length > 0) {
31
+ throw new _error.default(`Cms Group with the id "${group.id}" already exists.`, "ID_ALREADY_EXISTS");
32
+ }
33
+ }
22
34
  if (group.slug && group.slug.trim()) {
23
35
  const groups = await storageOperations.groups.list({
24
36
  where: {
@@ -51,4 +63,6 @@ const assignBeforeGroupCreate = params => {
51
63
  }
52
64
  });
53
65
  };
54
- exports.assignBeforeGroupCreate = assignBeforeGroupCreate;
66
+ exports.assignBeforeGroupCreate = assignBeforeGroupCreate;
67
+
68
+ //# sourceMappingURL=beforeCreate.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["assignBeforeGroupCreate","params","onGroupBeforeCreate","plugins","storageOperations","subscribe","group","slug","trim","groups","list","where","tenant","locale","length","WebinyError","toSlug","name","generateAlphaNumericId","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","Error"],"sources":["beforeCreate.ts"],"sourcesContent":["import { OnGroupBeforeCreateTopicParams, HeadlessCmsStorageOperations } from \"~/types\";\nimport { Topic } from \"@webiny/pubsub/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { toSlug } from \"~/utils/toSlug\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { generateAlphaNumericId } from \"@webiny/utils\";\n\ninterface AssignBeforeGroupCreateParams {\n onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;\n plugins: PluginsContainer;\n storageOperations: HeadlessCmsStorageOperations;\n}\nexport const assignBeforeGroupCreate = (params: AssignBeforeGroupCreateParams) => {\n const { onGroupBeforeCreate, plugins, storageOperations } = params;\n\n onGroupBeforeCreate.subscribe(async params => {\n const { group } = params;\n\n if (group.slug && group.slug.trim()) {\n const groups = await storageOperations.groups.list({\n where: {\n tenant: group.tenant,\n locale: group.locale,\n slug: group.slug\n }\n });\n if (groups.length > 0) {\n throw new WebinyError(\n `Cms Group with the slug \"${group.slug}\" already exists.`,\n \"SLUG_ALREADY_EXISTS\"\n );\n }\n } else {\n const slug = toSlug(group.name);\n const groups = await storageOperations.groups.list({\n where: {\n tenant: group.tenant,\n locale: group.locale,\n slug\n }\n });\n\n if (groups.length === 0) {\n group.slug = slug;\n } else {\n group.slug = `${slug}-${generateAlphaNumericId(8)}`;\n }\n }\n\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n\n if (groupPlugin) {\n throw new Error(\n `Cannot create \"${group.slug}\" content model group because one is already registered via a plugin.`\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAGA;AACA;AACA;AACA;AAOO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC,OAAO;IAAEC;EAAkB,CAAC,GAAGH,MAAM;EAElEC,mBAAmB,CAACG,SAAS,CAAC,MAAMJ,MAAM,IAAI;IAC1C,MAAM;MAAEK;IAAM,CAAC,GAAGL,MAAM;IAExB,IAAIK,KAAK,CAACC,IAAI,IAAID,KAAK,CAACC,IAAI,CAACC,IAAI,EAAE,EAAE;MACjC,MAAMC,MAAM,GAAG,MAAML,iBAAiB,CAACK,MAAM,CAACC,IAAI,CAAC;QAC/CC,KAAK,EAAE;UACHC,MAAM,EAAEN,KAAK,CAACM,MAAM;UACpBC,MAAM,EAAEP,KAAK,CAACO,MAAM;UACpBN,IAAI,EAAED,KAAK,CAACC;QAChB;MACJ,CAAC,CAAC;MACF,IAAIE,MAAM,CAACK,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,IAAIC,cAAW,CAChB,4BAA2BT,KAAK,CAACC,IAAK,mBAAkB,EACzD,qBAAqB,CACxB;MACL;IACJ,CAAC,MAAM;MACH,MAAMA,IAAI,GAAG,IAAAS,cAAM,EAACV,KAAK,CAACW,IAAI,CAAC;MAC/B,MAAMR,MAAM,GAAG,MAAML,iBAAiB,CAACK,MAAM,CAACC,IAAI,CAAC;QAC/CC,KAAK,EAAE;UACHC,MAAM,EAAEN,KAAK,CAACM,MAAM;UACpBC,MAAM,EAAEP,KAAK,CAACO,MAAM;UACpBN;QACJ;MACJ,CAAC,CAAC;MAEF,IAAIE,MAAM,CAACK,MAAM,KAAK,CAAC,EAAE;QACrBR,KAAK,CAACC,IAAI,GAAGA,IAAI;MACrB,CAAC,MAAM;QACHD,KAAK,CAACC,IAAI,GAAI,GAAEA,IAAK,IAAG,IAAAW,6BAAsB,EAAC,CAAC,CAAE,EAAC;MACvD;IACJ;IAEA,MAAMC,WAAW,GAAGhB,OAAO,CACtBiB,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAAClB,IAAI,KAAKD,KAAK,CAACC,IAAI,CAAC;IAE7D,IAAIY,WAAW,EAAE;MACb,MAAM,IAAIO,KAAK,CACV,kBAAiBpB,KAAK,CAACC,IAAK,uEAAsE,CACtG;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_toSlug","_CmsGroupPlugin","_utils","assignBeforeGroupCreate","params","onGroupBeforeCreate","plugins","storageOperations","subscribe","group","id","groups","list","where","tenant","locale","length","WebinyError","slug","trim","toSlug","name","generateAlphaNumericId","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","Error","exports"],"sources":["beforeCreate.ts"],"sourcesContent":["import type { HeadlessCmsStorageOperations, OnGroupBeforeCreateTopicParams } from \"~/types\";\nimport type { Topic } from \"@webiny/pubsub/types\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { toSlug } from \"~/utils/toSlug\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { generateAlphaNumericId } from \"@webiny/utils\";\n\ninterface AssignBeforeGroupCreateParams {\n onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;\n plugins: PluginsContainer;\n storageOperations: HeadlessCmsStorageOperations;\n}\nexport const assignBeforeGroupCreate = (params: AssignBeforeGroupCreateParams) => {\n const { onGroupBeforeCreate, plugins, storageOperations } = params;\n\n onGroupBeforeCreate.subscribe(async params => {\n const { group } = params;\n\n if (group.id) {\n const groups = await storageOperations.groups.list({\n where: {\n tenant: group.tenant,\n locale: group.locale,\n id: group.id\n }\n });\n if (groups.length > 0) {\n throw new WebinyError(\n `Cms Group with the id \"${group.id}\" already exists.`,\n \"ID_ALREADY_EXISTS\"\n );\n }\n }\n\n if (group.slug && group.slug.trim()) {\n const groups = await storageOperations.groups.list({\n where: {\n tenant: group.tenant,\n locale: group.locale,\n slug: group.slug\n }\n });\n if (groups.length > 0) {\n throw new WebinyError(\n `Cms Group with the slug \"${group.slug}\" already exists.`,\n \"SLUG_ALREADY_EXISTS\"\n );\n }\n } else {\n const slug = toSlug(group.name);\n const groups = await storageOperations.groups.list({\n where: {\n tenant: group.tenant,\n locale: group.locale,\n slug\n }\n });\n\n if (groups.length === 0) {\n group.slug = slug;\n } else {\n group.slug = `${slug}-${generateAlphaNumericId(8)}`;\n }\n }\n\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n\n if (groupPlugin) {\n throw new Error(\n `Cannot create \"${group.slug}\" content model group because one is already registered via a plugin.`\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAOO,MAAMI,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC,OAAO;IAAEC;EAAkB,CAAC,GAAGH,MAAM;EAElEC,mBAAmB,CAACG,SAAS,CAAC,MAAMJ,MAAM,IAAI;IAC1C,MAAM;MAAEK;IAAM,CAAC,GAAGL,MAAM;IAExB,IAAIK,KAAK,CAACC,EAAE,EAAE;MACV,MAAMC,MAAM,GAAG,MAAMJ,iBAAiB,CAACI,MAAM,CAACC,IAAI,CAAC;QAC/CC,KAAK,EAAE;UACHC,MAAM,EAAEL,KAAK,CAACK,MAAM;UACpBC,MAAM,EAAEN,KAAK,CAACM,MAAM;UACpBL,EAAE,EAAED,KAAK,CAACC;QACd;MACJ,CAAC,CAAC;MACF,IAAIC,MAAM,CAACK,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,IAAIC,cAAW,CACjB,0BAA0BR,KAAK,CAACC,EAAE,mBAAmB,EACrD,mBACJ,CAAC;MACL;IACJ;IAEA,IAAID,KAAK,CAACS,IAAI,IAAIT,KAAK,CAACS,IAAI,CAACC,IAAI,CAAC,CAAC,EAAE;MACjC,MAAMR,MAAM,GAAG,MAAMJ,iBAAiB,CAACI,MAAM,CAACC,IAAI,CAAC;QAC/CC,KAAK,EAAE;UACHC,MAAM,EAAEL,KAAK,CAACK,MAAM;UACpBC,MAAM,EAAEN,KAAK,CAACM,MAAM;UACpBG,IAAI,EAAET,KAAK,CAACS;QAChB;MACJ,CAAC,CAAC;MACF,IAAIP,MAAM,CAACK,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,IAAIC,cAAW,CACjB,4BAA4BR,KAAK,CAACS,IAAI,mBAAmB,EACzD,qBACJ,CAAC;MACL;IACJ,CAAC,MAAM;MACH,MAAMA,IAAI,GAAG,IAAAE,cAAM,EAACX,KAAK,CAACY,IAAI,CAAC;MAC/B,MAAMV,MAAM,GAAG,MAAMJ,iBAAiB,CAACI,MAAM,CAACC,IAAI,CAAC;QAC/CC,KAAK,EAAE;UACHC,MAAM,EAAEL,KAAK,CAACK,MAAM;UACpBC,MAAM,EAAEN,KAAK,CAACM,MAAM;UACpBG;QACJ;MACJ,CAAC,CAAC;MAEF,IAAIP,MAAM,CAACK,MAAM,KAAK,CAAC,EAAE;QACrBP,KAAK,CAACS,IAAI,GAAGA,IAAI;MACrB,CAAC,MAAM;QACHT,KAAK,CAACS,IAAI,GAAG,GAAGA,IAAI,IAAI,IAAAI,6BAAsB,EAAC,CAAC,CAAC,EAAE;MACvD;IACJ;IAEA,MAAMC,WAAW,GAAGjB,OAAO,CACtBkB,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAACX,IAAI,KAAKT,KAAK,CAACS,IAAI,CAAC;IAE7D,IAAIK,WAAW,EAAE;MACb,MAAM,IAAIO,KAAK,CACX,kBAAkBrB,KAAK,CAACS,IAAI,uEAChC,CAAC;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAACa,OAAA,CAAA5B,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { Topic } from "@webiny/pubsub/types";
2
- import { OnGroupBeforeDeleteTopicParams, HeadlessCmsStorageOperations } from "../../types";
3
- import { PluginsContainer } from "@webiny/plugins";
1
+ import type { Topic } from "@webiny/pubsub/types";
2
+ import type { OnGroupBeforeDeleteTopicParams, HeadlessCmsStorageOperations } from "../../types";
3
+ import type { PluginsContainer } from "@webiny/plugins";
4
4
  interface AssignBeforeGroupDeleteParams {
5
5
  onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;
6
6
  plugins: PluginsContainer;
@@ -37,4 +37,6 @@ const assignBeforeGroupDelete = params => {
37
37
  }
38
38
  });
39
39
  };
40
- exports.assignBeforeGroupDelete = assignBeforeGroupDelete;
40
+ exports.assignBeforeGroupDelete = assignBeforeGroupDelete;
41
+
42
+ //# sourceMappingURL=beforeDelete.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["assignBeforeGroupDelete","params","onGroupBeforeDelete","plugins","storageOperations","subscribe","group","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","slug","Error","models","list","where","tenant","locale","items","filter","model","id","length","WebinyError"],"sources":["beforeDelete.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { OnGroupBeforeDeleteTopicParams, HeadlessCmsStorageOperations } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface AssignBeforeGroupDeleteParams {\n onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;\n plugins: PluginsContainer;\n storageOperations: HeadlessCmsStorageOperations;\n}\nexport const assignBeforeGroupDelete = (params: AssignBeforeGroupDeleteParams) => {\n const { onGroupBeforeDelete, plugins, storageOperations } = params;\n\n onGroupBeforeDelete.subscribe(async params => {\n const { group } = params;\n\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n\n if (groupPlugin) {\n throw new Error(`Cms Groups defined via plugins cannot be deleted.`);\n }\n\n const models = await storageOperations.models.list({\n where: {\n tenant: group.tenant,\n locale: group.locale\n }\n });\n const items = models.filter(model => {\n return model.group.id === group.id;\n });\n if (items.length > 0) {\n throw new WebinyError(\n \"Cannot delete this group because there are models that belong to it.\",\n \"BEFORE_DELETE_ERROR\",\n {\n group\n }\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAGA;AACA;AAOO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC,OAAO;IAAEC;EAAkB,CAAC,GAAGH,MAAM;EAElEC,mBAAmB,CAACG,SAAS,CAAC,MAAMJ,MAAM,IAAI;IAC1C,MAAM;MAAEK;IAAM,CAAC,GAAGL,MAAM;IAExB,MAAMM,WAAW,GAAGJ,OAAO,CACtBK,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAACC,IAAI,KAAKR,KAAK,CAACQ,IAAI,CAAC;IAE7D,IAAIP,WAAW,EAAE;MACb,MAAM,IAAIQ,KAAK,CAAE,mDAAkD,CAAC;IACxE;IAEA,MAAMC,MAAM,GAAG,MAAMZ,iBAAiB,CAACY,MAAM,CAACC,IAAI,CAAC;MAC/CC,KAAK,EAAE;QACHC,MAAM,EAAEb,KAAK,CAACa,MAAM;QACpBC,MAAM,EAAEd,KAAK,CAACc;MAClB;IACJ,CAAC,CAAC;IACF,MAAMC,KAAK,GAAGL,MAAM,CAACM,MAAM,CAACC,KAAK,IAAI;MACjC,OAAOA,KAAK,CAACjB,KAAK,CAACkB,EAAE,KAAKlB,KAAK,CAACkB,EAAE;IACtC,CAAC,CAAC;IACF,IAAIH,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;MAClB,MAAM,IAAIC,cAAW,CACjB,sEAAsE,EACtE,qBAAqB,EACrB;QACIpB;MACJ,CAAC,CACJ;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
1
+ {"version":3,"names":["_CmsGroupPlugin","require","_error","_interopRequireDefault","assignBeforeGroupDelete","params","onGroupBeforeDelete","plugins","storageOperations","subscribe","group","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","slug","Error","models","list","where","tenant","locale","items","filter","model","id","length","WebinyError","exports"],"sources":["beforeDelete.ts"],"sourcesContent":["import type { Topic } from \"@webiny/pubsub/types\";\nimport type { OnGroupBeforeDeleteTopicParams, HeadlessCmsStorageOperations } from \"~/types\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface AssignBeforeGroupDeleteParams {\n onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;\n plugins: PluginsContainer;\n storageOperations: HeadlessCmsStorageOperations;\n}\nexport const assignBeforeGroupDelete = (params: AssignBeforeGroupDeleteParams) => {\n const { onGroupBeforeDelete, plugins, storageOperations } = params;\n\n onGroupBeforeDelete.subscribe(async params => {\n const { group } = params;\n\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n\n if (groupPlugin) {\n throw new Error(`Cms Groups defined via plugins cannot be deleted.`);\n }\n\n const models = await storageOperations.models.list({\n where: {\n tenant: group.tenant,\n locale: group.locale\n }\n });\n const items = models.filter(model => {\n return model.group.id === group.id;\n });\n if (items.length > 0) {\n throw new WebinyError(\n \"Cannot delete this group because there are models that belong to it.\",\n \"BEFORE_DELETE_ERROR\",\n {\n group\n }\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAOO,MAAMG,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC,OAAO;IAAEC;EAAkB,CAAC,GAAGH,MAAM;EAElEC,mBAAmB,CAACG,SAAS,CAAC,MAAMJ,MAAM,IAAI;IAC1C,MAAM;MAAEK;IAAM,CAAC,GAAGL,MAAM;IAExB,MAAMM,WAAW,GAAGJ,OAAO,CACtBK,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAACC,IAAI,KAAKR,KAAK,CAACQ,IAAI,CAAC;IAE7D,IAAIP,WAAW,EAAE;MACb,MAAM,IAAIQ,KAAK,CAAC,mDAAmD,CAAC;IACxE;IAEA,MAAMC,MAAM,GAAG,MAAMZ,iBAAiB,CAACY,MAAM,CAACC,IAAI,CAAC;MAC/CC,KAAK,EAAE;QACHC,MAAM,EAAEb,KAAK,CAACa,MAAM;QACpBC,MAAM,EAAEd,KAAK,CAACc;MAClB;IACJ,CAAC,CAAC;IACF,MAAMC,KAAK,GAAGL,MAAM,CAACM,MAAM,CAACC,KAAK,IAAI;MACjC,OAAOA,KAAK,CAACjB,KAAK,CAACkB,EAAE,KAAKlB,KAAK,CAACkB,EAAE;IACtC,CAAC,CAAC;IACF,IAAIH,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;MAClB,MAAM,IAAIC,cAAW,CACjB,sEAAsE,EACtE,qBAAqB,EACrB;QACIpB;MACJ,CACJ,CAAC;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAACqB,OAAA,CAAA3B,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { Topic } from "@webiny/pubsub/types";
2
- import { OnGroupBeforeUpdateTopicParams } from "../../types";
3
- import { PluginsContainer } from "@webiny/plugins";
1
+ import type { Topic } from "@webiny/pubsub/types";
2
+ import type { OnGroupBeforeUpdateTopicParams } from "../../types";
3
+ import type { PluginsContainer } from "@webiny/plugins";
4
4
  interface AssignBeforeGroupUpdateParams {
5
5
  onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;
6
6
  plugins: PluginsContainer;
@@ -20,4 +20,6 @@ const assignBeforeGroupUpdate = params => {
20
20
  throw new Error(`Cms Groups defined via plugins cannot be updated.`);
21
21
  });
22
22
  };
23
- exports.assignBeforeGroupUpdate = assignBeforeGroupUpdate;
23
+ exports.assignBeforeGroupUpdate = assignBeforeGroupUpdate;
24
+
25
+ //# sourceMappingURL=beforeUpdate.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["assignBeforeGroupUpdate","params","onGroupBeforeUpdate","plugins","subscribe","group","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","slug","Error"],"sources":["beforeUpdate.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { OnGroupBeforeUpdateTopicParams } from \"~/types\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\ninterface AssignBeforeGroupUpdateParams {\n onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;\n plugins: PluginsContainer;\n}\nexport const assignBeforeGroupUpdate = (params: AssignBeforeGroupUpdateParams) => {\n const { onGroupBeforeUpdate, plugins } = params;\n\n onGroupBeforeUpdate.subscribe(({ group }) => {\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n if (!groupPlugin) {\n return;\n }\n throw new Error(`Cms Groups defined via plugins cannot be updated.`);\n });\n};\n"],"mappings":";;;;;;AAEA;AAOO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC;EAAQ,CAAC,GAAGF,MAAM;EAE/CC,mBAAmB,CAACE,SAAS,CAAC,CAAC;IAAEC;EAAM,CAAC,KAAK;IACzC,MAAMC,WAAW,GAAGH,OAAO,CACtBI,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAACC,IAAI,KAAKR,KAAK,CAACQ,IAAI,CAAC;IAC7D,IAAI,CAACP,WAAW,EAAE;MACd;IACJ;IACA,MAAM,IAAIQ,KAAK,CAAE,mDAAkD,CAAC;EACxE,CAAC,CAAC;AACN,CAAC;AAAC"}
1
+ {"version":3,"names":["_CmsGroupPlugin","require","assignBeforeGroupUpdate","params","onGroupBeforeUpdate","plugins","subscribe","group","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","slug","Error","exports"],"sources":["beforeUpdate.ts"],"sourcesContent":["import type { Topic } from \"@webiny/pubsub/types\";\nimport type { OnGroupBeforeUpdateTopicParams } from \"~/types\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\n\ninterface AssignBeforeGroupUpdateParams {\n onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;\n plugins: PluginsContainer;\n}\nexport const assignBeforeGroupUpdate = (params: AssignBeforeGroupUpdateParams) => {\n const { onGroupBeforeUpdate, plugins } = params;\n\n onGroupBeforeUpdate.subscribe(({ group }) => {\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n if (!groupPlugin) {\n return;\n }\n throw new Error(`Cms Groups defined via plugins cannot be updated.`);\n });\n};\n"],"mappings":";;;;;;AAEA,IAAAA,eAAA,GAAAC,OAAA;AAOO,MAAMC,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC;EAAQ,CAAC,GAAGF,MAAM;EAE/CC,mBAAmB,CAACE,SAAS,CAAC,CAAC;IAAEC;EAAM,CAAC,KAAK;IACzC,MAAMC,WAAW,GAAGH,OAAO,CACtBI,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAACC,IAAI,KAAKR,KAAK,CAACQ,IAAI,CAAC;IAC7D,IAAI,CAACP,WAAW,EAAE;MACd;IACJ;IACA,MAAM,IAAIQ,KAAK,CAAC,mDAAmD,CAAC;EACxE,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAf,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { HeadlessCmsStorageOperations } from "../../types";
2
+ interface Params {
3
+ storageOperations: HeadlessCmsStorageOperations;
4
+ tenant: string;
5
+ locale: string;
6
+ }
7
+ export declare const listGroupsFromDatabase: (params: Params) => Promise<import("../../types").CmsGroup[]>;
8
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.listGroupsFromDatabase = void 0;
7
+ const listGroupsFromDatabase = async params => {
8
+ const {
9
+ storageOperations,
10
+ tenant,
11
+ locale
12
+ } = params;
13
+ return await storageOperations.groups.list({
14
+ where: {
15
+ tenant,
16
+ locale
17
+ }
18
+ });
19
+ };
20
+ exports.listGroupsFromDatabase = listGroupsFromDatabase;
21
+
22
+ //# sourceMappingURL=listGroupsFromDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["listGroupsFromDatabase","params","storageOperations","tenant","locale","groups","list","where","exports"],"sources":["listGroupsFromDatabase.ts"],"sourcesContent":["import type { HeadlessCmsStorageOperations } from \"~/types\";\n\ninterface Params {\n storageOperations: HeadlessCmsStorageOperations;\n tenant: string;\n locale: string;\n}\n\nexport const listGroupsFromDatabase = async (params: Params) => {\n const { storageOperations, tenant, locale } = params;\n\n return await storageOperations.groups.list({\n where: {\n tenant,\n locale\n }\n });\n};\n"],"mappings":";;;;;;AAQO,MAAMA,sBAAsB,GAAG,MAAOC,MAAc,IAAK;EAC5D,MAAM;IAAEC,iBAAiB;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGH,MAAM;EAEpD,OAAO,MAAMC,iBAAiB,CAACG,MAAM,CAACC,IAAI,CAAC;IACvCC,KAAK,EAAE;MACHJ,MAAM;MACNC;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAACI,OAAA,CAAAR,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -1,30 +1,33 @@
1
1
  import zod from "zod";
2
2
  export declare const createGroupCreateValidation: () => zod.ZodObject<{
3
+ id: zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>;
3
4
  name: zod.ZodString;
4
5
  slug: zod.ZodEffects<zod.ZodOptional<zod.ZodString>, string, string | undefined>;
5
- description: zod.ZodEffects<zod.ZodOptional<zod.ZodString>, string, string | undefined>;
6
+ description: zod.ZodEffects<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>, string, string | null | undefined>;
6
7
  icon: zod.ZodString;
7
8
  }, "strip", zod.ZodTypeAny, {
8
9
  name: string;
9
10
  slug: string;
10
11
  description: string;
11
12
  icon: string;
13
+ id?: string | null | undefined;
12
14
  }, {
13
- slug?: string | undefined;
14
- description?: string | undefined;
15
15
  name: string;
16
16
  icon: string;
17
+ id?: string | null | undefined;
18
+ slug?: string | undefined;
19
+ description?: string | null | undefined;
17
20
  }>;
18
21
  export declare const createGroupUpdateValidation: () => zod.ZodObject<{
19
22
  name: zod.ZodOptional<zod.ZodString>;
20
- description: zod.ZodOptional<zod.ZodString>;
23
+ description: zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>;
21
24
  icon: zod.ZodOptional<zod.ZodString>;
22
25
  }, "strip", zod.ZodTypeAny, {
23
26
  name?: string | undefined;
24
- description?: string | undefined;
27
+ description?: string | null | undefined;
25
28
  icon?: string | undefined;
26
29
  }, {
27
30
  name?: string | undefined;
28
- description?: string | undefined;
31
+ description?: string | null | undefined;
29
32
  icon?: string | undefined;
30
33
  }>;
@@ -9,10 +9,11 @@ var _zod = _interopRequireDefault(require("zod"));
9
9
  var _toSlug = require("../../utils/toSlug");
10
10
  const str = _zod.default.string().trim();
11
11
  const name = str.max(100);
12
- const description = str.max(255).optional();
12
+ const description = str.max(255).optional().nullish();
13
13
  const icon = str.min(1).max(255);
14
14
  const createGroupCreateValidation = () => {
15
15
  return _zod.default.object({
16
+ id: str.optional().nullish(),
16
17
  name: name.min(1),
17
18
  slug: str.max(100).optional().transform(value => {
18
19
  return value ? (0, _toSlug.toSlug)(value) : "";
@@ -31,4 +32,6 @@ const createGroupUpdateValidation = () => {
31
32
  icon: icon.optional()
32
33
  });
33
34
  };
34
- exports.createGroupUpdateValidation = createGroupUpdateValidation;
35
+ exports.createGroupUpdateValidation = createGroupUpdateValidation;
36
+
37
+ //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["str","zod","string","trim","name","max","description","optional","icon","min","createGroupCreateValidation","object","slug","transform","value","toSlug","createGroupUpdateValidation"],"sources":["validation.ts"],"sourcesContent":["import zod from \"zod\";\nimport { toSlug } from \"~/utils/toSlug\";\n\nconst str = zod.string().trim();\n\nconst name = str.max(100);\nconst description = str.max(255).optional();\nconst icon = str.min(1).max(255);\n\nexport const createGroupCreateValidation = () => {\n return zod.object({\n name: name.min(1),\n slug: str\n .max(100)\n .optional()\n .transform(value => {\n return value ? toSlug(value) : \"\";\n }),\n description: description.transform(value => {\n return value || \"\";\n }),\n icon\n });\n};\n\nexport const createGroupUpdateValidation = () => {\n return zod.object({\n name: name.optional(),\n description,\n icon: icon.optional()\n });\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEA,MAAMA,GAAG,GAAGC,YAAG,CAACC,MAAM,EAAE,CAACC,IAAI,EAAE;AAE/B,MAAMC,IAAI,GAAGJ,GAAG,CAACK,GAAG,CAAC,GAAG,CAAC;AACzB,MAAMC,WAAW,GAAGN,GAAG,CAACK,GAAG,CAAC,GAAG,CAAC,CAACE,QAAQ,EAAE;AAC3C,MAAMC,IAAI,GAAGR,GAAG,CAACS,GAAG,CAAC,CAAC,CAAC,CAACJ,GAAG,CAAC,GAAG,CAAC;AAEzB,MAAMK,2BAA2B,GAAG,MAAM;EAC7C,OAAOT,YAAG,CAACU,MAAM,CAAC;IACdP,IAAI,EAAEA,IAAI,CAACK,GAAG,CAAC,CAAC,CAAC;IACjBG,IAAI,EAAEZ,GAAG,CACJK,GAAG,CAAC,GAAG,CAAC,CACRE,QAAQ,EAAE,CACVM,SAAS,CAACC,KAAK,IAAI;MAChB,OAAOA,KAAK,GAAG,IAAAC,cAAM,EAACD,KAAK,CAAC,GAAG,EAAE;IACrC,CAAC,CAAC;IACNR,WAAW,EAAEA,WAAW,CAACO,SAAS,CAACC,KAAK,IAAI;MACxC,OAAOA,KAAK,IAAI,EAAE;IACtB,CAAC,CAAC;IACFN;EACJ,CAAC,CAAC;AACN,CAAC;AAAC;AAEK,MAAMQ,2BAA2B,GAAG,MAAM;EAC7C,OAAOf,YAAG,CAACU,MAAM,CAAC;IACdP,IAAI,EAAEA,IAAI,CAACG,QAAQ,EAAE;IACrBD,WAAW;IACXE,IAAI,EAAEA,IAAI,CAACD,QAAQ;EACvB,CAAC,CAAC;AACN,CAAC;AAAC"}
1
+ {"version":3,"names":["_zod","_interopRequireDefault","require","_toSlug","str","zod","string","trim","name","max","description","optional","nullish","icon","min","createGroupCreateValidation","object","id","slug","transform","value","toSlug","exports","createGroupUpdateValidation"],"sources":["validation.ts"],"sourcesContent":["import zod from \"zod\";\nimport { toSlug } from \"~/utils/toSlug\";\n\nconst str = zod.string().trim();\n\nconst name = str.max(100);\nconst description = str.max(255).optional().nullish();\nconst icon = str.min(1).max(255);\n\nexport const createGroupCreateValidation = () => {\n return zod.object({\n id: str.optional().nullish(),\n name: name.min(1),\n slug: str\n .max(100)\n .optional()\n .transform(value => {\n return value ? toSlug(value) : \"\";\n }),\n description: description.transform(value => {\n return value || \"\";\n }),\n icon\n });\n};\n\nexport const createGroupUpdateValidation = () => {\n return zod.object({\n name: name.optional(),\n description,\n icon: icon.optional()\n });\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,MAAME,GAAG,GAAGC,YAAG,CAACC,MAAM,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;AAE/B,MAAMC,IAAI,GAAGJ,GAAG,CAACK,GAAG,CAAC,GAAG,CAAC;AACzB,MAAMC,WAAW,GAAGN,GAAG,CAACK,GAAG,CAAC,GAAG,CAAC,CAACE,QAAQ,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;AACrD,MAAMC,IAAI,GAAGT,GAAG,CAACU,GAAG,CAAC,CAAC,CAAC,CAACL,GAAG,CAAC,GAAG,CAAC;AAEzB,MAAMM,2BAA2B,GAAGA,CAAA,KAAM;EAC7C,OAAOV,YAAG,CAACW,MAAM,CAAC;IACdC,EAAE,EAAEb,GAAG,CAACO,QAAQ,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;IAC5BJ,IAAI,EAAEA,IAAI,CAACM,GAAG,CAAC,CAAC,CAAC;IACjBI,IAAI,EAAEd,GAAG,CACJK,GAAG,CAAC,GAAG,CAAC,CACRE,QAAQ,CAAC,CAAC,CACVQ,SAAS,CAACC,KAAK,IAAI;MAChB,OAAOA,KAAK,GAAG,IAAAC,cAAM,EAACD,KAAK,CAAC,GAAG,EAAE;IACrC,CAAC,CAAC;IACNV,WAAW,EAAEA,WAAW,CAACS,SAAS,CAACC,KAAK,IAAI;MACxC,OAAOA,KAAK,IAAI,EAAE;IACtB,CAAC,CAAC;IACFP;EACJ,CAAC,CAAC;AACN,CAAC;AAACS,OAAA,CAAAP,2BAAA,GAAAA,2BAAA;AAEK,MAAMQ,2BAA2B,GAAGA,CAAA,KAAM;EAC7C,OAAOlB,YAAG,CAACW,MAAM,CAAC;IACdR,IAAI,EAAEA,IAAI,CAACG,QAAQ,CAAC,CAAC;IACrBD,WAAW;IACXG,IAAI,EAAEA,IAAI,CAACF,QAAQ,CAAC;EACxB,CAAC,CAAC;AACN,CAAC;AAACW,OAAA,CAAAC,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -1,11 +1,13 @@
1
- import { CmsGroupContext, CmsContext, HeadlessCmsStorageOperations } from "../types";
2
- import { Tenant } from "@webiny/api-tenancy/types";
3
- import { I18NLocale } from "@webiny/api-i18n/types";
4
- import { SecurityIdentity } from "@webiny/api-security/types";
1
+ import type { CmsContext, CmsGroupContext, HeadlessCmsStorageOperations } from "../types";
2
+ import type { Tenant } from "@webiny/api-tenancy/types";
3
+ import type { I18NLocale } from "@webiny/api-i18n/types";
4
+ import type { SecurityIdentity } from "@webiny/api-security/types";
5
+ import type { AccessControl } from "./AccessControl/AccessControl";
5
6
  export interface CreateModelGroupsCrudParams {
6
7
  getTenant: () => Tenant;
7
8
  getLocale: () => I18NLocale;
8
9
  storageOperations: HeadlessCmsStorageOperations;
10
+ accessControl: AccessControl;
9
11
  context: CmsContext;
10
12
  getIdentity: () => SecurityIdentity;
11
13
  }