@webiny/api-headless-cms 0.0.0-unstable.9e825fd5fb → 0.0.0-unstable.a9593f74dd

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 (550) hide show
  1. package/constants.d.ts +32 -0
  2. package/constants.js +57 -0
  3. package/constants.js.map +1 -0
  4. package/context.js +77 -39
  5. package/context.js.map +1 -1
  6. package/crud/contentEntry/afterDelete.js +3 -1
  7. package/crud/contentEntry/afterDelete.js.map +1 -1
  8. package/crud/contentEntry/beforeCreate.js +3 -1
  9. package/crud/contentEntry/beforeCreate.js.map +1 -1
  10. package/crud/contentEntry/beforeUpdate.js +3 -1
  11. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  12. package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +20 -0
  13. package/crud/contentEntry/entryDataFactories/createEntryData.js +228 -0
  14. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -0
  15. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +21 -0
  16. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +114 -0
  17. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -0
  18. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +13 -0
  19. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +61 -0
  20. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -0
  21. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +12 -0
  22. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +57 -0
  23. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -0
  24. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +12 -0
  25. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +38 -0
  26. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -0
  27. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +20 -0
  28. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +122 -0
  29. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -0
  30. package/crud/contentEntry/entryDataFactories/index.d.ts +8 -0
  31. package/crud/contentEntry/entryDataFactories/index.js +95 -0
  32. package/crud/contentEntry/entryDataFactories/index.js.map +1 -0
  33. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +5 -0
  34. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +36 -0
  35. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -0
  36. package/crud/contentEntry/entryDataFactories/statuses.d.ts +4 -0
  37. package/crud/contentEntry/entryDataFactories/statuses.js +15 -0
  38. package/crud/contentEntry/entryDataFactories/statuses.js.map +1 -0
  39. package/crud/contentEntry/entryDataValidation.d.ts +4 -2
  40. package/crud/contentEntry/entryDataValidation.js +223 -45
  41. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  42. package/crud/contentEntry/markLockedFields.js +17 -10
  43. package/crud/contentEntry/markLockedFields.js.map +1 -1
  44. package/crud/contentEntry/referenceFieldsMapping.d.ts +6 -0
  45. package/crud/contentEntry/referenceFieldsMapping.js +142 -90
  46. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  47. package/crud/contentEntry/searchableFields.js +5 -4
  48. package/crud/contentEntry/searchableFields.js.map +1 -1
  49. package/crud/contentEntry.crud.d.ts +5 -4
  50. package/crud/contentEntry.crud.js +558 -528
  51. package/crud/contentEntry.crud.js.map +1 -1
  52. package/crud/contentModel/beforeCreate.d.ts +1 -1
  53. package/crud/contentModel/beforeCreate.js +11 -9
  54. package/crud/contentModel/beforeCreate.js.map +1 -1
  55. package/crud/contentModel/beforeDelete.d.ts +1 -1
  56. package/crud/contentModel/beforeDelete.js +4 -6
  57. package/crud/contentModel/beforeDelete.js.map +1 -1
  58. package/crud/contentModel/beforeUpdate.d.ts +1 -1
  59. package/crud/contentModel/beforeUpdate.js +3 -6
  60. package/crud/contentModel/beforeUpdate.js.map +1 -1
  61. package/crud/contentModel/compatibility/modelApiName.js +3 -1
  62. package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
  63. package/crud/contentModel/contentModelManagerFactory.js +3 -1
  64. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  65. package/crud/contentModel/createFieldStorageId.js +3 -1
  66. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  67. package/crud/contentModel/defaultFields.js +3 -1
  68. package/crud/contentModel/defaultFields.js.map +1 -1
  69. package/crud/contentModel/ensureTypeTag.d.ts +5 -0
  70. package/crud/contentModel/ensureTypeTag.js +21 -0
  71. package/crud/contentModel/ensureTypeTag.js.map +1 -0
  72. package/crud/contentModel/fields/descriptionField.js +4 -2
  73. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  74. package/crud/contentModel/fields/imageField.js +6 -8
  75. package/crud/contentModel/fields/imageField.js.map +1 -1
  76. package/crud/contentModel/fields/titleField.js +4 -2
  77. package/crud/contentModel/fields/titleField.js.map +1 -1
  78. package/crud/contentModel/listModelsFromDatabase.d.ts +10 -0
  79. package/crud/contentModel/listModelsFromDatabase.js +38 -0
  80. package/crud/contentModel/listModelsFromDatabase.js.map +1 -0
  81. package/crud/contentModel/validate/endingAllowed.js +3 -1
  82. package/crud/contentModel/validate/endingAllowed.js.map +1 -1
  83. package/crud/contentModel/validate/isModelEndingAllowed.js +4 -2
  84. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
  85. package/crud/contentModel/validate/modelId.js +3 -1
  86. package/crud/contentModel/validate/modelId.js.map +1 -1
  87. package/crud/contentModel/validate/pluralApiName.js +3 -1
  88. package/crud/contentModel/validate/pluralApiName.js.map +1 -1
  89. package/crud/contentModel/validate/singularApiName.js +3 -1
  90. package/crud/contentModel/validate/singularApiName.js.map +1 -1
  91. package/crud/contentModel/validateModel.js +3 -1
  92. package/crud/contentModel/validateModel.js.map +1 -1
  93. package/crud/contentModel/validateModelFields.js +8 -7
  94. package/crud/contentModel/validateModelFields.js.map +1 -1
  95. package/crud/contentModel/validation.d.ts +586 -233
  96. package/crud/contentModel/validation.js +73 -13
  97. package/crud/contentModel/validation.js.map +1 -1
  98. package/crud/contentModel.crud.d.ts +2 -0
  99. package/crud/contentModel.crud.js +146 -181
  100. package/crud/contentModel.crud.js.map +1 -1
  101. package/crud/contentModelGroup/beforeCreate.d.ts +1 -1
  102. package/crud/contentModelGroup/beforeCreate.js +15 -1
  103. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  104. package/crud/contentModelGroup/beforeDelete.js +3 -1
  105. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  106. package/crud/contentModelGroup/beforeUpdate.js +3 -1
  107. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  108. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +8 -0
  109. package/crud/contentModelGroup/listGroupsFromDatabase.js +22 -0
  110. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -0
  111. package/crud/contentModelGroup/validation.d.ts +10 -7
  112. package/crud/contentModelGroup/validation.js +5 -2
  113. package/crud/contentModelGroup/validation.js.map +1 -1
  114. package/crud/contentModelGroup.crud.d.ts +3 -1
  115. package/crud/contentModelGroup.crud.js +139 -123
  116. package/crud/contentModelGroup.crud.js.map +1 -1
  117. package/crud/system.crud.js +8 -11
  118. package/crud/system.crud.js.map +1 -1
  119. package/export/crud/exporting.d.ts +3 -0
  120. package/export/crud/exporting.js +49 -0
  121. package/export/crud/exporting.js.map +1 -0
  122. package/export/crud/importing.d.ts +3 -0
  123. package/export/crud/importing.js +79 -0
  124. package/export/crud/importing.js.map +1 -0
  125. package/export/crud/imports/importData.d.ts +14 -0
  126. package/export/crud/imports/importData.js +52 -0
  127. package/export/crud/imports/importData.js.map +1 -0
  128. package/export/crud/imports/importGroups.d.ts +8 -0
  129. package/export/crud/imports/importGroups.js +104 -0
  130. package/export/crud/imports/importGroups.js.map +1 -0
  131. package/export/crud/imports/importModels.d.ts +8 -0
  132. package/export/crud/imports/importModels.js +136 -0
  133. package/export/crud/imports/importModels.js.map +1 -0
  134. package/export/crud/imports/validateGroups.d.ts +8 -0
  135. package/export/crud/imports/validateGroups.js +112 -0
  136. package/export/crud/imports/validateGroups.js.map +1 -0
  137. package/export/crud/imports/validateInput.d.ts +19 -0
  138. package/export/crud/imports/validateInput.js +55 -0
  139. package/export/crud/imports/validateInput.js.map +1 -0
  140. package/export/crud/imports/validateModels.d.ts +12 -0
  141. package/export/crud/imports/validateModels.js +203 -0
  142. package/export/crud/imports/validateModels.js.map +1 -0
  143. package/export/crud/index.d.ts +4 -0
  144. package/export/crud/index.js +15 -0
  145. package/export/crud/index.js.map +1 -0
  146. package/export/crud/sanitize.d.ts +4 -0
  147. package/export/crud/sanitize.js +35 -0
  148. package/export/crud/sanitize.js.map +1 -0
  149. package/export/graphql/index.d.ts +3 -0
  150. package/export/graphql/index.js +188 -0
  151. package/export/graphql/index.js.map +1 -0
  152. package/export/index.d.ts +2 -0
  153. package/export/index.js +29 -0
  154. package/export/index.js.map +1 -0
  155. package/export/types.d.ts +113 -0
  156. package/export/types.js +22 -0
  157. package/export/types.js.map +1 -0
  158. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +4 -7
  159. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  160. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +5 -8
  161. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  162. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +47 -38
  163. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  164. package/fieldConverters/index.js +3 -1
  165. package/fieldConverters/index.js.map +1 -1
  166. package/graphql/buildSchemaPlugins.js +7 -1
  167. package/graphql/buildSchemaPlugins.js.map +1 -1
  168. package/graphql/checkEndpointAccess.d.ts +2 -0
  169. package/graphql/checkEndpointAccess.js +20 -0
  170. package/graphql/checkEndpointAccess.js.map +1 -0
  171. package/graphql/createExecutableSchema.js +3 -1
  172. package/graphql/createExecutableSchema.js.map +1 -1
  173. package/graphql/createRequestBody.d.ts +2 -0
  174. package/graphql/createRequestBody.js +16 -0
  175. package/graphql/createRequestBody.js.map +1 -0
  176. package/graphql/formatErrorPayload.d.ts +1 -0
  177. package/graphql/formatErrorPayload.js +27 -0
  178. package/graphql/formatErrorPayload.js.map +1 -0
  179. package/graphql/generateSchema.js +3 -1
  180. package/graphql/generateSchema.js.map +1 -1
  181. package/graphql/getSchema.d.ts +16 -0
  182. package/graphql/getSchema.js +118 -0
  183. package/graphql/getSchema.js.map +1 -0
  184. package/graphql/graphQLHandlerFactory.js +8 -191
  185. package/graphql/graphQLHandlerFactory.js.map +1 -1
  186. package/graphql/handleRequest.d.ts +11 -0
  187. package/graphql/handleRequest.js +79 -0
  188. package/graphql/handleRequest.js.map +1 -0
  189. package/graphql/index.d.ts +1 -1
  190. package/graphql/index.js +4 -2
  191. package/graphql/index.js.map +1 -1
  192. package/graphql/schema/baseContentSchema.js +9 -8
  193. package/graphql/schema/baseContentSchema.js.map +1 -1
  194. package/graphql/schema/baseSchema.d.ts +2 -3
  195. package/graphql/schema/baseSchema.js +95 -2
  196. package/graphql/schema/baseSchema.js.map +1 -1
  197. package/graphql/schema/contentEntries.js +54 -16
  198. package/graphql/schema/contentEntries.js.map +1 -1
  199. package/graphql/schema/contentModelGroups.js +5 -2
  200. package/graphql/schema/contentModelGroups.js.map +1 -1
  201. package/graphql/schema/contentModels.js +10 -10
  202. package/graphql/schema/contentModels.js.map +1 -1
  203. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  204. package/graphql/schema/createFieldResolvers.js +18 -22
  205. package/graphql/schema/createFieldResolvers.js.map +1 -1
  206. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  207. package/graphql/schema/createFieldTypePluginRecords.js +15 -0
  208. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  209. package/graphql/schema/createManageResolvers.d.ts +1 -1
  210. package/graphql/schema/createManageResolvers.js +27 -10
  211. package/graphql/schema/createManageResolvers.js.map +1 -1
  212. package/graphql/schema/createManageSDL.js +83 -42
  213. package/graphql/schema/createManageSDL.js.map +1 -1
  214. package/graphql/schema/createPreviewResolvers.js +7 -6
  215. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  216. package/graphql/schema/createReadResolvers.js +7 -6
  217. package/graphql/schema/createReadResolvers.js.map +1 -1
  218. package/graphql/schema/createReadSDL.js +35 -24
  219. package/graphql/schema/createReadSDL.js.map +1 -1
  220. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +2 -1
  221. package/graphql/schema/resolvers/manage/resolveCreate.js +4 -2
  222. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  223. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +2 -1
  224. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +4 -2
  225. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  226. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
  227. package/graphql/schema/resolvers/manage/resolveDelete.js +16 -4
  228. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  229. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  230. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +22 -0
  231. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  232. package/graphql/schema/resolvers/manage/resolveGet.js +12 -5
  233. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  234. package/graphql/schema/resolvers/manage/resolveGetByIds.js +3 -1
  235. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  236. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +3 -1
  237. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  238. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  239. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +20 -0
  240. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  241. package/graphql/schema/resolvers/manage/resolveList.js +3 -1
  242. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  243. package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
  244. package/graphql/schema/resolvers/manage/resolveMove.js +27 -0
  245. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
  246. package/graphql/schema/resolvers/manage/resolvePublish.js +3 -1
  247. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  248. package/graphql/schema/resolvers/manage/resolveRepublish.js +3 -1
  249. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  250. package/graphql/schema/resolvers/manage/resolveUnpublish.js +3 -1
  251. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  252. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +2 -1
  253. package/graphql/schema/resolvers/manage/resolveUpdate.js +4 -2
  254. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  255. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +8 -0
  256. package/graphql/schema/resolvers/manage/resolveValidate.js +20 -0
  257. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
  258. package/graphql/schema/resolvers/preview/resolveGet.js +6 -5
  259. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  260. package/graphql/schema/resolvers/preview/resolveList.js +3 -1
  261. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  262. package/graphql/schema/resolvers/read/resolveGet.js +6 -5
  263. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  264. package/graphql/schema/resolvers/read/resolveList.js +3 -1
  265. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  266. package/graphql/schema/schemaPlugins.js +5 -12
  267. package/graphql/schema/schemaPlugins.js.map +1 -1
  268. package/graphql/system.d.ts +2 -5
  269. package/graphql/system.js +4 -12
  270. package/graphql/system.js.map +1 -1
  271. package/graphqlFields/boolean.js +3 -1
  272. package/graphqlFields/boolean.js.map +1 -1
  273. package/graphqlFields/datetime.js +5 -5
  274. package/graphqlFields/datetime.js.map +1 -1
  275. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  276. package/graphqlFields/dynamicZone/dynamicZoneField.js +76 -26
  277. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  278. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +60 -12
  279. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -1
  280. package/graphqlFields/dynamicZone/index.js +3 -1
  281. package/graphqlFields/dynamicZone/index.js.map +1 -1
  282. package/graphqlFields/file.js +3 -1
  283. package/graphqlFields/file.js.map +1 -1
  284. package/graphqlFields/helpers.d.ts +0 -1
  285. package/graphqlFields/helpers.js +6 -18
  286. package/graphqlFields/helpers.js.map +1 -1
  287. package/graphqlFields/index.js +5 -2
  288. package/graphqlFields/index.js.map +1 -1
  289. package/graphqlFields/json.d.ts +2 -0
  290. package/graphqlFields/json.js +49 -0
  291. package/graphqlFields/json.js.map +1 -0
  292. package/graphqlFields/longText.js +14 -3
  293. package/graphqlFields/longText.js.map +1 -1
  294. package/graphqlFields/number.js +4 -1
  295. package/graphqlFields/number.js.map +1 -1
  296. package/graphqlFields/object.js +26 -46
  297. package/graphqlFields/object.js.map +1 -1
  298. package/graphqlFields/ref.js +35 -23
  299. package/graphqlFields/ref.js.map +1 -1
  300. package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +6 -0
  301. package/graphqlFields/richText/RichTextPluginsProcessor.js +34 -0
  302. package/graphqlFields/richText/RichTextPluginsProcessor.js.map +1 -0
  303. package/graphqlFields/richText/richTextResolver.d.ts +7 -0
  304. package/graphqlFields/richText/richTextResolver.js +39 -0
  305. package/graphqlFields/richText/richTextResolver.js.map +1 -0
  306. package/graphqlFields/richText.js +11 -3
  307. package/graphqlFields/richText.js.map +1 -1
  308. package/graphqlFields/text.js +5 -1
  309. package/graphqlFields/text.js.map +1 -1
  310. package/htmlRenderer/LexicalRenderer.d.ts +5 -0
  311. package/htmlRenderer/LexicalRenderer.js +28 -0
  312. package/htmlRenderer/LexicalRenderer.js.map +1 -0
  313. package/htmlRenderer/createLexicalHTMLRenderer.d.ts +2 -0
  314. package/htmlRenderer/createLexicalHTMLRenderer.js +31 -0
  315. package/htmlRenderer/createLexicalHTMLRenderer.js.map +1 -0
  316. package/index.d.ts +3 -2
  317. package/index.js +33 -14
  318. package/index.js.map +1 -1
  319. package/modelManager/DefaultCmsModelManager.js +3 -5
  320. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  321. package/modelManager/index.js +3 -1
  322. package/modelManager/index.js.map +1 -1
  323. package/package.json +36 -39
  324. package/parameters/context.js +4 -2
  325. package/parameters/context.js.map +1 -1
  326. package/parameters/header.js +7 -6
  327. package/parameters/header.js.map +1 -1
  328. package/parameters/index.js +3 -1
  329. package/parameters/index.js.map +1 -1
  330. package/parameters/manual.js +9 -4
  331. package/parameters/manual.js.map +1 -1
  332. package/parameters/path.js +4 -3
  333. package/parameters/path.js.map +1 -1
  334. package/plugins/CmsGraphQLSchemaPlugin.js +5 -4
  335. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -1
  336. package/plugins/CmsGraphQLSchemaSorterPlugin.js +4 -5
  337. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
  338. package/plugins/CmsGroupPlugin.d.ts +6 -3
  339. package/plugins/CmsGroupPlugin.js +8 -6
  340. package/plugins/CmsGroupPlugin.js.map +1 -1
  341. package/plugins/CmsModelFieldConverterPlugin.js +5 -4
  342. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  343. package/plugins/CmsModelPlugin.d.ts +8 -4
  344. package/plugins/CmsModelPlugin.js +61 -32
  345. package/plugins/CmsModelPlugin.js.map +1 -1
  346. package/plugins/CmsParametersPlugin.js +7 -4
  347. package/plugins/CmsParametersPlugin.js.map +1 -1
  348. package/plugins/CmsRichTextRendererPlugin.d.ts +24 -0
  349. package/plugins/CmsRichTextRendererPlugin.js +28 -0
  350. package/plugins/CmsRichTextRendererPlugin.js.map +1 -0
  351. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  352. package/plugins/StorageOperationsCmsModelPlugin.js +41 -0
  353. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  354. package/plugins/StorageTransformPlugin.d.ts +2 -2
  355. package/plugins/StorageTransformPlugin.js +3 -4
  356. package/plugins/StorageTransformPlugin.js.map +1 -1
  357. package/plugins/index.d.ts +2 -0
  358. package/plugins/index.js +25 -1
  359. package/plugins/index.js.map +1 -1
  360. package/storage/default.js +3 -1
  361. package/storage/default.js.map +1 -1
  362. package/storage/index.d.ts +1 -0
  363. package/storage/index.js +15 -0
  364. package/storage/index.js.map +1 -0
  365. package/storage/json.d.ts +2 -0
  366. package/storage/json.js +27 -0
  367. package/storage/json.js.map +1 -0
  368. package/storage/object.js +8 -8
  369. package/storage/object.js.map +1 -1
  370. package/types.d.ts +437 -313
  371. package/types.js +20 -20
  372. package/types.js.map +1 -1
  373. package/utils/access.d.ts +9 -8
  374. package/utils/access.js +12 -62
  375. package/utils/access.js.map +1 -1
  376. package/utils/caching/Cache.d.ts +2 -0
  377. package/utils/caching/Cache.js +51 -0
  378. package/utils/caching/Cache.js.map +1 -0
  379. package/utils/caching/CacheKey.d.ts +2 -0
  380. package/utils/caching/CacheKey.js +40 -0
  381. package/utils/caching/CacheKey.js.map +1 -0
  382. package/utils/caching/index.d.ts +2 -0
  383. package/utils/caching/index.js +29 -0
  384. package/utils/caching/index.js.map +1 -0
  385. package/utils/caching/types.d.ts +11 -0
  386. package/utils/caching/types.js +7 -0
  387. package/utils/caching/types.js.map +1 -0
  388. package/utils/converters/Converter.js +4 -5
  389. package/utils/converters/Converter.js.map +1 -1
  390. package/utils/converters/ConverterCollection.js +13 -7
  391. package/utils/converters/ConverterCollection.js.map +1 -1
  392. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  393. package/utils/converters/valueKeyStorageConverter.js +32 -26
  394. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  395. package/utils/createTypeFromFields.js +8 -4
  396. package/utils/createTypeFromFields.js.map +1 -1
  397. package/utils/createTypeName.d.ts +0 -2
  398. package/utils/createTypeName.js +3 -9
  399. package/utils/createTypeName.js.map +1 -1
  400. package/utils/date.d.ts +10 -0
  401. package/utils/date.js +36 -0
  402. package/utils/date.js.map +1 -0
  403. package/utils/entryStorage.d.ts +4 -4
  404. package/utils/entryStorage.js +6 -4
  405. package/utils/entryStorage.js.map +1 -1
  406. package/utils/filterAsync.js +9 -8
  407. package/utils/filterAsync.js.map +1 -1
  408. package/utils/getBaseFieldType.d.ts +1 -3
  409. package/utils/getBaseFieldType.js +3 -1
  410. package/utils/getBaseFieldType.js.map +1 -1
  411. package/utils/getEntryDescription.d.ts +1 -1
  412. package/utils/getEntryDescription.js +3 -1
  413. package/utils/getEntryDescription.js.map +1 -1
  414. package/utils/getEntryImage.d.ts +1 -1
  415. package/utils/getEntryImage.js +3 -1
  416. package/utils/getEntryImage.js.map +1 -1
  417. package/utils/getEntryTitle.d.ts +1 -1
  418. package/utils/getEntryTitle.js +3 -1
  419. package/utils/getEntryTitle.js.map +1 -1
  420. package/utils/getSchemaFromFieldPlugins.d.ts +13 -2
  421. package/utils/getSchemaFromFieldPlugins.js +22 -4
  422. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  423. package/utils/identity.d.ts +2 -0
  424. package/utils/identity.js +20 -0
  425. package/utils/identity.js.map +1 -0
  426. package/utils/incrementEntryIdVersion.js +3 -1
  427. package/utils/incrementEntryIdVersion.js.map +1 -1
  428. package/utils/index.d.ts +1 -0
  429. package/utils/index.js +18 -0
  430. package/utils/index.js.map +1 -0
  431. package/utils/permissions/EntriesPermissions.d.ts +4 -0
  432. package/utils/permissions/EntriesPermissions.js +11 -0
  433. package/utils/permissions/EntriesPermissions.js.map +1 -0
  434. package/utils/permissions/ModelGroupsPermissions.d.ts +9 -0
  435. package/utils/permissions/ModelGroupsPermissions.js +50 -0
  436. package/utils/permissions/ModelGroupsPermissions.js.map +1 -0
  437. package/utils/permissions/ModelsPermissions.d.ts +22 -0
  438. package/utils/permissions/ModelsPermissions.js +90 -0
  439. package/utils/permissions/ModelsPermissions.js.map +1 -0
  440. package/utils/renderFields.d.ts +2 -1
  441. package/utils/renderFields.js +5 -2
  442. package/utils/renderFields.js.map +1 -1
  443. package/utils/renderGetFilterFields.d.ts +2 -2
  444. package/utils/renderGetFilterFields.js +9 -21
  445. package/utils/renderGetFilterFields.js.map +1 -1
  446. package/utils/renderInputFields.d.ts +2 -1
  447. package/utils/renderInputFields.js +17 -7
  448. package/utils/renderInputFields.js.map +1 -1
  449. package/utils/renderListFilterFields.d.ts +3 -1
  450. package/utils/renderListFilterFields.js +25 -22
  451. package/utils/renderListFilterFields.js.map +1 -1
  452. package/utils/renderSortEnum.d.ts +3 -2
  453. package/utils/renderSortEnum.js +10 -3
  454. package/utils/renderSortEnum.js.map +1 -1
  455. package/utils/toSlug.js +3 -1
  456. package/utils/toSlug.js.map +1 -1
  457. package/validators/dateGte.js +3 -1
  458. package/validators/dateGte.js.map +1 -1
  459. package/validators/dateLte.js +3 -1
  460. package/validators/dateLte.js.map +1 -1
  461. package/validators/gte.js +4 -3
  462. package/validators/gte.js.map +1 -1
  463. package/validators/in.js +4 -3
  464. package/validators/in.js.map +1 -1
  465. package/validators/index.js +4 -3
  466. package/validators/index.js.map +1 -1
  467. package/validators/lte.js +4 -3
  468. package/validators/lte.js.map +1 -1
  469. package/validators/maxLength.js +4 -3
  470. package/validators/maxLength.js.map +1 -1
  471. package/validators/minLength.js +4 -3
  472. package/validators/minLength.js.map +1 -1
  473. package/validators/pattern.js +5 -3
  474. package/validators/pattern.js.map +1 -1
  475. package/validators/patternPlugins/email.js +3 -1
  476. package/validators/patternPlugins/email.js.map +1 -1
  477. package/validators/patternPlugins/index.js +3 -1
  478. package/validators/patternPlugins/index.js.map +1 -1
  479. package/validators/patternPlugins/lowerCase.js +3 -1
  480. package/validators/patternPlugins/lowerCase.js.map +1 -1
  481. package/validators/patternPlugins/lowerCaseSpace.js +3 -1
  482. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  483. package/validators/patternPlugins/upperCase.js +3 -1
  484. package/validators/patternPlugins/upperCase.js.map +1 -1
  485. package/validators/patternPlugins/upperCaseSpace.js +3 -1
  486. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  487. package/validators/patternPlugins/url.js +3 -1
  488. package/validators/patternPlugins/url.js.map +1 -1
  489. package/validators/required.js +3 -1
  490. package/validators/required.js.map +1 -1
  491. package/validators/timeGte.js +4 -3
  492. package/validators/timeGte.js.map +1 -1
  493. package/validators/timeLte.js +4 -3
  494. package/validators/timeLte.js.map +1 -1
  495. package/validators/unique.js +4 -2
  496. package/validators/unique.js.map +1 -1
  497. package/crud/contentModel/afterCreate.d.ts +0 -8
  498. package/crud/contentModel/afterCreate.js +0 -16
  499. package/crud/contentModel/afterCreate.js.map +0 -1
  500. package/crud/contentModel/afterCreateFrom.d.ts +0 -8
  501. package/crud/contentModel/afterCreateFrom.js +0 -16
  502. package/crud/contentModel/afterCreateFrom.js.map +0 -1
  503. package/crud/contentModel/afterDelete.d.ts +0 -8
  504. package/crud/contentModel/afterDelete.js +0 -16
  505. package/crud/contentModel/afterDelete.js.map +0 -1
  506. package/crud/contentModel/afterUpdate.d.ts +0 -8
  507. package/crud/contentModel/afterUpdate.js +0 -16
  508. package/crud/contentModel/afterUpdate.js.map +0 -1
  509. package/crud/contentModel/createFieldModels.d.ts +0 -2
  510. package/crud/contentModel/createFieldModels.js +0 -26
  511. package/crud/contentModel/createFieldModels.js.map +0 -1
  512. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  513. package/crud/contentModel/fieldIdValidation.js +0 -25
  514. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  515. package/crud/contentModel/idValidation.d.ts +0 -1
  516. package/crud/contentModel/idValidation.js +0 -22
  517. package/crud/contentModel/idValidation.js.map +0 -1
  518. package/crud/contentModel/models.d.ts +0 -4
  519. package/crud/contentModel/models.js +0 -192
  520. package/crud/contentModel/models.js.map +0 -1
  521. package/crud/contentModel/systemFields.d.ts +0 -1
  522. package/crud/contentModel/systemFields.js +0 -8
  523. package/crud/contentModel/systemFields.js.map +0 -1
  524. package/crud/contentModel/validateLayout.d.ts +0 -2
  525. package/crud/contentModel/validateLayout.js +0 -28
  526. package/crud/contentModel/validateLayout.js.map +0 -1
  527. package/crud/settings.crud.d.ts +0 -10
  528. package/crud/settings.crud.js +0 -66
  529. package/crud/settings.crud.js.map +0 -1
  530. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +0 -7
  531. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -13
  532. package/graphql/schema/resolvers/commonFieldResolvers.js.map +0 -1
  533. package/upgrades/5.33.0/index.d.ts +0 -3
  534. package/upgrades/5.33.0/index.js +0 -182
  535. package/upgrades/5.33.0/index.js.map +0 -1
  536. package/upgrades/index.d.ts +0 -1
  537. package/upgrades/index.js +0 -12
  538. package/upgrades/index.js.map +0 -1
  539. package/utils/ownership.d.ts +0 -8
  540. package/utils/ownership.js +0 -33
  541. package/utils/ownership.js.map +0 -1
  542. package/utils/permissions.d.ts +0 -7
  543. package/utils/permissions.js +0 -91
  544. package/utils/permissions.js.map +0 -1
  545. package/utils/pluralizedTypeName.d.ts +0 -1
  546. package/utils/pluralizedTypeName.js +0 -26
  547. package/utils/pluralizedTypeName.js.map +0 -1
  548. package/validators/dynamicZone.d.ts +0 -2
  549. package/validators/dynamicZone.js +0 -20
  550. package/validators/dynamicZone.js.map +0 -1
