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