@webiny/api-headless-cms 0.0.0-unstable.6e5425ee89 → 0.0.0-unstable.7c9e8fbfd6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (988) hide show
  1. package/constants.d.ts +44 -0
  2. package/constants.js +70 -0
  3. package/constants.js.map +1 -0
  4. package/context.d.ts +5 -2
  5. package/context.js +135 -16
  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 +33 -13
  105. package/crud/contentEntry/markLockedFields.js.map +1 -1
  106. package/crud/contentEntry/referenceFieldsMapping.d.ts +7 -1
  107. package/crud/contentEntry/referenceFieldsMapping.js +146 -92
  108. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  109. package/crud/contentEntry/searchableFields.d.ts +9 -0
  110. package/crud/contentEntry/searchableFields.js +73 -0
  111. package/crud/contentEntry/searchableFields.js.map +1 -0
  112. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.d.ts +10 -0
  113. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js +58 -0
  114. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js.map +1 -0
  115. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.d.ts +7 -0
  116. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js +17 -0
  117. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js.map +1 -0
  118. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.d.ts +9 -0
  119. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js +45 -0
  120. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js.map +1 -0
  121. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.d.ts +9 -0
  122. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js +22 -0
  123. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js.map +1 -0
  124. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.d.ts +10 -0
  125. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js +33 -0
  126. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js.map +1 -0
  127. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.d.ts +7 -0
  128. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js +17 -0
  129. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js.map +1 -0
  130. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.d.ts +9 -0
  131. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js +45 -0
  132. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js.map +1 -0
  133. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.d.ts +6 -0
  134. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js +21 -0
  135. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js.map +1 -0
  136. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.d.ts +9 -0
  137. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js +54 -0
  138. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js.map +1 -0
  139. package/crud/contentEntry/useCases/DeleteEntry/index.d.ts +28 -0
  140. package/crud/contentEntry/useCases/DeleteEntry/index.js +42 -0
  141. package/crud/contentEntry/useCases/DeleteEntry/index.js.map +1 -0
  142. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.d.ts +9 -0
  143. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js +21 -0
  144. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js.map +1 -0
  145. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.d.ts +7 -0
  146. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js +18 -0
  147. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js.map +1 -0
  148. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.d.ts +9 -0
  149. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js +28 -0
  150. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js.map +1 -0
  151. package/crud/contentEntry/useCases/GetEntriesByIds/index.d.ts +13 -0
  152. package/crud/contentEntry/useCases/GetEntriesByIds/index.js +20 -0
  153. package/crud/contentEntry/useCases/GetEntriesByIds/index.js.map +1 -0
  154. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.d.ts +9 -0
  155. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js +21 -0
  156. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js.map +1 -0
  157. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.d.ts +7 -0
  158. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js +18 -0
  159. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js.map +1 -0
  160. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.d.ts +9 -0
  161. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js +28 -0
  162. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js.map +1 -0
  163. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.d.ts +13 -0
  164. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js +20 -0
  165. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js.map +1 -0
  166. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.d.ts +9 -0
  167. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js +22 -0
  168. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js.map +1 -0
  169. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.d.ts +7 -0
  170. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js +21 -0
  171. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js.map +1 -0
  172. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.d.ts +7 -0
  173. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js +21 -0
  174. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js.map +1 -0
  175. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.d.ts +15 -0
  176. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js +22 -0
  177. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js.map +1 -0
  178. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.d.ts +9 -0
  179. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js +22 -0
  180. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js.map +1 -0
  181. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.d.ts +7 -0
  182. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js +21 -0
  183. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js.map +1 -0
  184. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.d.ts +11 -0
  185. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js +18 -0
  186. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js.map +1 -0
  187. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.d.ts +9 -0
  188. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js +21 -0
  189. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js.map +1 -0
  190. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.d.ts +7 -0
  191. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js +18 -0
  192. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js.map +1 -0
  193. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.d.ts +9 -0
  194. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js +28 -0
  195. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js.map +1 -0
  196. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.d.ts +13 -0
  197. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js +20 -0
  198. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js.map +1 -0
  199. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.d.ts +9 -0
  200. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js +22 -0
  201. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js.map +1 -0
  202. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.d.ts +7 -0
  203. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js +21 -0
  204. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js.map +1 -0
  205. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.d.ts +11 -0
  206. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js +18 -0
  207. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js.map +1 -0
  208. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.d.ts +9 -0
  209. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js +22 -0
  210. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js.map +1 -0
  211. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.d.ts +7 -0
  212. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js +21 -0
  213. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js.map +1 -0
  214. package/crud/contentEntry/useCases/GetRevisionById/index.d.ts +11 -0
  215. package/crud/contentEntry/useCases/GetRevisionById/index.js +18 -0
  216. package/crud/contentEntry/useCases/GetRevisionById/index.js.map +1 -0
  217. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.d.ts +9 -0
  218. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js +21 -0
  219. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js.map +1 -0
  220. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.d.ts +7 -0
  221. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js +18 -0
  222. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js.map +1 -0
  223. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.d.ts +13 -0
  224. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js +18 -0
  225. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js.map +1 -0
  226. package/crud/contentEntry/useCases/ListEntries/GetEntry.d.ts +7 -0
  227. package/crud/contentEntry/useCases/ListEntries/GetEntry.js +29 -0
  228. package/crud/contentEntry/useCases/ListEntries/GetEntry.js.map +1 -0
  229. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.d.ts +11 -0
  230. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js +38 -0
  231. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js.map +1 -0
  232. package/crud/contentEntry/useCases/ListEntries/ListEntries.d.ts +7 -0
  233. package/crud/contentEntry/useCases/ListEntries/ListEntries.js +62 -0
  234. package/crud/contentEntry/useCases/ListEntries/ListEntries.js.map +1 -0
  235. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.d.ts +14 -0
  236. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js +24 -0
  237. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js.map +1 -0
  238. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.d.ts +7 -0
  239. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js +24 -0
  240. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js.map +1 -0
  241. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.d.ts +7 -0
  242. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js +25 -0
  243. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js.map +1 -0
  244. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.d.ts +7 -0
  245. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js +24 -0
  246. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js.map +1 -0
  247. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.d.ts +7 -0
  248. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js +24 -0
  249. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js.map +1 -0
  250. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.d.ts +9 -0
  251. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js +22 -0
  252. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js.map +1 -0
  253. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.d.ts +8 -0
  254. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js +27 -0
  255. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js.map +1 -0
  256. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.d.ts +8 -0
  257. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js +26 -0
  258. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js.map +1 -0
  259. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.d.ts +7 -0
  260. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js +36 -0
  261. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js.map +1 -0
  262. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.d.ts +11 -0
  263. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js +41 -0
  264. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js.map +1 -0
  265. package/crud/contentEntry/useCases/ListEntries/index.d.ts +26 -0
  266. package/crud/contentEntry/useCases/ListEntries/index.js +61 -0
  267. package/crud/contentEntry/useCases/ListEntries/index.js.map +1 -0
  268. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.d.ts +10 -0
  269. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js +37 -0
  270. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js.map +1 -0
  271. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.d.ts +9 -0
  272. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js +19 -0
  273. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js.map +1 -0
  274. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.d.ts +9 -0
  275. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js +42 -0
  276. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js.map +1 -0
  277. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.d.ts +9 -0
  278. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js +22 -0
  279. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js.map +1 -0
  280. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.d.ts +9 -0
  281. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js +53 -0
  282. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js.map +1 -0
  283. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.d.ts +25 -0
  284. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js +24 -0
  285. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js.map +1 -0
  286. package/crud/contentEntry/useCases/index.d.ts +11 -0
  287. package/crud/contentEntry/useCases/index.js +128 -0
  288. package/crud/contentEntry/useCases/index.js.map +1 -0
  289. package/crud/contentEntry.crud.d.ts +9 -7
  290. package/crud/contentEntry.crud.js +1082 -966
  291. package/crud/contentEntry.crud.js.map +1 -1
  292. package/crud/contentModel/beforeCreate.d.ts +3 -4
  293. package/crud/contentModel/beforeCreate.js +54 -90
  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 +3 -5
  299. package/crud/contentModel/beforeUpdate.js +33 -8
  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 +7 -2
  309. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  310. package/crud/contentModel/defaultFields.d.ts +5 -0
  311. package/crud/contentModel/defaultFields.js +60 -0
  312. package/crud/contentModel/defaultFields.js.map +1 -0
  313. package/crud/contentModel/ensureTypeTag.d.ts +5 -0
  314. package/crud/contentModel/ensureTypeTag.js +21 -0
  315. package/crud/contentModel/ensureTypeTag.js.map +1 -0
  316. package/crud/contentModel/fields/descriptionField.d.ts +6 -0
  317. package/crud/contentModel/fields/descriptionField.js +30 -0
  318. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  319. package/crud/contentModel/fields/getApplicableFieldById.d.ts +2 -0
  320. package/crud/contentModel/fields/getApplicableFieldById.js +15 -0
  321. package/crud/contentModel/fields/getApplicableFieldById.js.map +1 -0
  322. package/crud/contentModel/fields/imageField.d.ts +2 -0
  323. package/crud/contentModel/fields/imageField.js +25 -0
  324. package/crud/contentModel/fields/imageField.js.map +1 -0
  325. package/crud/contentModel/fields/titleField.d.ts +6 -0
  326. package/crud/contentModel/fields/titleField.js +31 -0
  327. package/crud/contentModel/fields/titleField.js.map +1 -0
  328. package/crud/contentModel/listModelsFromDatabase.d.ts +10 -0
  329. package/crud/contentModel/listModelsFromDatabase.js +38 -0
  330. package/crud/contentModel/listModelsFromDatabase.js.map +1 -0
  331. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  332. package/crud/contentModel/validate/endingAllowed.js +28 -0
  333. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  334. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  335. package/crud/contentModel/validate/isModelEndingAllowed.js +25 -0
  336. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  337. package/crud/contentModel/validate/modelId.d.ts +11 -0
  338. package/crud/contentModel/validate/modelId.js +38 -0
  339. package/crud/contentModel/validate/modelId.js.map +1 -0
  340. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  341. package/crud/contentModel/validate/pluralApiName.js +26 -0
  342. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  343. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  344. package/crud/contentModel/validate/singularApiName.js +26 -0
  345. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  346. package/crud/contentModel/validateModel.d.ts +4 -4
  347. package/crud/contentModel/validateModel.js +9 -4
  348. package/crud/contentModel/validateModel.js.map +1 -1
  349. package/crud/contentModel/validateModelFields.d.ts +4 -4
  350. package/crud/contentModel/validateModelFields.js +131 -95
  351. package/crud/contentModel/validateModelFields.js.map +1 -1
  352. package/crud/contentModel/validateStorageId.d.ts +1 -0
  353. package/crud/contentModel/validateStorageId.js +19 -0
  354. package/crud/contentModel/validateStorageId.js.map +1 -0
  355. package/crud/contentModel/validation.d.ts +893 -0
  356. package/crud/contentModel/validation.js +205 -0
  357. package/crud/contentModel/validation.js.map +1 -0
  358. package/crud/contentModel.crud.d.ts +6 -4
  359. package/crud/contentModel.crud.js +476 -376
  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 +33 -0
  374. package/crud/contentModelGroup/validation.js +37 -0
  375. package/crud/contentModelGroup/validation.js.map +1 -0
  376. package/crud/contentModelGroup.crud.d.ts +6 -4
  377. package/crud/contentModelGroup.crud.js +280 -252
  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 -71
  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 +12 -0
  425. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +158 -0
  426. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  427. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +3 -2
  428. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +49 -40
  429. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  430. package/fieldConverters/index.d.ts +5 -1
  431. package/fieldConverters/index.js +9 -2
  432. package/fieldConverters/index.js.map +1 -1
  433. package/graphql/buildSchemaPlugins.d.ts +8 -3
  434. package/graphql/buildSchemaPlugins.js +6 -4
  435. package/graphql/buildSchemaPlugins.js.map +1 -1
  436. package/graphql/checkEndpointAccess.d.ts +2 -0
  437. package/graphql/checkEndpointAccess.js +20 -0
  438. package/graphql/checkEndpointAccess.js.map +1 -0
  439. package/graphql/createExecutableSchema.d.ts +6 -0
  440. package/graphql/createExecutableSchema.js +38 -0
  441. package/graphql/createExecutableSchema.js.map +1 -0
  442. package/graphql/createRequestBody.d.ts +2 -0
  443. package/graphql/createRequestBody.js +16 -0
  444. package/graphql/createRequestBody.js.map +1 -0
  445. package/graphql/formatErrorPayload.d.ts +1 -0
  446. package/graphql/formatErrorPayload.js +27 -0
  447. package/graphql/formatErrorPayload.js.map +1 -0
  448. package/graphql/generateSchema.d.ts +8 -0
  449. package/graphql/generateSchema.js +38 -0
  450. package/graphql/generateSchema.js.map +1 -0
  451. package/graphql/getSchema/generateCacheId.d.ts +10 -0
  452. package/graphql/getSchema/generateCacheId.js +17 -0
  453. package/graphql/getSchema/generateCacheId.js.map +1 -0
  454. package/graphql/getSchema/generateCacheKey.d.ts +10 -0
  455. package/graphql/getSchema/generateCacheKey.js +34 -0
  456. package/graphql/getSchema/generateCacheKey.js.map +1 -0
  457. package/graphql/getSchema.d.ts +16 -0
  458. package/graphql/getSchema.js +81 -0
  459. package/graphql/getSchema.js.map +1 -0
  460. package/graphql/graphQLHandlerFactory.d.ts +2 -2
  461. package/graphql/graphQLHandlerFactory.js +9 -105
  462. package/graphql/graphQLHandlerFactory.js.map +1 -1
  463. package/graphql/handleRequest.d.ts +11 -0
  464. package/graphql/handleRequest.js +86 -0
  465. package/graphql/handleRequest.js.map +1 -0
  466. package/graphql/index.d.ts +4 -5
  467. package/graphql/index.js +5 -40
  468. package/graphql/index.js.map +1 -1
  469. package/graphql/scalars/RevisionId.d.ts +2 -0
  470. package/graphql/scalars/RevisionId.js +26 -0
  471. package/graphql/scalars/RevisionId.js.map +1 -0
  472. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +2 -0
  473. package/graphql/scalars/RevisionIdScalarPlugin.js +18 -0
  474. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -0
  475. package/graphql/schema/baseContentSchema.d.ts +7 -3
  476. package/graphql/schema/baseContentSchema.js +17 -24
  477. package/graphql/schema/baseContentSchema.js.map +1 -1
  478. package/graphql/schema/baseSchema.d.ts +2 -0
  479. package/graphql/schema/baseSchema.js +153 -0
  480. package/graphql/schema/baseSchema.js.map +1 -0
  481. package/graphql/schema/contentEntries.d.ts +7 -3
  482. package/graphql/schema/contentEntries.js +159 -71
  483. package/graphql/schema/contentEntries.js.map +1 -1
  484. package/graphql/schema/contentModelGroups.d.ts +7 -3
  485. package/graphql/schema/contentModelGroups.js +19 -12
  486. package/graphql/schema/contentModelGroups.js.map +1 -1
  487. package/graphql/schema/contentModels.d.ts +6 -3
  488. package/graphql/schema/contentModels.js +85 -17
  489. package/graphql/schema/contentModels.js.map +1 -1
  490. package/graphql/schema/createFieldResolvers.d.ts +3 -3
  491. package/graphql/schema/createFieldResolvers.js +27 -22
  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 +4 -1
  500. package/graphql/schema/createManageSDL.js +129 -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 +19 -20
  507. package/graphql/schema/createReadResolvers.js.map +1 -1
  508. package/graphql/schema/createReadSDL.d.ts +4 -1
  509. package/graphql/schema/createReadSDL.js +57 -39
  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/{resolveRequestChanges.js → resolveValidate.js} +5 -6
  570. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
  571. package/graphql/schema/resolvers/preview/resolveGet.d.ts +2 -2
  572. package/graphql/schema/resolvers/preview/resolveGet.js +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/{manage/resolveRequestReview.js → singular/resolveUpdate.js} +6 -6
  588. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -0
  589. package/graphql/schema/schemaPlugins.d.ts +8 -3
  590. package/graphql/schema/schemaPlugins.js +79 -53
  591. package/graphql/schema/schemaPlugins.js.map +1 -1
  592. package/graphql/system.d.ts +3 -6
  593. package/graphql/system.js +60 -86
  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 +2 -0
  602. package/graphqlFields/dynamicZone/dynamicZoneField.js +320 -0
  603. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  604. package/graphqlFields/dynamicZone/index.d.ts +1 -0
  605. package/graphqlFields/dynamicZone/index.js +14 -0
  606. package/graphqlFields/dynamicZone/index.js.map +1 -0
  607. package/graphqlFields/file.d.ts +1 -1
  608. package/graphqlFields/file.js +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 +2 -2
  614. package/graphqlFields/index.js +7 -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 +8 -1
  624. package/graphqlFields/number.js.map +1 -1
  625. package/graphqlFields/object.d.ts +2 -2
  626. package/graphqlFields/object.js +129 -72
  627. package/graphqlFields/object.js.map +1 -1
  628. package/graphqlFields/ref.d.ts +1 -1
  629. package/graphqlFields/ref.js +96 -70
  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 -12
  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 -45
  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 +20 -0
  683. package/plugins/CmsGraphQLSchemaSorterPlugin.js +27 -0
  684. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  685. package/plugins/CmsGroupPlugin.d.ts +15 -4
  686. package/plugins/CmsGroupPlugin.js +25 -7
  687. package/plugins/CmsGroupPlugin.js.map +1 -1
  688. package/plugins/CmsModelFieldConverterPlugin.d.ts +7 -4
  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 +18 -14
  704. package/plugins/StorageTransformPlugin.js +12 -5
  705. package/plugins/StorageTransformPlugin.js.map +1 -1
  706. package/plugins/index.d.ts +4 -0
  707. package/plugins/index.js +47 -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 +28 -22
  724. package/storage/object.js.map +1 -1
  725. package/types/context.d.ts +146 -0
  726. package/types/context.js +7 -0
  727. package/types/context.js.map +1 -0
  728. package/types/fields/dynamicZoneField.d.ts +23 -0
  729. package/types/fields/dynamicZoneField.js +7 -0
  730. package/types/fields/dynamicZoneField.js.map +1 -0
  731. package/types/fields/objectField.d.ts +13 -0
  732. package/types/fields/objectField.js +7 -0
  733. package/types/fields/objectField.js.map +1 -0
  734. package/types/identity.d.ts +19 -0
  735. package/types/identity.js +7 -0
  736. package/types/identity.js.map +1 -0
  737. package/types/index.d.ts +10 -0
  738. package/types/index.js +117 -0
  739. package/types/index.js.map +1 -0
  740. package/types/model.d.ts +199 -0
  741. package/types/model.js +7 -0
  742. package/types/model.js.map +1 -0
  743. package/types/modelAst.d.ts +39 -0
  744. package/types/modelAst.js +7 -0
  745. package/types/modelAst.js.map +1 -0
  746. package/types/modelField.d.ts +330 -0
  747. package/types/modelField.js +7 -0
  748. package/types/modelField.js.map +1 -0
  749. package/types/modelGroup.d.ts +77 -0
  750. package/types/modelGroup.js +7 -0
  751. package/types/modelGroup.js.map +1 -0
  752. package/types/plugins.d.ts +365 -0
  753. package/types/plugins.js +7 -0
  754. package/types/plugins.js.map +1 -0
  755. package/types/types.d.ts +1897 -0
  756. package/{types.js → types/types.js} +79 -125
  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 +18 -9
  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 +16 -0
  801. package/utils/createTypeFromFields.js +71 -0
  802. package/utils/createTypeFromFields.js.map +1 -0
  803. package/utils/createTypeName.d.ts +0 -2
  804. package/utils/createTypeName.js +5 -10
  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 +55 -16
  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 -0
  815. package/utils/getBaseFieldType.js +12 -0
  816. package/utils/getBaseFieldType.js.map +1 -0
  817. package/utils/getEntryDescription.d.ts +2 -0
  818. package/utils/getEntryDescription.js +19 -0
  819. package/utils/getEntryDescription.js.map +1 -0
  820. package/utils/getEntryImage.d.ts +2 -0
  821. package/utils/getEntryImage.js +19 -0
  822. package/utils/getEntryImage.js.map +1 -0
  823. package/utils/getEntryTitle.d.ts +2 -2
  824. package/utils/getEntryTitle.js +3 -1
  825. package/utils/getEntryTitle.js.map +1 -1
  826. package/utils/getSchemaFromFieldPlugins.d.ts +15 -7
  827. package/utils/getSchemaFromFieldPlugins.js +40 -13
  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 +17 -4
  849. package/utils/renderFields.js.map +1 -1
  850. package/utils/renderGetFilterFields.d.ts +2 -2
  851. package/utils/renderGetFilterFields.js +11 -20
  852. package/utils/renderGetFilterFields.js.map +1 -1
  853. package/utils/renderInputFields.d.ts +5 -3
  854. package/utils/renderInputFields.js +22 -7
  855. package/utils/renderInputFields.js.map +1 -1
  856. package/utils/renderListFilterFields.d.ts +3 -1
  857. package/utils/renderListFilterFields.js +28 -23
  858. package/utils/renderListFilterFields.js.map +1 -1
  859. package/utils/renderSortEnum.d.ts +9 -5
  860. package/utils/renderSortEnum.js +30 -6
  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 +3 -1
  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 -20
  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 -20
  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 -17
  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 -173
  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/index.d.ts +0 -6
  954. package/crud/index.js +0 -69
  955. package/crud/index.js.map +0 -1
  956. package/crud/settings.crud.d.ts +0 -10
  957. package/crud/settings.crud.js +0 -71
  958. package/crud/settings.crud.js.map +0 -1
  959. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  960. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -12
  961. package/graphql/schema/resolvers/commonFieldResolvers.js.map +0 -1
  962. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  963. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  964. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  965. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  966. package/types.d.ts +0 -2457
  967. package/types.js.map +0 -1
  968. package/upgrades/5.33.0/index.d.ts +0 -3
  969. package/upgrades/5.33.0/index.js +0 -159
  970. package/upgrades/5.33.0/index.js.map +0 -1
  971. package/upgrades/index.d.ts +0 -1
  972. package/upgrades/index.js +0 -9
  973. package/upgrades/index.js.map +0 -1
  974. package/utils/access.d.ts +0 -8
  975. package/utils/access.js +0 -76
  976. package/utils/access.js.map +0 -1
  977. package/utils/filterModelFields.d.ts +0 -16
  978. package/utils/filterModelFields.js +0 -71
  979. package/utils/filterModelFields.js.map +0 -1
  980. package/utils/ownership.d.ts +0 -8
  981. package/utils/ownership.js +0 -33
  982. package/utils/ownership.js.map +0 -1
  983. package/utils/permissions.d.ts +0 -7
  984. package/utils/permissions.js +0 -91
  985. package/utils/permissions.js.map +0 -1
  986. package/utils/pluralizedTypeName.d.ts +0 -1
  987. package/utils/pluralizedTypeName.js +0 -20
  988. package/utils/pluralizedTypeName.js.map +0 -1
