@webiny/api-headless-cms 5.29.0 → 5.30.0-beta.0

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 (548) hide show
  1. package/context.d.ts +3 -0
  2. package/{content/contextSetup.js → context.js} +13 -8
  3. package/context.js.map +1 -0
  4. package/{content/plugins/crud → crud}/contentEntry/afterDelete.d.ts +1 -1
  5. package/{content/plugins/crud → crud}/contentEntry/afterDelete.js +0 -0
  6. package/{content/plugins/crud → crud}/contentEntry/afterDelete.js.map +0 -0
  7. package/{content/plugins/crud → crud}/contentEntry/beforeCreate.d.ts +1 -1
  8. package/{content/plugins/crud → crud}/contentEntry/beforeCreate.js +0 -0
  9. package/{content/plugins/crud → crud}/contentEntry/beforeCreate.js.map +0 -0
  10. package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.d.ts +1 -1
  11. package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.js +0 -0
  12. package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.js.map +0 -0
  13. package/{content/plugins/crud → crud}/contentEntry/entryDataValidation.d.ts +1 -1
  14. package/{content/plugins/crud → crud}/contentEntry/entryDataValidation.js +7 -1
  15. package/crud/contentEntry/entryDataValidation.js.map +1 -0
  16. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.d.ts +1 -1
  17. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.js +1 -1
  18. package/crud/contentEntry/markLockedFields.js.map +1 -0
  19. package/{content/plugins/crud → crud}/contentEntry/referenceFieldsMapping.d.ts +1 -1
  20. package/{content/plugins/crud → crud}/contentEntry/referenceFieldsMapping.js +0 -0
  21. package/{content/plugins/crud → crud}/contentEntry/referenceFieldsMapping.js.map +0 -0
  22. package/{content/plugins/crud → crud}/contentEntry.crud.d.ts +1 -1
  23. package/{content/plugins/crud → crud}/contentEntry.crud.js +68 -42
  24. package/crud/contentEntry.crud.js.map +1 -0
  25. package/{content/plugins/crud → crud}/contentModel/afterCreate.d.ts +1 -1
  26. package/{content/plugins/crud → crud}/contentModel/afterCreate.js +0 -0
  27. package/{content/plugins/crud → crud}/contentModel/afterCreate.js.map +0 -0
  28. package/{content/plugins/crud → crud}/contentModel/afterCreateFrom.d.ts +1 -1
  29. package/{content/plugins/crud → crud}/contentModel/afterCreateFrom.js +0 -0
  30. package/{content/plugins/crud → crud}/contentModel/afterCreateFrom.js.map +0 -0
  31. package/{content/plugins/crud → crud}/contentModel/afterDelete.d.ts +1 -1
  32. package/{content/plugins/crud → crud}/contentModel/afterDelete.js +0 -0
  33. package/{content/plugins/crud → crud}/contentModel/afterDelete.js.map +0 -0
  34. package/{content/plugins/crud → crud}/contentModel/afterUpdate.d.ts +1 -1
  35. package/{content/plugins/crud → crud}/contentModel/afterUpdate.js +0 -0
  36. package/{content/plugins/crud → crud}/contentModel/afterUpdate.js.map +0 -0
  37. package/{content/plugins/crud → crud}/contentModel/beforeCreate.d.ts +1 -1
  38. package/{content/plugins/crud → crud}/contentModel/beforeCreate.js +1 -1
  39. package/crud/contentModel/beforeCreate.js.map +1 -0
  40. package/{content/plugins/crud → crud}/contentModel/beforeDelete.d.ts +1 -1
  41. package/{content/plugins/crud → crud}/contentModel/beforeDelete.js +1 -1
  42. package/crud/contentModel/beforeDelete.js.map +1 -0
  43. package/{content/plugins/crud → crud}/contentModel/beforeUpdate.d.ts +1 -1
  44. package/{content/plugins/crud → crud}/contentModel/beforeUpdate.js +0 -0
  45. package/crud/contentModel/beforeUpdate.js.map +1 -0
  46. package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.d.ts +1 -1
  47. package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js +0 -0
  48. package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js.map +0 -0
  49. package/crud/contentModel/createFieldModels.d.ts +2 -0
  50. package/{content/plugins/crud → crud}/contentModel/createFieldModels.js +0 -0
  51. package/{content/plugins/crud → crud}/contentModel/createFieldModels.js.map +0 -0
  52. package/crud/contentModel/idValidation.d.ts +1 -0
  53. package/{content/plugins/crud → crud}/contentModel/idValidation.js +3 -3
  54. package/crud/contentModel/idValidation.js.map +1 -0
  55. package/{content/plugins/crud → crud}/contentModel/models.d.ts +0 -0
  56. package/{content/plugins/crud → crud}/contentModel/models.js +2 -2
  57. package/crud/contentModel/models.js.map +1 -0
  58. package/{content/plugins/crud → crud}/contentModel/validateLayout.d.ts +1 -1
  59. package/{content/plugins/crud → crud}/contentModel/validateLayout.js +0 -0
  60. package/{content/plugins/crud → crud}/contentModel/validateLayout.js.map +0 -0
  61. package/{content/plugins/crud → crud}/contentModel/validateModelFields.d.ts +1 -1
  62. package/{content/plugins/crud → crud}/contentModel/validateModelFields.js +2 -2
  63. package/crud/contentModel/validateModelFields.js.map +1 -0
  64. package/{content/plugins/crud → crud}/contentModel.crud.d.ts +1 -1
  65. package/{content/plugins/crud → crud}/contentModel.crud.js +14 -12
  66. package/crud/contentModel.crud.js.map +1 -0
  67. package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.d.ts +1 -1
  68. package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.js +5 -5
  69. package/crud/contentModelGroup/beforeCreate.js.map +1 -0
  70. package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.d.ts +1 -1
  71. package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.js +1 -1
  72. package/crud/contentModelGroup/beforeDelete.js.map +1 -0
  73. package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.d.ts +1 -1
  74. package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.js +1 -1
  75. package/crud/contentModelGroup/beforeUpdate.js.map +1 -0
  76. package/{content/plugins/crud → crud}/contentModelGroup.crud.d.ts +1 -1
  77. package/{content/plugins/crud → crud}/contentModelGroup.crud.js +15 -13
  78. package/crud/contentModelGroup.crud.js.map +1 -0
  79. package/crud/index.d.ts +6 -0
  80. package/{content/plugins/crud → crud}/index.js +5 -17
  81. package/crud/index.js.map +1 -0
  82. package/{plugins/crud → crud}/settings.crud.d.ts +1 -1
  83. package/{plugins/crud → crud}/settings.crud.js +3 -7
  84. package/crud/settings.crud.js.map +1 -0
  85. package/{plugins/crud → crud}/system.crud.d.ts +1 -1
  86. package/{plugins/crud → crud}/system.crud.js +0 -0
  87. package/{plugins/crud → crud}/system.crud.js.map +0 -0
  88. package/{content/plugins → graphql}/buildSchemaPlugins.d.ts +2 -3
  89. package/graphql/buildSchemaPlugins.js +27 -0
  90. package/graphql/buildSchemaPlugins.js.map +1 -0
  91. package/graphql/graphQLHandlerFactory.d.ts +5 -0
  92. package/{content → graphql}/graphQLHandlerFactory.js +26 -18
  93. package/graphql/graphQLHandlerFactory.js.map +1 -0
  94. package/graphql/index.d.ts +5 -0
  95. package/graphql/index.js +57 -0
  96. package/graphql/index.js.map +1 -0
  97. package/graphql/schema/baseContentSchema.d.ts +3 -0
  98. package/{content/plugins/schema/baseSchema.js → graphql/schema/baseContentSchema.js} +3 -27
  99. package/graphql/schema/baseContentSchema.js.map +1 -0
  100. package/graphql/schema/contentEntries.d.ts +3 -0
  101. package/{content/plugins → graphql}/schema/contentEntries.js +5 -58
  102. package/graphql/schema/contentEntries.js.map +1 -0
  103. package/graphql/schema/contentModelGroups.d.ts +3 -0
  104. package/{content/plugins → graphql}/schema/contentModelGroups.js +27 -11
  105. package/graphql/schema/contentModelGroups.js.map +1 -0
  106. package/graphql/schema/contentModels.d.ts +3 -0
  107. package/{content/plugins → graphql}/schema/contentModels.js +13 -7
  108. package/graphql/schema/contentModels.js.map +1 -0
  109. package/{content/plugins → graphql}/schema/createFieldResolvers.d.ts +1 -1
  110. package/{content/plugins → graphql}/schema/createFieldResolvers.js +1 -1
  111. package/graphql/schema/createFieldResolvers.js.map +1 -0
  112. package/{content/plugins → graphql}/schema/createManageResolvers.d.ts +1 -1
  113. package/{content/plugins → graphql}/schema/createManageResolvers.js +7 -3
  114. package/graphql/schema/createManageResolvers.js.map +1 -0
  115. package/{content/plugins → graphql}/schema/createManageSDL.d.ts +1 -1
  116. package/{content/plugins → graphql}/schema/createManageSDL.js +11 -7
  117. package/graphql/schema/createManageSDL.js.map +1 -0
  118. package/{content/plugins → graphql}/schema/createPreviewResolvers.d.ts +1 -1
  119. package/{content/plugins → graphql}/schema/createPreviewResolvers.js +2 -2
  120. package/graphql/schema/createPreviewResolvers.js.map +1 -0
  121. package/{content/plugins → graphql}/schema/createReadResolvers.d.ts +1 -1
  122. package/{content/plugins → graphql}/schema/createReadResolvers.js +2 -2
  123. package/graphql/schema/createReadResolvers.js.map +1 -0
  124. package/{content/plugins → graphql}/schema/createReadSDL.d.ts +1 -1
  125. package/{content/plugins → graphql}/schema/createReadSDL.js +6 -6
  126. package/graphql/schema/createReadSDL.js.map +1 -0
  127. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +6 -0
  128. package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js +0 -0
  129. package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js.map +0 -0
  130. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.d.ts +1 -1
  131. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js +0 -0
  132. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js.map +0 -0
  133. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.d.ts +1 -1
  134. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js +0 -0
  135. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js.map +0 -0
  136. package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.d.ts +1 -1
  137. package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.js +0 -0
  138. package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.js.map +0 -0
  139. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGet.d.ts +1 -1
  140. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGet.js +0 -0
  141. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGet.js.map +0 -0
  142. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.d.ts +1 -1
  143. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js +0 -0
  144. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js.map +0 -0
  145. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.d.ts +1 -1
  146. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js +0 -0
  147. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js.map +0 -0
  148. package/{content/plugins → graphql}/schema/resolvers/manage/resolveList.d.ts +1 -1
  149. package/{content/plugins → graphql}/schema/resolvers/manage/resolveList.js +0 -0
  150. package/{content/plugins → graphql}/schema/resolvers/manage/resolveList.js.map +0 -0
  151. package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.d.ts +1 -1
  152. package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js +0 -0
  153. package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js.map +0 -0
  154. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRepublish.d.ts +1 -1
  155. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRepublish.js +0 -0
  156. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRepublish.js.map +0 -0
  157. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestChanges.d.ts +1 -1
  158. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestChanges.js +0 -0
  159. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestChanges.js.map +0 -0
  160. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestReview.d.ts +1 -1
  161. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestReview.js +0 -0
  162. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestReview.js.map +0 -0
  163. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.d.ts +1 -1
  164. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.js +0 -0
  165. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.js.map +0 -0
  166. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.d.ts +1 -1
  167. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.js +0 -0
  168. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.js.map +0 -0
  169. package/{content/plugins/schema/resolvers/read → graphql/schema/resolvers/preview}/resolveGet.d.ts +1 -1
  170. package/{content/plugins → graphql}/schema/resolvers/preview/resolveGet.js +0 -0
  171. package/{content/plugins → graphql}/schema/resolvers/preview/resolveGet.js.map +0 -0
  172. package/{content/plugins → graphql}/schema/resolvers/preview/resolveList.d.ts +1 -1
  173. package/{content/plugins → graphql}/schema/resolvers/preview/resolveList.js +0 -0
  174. package/{content/plugins → graphql}/schema/resolvers/preview/resolveList.js.map +0 -0
  175. package/{content/plugins/schema/resolvers/preview → graphql/schema/resolvers/read}/resolveGet.d.ts +1 -1
  176. package/{content/plugins → graphql}/schema/resolvers/read/resolveGet.js +0 -0
  177. package/{content/plugins → graphql}/schema/resolvers/read/resolveGet.js.map +0 -0
  178. package/{content/plugins → graphql}/schema/resolvers/read/resolveList.d.ts +1 -1
  179. package/{content/plugins → graphql}/schema/resolvers/read/resolveList.js +0 -0
  180. package/{content/plugins → graphql}/schema/resolvers/read/resolveList.js.map +0 -0
  181. package/{content/plugins → graphql}/schema/schemaPlugins.d.ts +1 -1
  182. package/{content/plugins → graphql}/schema/schemaPlugins.js +18 -5
  183. package/graphql/schema/schemaPlugins.js.map +1 -0
  184. package/graphql/system.d.ts +6 -0
  185. package/graphql/system.js +119 -0
  186. package/graphql/system.js.map +1 -0
  187. package/graphqlFields/boolean.d.ts +2 -0
  188. package/graphqlFields/boolean.js +69 -0
  189. package/graphqlFields/boolean.js.map +1 -0
  190. package/graphqlFields/datetime.d.ts +2 -0
  191. package/{content/plugins/graphqlFields → graphqlFields}/datetime.js +42 -40
  192. package/graphqlFields/datetime.js.map +1 -0
  193. package/graphqlFields/file.d.ts +2 -0
  194. package/graphqlFields/file.js +50 -0
  195. package/graphqlFields/file.js.map +1 -0
  196. package/{content/plugins/graphqlFields → graphqlFields}/helpers.d.ts +1 -1
  197. package/{content/plugins/graphqlFields → graphqlFields}/helpers.js +0 -0
  198. package/{content/plugins/graphqlFields → graphqlFields}/helpers.js.map +0 -0
  199. package/graphqlFields/index.d.ts +2 -0
  200. package/graphqlFields/index.js +28 -0
  201. package/graphqlFields/index.js.map +1 -0
  202. package/graphqlFields/longText.d.ts +2 -0
  203. package/graphqlFields/longText.js +63 -0
  204. package/graphqlFields/longText.js.map +1 -0
  205. package/graphqlFields/number.d.ts +2 -0
  206. package/graphqlFields/number.js +75 -0
  207. package/graphqlFields/number.js.map +1 -0
  208. package/graphqlFields/object.d.ts +2 -0
  209. package/graphqlFields/object.js +225 -0
  210. package/graphqlFields/object.js.map +1 -0
  211. package/graphqlFields/ref.d.ts +2 -0
  212. package/graphqlFields/ref.js +279 -0
  213. package/graphqlFields/ref.js.map +1 -0
  214. package/graphqlFields/richText.d.ts +2 -0
  215. package/graphqlFields/richText.js +56 -0
  216. package/graphqlFields/richText.js.map +1 -0
  217. package/graphqlFields/text.d.ts +2 -0
  218. package/graphqlFields/text.js +73 -0
  219. package/graphqlFields/text.js.map +1 -0
  220. package/index.d.ts +10 -17
  221. package/index.js +73 -56
  222. package/index.js.map +1 -1
  223. package/modelManager/DefaultCmsModelManager.d.ts +14 -0
  224. package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js +0 -0
  225. package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js.map +0 -0
  226. package/modelManager/index.d.ts +2 -0
  227. package/{content/plugins/modelManager → modelManager}/index.js +3 -3
  228. package/modelManager/index.js.map +1 -0
  229. package/package.json +26 -27
  230. package/parameters/context.d.ts +2 -0
  231. package/parameters/context.js +22 -0
  232. package/parameters/context.js.map +1 -0
  233. package/parameters/header.d.ts +2 -0
  234. package/parameters/header.js +55 -0
  235. package/parameters/header.js.map +1 -0
  236. package/parameters/index.d.ts +4 -0
  237. package/parameters/index.js +57 -0
  238. package/parameters/index.js.map +1 -0
  239. package/parameters/manual.d.ts +6 -0
  240. package/{plugins/context.js → parameters/manual.js} +27 -27
  241. package/parameters/manual.js.map +1 -0
  242. package/parameters/path.d.ts +2 -0
  243. package/parameters/path.js +54 -0
  244. package/parameters/path.js.map +1 -0
  245. package/{content/plugins → plugins}/CmsGroupPlugin.d.ts +1 -1
  246. package/{content/plugins → plugins}/CmsGroupPlugin.js +0 -0
  247. package/{content/plugins → plugins}/CmsGroupPlugin.js.map +0 -0
  248. package/{content/plugins → plugins}/CmsModelPlugin.d.ts +1 -1
  249. package/{content/plugins → plugins}/CmsModelPlugin.js +0 -0
  250. package/{content/plugins → plugins}/CmsModelPlugin.js.map +0 -0
  251. package/{content/plugins → plugins}/CmsParametersPlugin.d.ts +8 -3
  252. package/{content/plugins → plugins}/CmsParametersPlugin.js +0 -0
  253. package/plugins/CmsParametersPlugin.js.map +1 -0
  254. package/{content/plugins/storage → plugins}/StorageTransformPlugin.d.ts +2 -1
  255. package/{content/plugins/storage → plugins}/StorageTransformPlugin.js +1 -0
  256. package/plugins/StorageTransformPlugin.js.map +1 -0
  257. package/plugins/index.d.ts +4 -0
  258. package/plugins/index.js +57 -0
  259. package/plugins/index.js.map +1 -0
  260. package/storage/default.d.ts +2 -0
  261. package/storage/default.js +27 -0
  262. package/storage/default.js.map +1 -0
  263. package/storage/object.d.ts +2 -0
  264. package/{content/plugins/storage → storage}/object.js +63 -64
  265. package/storage/object.js.map +1 -0
  266. package/types.d.ts +28 -3
  267. package/types.js.map +1 -1
  268. package/upgrades/index.d.ts +1 -0
  269. package/upgrades/index.js +10 -0
  270. package/upgrades/index.js.map +1 -0
  271. package/utils/access.d.ts +8 -0
  272. package/utils/access.js +90 -0
  273. package/utils/access.js.map +1 -0
  274. package/{content/plugins/utils → utils}/createTypeName.d.ts +0 -0
  275. package/{content/plugins/utils → utils}/createTypeName.js +0 -0
  276. package/{content/plugins/utils → utils}/createTypeName.js.map +0 -0
  277. package/{content/plugins/utils → utils}/entryStorage.d.ts +1 -1
  278. package/{content/plugins/utils → utils}/entryStorage.js +1 -1
  279. package/utils/entryStorage.js.map +1 -0
  280. package/utils/filterAsync.d.ts +1 -0
  281. package/utils/filterAsync.js +23 -0
  282. package/utils/filterAsync.js.map +1 -0
  283. package/{content/plugins/utils → utils}/getEntryTitle.d.ts +1 -1
  284. package/{content/plugins/utils → utils}/getEntryTitle.js +0 -0
  285. package/{content/plugins/utils → utils}/getEntryTitle.js.map +0 -0
  286. package/{content/plugins/utils → utils}/getSchemaFromFieldPlugins.d.ts +1 -1
  287. package/{content/plugins/utils → utils}/getSchemaFromFieldPlugins.js +0 -0
  288. package/{content/plugins/utils → utils}/getSchemaFromFieldPlugins.js.map +0 -0
  289. package/utils/ownership.d.ts +8 -0
  290. package/utils/ownership.js +39 -0
  291. package/utils/ownership.js.map +1 -0
  292. package/utils/permissions.d.ts +7 -0
  293. package/utils/permissions.js +110 -0
  294. package/utils/permissions.js.map +1 -0
  295. package/{content/plugins/utils → utils}/pluralizedTypeName.d.ts +0 -0
  296. package/{content/plugins/utils → utils}/pluralizedTypeName.js +0 -0
  297. package/{content/plugins/utils → utils}/pluralizedTypeName.js.map +0 -0
  298. package/{content/plugins/utils → utils}/renderFields.d.ts +1 -1
  299. package/{content/plugins/utils → utils}/renderFields.js +0 -0
  300. package/{content/plugins/utils → utils}/renderFields.js.map +0 -0
  301. package/{content/plugins/utils → utils}/renderGetFilterFields.d.ts +1 -1
  302. package/{content/plugins/utils → utils}/renderGetFilterFields.js +0 -0
  303. package/{content/plugins/utils → utils}/renderGetFilterFields.js.map +0 -0
  304. package/{content/plugins/utils → utils}/renderInputFields.d.ts +1 -1
  305. package/{content/plugins/utils → utils}/renderInputFields.js +0 -0
  306. package/{content/plugins/utils → utils}/renderInputFields.js.map +0 -0
  307. package/{content/plugins/utils → utils}/renderListFilterFields.d.ts +1 -1
  308. package/{content/plugins/utils → utils}/renderListFilterFields.js +0 -0
  309. package/{content/plugins/utils → utils}/renderListFilterFields.js.map +0 -0
  310. package/{content/plugins/utils → utils}/renderSortEnum.d.ts +1 -1
  311. package/{content/plugins/utils → utils}/renderSortEnum.js +0 -0
  312. package/{content/plugins/utils → utils}/renderSortEnum.js.map +0 -0
  313. package/utils/toSlug.d.ts +1 -0
  314. package/utils/toSlug.js +20 -0
  315. package/utils/toSlug.js.map +1 -0
  316. package/validators/dateGte.d.ts +2 -0
  317. package/{content/plugins/validators → validators}/dateGte.js +3 -3
  318. package/validators/dateGte.js.map +1 -0
  319. package/validators/dateLte.d.ts +2 -0
  320. package/{content/plugins/validators → validators}/dateLte.js +3 -3
  321. package/validators/dateLte.js.map +1 -0
  322. package/validators/gte.d.ts +2 -0
  323. package/validators/gte.js +36 -0
  324. package/validators/gte.js.map +1 -0
  325. package/validators/in.d.ts +2 -0
  326. package/validators/in.js +36 -0
  327. package/validators/in.js.map +1 -0
  328. package/validators/index.d.ts +1 -0
  329. package/validators/index.js +36 -0
  330. package/validators/index.js.map +1 -0
  331. package/validators/lte.d.ts +2 -0
  332. package/validators/lte.js +36 -0
  333. package/validators/lte.js.map +1 -0
  334. package/validators/maxLength.d.ts +2 -0
  335. package/validators/maxLength.js +36 -0
  336. package/validators/maxLength.js.map +1 -0
  337. package/validators/minLength.d.ts +2 -0
  338. package/validators/minLength.js +36 -0
  339. package/validators/minLength.js.map +1 -0
  340. package/validators/pattern.d.ts +2 -0
  341. package/validators/pattern.js +50 -0
  342. package/validators/pattern.js.map +1 -0
  343. package/validators/patternPlugins/email.d.ts +2 -0
  344. package/validators/patternPlugins/email.js +20 -0
  345. package/validators/patternPlugins/email.js.map +1 -0
  346. package/validators/patternPlugins/index.d.ts +2 -0
  347. package/validators/patternPlugins/index.js +24 -0
  348. package/validators/patternPlugins/index.js.map +1 -0
  349. package/validators/patternPlugins/lowerCase.d.ts +2 -0
  350. package/validators/patternPlugins/lowerCase.js +20 -0
  351. package/validators/patternPlugins/lowerCase.js.map +1 -0
  352. package/validators/patternPlugins/lowerCaseSpace.d.ts +2 -0
  353. package/validators/patternPlugins/lowerCaseSpace.js +20 -0
  354. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  355. package/validators/patternPlugins/upperCase.d.ts +2 -0
  356. package/validators/patternPlugins/upperCase.js +20 -0
  357. package/validators/patternPlugins/upperCase.js.map +1 -0
  358. package/validators/patternPlugins/upperCaseSpace.d.ts +2 -0
  359. package/validators/patternPlugins/upperCaseSpace.js +20 -0
  360. package/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  361. package/validators/patternPlugins/url.d.ts +2 -0
  362. package/validators/patternPlugins/url.js +20 -0
  363. package/validators/patternPlugins/url.js.map +1 -0
  364. package/validators/required.d.ts +2 -0
  365. package/validators/required.js +27 -0
  366. package/validators/required.js.map +1 -0
  367. package/validators/timeGte.d.ts +2 -0
  368. package/{content/plugins/validators → validators}/timeGte.js +3 -3
  369. package/validators/timeGte.js.map +1 -0
  370. package/validators/timeLte.d.ts +2 -0
  371. package/{content/plugins/validators → validators}/timeLte.js +3 -3
  372. package/validators/timeLte.js.map +1 -0
  373. package/{content/plugins/validators → validators}/unique.d.ts +2 -3
  374. package/{content/plugins/validators → validators}/unique.js +3 -3
  375. package/validators/unique.js.map +1 -0
  376. package/content/contextSetup.d.ts +0 -4
  377. package/content/contextSetup.js.map +0 -1
  378. package/content/graphQLHandlerFactory.d.ts +0 -5
  379. package/content/graphQLHandlerFactory.js.map +0 -1
  380. package/content/parameterPlugins.d.ts +0 -6
  381. package/content/parameterPlugins.js +0 -78
  382. package/content/parameterPlugins.js.map +0 -1
  383. package/content/plugins/CmsParametersPlugin.js.map +0 -1
  384. package/content/plugins/buildSchemaPlugins.js +0 -29
  385. package/content/plugins/buildSchemaPlugins.js.map +0 -1
  386. package/content/plugins/crud/contentEntry/entryDataValidation.js.map +0 -1
  387. package/content/plugins/crud/contentEntry/markLockedFields.js.map +0 -1
  388. package/content/plugins/crud/contentEntry.crud.js.map +0 -1
  389. package/content/plugins/crud/contentModel/beforeCreate.js.map +0 -1
  390. package/content/plugins/crud/contentModel/beforeDelete.js.map +0 -1
  391. package/content/plugins/crud/contentModel/beforeUpdate.js.map +0 -1
  392. package/content/plugins/crud/contentModel/createFieldModels.d.ts +0 -2
  393. package/content/plugins/crud/contentModel/idValidation.d.ts +0 -2
  394. package/content/plugins/crud/contentModel/idValidation.js.map +0 -1
  395. package/content/plugins/crud/contentModel/models.js.map +0 -1
  396. package/content/plugins/crud/contentModel/validateModelFields.js.map +0 -1
  397. package/content/plugins/crud/contentModel.crud.js.map +0 -1
  398. package/content/plugins/crud/contentModelGroup/beforeCreate.js.map +0 -1
  399. package/content/plugins/crud/contentModelGroup/beforeDelete.js.map +0 -1
  400. package/content/plugins/crud/contentModelGroup/beforeUpdate.js.map +0 -1
  401. package/content/plugins/crud/contentModelGroup.crud.js.map +0 -1
  402. package/content/plugins/crud/index.d.ts +0 -6
  403. package/content/plugins/crud/index.js.map +0 -1
  404. package/content/plugins/graphqlFields/boolean.d.ts +0 -3
  405. package/content/plugins/graphqlFields/boolean.js +0 -67
  406. package/content/plugins/graphqlFields/boolean.js.map +0 -1
  407. package/content/plugins/graphqlFields/datetime.d.ts +0 -3
  408. package/content/plugins/graphqlFields/datetime.js.map +0 -1
  409. package/content/plugins/graphqlFields/file.d.ts +0 -3
  410. package/content/plugins/graphqlFields/file.js +0 -48
  411. package/content/plugins/graphqlFields/file.js.map +0 -1
  412. package/content/plugins/graphqlFields/index.d.ts +0 -2
  413. package/content/plugins/graphqlFields/index.js +0 -30
  414. package/content/plugins/graphqlFields/index.js.map +0 -1
  415. package/content/plugins/graphqlFields/longText.d.ts +0 -3
  416. package/content/plugins/graphqlFields/longText.js +0 -61
  417. package/content/plugins/graphqlFields/longText.js.map +0 -1
  418. package/content/plugins/graphqlFields/number.d.ts +0 -3
  419. package/content/plugins/graphqlFields/number.js +0 -73
  420. package/content/plugins/graphqlFields/number.js.map +0 -1
  421. package/content/plugins/graphqlFields/object.d.ts +0 -3
  422. package/content/plugins/graphqlFields/object.js +0 -223
  423. package/content/plugins/graphqlFields/object.js.map +0 -1
  424. package/content/plugins/graphqlFields/ref.d.ts +0 -3
  425. package/content/plugins/graphqlFields/ref.js +0 -276
  426. package/content/plugins/graphqlFields/ref.js.map +0 -1
  427. package/content/plugins/graphqlFields/richText.d.ts +0 -3
  428. package/content/plugins/graphqlFields/richText.js +0 -54
  429. package/content/plugins/graphqlFields/richText.js.map +0 -1
  430. package/content/plugins/graphqlFields/text.d.ts +0 -3
  431. package/content/plugins/graphqlFields/text.js +0 -71
  432. package/content/plugins/graphqlFields/text.js.map +0 -1
  433. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +0 -8
  434. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +0 -55
  435. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js.map +0 -1
  436. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +0 -7
  437. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +0 -36
  438. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js.map +0 -1
  439. package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +0 -14
  440. package/content/plugins/modelManager/index.d.ts +0 -3
  441. package/content/plugins/modelManager/index.js.map +0 -1
  442. package/content/plugins/schema/baseSchema.d.ts +0 -4
  443. package/content/plugins/schema/baseSchema.js.map +0 -1
  444. package/content/plugins/schema/contentEntries.d.ts +0 -4
  445. package/content/plugins/schema/contentEntries.js.map +0 -1
  446. package/content/plugins/schema/contentModelGroups.d.ts +0 -4
  447. package/content/plugins/schema/contentModelGroups.js.map +0 -1
  448. package/content/plugins/schema/contentModels.d.ts +0 -4
  449. package/content/plugins/schema/contentModels.js.map +0 -1
  450. package/content/plugins/schema/createFieldResolvers.js.map +0 -1
  451. package/content/plugins/schema/createManageResolvers.js.map +0 -1
  452. package/content/plugins/schema/createManageSDL.js.map +0 -1
  453. package/content/plugins/schema/createPreviewResolvers.js.map +0 -1
  454. package/content/plugins/schema/createReadResolvers.js.map +0 -1
  455. package/content/plugins/schema/createReadSDL.js.map +0 -1
  456. package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  457. package/content/plugins/schema/schemaPlugins.js.map +0 -1
  458. package/content/plugins/storage/StorageTransformPlugin.js.map +0 -1
  459. package/content/plugins/storage/default.d.ts +0 -3
  460. package/content/plugins/storage/default.js +0 -28
  461. package/content/plugins/storage/default.js.map +0 -1
  462. package/content/plugins/storage/object.d.ts +0 -3
  463. package/content/plugins/storage/object.js.map +0 -1
  464. package/content/plugins/utils/entryStorage.js.map +0 -1
  465. package/content/plugins/validators/dateGte.d.ts +0 -3
  466. package/content/plugins/validators/dateGte.js.map +0 -1
  467. package/content/plugins/validators/dateLte.d.ts +0 -3
  468. package/content/plugins/validators/dateLte.js.map +0 -1
  469. package/content/plugins/validators/gte.d.ts +0 -3
  470. package/content/plugins/validators/gte.js +0 -34
  471. package/content/plugins/validators/gte.js.map +0 -1
  472. package/content/plugins/validators/in.d.ts +0 -3
  473. package/content/plugins/validators/in.js +0 -34
  474. package/content/plugins/validators/in.js.map +0 -1
  475. package/content/plugins/validators/index.d.ts +0 -2
  476. package/content/plugins/validators/index.js +0 -38
  477. package/content/plugins/validators/index.js.map +0 -1
  478. package/content/plugins/validators/lte.d.ts +0 -3
  479. package/content/plugins/validators/lte.js +0 -34
  480. package/content/plugins/validators/lte.js.map +0 -1
  481. package/content/plugins/validators/maxLength.d.ts +0 -3
  482. package/content/plugins/validators/maxLength.js +0 -34
  483. package/content/plugins/validators/maxLength.js.map +0 -1
  484. package/content/plugins/validators/minLength.d.ts +0 -3
  485. package/content/plugins/validators/minLength.js +0 -34
  486. package/content/plugins/validators/minLength.js.map +0 -1
  487. package/content/plugins/validators/pattern.d.ts +0 -3
  488. package/content/plugins/validators/pattern.js +0 -47
  489. package/content/plugins/validators/pattern.js.map +0 -1
  490. package/content/plugins/validators/patternPlugins/email.d.ts +0 -3
  491. package/content/plugins/validators/patternPlugins/email.js +0 -17
  492. package/content/plugins/validators/patternPlugins/email.js.map +0 -1
  493. package/content/plugins/validators/patternPlugins/index.d.ts +0 -2
  494. package/content/plugins/validators/patternPlugins/index.js +0 -23
  495. package/content/plugins/validators/patternPlugins/index.js.map +0 -1
  496. package/content/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
  497. package/content/plugins/validators/patternPlugins/lowerCase.js +0 -17
  498. package/content/plugins/validators/patternPlugins/lowerCase.js.map +0 -1
  499. package/content/plugins/validators/patternPlugins/lowerCaseSpace.d.ts +0 -3
  500. package/content/plugins/validators/patternPlugins/lowerCaseSpace.js +0 -17
  501. package/content/plugins/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
  502. package/content/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
  503. package/content/plugins/validators/patternPlugins/upperCase.js +0 -17
  504. package/content/plugins/validators/patternPlugins/upperCase.js.map +0 -1
  505. package/content/plugins/validators/patternPlugins/upperCaseSpace.d.ts +0 -3
  506. package/content/plugins/validators/patternPlugins/upperCaseSpace.js +0 -17
  507. package/content/plugins/validators/patternPlugins/upperCaseSpace.js.map +0 -1
  508. package/content/plugins/validators/patternPlugins/url.d.ts +0 -3
  509. package/content/plugins/validators/patternPlugins/url.js +0 -17
  510. package/content/plugins/validators/patternPlugins/url.js.map +0 -1
  511. package/content/plugins/validators/required.d.ts +0 -3
  512. package/content/plugins/validators/required.js +0 -25
  513. package/content/plugins/validators/required.js.map +0 -1
  514. package/content/plugins/validators/timeGte.d.ts +0 -3
  515. package/content/plugins/validators/timeGte.js.map +0 -1
  516. package/content/plugins/validators/timeLte.d.ts +0 -3
  517. package/content/plugins/validators/timeLte.js.map +0 -1
  518. package/content/plugins/validators/unique.js.map +0 -1
  519. package/migrateCMSPermissions.d.ts +0 -17
  520. package/migrateCMSPermissions.js +0 -199
  521. package/migrateCMSPermissions.js.map +0 -1
  522. package/plugins/context.d.ts +0 -4
  523. package/plugins/context.js.map +0 -1
  524. package/plugins/crud/index.d.ts +0 -6
  525. package/plugins/crud/index.js +0 -108
  526. package/plugins/crud/index.js.map +0 -1
  527. package/plugins/crud/settings.crud.js.map +0 -1
  528. package/plugins/graphql/system.d.ts +0 -18
  529. package/plugins/graphql/system.js +0 -74
  530. package/plugins/graphql/system.js.map +0 -1
  531. package/plugins/graphql.d.ts +0 -2
  532. package/plugins/graphql.js +0 -86
  533. package/plugins/graphql.js.map +0 -1
  534. package/plugins/upgrades/index.d.ts +0 -2
  535. package/plugins/upgrades/index.js +0 -14
  536. package/plugins/upgrades/index.js.map +0 -1
  537. package/plugins/upgrades/v5.5.0/helpers.d.ts +0 -6
  538. package/plugins/upgrades/v5.5.0/helpers.js +0 -10
  539. package/plugins/upgrades/v5.5.0/helpers.js.map +0 -1
  540. package/plugins/upgrades/v5.5.0/index.d.ts +0 -4
  541. package/plugins/upgrades/v5.5.0/index.js +0 -134
  542. package/plugins/upgrades/v5.5.0/index.js.map +0 -1
  543. package/transformers.d.ts +0 -2
  544. package/transformers.js +0 -25
  545. package/transformers.js.map +0 -1
  546. package/utils.d.ts +0 -23
  547. package/utils.js +0 -251
  548. package/utils.js.map +0 -1