@@ -5,9 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.createModelsCrud = void 0;
8
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
- var _dataloader = _interopRequireDefault(require("dataloader"));
11
8
  var _error = _interopRequireDefault(require("@webiny/error"));
12
9
  var _handlerGraphql = require("@webiny/handler-graphql");
13
10
  var _contentModelManagerFactory = require("./contentModel/contentModelManagerFactory");
@@ -15,67 +12,29 @@ var _pubsub = require("@webiny/pubsub");
15
12
  var _beforeCreate = require("./contentModel/beforeCreate");
16
13
  var _beforeUpdate = require("./contentModel/beforeUpdate");
17
14
  var _beforeDelete = require("./contentModel/beforeDelete");
18
- var _afterCreate = require("./contentModel/afterCreate");
19
- var _afterUpdate = require("./contentModel/afterUpdate");
20
- var _afterDelete = require("./contentModel/afterDelete");
21
- var _afterCreateFrom = require("./contentModel/afterCreateFrom");
22
15
  var _CmsModelPlugin = require("../plugins/CmsModelPlugin");
23
- var _permissions = require("../utils/permissions");
24
- var _filterAsync = require("../utils/filterAsync");
25
- var _ownership = require("../utils/ownership");
26
- var _access = require("../utils/access");
27
16
  var _validation = require("./contentModel/validation");