@@ -5,62 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.validateModelFields = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
8
+ var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
9
9
  var _error = _interopRequireDefault(require("@webiny/error"));
10
10
  var _createManageSDL = require("../../graphql/schema/createManageSDL");
11
- var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
12
11
  var _createFieldStorageId = require("./createFieldStorageId");
13
- const defaultTitleFieldId = "id";
14
- const allowedTitleFieldTypes = ["text", "number"];
15
- const getContentModelTitleFieldId = (fields, titleFieldId) => {
16
- /**
17
- * If there are no fields defined, we will return the default field
18
- */
19
- if (fields.length === 0) {
20
- return defaultTitleFieldId;
21
- }
22
- /**
23
- * if there is no title field defined either in input data or existing content model data
24
- * we will take first text field that has no multiple values enabled
25
- * or if initial titleFieldId is the default one also try to find first available text field
26
- */
27
- if (!titleFieldId || titleFieldId === defaultTitleFieldId) {
28
- const titleField = fields.find(field => {
29
- return field.type === "text" && !field.multipleValues;
30
- });
31
- return (titleField === null || titleField === void 0 ? void 0 : titleField.fieldId) || defaultTitleFieldId;
32
- }
33
- /**
34
- * check existing titleFieldId for existence in the model
35
- * for correct type
36
- * and that it is not multiple values field
37
- */
38
- const target = fields.find(f => f.fieldId === titleFieldId);
39
- if (!target) {
40
- throw new _error.default(`Field selected for the title field does not exist in the model.`, "VALIDATION_ERROR", {
41
- fieldId: titleFieldId,
42
- fields
43
- });
44
- }
45
- if (allowedTitleFieldTypes.includes(target.type) === false) {
46
- throw new _error.default(`Only ${allowedTitleFieldTypes.join(", ")} and id fields can be used as an entry title.`, "ENTRY_TITLE_FIELD_TYPE", {
47
- storageId: target.storageId,
48
- fieldId: target.fieldId,
49
- type: target.type
50
- });
51
- }
52
- if (target.multipleValues) {
53
- throw new _error.default(`Fields that accept multiple values cannot be used as the entry title.`, "ENTRY_TITLE_FIELD_TYPE", {
54
- storageId: target.storageId,
55
- fieldId: target.fieldId,
56
- type: target.type
57
- });
58
- }
59
- return target.fieldId;
60
- };
12
+ var _getBaseFieldType = require("../../utils/getBaseFieldType");
13
+ var _titleField = require("./fields/titleField");
14
+ var _descriptionField = require("./fields/descriptionField");
15
+ var _imageField = require("./fields/imageField");
16
+ var _plugins = require("../../plugins");
17
+ var _buildSchemaPlugins = require("../../graphql/buildSchemaPlugins");
18
+ var _createExecutableSchema = require("../../graphql/createExecutableSchema");
19
+ var _utils = require("@webiny/utils");
61
20
  const extractInvalidField = (model, err) => {
62
- var _err$source;
63
- const sdl = ((_err$source = err.source) === null || _err$source === void 0 ? void 0 : _err$source.body) || "";
21
+ const sdl = err.source?.body || "";
64
22
 
65
23
  /**
66
24
  * Find the invalid type
@@ -102,6 +60,22 @@ const extractInvalidField = (model, err) => {
102
60
  message: [`Model "${model.modelId}" was not saved!`, message].join("\n")
103
61
  };
104
62
  };
63
+ const createValidateChildFields = plugins => {
64
+ return ({
65
+ fields,
66
+ originalFields
67
+ }) => {
68
+ if (fields.length === 0 && originalFields.length === 0) {
69
+ return;
70
+ }
71
+ validateFields({
72
+ fields,
73
+ originalFields,
74
+ plugins,
75
+ lockedFields: []
76
+ });
77
+ };
78
+ };
105
79
  const validateFields = params => {
106
80
  const {
107
81
  plugins,
@@ -109,14 +83,23 @@ const validateFields = params => {
109
83
  originalFields,
110
84
  lockedFields
111
85
  } = params;
86
+ const idList = [];
112
87
  const fieldIdList = [];
113
88
  const storageIdList = [];
114
89
  for (const field of fields) {
115
- var _field$settings, _originalField$settin;
116
- const plugin = plugins.find(item => item.fieldType === field.type);
90
+ const baseType = (0, _getBaseFieldType.getBaseFieldType)(field);
91
+ const plugin = plugins.find(plugin => plugin.fieldType === baseType);
117
92
  if (!plugin) {
118
- throw new Error(`Cannot update content model because of the unknown "${field.type}" field.`);
93
+ throw new Error(`Cannot update content model because of the unknown "${baseType}" field.`);
119
94
  }
95
+ /**
96
+ * Check the field's id against existing ones.
97
+ * There cannot be two fields with the same id.
98
+ */
99
+ if (idList.includes(field.id)) {
100
+ throw new _error.default(`Cannot update content model because field "${field.storageId || field.fieldId}" has id "${field.id}", which is already used.`);
101
+ }
102
+ idList.push(field.id);
120
103
  const originalField = originalFields.find(f => f.id === field.id);
121
104
  /**
122
105
  * Field MUST have an fieldId defined.
@@ -140,7 +123,7 @@ const validateFields = params => {
140
123
  * https://discuss.elastic.co/t/illegal-characters-in-elasticsearch-field-names/17196/2
141
124
  */
142
125
  const isLocked = lockedFields.some(lockedField => {
143
- return lockedField.fieldId === field.storageId;
126
+ return lockedField.fieldId === field.storageId || lockedField.fieldId === field.fieldId;
144
127
  });
145
128
  if (!field.storageId) {
146
129
  /**
@@ -183,39 +166,71 @@ const validateFields = params => {
183
166
  }
184
167
  storageIdList.push(field.storageId);
185
168
  /**
186
- * TODO maybe make this part pluginable?
187
- * We need to check the object field child fields.
188
- * It must be recursive.
189
- */
190
- if (field.type !== "object") {
191
- continue;
192
- }
193
- const childFields = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields) || [];
194
- const originalChildFields = (originalField === null || originalField === void 0 ? void 0 : (_originalField$settin = originalField.settings) === null || _originalField$settin === void 0 ? void 0 : _originalField$settin.fields) || [];
195
- /**
196
- * No point in going further if there are no child fields.
197
- * Code will break if child fields were removed but used in the entries.
169
+ * There might be some plugins which allow child fields.
170
+ * We use this method to validate them as well.
198
171
  */
199
- if (childFields.length === 0) {
172
+ if (!plugin.validateChildFields) {
200
173
  continue;
201
174
  }
202
- validateFields({
203
- fields: childFields,
204
- originalFields: originalChildFields,
205
- plugins,
206
- lockedFields: []
175
+ const validateChildFields = createValidateChildFields(plugins);
176
+ plugin.validateChildFields({
177
+ field,
178
+ originalField,
179
+ validate: validateChildFields
207
180
  });
208
181
  }
209
182
  };
210
- const validateModelFields = params => {
183
+ const createGraphQLSchema = async params => {
184
+ const {
185
+ context,
186
+ model
187
+ } = params;
188
+ const models = await context.security.withoutAuthorization(async () => {
189
+ return (await context.cms.listModels()).filter(model => {
190
+ return model.isPrivate !== true;
191
+ });
192
+ });
193
+ const modelPlugins = await (0, _buildSchemaPlugins.buildSchemaPlugins)({
194
+ context,
195
+ models: models.concat([model])
196
+ });
197
+ const plugins = context.plugins.byType(_plugins.CmsGraphQLSchemaPlugin.type).filter(plugin => plugin.isApplicable(context)).reduce((collection, plugin) => {
198
+ const name = plugin.name || `${_plugins.CmsGraphQLSchemaPlugin.type}-${(0, _utils.generateAlphaNumericId)(16)}`;
199
+ collection[name] = plugin;
200
+ return collection;
201
+ }, {});
202
+ for (const plugin of modelPlugins) {
203
+ const name = plugin.name || `${plugin.type}-${(0, _utils.generateAlphaNumericId)(16)}`;
204
+ plugins[name] = plugin;
205
+ }
206
+ return (0, _createExecutableSchema.createExecutableSchema)({
207
+ plugins: Object.values(plugins)
208
+ });
209
+ };
210
+ const extractErrorObject = error => {
211
+ return ["message", "code", "data", "stack"].reduce((output, key) => {
212
+ if (!error[key]) {
213
+ return output;
214
+ }
215
+ output[key] = error[key];
216
+ return output;
217
+ }, {});
218
+ };
219
+ const validateModelFields = async params => {
211
220
  const {
221
+ models,
212
222
  model,
213
223
  original,
214
- plugins
224
+ context
215
225
  } = params;
216
226
  const {
217
- titleFieldId
227
+ titleFieldId,
228
+ descriptionFieldId,
229
+ imageFieldId
218
230
  } = model;
231
+ const {
232
+ plugins
233
+ } = context;
219
234
 
220
235
  /**
221
236
  * There should be fields/locked fields in either model or data to be updated.
@@ -232,27 +247,51 @@ const validateModelFields = params => {
232
247
  const fieldTypePlugins = plugins.byType("cms-model-field-to-graphql");
233
248
  validateFields({
234
249
  fields,
235
- originalFields: (original === null || original === void 0 ? void 0 : original.fields) || [],
250
+ originalFields: original?.fields || [],
236
251
  lockedFields,
237
252
  plugins: fieldTypePlugins
238
253
  });
239
254
  if (fields.length) {
255
+ const sorterPlugins = plugins.byType(_plugins.CmsGraphQLSchemaSorterPlugin.type);
240
256
  /**
241
257
  * Make sure that this model can be safely converted to a GraphQL SDL
242
258
  */
243
259
  const schema = (0, _createManageSDL.createManageSDL)({
260
+ models,
244
261
  model,
245
- fieldTypePlugins: fieldTypePlugins.reduce((acc, pl) => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, acc), {}, {
262
+ fieldTypePlugins: fieldTypePlugins.reduce((acc, pl) => ({
263
+ ...acc,
246
264
  [pl.fieldType]: pl
247
- }), {})
265
+ }), {}),
266
+ sorterPlugins
248
267
  });
249
268
  try {
250
269
  (0, _graphqlTag.default)(schema);
251
270
  } catch (err) {
252
271
  throw new _error.default(extractInvalidField(model, err));
253
272
  }
273
+ /**
274
+ *
275
+ */
276
+ try {
277
+ await createGraphQLSchema({
278
+ context,
279
+ model
280
+ });
281
+ } catch (err) {
282
+ throw new _error.default({
283
+ message: "Cannot generate GraphQL schema when testing with the given model. Please check the response for more details.",
284
+ code: "GRAPHQL_SCHEMA_ERROR",
285
+ data: {
286
+ modelId: model.modelId,
287
+ error: extractErrorObject(err)
288
+ }
289
+ });
290
+ }
254
291
  }
255
- model.titleFieldId = getContentModelTitleFieldId(fields, titleFieldId);
292
+ model.titleFieldId = (0, _titleField.getContentModelTitleFieldId)(fields, titleFieldId);
293
+ model.descriptionFieldId = (0, _descriptionField.getContentModelDescriptionFieldId)(fields, descriptionFieldId);
294
+ model.imageFieldId = (0, _imageField.getContentModelImageFieldId)(fields, imageFieldId);
256
295
  const cmsLockedFieldPlugins = plugins.byType("cms-model-locked-field");
257
296
 
258
297
  /**
@@ -268,31 +307,26 @@ const validateModelFields = params => {
268
307
  */
269
308
  if (!existingField) {
270
309
  continue;
271
- // throw new WebinyError(
272
- // `Cannot remove the field "${lockedField.fieldId}" because it's already in use in created content.`,
273
- // "ENTRY_FIELD_USED",
274
- // {
275
- // lockedField,
276
- // fields
277
- // }
278
- // );
279
310
  }
280
-
281
- if (lockedField.multipleValues !== existingField.multipleValues) {
311
+ if (Boolean(lockedField.multipleValues) !== Boolean(existingField.multipleValues)) {
282
312
  throw new _error.default(`Cannot change "multipleValues" for the "${lockedField.fieldId}" field because it's already in use in created content.`, "ENTRY_FIELD_USED", {
313
+ reason: `"multipleValues" changed`,
283
314
  field: existingField
284
315
  });
285
316
  }
286
- if (lockedField.type !== existingField.type) {
317
+ const fieldType = (0, _getBaseFieldType.getBaseFieldType)(existingField);
318
+ if (lockedField.type !== fieldType) {
287
319
  throw new _error.default(`Cannot change field type for the "${lockedField.fieldId}" field because it's already in use in created content.`, "ENTRY_FIELD_USED", {
288
- field: existingField
320
+ reason: `"type" changed`,
321
+ lockedFieldType: lockedField.type,
322
+ existingFieldType: fieldType
289
323
  });
290
324
  }
291
325
 
292
326
  /**
293
327
  * Check `lockedField` invariant for specific field
294
328
  */
295
- const lockedFieldsByType = cmsLockedFieldPlugins.filter(pl => pl.fieldType === lockedField.type);
329
+ const lockedFieldsByType = cmsLockedFieldPlugins.filter(pl => pl.fieldType === (0, _getBaseFieldType.getBaseFieldType)(lockedField));
296
330
  for (const plugin of lockedFieldsByType) {
297
331
  if (typeof plugin.checkLockedField !== "function") {
298
332
  continue;
@@ -304,4 +338,6 @@ const validateModelFields = params => {
304
338
  }
305
339
  }
306
340
  };
307
- exports.validateModelFields = validateModelFields;
341
+ exports.validateModelFields = validateModelFields;
342
+
343
+ //# sourceMappingURL=validateModelFields.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["defaultTitleFieldId","allowedTitleFieldTypes","getContentModelTitleFieldId","fields","titleFieldId","length","titleField","find","field","type","multipleValues","fieldId","target","f","WebinyError","includes","join","storageId","extractInvalidField","model","err","sdl","source","body","line","lineNumber","locations","sdlLines","split","sdlLine","gqlType","i","match","invalidField","undefined","Array","isArray","fieldRegex","RegExp","matched","message","data","modelId","code","validateFields","params","plugins","originalFields","lockedFields","fieldIdList","storageIdList","plugin","item","fieldType","Error","originalField","id","isLocked","some","lockedField","createFieldStorageId","push","label","childFields","settings","originalChildFields","validateModelFields","original","fieldTypePlugins","byType","schema","createManageSDL","reduce","acc","pl","gql","cmsLockedFieldPlugins","existingField","lockedFieldsByType","filter","checkLockedField"],"sources":["validateModelFields.ts"],"sourcesContent":["import {\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin,\n CmsModelLockedFieldPlugin,\n LockedField\n} from \"~/types\";\nimport WebinyError from \"@webiny/error\";\nimport { createManageSDL } from \"~/graphql/schema/createManageSDL\";\nimport gql from \"graphql-tag\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { createFieldStorageId } from \"./createFieldStorageId\";\nimport { GraphQLError } from \"graphql\";\n\nconst defaultTitleFieldId = \"id\";\n\nconst allowedTitleFieldTypes = [\"text\", \"number\"];\n\nconst getContentModelTitleFieldId = (fields: CmsModelField[], titleFieldId?: string): string => {\n /**\n * If there are no fields defined, we will return the default field\n */\n if (fields.length === 0) {\n return defaultTitleFieldId;\n }\n /**\n * if there is no title field defined either in input data or existing content model data\n * we will take first text field that has no multiple values enabled\n * or if initial titleFieldId is the default one also try to find first available text field\n */\n if (!titleFieldId || titleFieldId === defaultTitleFieldId) {\n const titleField = fields.find(field => {\n return field.type === \"text\" && !field.multipleValues;\n });\n return titleField?.fieldId || defaultTitleFieldId;\n }\n /**\n * check existing titleFieldId for existence in the model\n * for correct type\n * and that it is not multiple values field\n */\n const target = fields.find(f => f.fieldId === titleFieldId);\n if (!target) {\n throw new WebinyError(\n `Field selected for the title field does not exist in the model.`,\n \"VALIDATION_ERROR\",\n {\n fieldId: titleFieldId,\n fields\n }\n );\n }\n\n if (allowedTitleFieldTypes.includes(target.type) === false) {\n throw new WebinyError(\n `Only ${allowedTitleFieldTypes.join(\n \", \"\n )} and id fields can be used as an entry title.`,\n \"ENTRY_TITLE_FIELD_TYPE\",\n {\n storageId: target.storageId,\n fieldId: target.fieldId,\n type: target.type\n }\n );\n }\n\n if (target.multipleValues) {\n throw new WebinyError(\n `Fields that accept multiple values cannot be used as the entry title.`,\n \"ENTRY_TITLE_FIELD_TYPE\",\n {\n storageId: target.storageId,\n fieldId: target.fieldId,\n type: target.type\n }\n );\n }\n\n return target.fieldId;\n};\n\nconst extractInvalidField = (model: CmsModel, err: GraphQLError) => {\n const sdl = err.source?.body || \"\";\n\n /**\n * Find the invalid type\n */\n const { line: lineNumber } = err.locations\n ? err.locations[0]\n : {\n line: 0\n };\n const sdlLines = sdl.split(\"\\n\");\n let sdlLine;\n let gqlType;\n for (let i = lineNumber; i > 0; i--) {\n if (sdlLine && sdlLine.includes(\"type \")) {\n gqlType = sdlLine.match(/type\\s+(.*?)\\s+{/);\n break;\n }\n\n sdlLine = sdlLines[i];\n }\n\n let invalidField: string | undefined = undefined;\n if (Array.isArray(gqlType)) {\n const fieldRegex = new RegExp(`([^\\\\s+].*?):\\\\s+\\\\[?${gqlType[1]}!?\\\\]?`);\n\n const matched = sdl.match(fieldRegex);\n if (matched) {\n invalidField = matched[1];\n }\n }\n\n let message = `See more details in the browser console.`;\n if (invalidField) {\n message = `Please review the definition of \"${invalidField}\" field.`;\n }\n\n return {\n data: {\n modelId: model.modelId,\n sdl,\n invalidField\n },\n code: \"INVALID_MODEL_DEFINITION\",\n message: [`Model \"${model.modelId}\" was not saved!`, message].join(\"\\n\")\n };\n};\n\ninterface ValidateFieldsParams {\n plugins: CmsModelFieldToGraphQLPlugin[];\n fields: CmsModelField[];\n originalFields: CmsModelField[];\n lockedFields: LockedField[];\n}\nconst validateFields = (params: ValidateFieldsParams) => {\n const { plugins, fields, originalFields, lockedFields } = params;\n\n const fieldIdList: string[] = [];\n\n const storageIdList: string[] = [];\n\n for (const field of fields) {\n const plugin = plugins.find(item => item.fieldType === field.type);\n if (!plugin) {\n throw new Error(\n `Cannot update content model because of the unknown \"${field.type}\" field.`\n );\n }\n const originalField = originalFields.find(f => f.id === field.id);\n /**\n * Field MUST have an fieldId defined.\n */\n if (!field.fieldId) {\n throw new WebinyError(`Field does not have an \"fieldId\" defined.`, \"MISSING_FIELD_ID\", {\n field\n });\n }\n /**\n * If storageId does not match a certain pattern, add that pattern, but only if field is not locked (used) already.\n * This is to avoid errors in the already installed systems.\n *\n * Why are we using the @?\n *\n * It is not part of special characters for the query syntax in the Lucene.\n *\n * Relevant links:\n * https://lucene.apache.org/core/3_4_0/queryparsersyntax.html\n * https://discuss.elastic.co/t/special-characters-in-field-names/10658/3\n * https://discuss.elastic.co/t/illegal-characters-in-elasticsearch-field-names/17196/2\n */\n const isLocked = lockedFields.some(lockedField => {\n return lockedField.fieldId === field.storageId;\n });\n if (!field.storageId) {\n /**\n * In case field is locked, we must set the storageId to the fieldId value.\n * This should not happen, because we upgrade all the fields in 5.33.0, but let's have a check just in case of some upgrade miss.\n */\n //\n if (isLocked) {\n field.storageId = field.fieldId;\n }\n /**\n * When having original field, just set the storageId to value from the originalField\n */\n //\n else if (originalField) {\n field.storageId = originalField.storageId;\n }\n /**\n * The last case is when no original field and not locked - so this is a completely new field.\n */\n //\n else {\n field.storageId = createFieldStorageId(field);\n }\n }\n /**\n * Check the field's fieldId against existing ones.\n * There cannot be two fields with the same fieldId - outside world identifier.\n */\n if (fieldIdList.includes(field.fieldId)) {\n throw new WebinyError(\n `Cannot update content model because field \"${field.storageId}\" has fieldId \"${field.fieldId}\", which is already used.`\n );\n }\n fieldIdList.push(field.fieldId);\n /**\n * Check the field's storageId against the existing ones.\n * There cannot be two fields with the same storageId.\n */\n if (storageIdList.includes(field.storageId)) {\n throw new WebinyError(\n `Cannot update content model because field \"${field.label}\" has storageId \"${field.storageId}\", which is already used.`\n );\n }\n storageIdList.push(field.storageId);\n /**\n * TODO maybe make this part pluginable?\n * We need to check the object field child fields.\n * It must be recursive.\n */\n if (field.type !== \"object\") {\n continue;\n }\n const childFields = field.settings?.fields || [];\n const originalChildFields = originalField?.settings?.fields || [];\n /**\n * No point in going further if there are no child fields.\n * Code will break if child fields were removed but used in the entries.\n */\n if (childFields.length === 0) {\n continue;\n }\n validateFields({\n fields: childFields,\n originalFields: originalChildFields,\n plugins,\n lockedFields: []\n });\n }\n};\n\ninterface ValidateModelFieldsParams {\n model: CmsModel;\n original?: CmsModel;\n plugins: PluginsContainer;\n}\nexport const validateModelFields = (params: ValidateModelFieldsParams) => {\n const { model, original, plugins } = params;\n const { titleFieldId } = model;\n\n /**\n * There should be fields/locked fields in either model or data to be updated.\n */\n const { fields = [], lockedFields = [] } = model;\n\n /**\n * Let's inspect the fields of the received content model. We prevent saving of a content model if it\n * contains a field for which a \"cms-model-field-to-graphql\" plugin does not exist on the backend.\n */\n const fieldTypePlugins = plugins.byType<CmsModelFieldToGraphQLPlugin>(\n \"cms-model-field-to-graphql\"\n );\n\n validateFields({\n fields,\n originalFields: original?.fields || [],\n lockedFields,\n plugins: fieldTypePlugins\n });\n\n if (fields.length) {\n /**\n * Make sure that this model can be safely converted to a GraphQL SDL\n */\n const schema = createManageSDL({\n model,\n fieldTypePlugins: fieldTypePlugins.reduce(\n (acc, pl) => ({ ...acc, [pl.fieldType]: pl }),\n {}\n )\n });\n\n try {\n gql(schema);\n } catch (err) {\n throw new WebinyError(extractInvalidField(model, err));\n }\n }\n\n model.titleFieldId = getContentModelTitleFieldId(fields, titleFieldId);\n\n const cmsLockedFieldPlugins =\n plugins.byType<CmsModelLockedFieldPlugin>(\"cms-model-locked-field\");\n\n /**\n * We must not allow removal or changes in fields that are already in use in content entries.\n * Locked fields still have fieldId (should be storageId) because of the old existing locked fields in the models.\n */\n for (const lockedField of lockedFields) {\n const existingField = fields.find(item => item.storageId === lockedField.fieldId);\n\n /**\n * Starting with 5.33.0 fields can be deleted.\n * Our UI gives a warning upon locked field deletion, but if user is managing fields through API directly - we cannot do anything.\n */\n if (!existingField) {\n continue;\n // throw new WebinyError(\n // `Cannot remove the field \"${lockedField.fieldId}\" because it's already in use in created content.`,\n // \"ENTRY_FIELD_USED\",\n // {\n // lockedField,\n // fields\n // }\n // );\n }\n\n if (lockedField.multipleValues !== existingField.multipleValues) {\n throw new WebinyError(\n `Cannot change \"multipleValues\" for the \"${lockedField.fieldId}\" field because it's already in use in created content.`,\n \"ENTRY_FIELD_USED\",\n {\n field: existingField\n }\n );\n }\n\n if (lockedField.type !== existingField.type) {\n throw new WebinyError(\n `Cannot change field type for the \"${lockedField.fieldId}\" field because it's already in use in created content.`,\n \"ENTRY_FIELD_USED\",\n {\n field: existingField\n }\n );\n }\n\n /**\n * Check `lockedField` invariant for specific field\n */\n const lockedFieldsByType = cmsLockedFieldPlugins.filter(\n pl => pl.fieldType === lockedField.type\n );\n for (const plugin of lockedFieldsByType) {\n if (typeof plugin.checkLockedField !== \"function\") {\n continue;\n }\n plugin.checkLockedField({\n lockedField,\n field: existingField\n });\n }\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_error","_createManageSDL","_createFieldStorageId","_getBaseFieldType","_titleField","_descriptionField","_imageField","_plugins","_buildSchemaPlugins","_createExecutableSchema","_utils","extractInvalidField","model","err","sdl","source","body","line","lineNumber","locations","sdlLines","split","sdlLine","gqlType","i","includes","match","invalidField","undefined","Array","isArray","fieldRegex","RegExp","matched","message","data","modelId","code","join","createValidateChildFields","plugins","fields","originalFields","length","validateFields","lockedFields","params","idList","fieldIdList","storageIdList","field","baseType","getBaseFieldType","plugin","find","fieldType","Error","id","WebinyError","storageId","fieldId","push","originalField","f","isLocked","some","lockedField","createFieldStorageId","label","validateChildFields","validate","createGraphQLSchema","context","models","security","withoutAuthorization","cms","listModels","filter","isPrivate","modelPlugins","buildSchemaPlugins","concat","byType","CmsGraphQLSchemaPlugin","type","isApplicable","reduce","collection","name","generateAlphaNumericId","createExecutableSchema","Object","values","extractErrorObject","error","output","key","validateModelFields","original","titleFieldId","descriptionFieldId","imageFieldId","fieldTypePlugins","sorterPlugins","CmsGraphQLSchemaSorterPlugin","schema","createManageSDL","acc","pl","gql","getContentModelTitleFieldId","getContentModelDescriptionFieldId","getContentModelImageFieldId","cmsLockedFieldPlugins","existingField","item","Boolean","multipleValues","reason","lockedFieldType","existingFieldType","lockedFieldsByType","checkLockedField","exports"],"sources":["validateModelFields.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport WebinyError from \"@webiny/error\";\nimport type {\n CmsContext,\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin,\n CmsModelFieldToGraphQLPluginValidateChildFieldsValidate,\n CmsModelLockedFieldPlugin,\n LockedField\n} from \"~/types\";\nimport { createManageSDL } from \"~/graphql/schema/createManageSDL\";\nimport { createFieldStorageId } from \"./createFieldStorageId\";\nimport type { GraphQLError } from \"graphql\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\nimport { getContentModelTitleFieldId } from \"./fields/titleField\";\nimport { getContentModelDescriptionFieldId } from \"./fields/descriptionField\";\nimport { getContentModelImageFieldId } from \"./fields/imageField\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { CmsGraphQLSchemaPlugin, CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\nimport { buildSchemaPlugins } from \"~/graphql/buildSchemaPlugins\";\nimport { createExecutableSchema } from \"~/graphql/createExecutableSchema\";\nimport { generateAlphaNumericId } from \"@webiny/utils\";\n\nconst extractInvalidField = (model: CmsModel, err: GraphQLError) => {\n const sdl = err.source?.body || \"\";\n\n /**\n * Find the invalid type\n */\n const { line: lineNumber } = err.locations\n ? err.locations[0]\n : {\n line: 0\n };\n const sdlLines = sdl.split(\"\\n\");\n let sdlLine;\n let gqlType;\n for (let i = lineNumber; i > 0; i--) {\n if (sdlLine && sdlLine.includes(\"type \")) {\n gqlType = sdlLine.match(/type\\s+(.*?)\\s+{/);\n break;\n }\n\n sdlLine = sdlLines[i];\n }\n\n let invalidField: string | undefined = undefined;\n if (Array.isArray(gqlType)) {\n const fieldRegex = new RegExp(`([^\\\\s+].*?):\\\\s+\\\\[?${gqlType[1]}!?\\\\]?`);\n\n const matched = sdl.match(fieldRegex);\n if (matched) {\n invalidField = matched[1];\n }\n }\n\n let message = `See more details in the browser console.`;\n if (invalidField) {\n message = `Please review the definition of \"${invalidField}\" field.`;\n }\n\n return {\n data: {\n modelId: model.modelId,\n sdl,\n invalidField\n },\n code: \"INVALID_MODEL_DEFINITION\",\n message: [`Model \"${model.modelId}\" was not saved!`, message].join(\"\\n\")\n };\n};\n\nconst createValidateChildFields = (\n plugins: CmsModelFieldToGraphQLPlugin[]\n): CmsModelFieldToGraphQLPluginValidateChildFieldsValidate => {\n return ({ fields, originalFields }) => {\n if (fields.length === 0 && originalFields.length === 0) {\n return;\n }\n validateFields({\n fields,\n originalFields,\n plugins,\n lockedFields: []\n });\n };\n};\n\ninterface ValidateFieldsParams {\n plugins: CmsModelFieldToGraphQLPlugin[];\n fields: CmsModelField[];\n originalFields: CmsModelField[];\n lockedFields: LockedField[];\n}\n\nconst validateFields = (params: ValidateFieldsParams) => {\n const { plugins, fields, originalFields, lockedFields } = params;\n\n const idList: string[] = [];\n const fieldIdList: string[] = [];\n const storageIdList: string[] = [];\n\n for (const field of fields) {\n const baseType = getBaseFieldType(field);\n const plugin = plugins.find(plugin => plugin.fieldType === baseType);\n\n if (!plugin) {\n throw new Error(\n `Cannot update content model because of the unknown \"${baseType}\" field.`\n );\n }\n /**\n * Check the field's id against existing ones.\n * There cannot be two fields with the same id.\n */\n if (idList.includes(field.id)) {\n throw new WebinyError(\n `Cannot update content model because field \"${\n field.storageId || field.fieldId\n }\" has id \"${field.id}\", which is already used.`\n );\n }\n idList.push(field.id);\n\n const originalField = originalFields.find(f => f.id === field.id);\n /**\n * Field MUST have an fieldId defined.\n */\n if (!field.fieldId) {\n throw new WebinyError(`Field does not have an \"fieldId\" defined.`, \"MISSING_FIELD_ID\", {\n field\n });\n }\n /**\n * If storageId does not match a certain pattern, add that pattern, but only if field is not locked (used) already.\n * This is to avoid errors in the already installed systems.\n *\n * Why are we using the @?\n *\n * It is not part of special characters for the query syntax in the Lucene.\n *\n * Relevant links:\n * https://lucene.apache.org/core/3_4_0/queryparsersyntax.html\n * https://discuss.elastic.co/t/special-characters-in-field-names/10658/3\n * https://discuss.elastic.co/t/illegal-characters-in-elasticsearch-field-names/17196/2\n */\n const isLocked = lockedFields.some(lockedField => {\n return lockedField.fieldId === field.storageId || lockedField.fieldId === field.fieldId;\n });\n if (!field.storageId) {\n /**\n * In case field is locked, we must set the storageId to the fieldId value.\n * This should not happen, because we upgrade all the fields in 5.33.0, but let's have a check just in case of some upgrade miss.\n */\n //\n if (isLocked) {\n field.storageId = field.fieldId;\n }\n /**\n * When having original field, just set the storageId to value from the originalField\n */\n //\n else if (originalField) {\n field.storageId = originalField.storageId;\n }\n /**\n * The last case is when no original field and not locked - so this is a completely new field.\n */\n //\n else {\n field.storageId = createFieldStorageId(field);\n }\n }\n /**\n * Check the field's fieldId against existing ones.\n * There cannot be two fields with the same fieldId - outside world identifier.\n */\n if (fieldIdList.includes(field.fieldId)) {\n throw new WebinyError(\n `Cannot update content model because field \"${field.storageId}\" has fieldId \"${field.fieldId}\", which is already used.`\n );\n }\n fieldIdList.push(field.fieldId);\n /**\n * Check the field's storageId against the existing ones.\n * There cannot be two fields with the same storageId.\n */\n if (storageIdList.includes(field.storageId)) {\n throw new WebinyError(\n `Cannot update content model because field \"${field.label}\" has storageId \"${field.storageId}\", which is already used.`\n );\n }\n storageIdList.push(field.storageId);\n /**\n * There might be some plugins which allow child fields.\n * We use this method to validate them as well.\n */\n if (!plugin.validateChildFields) {\n continue;\n }\n const validateChildFields = createValidateChildFields(plugins);\n plugin.validateChildFields({\n field,\n originalField,\n validate: validateChildFields\n });\n }\n};\n\ninterface CreateGraphQLSchemaParams {\n context: CmsContext;\n model: CmsModel;\n}\n\nconst createGraphQLSchema = async (params: CreateGraphQLSchemaParams): Promise<any> => {\n const { context, model } = params;\n\n const models = await context.security.withoutAuthorization(async () => {\n return (await context.cms.listModels()).filter((model): model is CmsModel => {\n return model.isPrivate !== true;\n });\n });\n\n const modelPlugins = await buildSchemaPlugins({\n context,\n models: models.concat([model])\n });\n\n const plugins = context.plugins\n .byType<ICmsGraphQLSchemaPlugin>(CmsGraphQLSchemaPlugin.type)\n .filter(plugin => plugin.isApplicable(context))\n .reduce<Record<string, ICmsGraphQLSchemaPlugin>>((collection, plugin) => {\n const name =\n plugin.name || `${CmsGraphQLSchemaPlugin.type}-${generateAlphaNumericId(16)}`;\n collection[name] = plugin;\n return collection;\n }, {});\n for (const plugin of modelPlugins) {\n const name = plugin.name || `${plugin.type}-${generateAlphaNumericId(16)}`;\n plugins[name] = plugin;\n }\n\n return createExecutableSchema({\n plugins: Object.values(plugins)\n });\n};\n\nconst extractErrorObject = (error: any) => {\n return [\"message\", \"code\", \"data\", \"stack\"].reduce<Record<string, any>>((output, key) => {\n if (!error[key]) {\n return output;\n }\n output[key] = error[key];\n return output;\n }, {});\n};\n\ninterface ValidateModelFieldsParams {\n models: CmsModel[];\n model: CmsModel;\n original?: CmsModel;\n context: CmsContext;\n}\n\nexport const validateModelFields = async (params: ValidateModelFieldsParams): Promise<void> => {\n const { models, model, original, context } = params;\n const { titleFieldId, descriptionFieldId, imageFieldId } = model;\n const { plugins } = context;\n\n /**\n * There should be fields/locked fields in either model or data to be updated.\n */\n const { fields = [], lockedFields = [] } = model;\n\n /**\n * Let's inspect the fields of the received content model. We prevent saving of a content model if it\n * contains a field for which a \"cms-model-field-to-graphql\" plugin does not exist on the backend.\n */\n const fieldTypePlugins = plugins.byType<CmsModelFieldToGraphQLPlugin>(\n \"cms-model-field-to-graphql\"\n );\n\n validateFields({\n fields,\n originalFields: original?.fields || [],\n lockedFields,\n plugins: fieldTypePlugins\n });\n\n if (fields.length) {\n const sorterPlugins = plugins.byType<CmsGraphQLSchemaSorterPlugin>(\n CmsGraphQLSchemaSorterPlugin.type\n );\n /**\n * Make sure that this model can be safely converted to a GraphQL SDL\n */\n const schema = createManageSDL({\n models,\n model,\n fieldTypePlugins: fieldTypePlugins.reduce(\n (acc, pl) => ({ ...acc, [pl.fieldType]: pl }),\n {}\n ),\n sorterPlugins\n });\n\n try {\n gql(schema);\n } catch (err) {\n throw new WebinyError(extractInvalidField(model, err));\n }\n /**\n *\n */\n try {\n await createGraphQLSchema({\n context,\n model\n });\n } catch (err) {\n throw new WebinyError({\n message:\n \"Cannot generate GraphQL schema when testing with the given model. Please check the response for more details.\",\n code: \"GRAPHQL_SCHEMA_ERROR\",\n data: {\n modelId: model.modelId,\n error: extractErrorObject(err)\n }\n });\n }\n }\n\n model.titleFieldId = getContentModelTitleFieldId(fields, titleFieldId);\n model.descriptionFieldId = getContentModelDescriptionFieldId(fields, descriptionFieldId);\n model.imageFieldId = getContentModelImageFieldId(fields, imageFieldId);\n\n const cmsLockedFieldPlugins =\n plugins.byType<CmsModelLockedFieldPlugin>(\"cms-model-locked-field\");\n\n /**\n * We must not allow removal or changes in fields that are already in use in content entries.\n * Locked fields still have fieldId (should be storageId) because of the old existing locked fields in the models.\n */\n for (const lockedField of lockedFields) {\n const existingField = fields.find(item => item.storageId === lockedField.fieldId);\n\n /**\n * Starting with 5.33.0 fields can be deleted.\n * Our UI gives a warning upon locked field deletion, but if user is managing fields through API directly - we cannot do anything.\n */\n if (!existingField) {\n continue;\n }\n\n if (Boolean(lockedField.multipleValues) !== Boolean(existingField.multipleValues)) {\n throw new WebinyError(\n `Cannot change \"multipleValues\" for the \"${lockedField.fieldId}\" field because it's already in use in created content.`,\n \"ENTRY_FIELD_USED\",\n {\n reason: `\"multipleValues\" changed`,\n field: existingField\n }\n );\n }\n\n const fieldType = getBaseFieldType(existingField);\n if (lockedField.type !== fieldType) {\n throw new WebinyError(\n `Cannot change field type for the \"${lockedField.fieldId}\" field because it's already in use in created content.`,\n \"ENTRY_FIELD_USED\",\n {\n reason: `\"type\" changed`,\n lockedFieldType: lockedField.type,\n existingFieldType: fieldType\n }\n );\n }\n\n /**\n * Check `lockedField` invariant for specific field\n */\n const lockedFieldsByType = cmsLockedFieldPlugins.filter(\n pl => pl.fieldType === getBaseFieldType(lockedField)\n );\n for (const plugin of lockedFieldsByType) {\n if (typeof plugin.checkLockedField !== \"function\") {\n continue;\n }\n plugin.checkLockedField({\n lockedField,\n field: existingField\n });\n }\n }\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const validateStorageId: (storageId: string) => void;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.validateStorageId = void 0;
8
+ var _error = _interopRequireDefault(require("@webiny/error"));
9
+ // We allow "@" because that's how we construct storageIds with `createModelField` utility.
10
+ const VALID_STORAGE_ID_REGEX = /^([@a-zA-Z-0-9]+)$/;
11
+ const validateStorageId = storageId => {
12
+ if (!storageId.match(VALID_STORAGE_ID_REGEX)) {
13
+ const message = [`Invalid storageId provided ("${storageId}").`, 'Only alphanumeric characters and "@" are allowed.'].join(" ");
14
+ throw new _error.default(message, "STORAGE_ID_NOT_ALPHANUMERIC_ERROR");
15
+ }
16
+ };
17
+ exports.validateStorageId = validateStorageId;
18
+
19
+ //# sourceMappingURL=validateStorageId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","VALID_STORAGE_ID_REGEX","validateStorageId","storageId","match","message","join","WebinyError","exports"],"sources":["validateStorageId.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\n\n// We allow \"@\" because that's how we construct storageIds with `createModelField` utility.\nconst VALID_STORAGE_ID_REGEX = /^([@a-zA-Z-0-9]+)$/;\n\nexport const validateStorageId = (storageId: string) => {\n if (!storageId.match(VALID_STORAGE_ID_REGEX)) {\n const message = [\n `Invalid storageId provided (\"${storageId}\").`,\n 'Only alphanumeric characters and \"@\" are allowed.'\n ].join(\" \");\n\n throw new WebinyError(message, \"STORAGE_ID_NOT_ALPHANUMERIC_ERROR\");\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;AACA,MAAMC,sBAAsB,GAAG,oBAAoB;AAE5C,MAAMC,iBAAiB,GAAIC,SAAiB,IAAK;EACpD,IAAI,CAACA,SAAS,CAACC,KAAK,CAACH,sBAAsB,CAAC,EAAE;IAC1C,MAAMI,OAAO,GAAG,CACZ,gCAAgCF,SAAS,KAAK,EAC9C,mDAAmD,CACtD,CAACG,IAAI,CAAC,GAAG,CAAC;IAEX,MAAM,IAAIC,cAAW,CAACF,OAAO,EAAE,mCAAmC,CAAC;EACvE;AACJ,CAAC;AAACG,OAAA,CAAAN,iBAAA,GAAAA,iBAAA","ignoreList":[]}