package/context.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { CmsContext } from "./types";
2
+ import { ContextPlugin } from "@webiny/handler";
3
+ export declare const createContextPlugin: () => ContextPlugin<CmsContext>;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.createContextPlugin = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
@@ -33,7 +33,7 @@ const getParameters = async context => {
33
33
  throw new _error.default("Could not determine locale and/or type of the CMS.", "CMS_LOCALE_AND_TYPE_ERROR");
34
34
  };
35
35
 
36
- var _default = () => {
36
+ const createContextPlugin = () => {
37
37
  return new _handler.ContextPlugin(async context => {
38
38
  var _context$http, _context$http$request;
39
39
 
@@ -45,16 +45,21 @@ var _default = () => {
45
45
  type,
46
46
  locale
47
47
  } = await getParameters(context);
48
- const systemLocale = context.i18n.getLocale(locale);
49
48
 
50
- if (!systemLocale) {
51
- throw new _error.default(`There is no locale "${locale}" in the system.`);
52
- }
49
+ const getLocale = () => {
50
+ const systemLocale = context.i18n.getLocale(locale);
51
+
52
+ if (!systemLocale) {
53
+ throw new _error.default(`There is no locale "${locale}" in the system.`);
54
+ }
55
+
56
+ return systemLocale;
57
+ };
53
58
 
54
59
  context.cms = _objectSpread(_objectSpread({}, context.cms || {}), {}, {
55
60
  type,
56
61
  locale,
57
- getLocale: () => systemLocale,
62
+ getLocale,
58
63
  READ: type === "read",
59
64
  PREVIEW: type === "preview",
60
65
  MANAGE: type === "manage"
@@ -62,4 +67,4 @@ var _default = () => {
62
67
  });
63
68
  };
64
69
 
65
- exports.default = _default;
70
+ exports.createContextPlugin = createContextPlugin;
package/context.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getParameters","context","plugins","byType","CmsParametersPlugin","type","plugin","result","WebinyError","createContextPlugin","ContextPlugin","http","request","method","locale","getLocale","systemLocale","i18n","cms","READ","PREVIEW","MANAGE"],"sources":["context.ts"],"sourcesContent":["import { CmsContext } from \"~/types\";\nimport WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/handler\";\nimport { CmsParametersPlugin, CmsParametersPluginResponse } from \"./plugins/CmsParametersPlugin\";\n\nconst getParameters = async (context: CmsContext): Promise<CmsParametersPluginResponse> => {\n const plugins = context.plugins.byType<CmsParametersPlugin>(CmsParametersPlugin.type);\n\n for (const plugin of plugins) {\n const result = await plugin.getParameters(context);\n if (result !== null) {\n return result;\n }\n }\n throw new WebinyError(\n \"Could not determine locale and/or type of the CMS.\",\n \"CMS_LOCALE_AND_TYPE_ERROR\"\n );\n};\n\nexport const createContextPlugin = () => {\n return new ContextPlugin<CmsContext>(async context => {\n if (context.http?.request?.method === \"OPTIONS\") {\n return;\n }\n\n const { type, locale } = await getParameters(context);\n\n const getLocale = () => {\n const systemLocale = context.i18n.getLocale(locale);\n if (!systemLocale) {\n throw new WebinyError(`There is no locale \"${locale}\" in the system.`);\n }\n return systemLocale;\n };\n\n context.cms = {\n ...(context.cms || {}),\n type,\n locale,\n getLocale,\n READ: type === \"read\",\n PREVIEW: type === \"preview\",\n MANAGE: type === \"manage\"\n };\n });\n};\n"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,aAAa,GAAG,MAAOC,OAAP,IAAqE;EACvF,MAAMC,OAAO,GAAGD,OAAO,CAACC,OAAR,CAAgBC,MAAhB,CAA4CC,wCAAA,CAAoBC,IAAhE,CAAhB;;EAEA,KAAK,MAAMC,MAAX,IAAqBJ,OAArB,EAA8B;IAC1B,MAAMK,MAAM,GAAG,MAAMD,MAAM,CAACN,aAAP,CAAqBC,OAArB,CAArB;;IACA,IAAIM,MAAM,KAAK,IAAf,EAAqB;MACjB,OAAOA,MAAP;IACH;EACJ;;EACD,MAAM,IAAIC,cAAJ,CACF,oDADE,EAEF,2BAFE,CAAN;AAIH,CAbD;;AAeO,MAAMC,mBAAmB,GAAG,MAAM;EACrC,OAAO,IAAIC,sBAAJ,CAA8B,MAAMT,OAAN,IAAiB;IAAA;;IAClD,IAAI,kBAAAA,OAAO,CAACU,IAAR,yFAAcC,OAAd,gFAAuBC,MAAvB,MAAkC,SAAtC,EAAiD;MAC7C;IACH;;IAED,MAAM;MAAER,IAAF;MAAQS;IAAR,IAAmB,MAAMd,aAAa,CAACC,OAAD,CAA5C;;IAEA,MAAMc,SAAS,GAAG,MAAM;MACpB,MAAMC,YAAY,GAAGf,OAAO,CAACgB,IAAR,CAAaF,SAAb,CAAuBD,MAAvB,CAArB;;MACA,IAAI,CAACE,YAAL,EAAmB;QACf,MAAM,IAAIR,cAAJ,CAAiB,uBAAsBM,MAAO,kBAA9C,CAAN;MACH;;MACD,OAAOE,YAAP;IACH,CAND;;IAQAf,OAAO,CAACiB,GAAR,mCACQjB,OAAO,CAACiB,GAAR,IAAe,EADvB;MAEIb,IAFJ;MAGIS,MAHJ;MAIIC,SAJJ;MAKII,IAAI,EAAEd,IAAI,KAAK,MALnB;MAMIe,OAAO,EAAEf,IAAI,KAAK,SANtB;MAOIgB,MAAM,EAAEhB,IAAI,KAAK;IAPrB;EASH,CAxBM,CAAP;AAyBH,CA1BM"}
@@ -1,5 +1,5 @@
1
1
  import { Topic } from "@webiny/pubsub/types";
2
- import { AfterEntryDeleteTopicParams, CmsContext } from "../../../../types";
2
+ import { AfterEntryDeleteTopicParams, CmsContext } from "../../types";
3
3
  interface AssignAfterEntryDeleteParams {
4
4
  context: CmsContext;
5
5
  onAfterEntryDelete: Topic<AfterEntryDeleteTopicParams>;
@@ -1,5 +1,5 @@
1
1
  import { Topic } from "@webiny/pubsub/types";
2
- import { BeforeEntryCreateTopicParams, CmsContext } from "../../../../types";
2
+ import { BeforeEntryCreateTopicParams, CmsContext } from "../../types";
3
3
  interface AssignBeforeEntryCreateParams {
4
4
  context: CmsContext;
5
5
  onBeforeEntryCreate: Topic<BeforeEntryCreateTopicParams>;
@@ -1,5 +1,5 @@
1
1
  import { Topic } from "@webiny/pubsub/types";
2
- import { BeforeEntryUpdateTopicParams, CmsContext } from "../../../../types";
2
+ import { BeforeEntryUpdateTopicParams, CmsContext } from "../../types";
3
3
  interface AssignBeforeEntryUpdateParams {
4
4
  context: CmsContext;
5
5
  onBeforeEntryUpdate: Topic<BeforeEntryUpdateTopicParams>;
@@ -1,4 +1,4 @@
1
- import { CmsModel, CmsContext, CmsEntry } from "../../../../types";
1
+ import { CmsModel, CmsContext, CmsEntry } from "../../types";
2
2
  declare type InputData = Record<string, any>;
3
3
  export interface ValidateModelEntryDataParams {
4
4
  context: CmsContext;
@@ -7,8 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.validateModelEntryData = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _error = _interopRequireDefault(require("@webiny/error"));
11
13
 
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
+
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
+
12
18
  const validateValue = async (args, fieldValidators, value) => {
13
19
  if (!fieldValidators) {
14
20
  return null;
@@ -174,7 +180,7 @@ const validateModelEntryData = async params => {
174
180
  model,
175
181
  validatorList,
176
182
  field,
177
- data,
183
+ data: _objectSpread(_objectSpread({}, (entry === null || entry === void 0 ? void 0 : entry.values) || {}), data),
178
184
  context,
179
185
  entry
180
186
  });
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateValue","args","fieldValidators","value","validatorList","context","field","model","entry","fieldValidator","name","validations","length","validate","result","validator","message","ex","validatePredefinedValue","enabled","values","predefinedValues","Array","isArray","predefinedValue","runFieldMultipleValuesValidations","data","fieldId","valuesError","listValidation","valueError","validation","predefinedValueError","runFieldValueValidations","error","execValidation","multipleValues","validateModelEntryData","params","plugins","byType","reduce","acc","plugin","push","invalidFields","fields","WebinyError"],"sources":["entryDataValidation.ts"],"sourcesContent":["import {\n CmsModel,\n CmsModelField,\n CmsModelFieldValidation,\n CmsContext,\n CmsModelFieldValidatorPlugin,\n CmsModelFieldValidatorValidateParams,\n CmsEntry\n} from \"~/types\";\nimport WebinyError from \"@webiny/error\";\n\ntype PluginValidationCallable = (params: CmsModelFieldValidatorValidateParams) => Promise<boolean>;\ntype PluginValidationList = Record<string, PluginValidationCallable[]>;\ntype InputData = Record<string, any>;\n\ninterface ValidateArgs {\n validatorList: PluginValidationList;\n field: CmsModelField;\n model: CmsModel;\n data: InputData;\n context: CmsContext;\n entry?: CmsEntry;\n}\n\ntype PossibleValue = boolean | number | string | null | undefined;\n\nconst validateValue = async (\n args: ValidateArgs,\n fieldValidators: CmsModelFieldValidation[],\n value: PossibleValue | PossibleValue[]\n): Promise<string | null> => {\n if (!fieldValidators) {\n return null;\n }\n\n const { validatorList, context, field, model, entry } = args;\n try {\n for (const fieldValidator of fieldValidators) {\n const name = fieldValidator.name;\n const validations = validatorList[name];\n if (!validations || validations.length === 0) {\n return `There are no \"${name}\" validators defined.`;\n }\n for (const validate of validations) {\n const result = await validate({\n value,\n context,\n validator: fieldValidator,\n field,\n model,\n entry\n });\n if (!result) {\n return fieldValidator.message;\n }\n }\n }\n } catch (ex) {\n return ex.message;\n }\n\n return null;\n};\n\nconst validatePredefinedValue = (field: CmsModelField, value: any | any[]): string | null => {\n const { enabled = false, values: predefinedValues = [] } = field.predefinedValues || {};\n if (!enabled) {\n return null;\n } else if (Array.isArray(predefinedValues) === false || predefinedValues.length === 0) {\n return \"Missing predefined values to validate against.\";\n }\n for (const predefinedValue of predefinedValues) {\n if (predefinedValue.value == value) {\n return null;\n }\n }\n return \"Value sent does not match any of the available predefined values.\";\n};\n/**\n * When multiple values is selected we must run validations on the array containing the values\n * And then on each value in the array\n */\nconst runFieldMultipleValuesValidations = async (args: ValidateArgs): Promise<string | null> => {\n const { field, data } = args;\n const values = data[field.fieldId] || [];\n if (Array.isArray(values) === false) {\n return `Value of the field \"${field.fieldId}\" is not an array.`;\n }\n const valuesError = await validateValue(args, field.listValidation || [], values);\n if (valuesError) {\n return valuesError;\n }\n for (const value of values) {\n const valueError = await validateValue(args, field.validation || [], value);\n if (valueError) {\n return valueError;\n }\n const predefinedValueError = validatePredefinedValue(field, value);\n if (predefinedValueError) {\n return predefinedValueError;\n }\n }\n return null;\n};\n/**\n * Runs validation on given value.\n */\nconst runFieldValueValidations = async (args: ValidateArgs): Promise<string | null> => {\n const { data, field } = args;\n const value = data[field.fieldId];\n const error = await validateValue(args, field.validation || [], value);\n if (error) {\n return error;\n }\n return validatePredefinedValue(field, value);\n};\n\nconst execValidation = async (args: ValidateArgs): Promise<string | null> => {\n if (args.field.multipleValues) {\n return await runFieldMultipleValuesValidations(args);\n }\n return await runFieldValueValidations(args);\n};\n\nexport interface ValidateModelEntryDataParams {\n context: CmsContext;\n model: CmsModel;\n data: InputData;\n entry?: CmsEntry;\n}\nexport const validateModelEntryData = async (params: ValidateModelEntryDataParams) => {\n const { context, model, entry, data } = params;\n /**\n * To later simplify searching for the validations we map them to a name.\n * @see CmsModelFieldValidatorPlugin.validator.validate\n */\n const validatorList: PluginValidationList = context.plugins\n .byType<CmsModelFieldValidatorPlugin>(\"cms-model-field-validator\")\n .reduce((acc, plugin) => {\n const name = plugin.validator.name;\n if (!acc[name]) {\n acc[name] = [];\n }\n acc[name].push(plugin.validator.validate);\n\n return acc;\n }, {} as PluginValidationList);\n\n /**\n * Loop through model fields and validate the corresponding data.\n * Run validation only if the field has validation configured.\n */\n const invalidFields = [];\n for (const field of model.fields) {\n const error = await execValidation({\n model,\n validatorList,\n field,\n data: {\n ...(entry?.values || {}),\n ...data\n },\n context,\n entry\n });\n if (!error) {\n continue;\n }\n invalidFields.push({\n fieldId: field.fieldId,\n error\n });\n }\n\n if (invalidFields.length > 0) {\n throw new WebinyError(\"Validation failed.\", \"VALIDATION_FAILED\", invalidFields);\n }\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CmsEntry, CmsModel, CmsContext } from "../../../../types";
1
+ import { CmsEntry, CmsModel, CmsContext } from "../../types";
2
2
  interface MarkLockedFieldsParams {
3
3
  model: CmsModel;
4
4
  entry: CmsEntry;
@@ -11,7 +11,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
11
11
 
12
12
  var _error = _interopRequireDefault(require("@webiny/error"));
13
13
 
14
- var _CmsModelPlugin = require("../../CmsModelPlugin");
14
+ var _CmsModelPlugin = require("../../plugins/CmsModelPlugin");
15
15
 
16
16
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
17
 
@@ -0,0 +1 @@
1
+ {"version":3,"names":["markLockedFields","params","model","context","plugins","byType","CmsModelPlugin","type","find","plugin","contentModel","modelId","cmsLockedFieldPlugins","existingLockedFields","lockedFields","field","fields","alreadyLocked","some","lockedField","fieldId","lockedFieldData","lockedFieldPlugins","filter","pl","fieldType","getLockedFieldData","data","push","multipleValues","length","newLockedFields","concat","cms","updateModelDirect","original","ex","WebinyError","markUnlockedFields"],"sources":["markLockedFields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsEntry, CmsModel, CmsContext, CmsModelLockedFieldPlugin, LockedField } from \"~/types\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\n\ninterface MarkLockedFieldsParams {\n model: CmsModel;\n entry: CmsEntry;\n context: CmsContext;\n}\nexport const markLockedFields = async (params: MarkLockedFieldsParams): Promise<void> => {\n const { model, context } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n const cmsLockedFieldPlugins =\n context.plugins.byType<CmsModelLockedFieldPlugin>(\"cms-model-locked-field\");\n\n const existingLockedFields = model.lockedFields || [];\n const lockedFields: LockedField[] = [];\n for (const field of model.fields) {\n const alreadyLocked = existingLockedFields.some(\n lockedField => lockedField.fieldId === field.fieldId\n );\n if (alreadyLocked) {\n continue;\n }\n\n let lockedFieldData = {};\n\n const lockedFieldPlugins = cmsLockedFieldPlugins.filter(pl => pl.fieldType === field.type);\n for (const plugin of lockedFieldPlugins) {\n if (typeof plugin.getLockedFieldData !== \"function\") {\n continue;\n }\n const data = plugin.getLockedFieldData({\n field\n });\n lockedFieldData = { ...lockedFieldData, ...data };\n }\n\n lockedFields.push({\n fieldId: field.fieldId,\n multipleValues: !!field.multipleValues,\n type: field.type,\n ...lockedFieldData\n });\n }\n // no need to update anything if no locked fields were added\n if (lockedFields.length === 0) {\n return;\n }\n\n const newLockedFields = existingLockedFields.concat(lockedFields);\n\n try {\n await context.cms.updateModelDirect({\n original: model,\n model: {\n ...model,\n lockedFields: newLockedFields\n }\n });\n model.lockedFields = newLockedFields;\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with new locked fields.`,\n \"MODEL_LOCKED_FIELDS_UPDATE_FAILED\",\n ex\n );\n }\n};\n\nexport interface MarkFieldsUnlockedParams {\n context: CmsContext;\n model: CmsModel;\n}\nexport const markUnlockedFields = async (params: MarkFieldsUnlockedParams) => {\n const { context, model } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n try {\n await context.cms.updateModelDirect({\n original: model,\n model: {\n ...model,\n lockedFields: []\n }\n });\n model.lockedFields = [];\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with unlocked fields.`,\n \"MODEL_UNLOCKED_FIELDS_UPDATE_FAILED\",\n ex\n );\n }\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CmsContext, CmsModel } from "../../../../types";
1
+ import { CmsContext, CmsModel } from "../../types";
2
2
  interface ReferenceObject {
3
3
  id: string;
4
4
  modelId: string;
@@ -1,4 +1,4 @@
1
- import { CmsEntryContext, CmsContext, HeadlessCmsStorageOperations } from "../../../types";
1
+ import { CmsEntryContext, CmsContext, HeadlessCmsStorageOperations } from "../types";
2
2
  import { SecurityIdentity } from "@webiny/api-security/types";
3
3
  import { Tenant } from "@webiny/api-tenancy/types";
4
4
  export declare const STATUS_DRAFT = "draft";
@@ -13,8 +13,6 @@ var _mdbid = _interopRequireDefault(require("mdbid"));
13
13
 
14
14
  var _handlerGraphql = require("@webiny/handler-graphql");
15
15
 
16
- var utils = _interopRequireWildcard(require("../../../utils"));
17
-
18
16
  var _entryDataValidation = require("./contentEntry/entryDataValidation");
19
17
 
20
18
  var _error = _interopRequireDefault(require("@webiny/error"));
@@ -25,17 +23,21 @@ var _beforeCreate = require("./contentEntry/beforeCreate");
25
23
 
26
24
  var _beforeUpdate = require("./contentEntry/beforeUpdate");
27
25
 
28
- var _utils2 = require("@webiny/utils");
29
-
30
- var _entryStorage = require("../utils/entryStorage");
26
+ var _utils = require("@webiny/utils");
31
27
 
32
28
  var _afterDelete = require("./contentEntry/afterDelete");
33
29
 
34
30
  var _referenceFieldsMapping = require("./contentEntry/referenceFieldsMapping");
35
31
 
36
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
32
+ var _merge = _interopRequireDefault(require("lodash/merge"));
33
+
34
+ var _permissions = require("../utils/permissions");
37
35
 
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
36
+ var _access = require("../utils/access");
37
+
38
+ var _ownership = require("../utils/ownership");
39
+
40
+ var _entryStorage = require("../utils/entryStorage");
39
41
 
40
42
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
41
43
 
@@ -50,12 +52,11 @@ exports.STATUS_UNPUBLISHED = STATUS_UNPUBLISHED;
50
52
  const STATUS_CHANGES_REQUESTED = "changesRequested";
51
53
  exports.STATUS_CHANGES_REQUESTED = STATUS_CHANGES_REQUESTED;
52
54
  const STATUS_REVIEW_REQUESTED = "reviewRequested";
55
+ exports.STATUS_REVIEW_REQUESTED = STATUS_REVIEW_REQUESTED;
56
+
53
57
  /**
54
58
  * Used for some fields to convert their values.
55
59
  */
56
-
57
- exports.STATUS_REVIEW_REQUESTED = STATUS_REVIEW_REQUESTED;
58
-
59
60
  const convertDefaultValue = (field, value) => {
60
61
  switch (field.type) {
61
62
  case "boolean":
@@ -141,13 +142,32 @@ const cleanUpdatedInputData = (model, input) => {
141
142
  return acc;
142
143
  }, {});
143
144
  };
145
+ /**
146
+ * This method takes original entry meta and new input.
147
+ * When new meta is merged onto the existing one, everything that has undefined or null value is removed.
148
+ */
149
+
150
+
151
+ const createEntryMeta = (input, original) => {
152
+ const meta = (0, _merge.default)(original || {}, input || {});
153
+
154
+ for (const key in meta) {
155
+ if (meta[key] !== undefined || meta[key] !== null) {
156
+ continue;
157
+ }
158
+
159
+ delete meta[key];
160
+ }
161
+
162
+ return meta;
163
+ };
144
164
 
145
165
  const createEntryId = version => {
146
166
  const entryId = (0, _mdbid.default)();
147
167
  return {
148
168
  entryId,
149
169
  version,
150
- id: (0, _utils2.createIdentifier)({
170
+ id: (0, _utils.createIdentifier)({
151
171
  id: entryId,
152
172
  version
153
173
  })
@@ -158,7 +178,7 @@ const increaseEntryIdVersion = id => {
158
178
  const {
159
179
  id: entryId,
160
180
  version
161
- } = (0, _utils2.parseIdentifier)(id);
181
+ } = (0, _utils.parseIdentifier)(id);
162
182
 
163
183
  if (!version) {
164
184
  throw new _error.default("Cannot increase version on the ID without the version part.", "WRONG_ID", {
@@ -169,7 +189,7 @@ const increaseEntryIdVersion = id => {
169
189
  return {
170
190
  entryId,
171
191
  version: version + 1,
172
- id: (0, _utils2.createIdentifier)({
192
+ id: (0, _utils.createIdentifier)({
173
193
  id: entryId,
174
194
  version: version + 1
175
195
  })
@@ -246,7 +266,7 @@ const createContentEntryCrud = params => {
246
266
  });
247
267
 
248
268
  const checkEntryPermissions = check => {
249
- return utils.checkPermissions(context, "cms.contentEntry", check);
269
+ return (0, _permissions.checkPermissions)(context, "cms.contentEntry", check);
250
270
  };
251
271
  /**
252
272
  * A helper to delete the entire entry.
@@ -286,11 +306,11 @@ const createContentEntryCrud = params => {
286
306
  const permission = await checkEntryPermissions({
287
307
  rwd: "r"
288
308
  });
289
- await utils.checkModelAccess(context, model);
309
+ await (0, _access.checkModelAccess)(context, model);
290
310
  const entries = await storageOperations.entries.getByIds(model, {
291
311
  ids
292
312
  });
293
- return entries.filter(entry => utils.validateOwnership(context, permission, entry));
313
+ return entries.filter(entry => (0, _ownership.validateOwnership)(context, permission, entry));
294
314
  };
295
315
 
296
316
  return {
@@ -347,11 +367,11 @@ const createContentEntryCrud = params => {
347
367
  const permission = await checkEntryPermissions({
348
368
  rwd: "r"
349
369
  });
350
- await utils.checkModelAccess(context, model);
370
+ await (0, _access.checkModelAccess)(context, model);
351
371
  const entries = await storageOperations.entries.getPublishedByIds(model, {
352
372
  ids
353
373
  });
354
- return entries.filter(entry => utils.validateOwnership(context, permission, entry));
374
+ return entries.filter(entry => (0, _ownership.validateOwnership)(context, permission, entry));
355
375
  },
356
376
 
357
377
  /**
@@ -361,11 +381,11 @@ const createContentEntryCrud = params => {
361
381
  const permission = await checkEntryPermissions({
362
382
  rwd: "r"
363
383
  });
364
- await utils.checkModelAccess(context, model);
384
+ await (0, _access.checkModelAccess)(context, model);
365
385
  const entries = await storageOperations.entries.getLatestByIds(model, {
366
386
  ids
367
387
  });
368
- return entries.filter(entry => utils.validateOwnership(context, permission, entry));
388
+ return entries.filter(entry => (0, _ownership.validateOwnership)(context, permission, entry));
369
389
  },
370
390
  getEntryRevisions: async (model, entryId) => {
371
391
  return storageOperations.entries.getRevisions(model, {
@@ -412,7 +432,7 @@ const createContentEntryCrud = params => {
412
432
  const permission = await checkEntryPermissions({
413
433
  rwd: "r"
414
434
  });
415
- await utils.checkModelAccess(context, model);
435
+ await (0, _access.checkModelAccess)(context, model);
416
436
  const {
417
437
  where: initialWhere
418
438
  } = params;
@@ -502,7 +522,7 @@ const createContentEntryCrud = params => {
502
522
  await checkEntryPermissions({
503
523
  rwd: "w"
504
524
  });
505
- await utils.checkModelAccess(context, model);
525
+ await (0, _access.checkModelAccess)(context, model);
506
526
  /**
507
527
  * Make sure we only work with fields that are defined in the model.
508
528
  */
@@ -580,7 +600,7 @@ const createContentEntryCrud = params => {
580
600
  const permission = await checkEntryPermissions({
581
601
  rwd: "w"
582
602
  });
583
- await utils.checkModelAccess(context, model);
603
+ await (0, _access.checkModelAccess)(context, model);
584
604
  /**
585
605
  * Make sure we only work with fields that are defined in the model.
586
606
  */
@@ -592,7 +612,7 @@ const createContentEntryCrud = params => {
592
612
 
593
613
  const {
594
614
  id: uniqueId
595
- } = (0, _utils2.parseIdentifier)(sourceId);
615
+ } = (0, _utils.parseIdentifier)(sourceId);
596
616
  const originalStorageEntry = await storageOperations.entries.getRevisionById(model, {
597
617
  id: sourceId
598
618
  });
@@ -624,7 +644,7 @@ const createContentEntryCrud = params => {
624
644
  input: initialValues,
625
645
  validateEntries: false
626
646
  });
627
- utils.checkOwnership(context, permission, originalEntry);
647
+ (0, _ownership.checkOwnership)(context, permission, originalEntry);
628
648
  const identity = context.security.getIdentity();
629
649
  const latestId = latestStorageEntry ? latestStorageEntry.id : sourceId;
630
650
  const {
@@ -680,11 +700,11 @@ const createContentEntryCrud = params => {
680
700
  });
681
701
  }
682
702
  },
683
- updateEntry: async (model, id, inputData) => {
703
+ updateEntry: async (model, id, inputData, metaInput) => {
684
704
  const permission = await checkEntryPermissions({
685
705
  rwd: "w"
686
706
  });
687
- await utils.checkModelAccess(context, model);
707
+ await (0, _access.checkModelAccess)(context, model);
688
708
  /**
689
709
  * Make sure we only work with fields that are defined in the model.
690
710
  */
@@ -713,7 +733,7 @@ const createContentEntryCrud = params => {
713
733
  data: input,
714
734
  entry: originalEntry
715
735
  });
716
- utils.checkOwnership(context, permission, originalEntry);
736
+ (0, _ownership.checkOwnership)(context, permission, originalEntry);
717
737
 
718
738
  const initialValues = _objectSpread(_objectSpread({}, originalEntry.values), input);
719
739
 
@@ -723,13 +743,19 @@ const createContentEntryCrud = params => {
723
743
  input: initialValues,
724
744
  validateEntries: false
725
745
  });
746
+ /**
747
+ * If users wants to remove a key from meta values, they need to send meta key with the null value.
748
+ */
749
+
750
+ const meta = createEntryMeta(metaInput, originalEntry.meta);
726
751
  /**
727
752
  * We always send the full entry to the hooks and storage operations update.
728
753
  */
729
754
 
730
755
  const entry = _objectSpread(_objectSpread({}, originalEntry), {}, {
731
756
  savedOn: new Date().toISOString(),
732
- values
757
+ values,
758
+ meta
733
759
  });
734
760
 
735
761
  let storageEntry = null;
@@ -768,7 +794,7 @@ const createContentEntryCrud = params => {
768
794
  await checkEntryPermissions({
769
795
  rwd: "w"
770
796
  });
771
- await utils.checkModelAccess(context, model);
797
+ await (0, _access.checkModelAccess)(context, model);
772
798
  /**
773
799
  * Fetch the entry from the storage.
774
800
  */
@@ -841,11 +867,11 @@ const createContentEntryCrud = params => {
841
867
  const permission = await checkEntryPermissions({
842
868
  rwd: "d"
843
869
  });
844
- await utils.checkModelAccess(context, model);
870
+ await (0, _access.checkModelAccess)(context, model);
845
871
  const {
846
872
  id: entryId,
847
873
  version
848
- } = (0, _utils2.parseIdentifier)(revisionId);
874
+ } = (0, _utils.parseIdentifier)(revisionId);
849
875
  const storageEntryToDelete = await storageOperations.entries.getRevisionById(model, {
850
876
  id: revisionId
851
877
  });
@@ -861,7 +887,7 @@ const createContentEntryCrud = params => {
861
887
  throw new _handlerGraphql.NotFoundError(`Entry "${revisionId}" was not found!`);
862
888
  }
863
889
 
864
- utils.checkOwnership(context, permission, storageEntryToDelete);
890
+ (0, _ownership.checkOwnership)(context, permission, storageEntryToDelete);
865
891
  const latestEntryRevisionId = latestStorageEntry ? latestStorageEntry.id : null;
866
892
  const entryToDelete = await (0, _entryStorage.entryFromStorageTransform)(context, model, storageEntryToDelete);
867
893
  /**
@@ -917,7 +943,7 @@ const createContentEntryCrud = params => {
917
943
  const permission = await checkEntryPermissions({
918
944
  rwd: "d"
919
945
  });
920
- await utils.checkModelAccess(context, model);
946
+ await (0, _access.checkModelAccess)(context, model);
921
947
  const storageEntry = await storageOperations.entries.getLatestRevisionByEntryId(model, {
922
948
  id: entryId
923
949
  });
@@ -926,7 +952,7 @@ const createContentEntryCrud = params => {
926
952
  throw new _handlerGraphql.NotFoundError(`Entry "${entryId}" was not found!`);
927
953
  }
928
954
 
929
- utils.checkOwnership(context, permission, storageEntry);
955
+ (0, _ownership.checkOwnership)(context, permission, storageEntry);
930
956
  const entry = await (0, _entryStorage.entryFromStorageTransform)(context, model, storageEntry);
931
957
  return await deleteEntry({
932
958
  model,
@@ -937,7 +963,7 @@ const createContentEntryCrud = params => {
937
963
  const permission = await checkEntryPermissions({
938
964
  pw: "p"
939
965
  });
940
- await utils.checkModelAccess(context, model);
966
+ await (0, _access.checkModelAccess)(context, model);
941
967
  const originalStorageEntry = await storageOperations.entries.getRevisionById(model, {
942
968
  id
943
969
  });
@@ -946,7 +972,7 @@ const createContentEntryCrud = params => {
946
972
  throw new _handlerGraphql.NotFoundError(`Entry "${id}" in the model "${model.modelId}" was not found.`);
947
973
  }
948
974
 
949
- utils.checkOwnership(context, permission, originalStorageEntry);
975
+ (0, _ownership.checkOwnership)(context, permission, originalStorageEntry);
950
976
  const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
951
977
  const currentDate = new Date().toISOString();
952
978
 
@@ -1009,7 +1035,7 @@ const createContentEntryCrud = params => {
1009
1035
  throw new _error.default("You cannot request changes on your own entry.", "CANNOT_REQUEST_CHANGES_ON_OWN_ENTRY");
1010
1036
  }
1011
1037
 
1012
- utils.checkOwnership(context, permission, originalEntry);
1038
+ (0, _ownership.checkOwnership)(context, permission, originalEntry);
1013
1039
 
1014
1040
  const entry = _objectSpread(_objectSpread({}, originalEntry), {}, {
1015
1041
  status: STATUS_CHANGES_REQUESTED
@@ -1046,7 +1072,7 @@ const createContentEntryCrud = params => {
1046
1072
  });
1047
1073
  const {
1048
1074
  id: entryId
1049
- } = (0, _utils2.parseIdentifier)(id);
1075
+ } = (0, _utils.parseIdentifier)(id);
1050
1076
  const originalStorageEntry = await storageOperations.entries.getRevisionById(model, {
1051
1077
  id
1052
1078
  });
@@ -1069,7 +1095,7 @@ const createContentEntryCrud = params => {
1069
1095
  });
1070
1096
  }
1071
1097
 
1072
- utils.checkOwnership(context, permission, originalEntry);
1098
+ (0, _ownership.checkOwnership)(context, permission, originalEntry);
1073
1099
 
1074
1100
  const entry = _objectSpread(_objectSpread({}, originalEntry), {}, {
1075
1101
  status: STATUS_REVIEW_REQUESTED
@@ -1106,7 +1132,7 @@ const createContentEntryCrud = params => {
1106
1132
  });
1107
1133
  const {
1108
1134
  id: entryId
1109
- } = (0, _utils2.parseIdentifier)(id);
1135
+ } = (0, _utils.parseIdentifier)(id);
1110
1136
  const originalStorageEntry = await storageOperations.entries.getPublishedRevisionByEntryId(model, {
1111
1137
  id: entryId
1112
1138
  });
@@ -1121,7 +1147,7 @@ const createContentEntryCrud = params => {
1121
1147
  });
1122
1148
  }
1123
1149
 
1124
- utils.checkOwnership(context, permission, originalStorageEntry);
1150
+ (0, _ownership.checkOwnership)(context, permission, originalStorageEntry);
1125
1151
  const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
1126
1152
 
1127
1153
  const entry = _objectSpread(_objectSpread({}, originalEntry), {}, {