28
17
  var _utils = require("@webiny/utils");
29
18
  var _defaultFields = require("./contentModel/defaultFields");
30
- var _modelApiName = require("./contentModel/compatibility/modelApiName");
31
- const _excluded = ["defaultFields"];
32
- /**
33
- * Given a model, return an array of tags ensuring the `type` tag is set.
34
- */
35
- const ensureTypeTag = model => {
36
- // Let's make sure we have a `type` tag assigned.
37
- // If `type` tag is not set, set it to a default one (`model`).
38
- const tags = model.tags || [];
39
- if (!tags.some(tag => tag.startsWith("type:"))) {
40
- tags.push("type:model");
41
- }
42
- return tags;
43
- };
19
+ var _utils2 = require("../utils");
20
+ var _ensureTypeTag = require("./contentModel/ensureTypeTag");
21
+ var _listModelsFromDatabase = require("./contentModel/listModelsFromDatabase");
22
+ var _filterAsync = require("../utils/filterAsync");
44
23
  const createModelsCrud = params => {
45
24
  const {
46
25
  getTenant,
47
26
  getIdentity,
48
27
  getLocale,
49
28
  storageOperations,
29
+ modelsPermissions,
50
30
  context
51
31
  } = params;
52
- const loaders = {
53
- listModels: new _dataloader.default(async () => {
54
- const models = await storageOperations.models.list({
55
- where: {
56
- tenant: getTenant().id,
57
- locale: getLocale().code
58
- }
59
- });
60
- return [models.map(model => {
61
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, model), {}, {
62
- tags: ensureTypeTag(model),
63
- tenant: model.tenant || getTenant().id,
64
- locale: model.locale || getLocale().code,
65
- /**
66
- * TODO: remove in v5.36.0
67
- * This is for backward compatibility while migrations are not yet executed.
68
- */
69
- singularApiName: (0, _modelApiName.ensureSingularApiName)(model),
70
- pluralApiName: (0, _modelApiName.ensurePluralApiName)(model)
71
- });
72
- })];
73
- })
74
- };
32
+ const listPluginModelsCache = (0, _utils2.createMemoryCache)();
33
+ const listFilteredModelsCache = (0, _utils2.createMemoryCache)();
34
+ const listDatabaseModelsCache = (0, _utils2.createMemoryCache)();
75
35
  const clearModelsCache = () => {
76
- for (const loader of Object.values(loaders)) {
77
- loader.clearAll();
78
- }
36
+ listDatabaseModelsCache.clear();
37
+ listFilteredModelsCache.clear();
79
38
  };
80
39
  const managers = new Map();
81
40
  const updateManager = async (context, model) => {
@@ -83,93 +42,135 @@ const createModelsCrud = params => {
83
42
  managers.set(model.modelId, manager);
84
43
  return manager;
85
44
  };
86
- const checkModelPermissions = check => {
87
- return (0, _permissions.checkPermissions)(context, "cms.contentModel", {
88
- rwd: check
45
+ const checkModelPermissions = async rwd => {
46
+ return modelsPermissions.ensure({
47
+ rwd
89
48
  });
90
49
  };
91
- const getModelsAsPlugins = () => {
92
- const tenant = getTenant().id;
93
- const locale = getLocale().code;
94
- return context.plugins.byType(_CmsModelPlugin.CmsModelPlugin.type)
95
- /**
96
- * We need to filter out models that are not for this tenant or locale.
97
- * If it does not have tenant or locale define, it is for every locale and tenant
98
- */.filter(plugin => {
99
- const {
100
- tenant: modelTenant,
101
- locale: modelLocale
102
- } = plugin.contentModel;
103
- if (modelTenant && modelTenant !== tenant) {
104
- return false;
105
- } else if (modelLocale && modelLocale !== locale) {
106
- return false;
107
- }
108
- return true;
109
- }).map(plugin => {
110
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, plugin.contentModel), {}, {
111
- tags: ensureTypeTag(plugin.contentModel),
112
- tenant,
113
- locale,
114
- webinyVersion: context.WEBINY_VERSION
115
- });
50
+ const filterModel = async model => {
51
+ const ownsModel = await modelsPermissions.ensure({
52
+ owns: model.createdBy
53
+ }, {
54
+ throw: false
116
55
  });
117
- };
118
- const modelsGet = async modelId => {
119
- const pluginModel = getModelsAsPlugins().find(model => model.modelId === modelId);
120
- if (pluginModel) {
121
- return pluginModel;
56
+ if (!ownsModel) {
57
+ return false;
122
58
  }
123
- const model = await storageOperations.models.get({
124
- tenant: getTenant().id,
125
- locale: getLocale().code,
126
- modelId
59
+ return modelsPermissions.canAccessModel({
60
+ model
127
61
  });
62
+ };
63
+ const listPluginModels = async (tenant, locale) => {
64
+ const modelPlugins = context.plugins.byType(_CmsModelPlugin.CmsModelPlugin.type);
65
+ const cacheKey = (0, _utils2.createCacheKey)({
66
+ tenant,
67
+ locale,
68
+ models: modelPlugins.map(({
69
+ contentModel: model
70
+ }) => {
71
+ return `${model.modelId}#${model.pluralApiName}#${model.singularApiName}#${model.savedOn || "unknown"}`;
72
+ }).join("/"),
73
+ identity: context.security.isAuthorizationEnabled() ? getIdentity()?.id : undefined
74
+ });
75
+ return listPluginModelsCache.getOrSet(cacheKey, async () => {
76
+ const models = modelPlugins
77
+ /**
78
+ * We need to filter out models that are not for this tenant or locale.
79
+ * If it does not have tenant or locale define, it is for every locale and tenant
80
+ */.filter(plugin => {
81
+ const {
82
+ tenant: modelTenant,
83
+ locale: modelLocale
84
+ } = plugin.contentModel;
85
+ if (modelTenant && modelTenant !== tenant) {
86
+ return false;
87
+ } else if (modelLocale && modelLocale !== locale) {
88
+ return false;
89
+ }
90
+ return true;
91
+ }).map(plugin => {
92
+ return {
93
+ ...plugin.contentModel,
94
+ tags: (0, _ensureTypeTag.ensureTypeTag)(plugin.contentModel),
95
+ tenant,
96
+ locale,
97
+ webinyVersion: context.WEBINY_VERSION
98
+ };
99
+ });
100
+ return (0, _filterAsync.filterAsync)(models, filterModel);
101
+ });
102
+ };
103
+ const getModelFromCache = async modelId => {
104
+ const models = await listModels();
105
+ const model = models.find(m => m.modelId === modelId);
128
106
  if (!model) {
129
107
  throw new _handlerGraphql.NotFoundError(`Content model "${modelId}" was not found!`);
130
108
  }
131
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, model), {}, {
132
- tags: ensureTypeTag(model),
109
+ return {
110
+ ...model,
111
+ tags: (0, _ensureTypeTag.ensureTypeTag)(model),
133
112
  tenant: model.tenant || getTenant().id,
134
113
  locale: model.locale || getLocale().code
135
- });
136
- };
137
- const modelsList = async () => {
138
- const databaseModels = await loaders.listModels.load("listModels");
139
- const pluginsModels = getModelsAsPlugins();
140
- return databaseModels.concat(pluginsModels);
114
+ };
141
115
  };
116
+
117
+ /**
118
+ * The list models cache is a key -> Promise pair so it the listModels() can be called multiple times but executed only once.
119
+ *
120
+ * We always fetch the plugins and database models separately.
121
+ * Then we combine them and run access filtering on them
122
+ */
142
123
  const listModels = async () => {
143
124
  return context.benchmark.measure("headlessCms.crud.models.listModels", async () => {
144
- const permission = await checkModelPermissions("r");
145
- const models = await modelsList();
146
- return (0, _filterAsync.filterAsync)(models, async model => {
147
- if (!(0, _ownership.validateOwnership)(context, permission, model)) {
148
- return false;
149
- }
150
- return (0, _access.validateModelAccess)(context, model);
125
+ /**
126
+ * Maybe we can cache based on permissions, not the identity id?
127
+ *
128
+ * TODO: @adrian please check if possible.
129
+ */
130
+ const tenant = getTenant().id;
131
+ const locale = getLocale().code;
132
+ const pluginModels = await listPluginModels(tenant, locale);
133
+ const dbCacheKey = (0, _utils2.createCacheKey)({
134
+ tenant,
135
+ locale
136
+ });
137
+ const databaseModels = await listDatabaseModelsCache.getOrSet(dbCacheKey, async () => {
138
+ return await (0, _listModelsFromDatabase.listModelsFromDatabase)(params);
139
+ });
140
+ const filteredCacheKey = (0, _utils2.createCacheKey)({
141
+ dbCacheKey: dbCacheKey.get(),
142
+ identity: context.security.isAuthorizationEnabled() ? getIdentity()?.id : undefined
143
+ });
144
+ const filteredModels = await listFilteredModelsCache.getOrSet(filteredCacheKey, async () => {
145
+ return (0, _filterAsync.filterAsync)(databaseModels, filterModel);
151
146
  });
147
+ return filteredModels.concat(pluginModels);
152
148
  });
153
149
  };
154
150
  const getModel = async modelId => {
155
151
  return context.benchmark.measure("headlessCms.crud.models.getModel", async () => {
156
- const permission = await checkModelPermissions("r");
157
- const model = await modelsGet(modelId);
158
- (0, _ownership.checkOwnership)(context, permission, model);
159
- await (0, _access.checkModelAccess)(context, model);
152
+ await checkModelPermissions("r");
153
+ const model = await context.security.withoutAuthorization(async () => {
154
+ return await getModelFromCache(modelId);
155
+ });
156
+ if (!model) {
157
+ throw new _handlerGraphql.NotFoundError(`Content model "${modelId}" was not found!`);
158
+ }
159
+ await modelsPermissions.ensure({
160
+ owns: model.createdBy
161
+ });
162
+ await modelsPermissions.ensureCanAccessModel({
163
+ model
164
+ });
160
165
  return model;
161
166
  });
162
167
  };
163
- const getModelManager = async target => {
168
+ const getEntryManager = async target => {
164
169
  const modelId = typeof target === "string" ? target : target.modelId;
165
170
  if (managers.has(modelId)) {
166
171
  return managers.get(modelId);
167
172
  }
168
- const models = await modelsList();
169
- const model = models.find(m => m.modelId === modelId);
170
- if (!model) {
171
- throw new _handlerGraphql.NotFoundError(`There is no content model "${modelId}".`);
172
- }
173
+ const model = await getModelFromCache(modelId);
173
174
  return await updateManager(context, model);
174
175
  };
175
176
 
@@ -210,31 +211,15 @@ const createModelsCrud = params => {
210
211
  context,
211
212
  storageOperations
212
213
  });
213
- (0, _afterCreate.assignModelAfterCreate)({
214
- context,
215
- onModelAfterCreate
216
- });
217
214
  (0, _beforeUpdate.assignModelBeforeUpdate)({
218
215
  onModelBeforeUpdate,
219
216
  context
220
217
  });
221
- (0, _afterUpdate.assignModelAfterUpdate)({
222
- context,
223
- onModelAfterUpdate
224
- });
225
- (0, _afterCreateFrom.assignModelAfterCreateFrom)({
226
- context,
227
- onModelAfterCreateFrom
228
- });
229
218
  (0, _beforeDelete.assignModelBeforeDelete)({
230
219
  onModelBeforeDelete,
231
220
  plugins: context.plugins,
232
221
  storageOperations
233
222
  });
234
- (0, _afterDelete.assignModelAfterDelete)({
235
- context,
236
- onModelAfterDelete
237
- });
238
223
 
239
224
  /**
240
225
  * CRUD methods
@@ -248,22 +233,17 @@ const createModelsCrud = params => {
248
233
  /**
249
234
  * We need to extract the defaultFields because it is not for the CmsModel object.
250
235
  */
251
- const _removeUndefinedValue = (0, _utils.removeUndefinedValues)(result.data),
252
- {
253
- defaultFields
254
- } = _removeUndefinedValue,
255
- data = (0, _objectWithoutProperties2.default)(_removeUndefinedValue, _excluded);
236
+ const {
237
+ defaultFields,
238
+ ...data
239
+ } = (0, _utils.removeUndefinedValues)(result.data);
256
240
  if (defaultFields) {
257
241
  (0, _defaultFields.assignModelDefaultFields)(data);
258
242
  }
259
- const group = await context.security.withoutAuthorization(async () => {
260
- return context.cms.getGroup(data.group);
261
- });
262
- if (!group) {
263
- throw new _handlerGraphql.NotFoundError(`There is no group "${data.group}".`);
264
- }
243
+ const group = await context.cms.getGroup(data.group);
265
244
  const identity = getIdentity();
266
- const model = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
245
+ const model = {
246
+ ...data,
267
247
  modelId: data.modelId || "",
268
248
  singularApiName: data.singularApiName,
269
249
  pluralApiName: data.pluralApiName,
@@ -286,8 +266,8 @@ const createModelsCrud = params => {
286
266
  savedOn: new Date().toISOString(),
287
267
  lockedFields: [],
288
268
  webinyVersion: context.WEBINY_VERSION
289
- });
290
- model.tags = ensureTypeTag(model);
269
+ };
270
+ model.tags = (0, _ensureTypeTag.ensureTypeTag)(model);
291
271
  try {
292
272
  await onModelBeforeCreate.publish({
293
273
  input: data,
@@ -296,7 +276,7 @@ const createModelsCrud = params => {
296
276
  const createdModel = await storageOperations.models.create({
297
277
  model
298
278
  });
299
- loaders.listModels.clearAll();
279
+ clearModelsCache();
300
280
  await updateManager(context, model);
301
281
  await onModelAfterCreate.publish({
302
282
  input: data,
@@ -334,18 +314,15 @@ const createModelsCrud = params => {
334
314
  };
335
315
  const groupId = data.group;
336
316
  if (groupId) {
337
- const groupData = await context.security.withoutAuthorization(async () => {
338
- return context.cms.getGroup(groupId);
339
- });
340
- if (!groupData) {
341
- throw new _handlerGraphql.NotFoundError(`There is no group "${groupId}".`);
342
- }
317
+ const groupData = await context.cms.getGroup(groupId);
343
318
  group = {
344
319
  id: groupData.id,
345
320
  name: groupData.name
346
321
  };
347
322
  }
348
- const model = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data), {}, {
323
+ const model = {
324
+ ...original,
325
+ ...data,
349
326
  titleFieldId: data.titleFieldId === undefined ? original.titleFieldId : data.titleFieldId,
350
327
  descriptionFieldId: data.descriptionFieldId === undefined ? original.descriptionFieldId : data.descriptionFieldId,
351
328
  imageFieldId: data.imageFieldId === undefined ? original.imageFieldId : data.imageFieldId,
@@ -355,8 +332,8 @@ const createModelsCrud = params => {
355
332
  locale: original.locale || getLocale().code,
356
333
  webinyVersion: context.WEBINY_VERSION,
357
334
  savedOn: new Date().toISOString()
358
- });
359
- model.tags = ensureTypeTag(model);
335
+ };
336
+ model.tags = (0, _ensureTypeTag.ensureTypeTag)(model);
360
337
  try {
361
338
  await onModelBeforeUpdate.publish({
362
339
  input: data,
@@ -388,11 +365,12 @@ const createModelsCrud = params => {
388
365
  model: initialModel,
389
366
  original
390
367
  } = params;
391
- const model = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, initialModel), {}, {
368
+ const model = {
369
+ ...initialModel,
392
370
  tenant: initialModel.tenant || getTenant().id,
393
371
  locale: initialModel.locale || getLocale().code,
394
372
  webinyVersion: context.WEBINY_VERSION
395
- });
373
+ };
396
374
  try {
397
375
  await onModelBeforeUpdate.publish({
398
376
  input: {},
@@ -403,7 +381,7 @@ const createModelsCrud = params => {
403
381
  model
404
382
  });
405
383
  await updateManager(context, resultModel);
406
- loaders.listModels.clearAll();
384
+ clearModelsCache();
407
385
  await onModelAfterUpdate.publish({
408
386
  input: {},
409
387
  original,
@@ -426,9 +404,10 @@ const createModelsCrud = params => {
426
404
  * Get a model record; this will also perform ownership validation.
427
405
  */
428
406
  const original = await getModel(modelId);
429
- const result = await (0, _validation.createModelCreateFromValidation)().safeParseAsync((0, _objectSpread2.default)((0, _objectSpread2.default)({}, input), {}, {
407
+ const result = await (0, _validation.createModelCreateFromValidation)().safeParseAsync({
408
+ ...input,
430
409
  description: input.description || original.description
431
- }));
410
+ });
432
411
  if (!result.success) {
433
412
  throw (0, _utils.createZodError)(result.error);
434
413
  }
@@ -449,7 +428,8 @@ const createModelsCrud = params => {
449
428
  throw new _handlerGraphql.NotFoundError(`There is no group "${data.group}".`);
450
429
  }
451
430
  const identity = getIdentity();
452
- const model = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), {}, {
431
+ const model = {
432
+ ...original,
453
433
  singularApiName: data.singularApiName,
454
434
  pluralApiName: data.pluralApiName,
455
435
  locale: locale.code,
@@ -470,7 +450,7 @@ const createModelsCrud = params => {
470
450
  savedOn: new Date().toISOString(),
471
451
  lockedFields: [],
472
452
  webinyVersion: context.WEBINY_VERSION
473
- });
453
+ };
474
454
  try {
475
455
  await onModelBeforeCreateFrom.publish({
476
456
  input: data,
@@ -480,7 +460,7 @@ const createModelsCrud = params => {
480
460
  const createdModel = await storageOperations.models.create({
481
461
  model
482
462
  });
483
- loaders.listModels.clearAll();
463
+ clearModelsCache();
484
464
  await updateManager(context, model);
485
465
  await onModelAfterCreateFrom.publish({
486
466
  input: data,
@@ -515,6 +495,7 @@ const createModelsCrud = params => {
515
495
  modelId: model.modelId
516
496
  });
517
497
  }
498
+ clearModelsCache();
518
499
  await onModelAfterDelete.publish({
519
500
  model
520
501
  });
@@ -541,20 +522,6 @@ const createModelsCrud = params => {
541
522
  return true;
542
523
  };
543
524
  return {
544
- /**
545
- * Deprecated - will be removed in 5.36.0
546
- */
547
- onBeforeModelCreate: onModelBeforeCreate,
548
- onAfterModelCreate: onModelAfterCreate,
549
- onBeforeModelCreateFrom: onModelBeforeCreateFrom,
550
- onAfterModelCreateFrom: onModelAfterCreateFrom,
551
- onBeforeModelUpdate: onModelBeforeUpdate,
552
- onAfterModelUpdate: onModelAfterUpdate,
553
- onBeforeModelDelete: onModelBeforeDelete,
554
- onAfterModelDelete: onModelAfterDelete,
555
- /**
556
- * Released in 5.34.0
557
- */
558
525
  onModelBeforeCreate,
559
526
  onModelAfterCreate,
560
527
  onModelCreateError,
@@ -605,12 +572,10 @@ const createModelsCrud = params => {
605
572
  return initializeModel(modelId, data);
606
573
  });
607
574
  },
608
- getModelManager,
609
- getEntryManager: async model => {
610
- return getModelManager(model);
611
- },
612
- getManagers: () => managers,
575
+ getEntryManager,
613
576
  getEntryManagers: () => managers
614
577
  };
615
578
  };
616
- exports.createModelsCrud = createModelsCrud;
579
+ exports.createModelsCrud = createModelsCrud;
580
+
581
+ //# sourceMappingURL=contentModel.crud.js.map