@webiny/api-headless-cms 0.0.0-mt-2 → 0.0.0-unstable.085ff6572f

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 (680) hide show
  1. package/constants.d.ts +1 -0
  2. package/constants.js +8 -0
  3. package/constants.js.map +1 -0
  4. package/context.d.ts +6 -0
  5. package/context.js +130 -0
  6. package/context.js.map +1 -0
  7. package/crud/contentEntry/afterDelete.d.ts +8 -0
  8. package/{content/plugins/crud → crud}/contentEntry/afterDelete.js +2 -7
  9. package/crud/contentEntry/afterDelete.js.map +1 -0
  10. package/crud/contentEntry/beforeCreate.d.ts +8 -0
  11. package/{content/plugins/crud → crud}/contentEntry/beforeCreate.js +2 -5
  12. package/crud/contentEntry/beforeCreate.js.map +1 -0
  13. package/crud/contentEntry/beforeUpdate.d.ts +8 -0
  14. package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.js +2 -5
  15. package/crud/contentEntry/beforeUpdate.js.map +1 -0
  16. package/crud/contentEntry/entryDataValidation.d.ts +10 -0
  17. package/{content/plugins/crud → crud}/contentEntry/entryDataValidation.js +22 -49
  18. package/crud/contentEntry/entryDataValidation.js.map +1 -0
  19. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.d.ts +3 -2
  20. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.js +29 -43
  21. package/crud/contentEntry/markLockedFields.js.map +1 -0
  22. package/crud/contentEntry/referenceFieldsMapping.d.ts +13 -0
  23. package/crud/contentEntry/referenceFieldsMapping.js +265 -0
  24. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -0
  25. package/crud/contentEntry/searchableFields.d.ts +9 -0
  26. package/crud/contentEntry/searchableFields.js +72 -0
  27. package/crud/contentEntry/searchableFields.js.map +1 -0
  28. package/crud/contentEntry.crud.d.ts +20 -0
  29. package/crud/contentEntry.crud.js +1477 -0
  30. package/crud/contentEntry.crud.js.map +1 -0
  31. package/crud/contentModel/afterCreate.d.ts +8 -0
  32. package/crud/contentModel/afterCreate.js +16 -0
  33. package/crud/contentModel/afterCreate.js.map +1 -0
  34. package/crud/contentModel/afterCreateFrom.d.ts +8 -0
  35. package/crud/contentModel/afterCreateFrom.js +16 -0
  36. package/crud/contentModel/afterCreateFrom.js.map +1 -0
  37. package/crud/contentModel/afterDelete.d.ts +8 -0
  38. package/crud/contentModel/afterDelete.js +16 -0
  39. package/crud/contentModel/afterDelete.js.map +1 -0
  40. package/crud/contentModel/afterUpdate.d.ts +8 -0
  41. package/crud/contentModel/afterUpdate.js +16 -0
  42. package/crud/contentModel/afterUpdate.js.map +1 -0
  43. package/crud/contentModel/beforeCreate.d.ts +14 -0
  44. package/crud/contentModel/beforeCreate.js +128 -0
  45. package/crud/contentModel/beforeCreate.js.map +1 -0
  46. package/crud/contentModel/beforeDelete.d.ts +10 -0
  47. package/{content/plugins/crud → crud}/contentModel/beforeDelete.js +8 -18
  48. package/crud/contentModel/beforeDelete.js.map +1 -0
  49. package/crud/contentModel/beforeUpdate.d.ts +8 -0
  50. package/crud/contentModel/beforeUpdate.js +60 -0
  51. package/crud/contentModel/beforeUpdate.js.map +1 -0
  52. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  53. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  54. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  55. package/crud/contentModel/contentModelManagerFactory.d.ts +2 -0
  56. package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js +0 -7
  57. package/crud/contentModel/contentModelManagerFactory.js.map +1 -0
  58. package/crud/contentModel/createFieldStorageId.d.ts +2 -0
  59. package/crud/contentModel/createFieldStorageId.js +17 -0
  60. package/crud/contentModel/createFieldStorageId.js.map +1 -0
  61. package/crud/contentModel/defaultFields.d.ts +5 -0
  62. package/crud/contentModel/defaultFields.js +58 -0
  63. package/crud/contentModel/defaultFields.js.map +1 -0
  64. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  65. package/crud/contentModel/fields/descriptionField.js +42 -0
  66. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  67. package/crud/contentModel/fields/imageField.d.ts +2 -0
  68. package/crud/contentModel/fields/imageField.js +46 -0
  69. package/crud/contentModel/fields/imageField.js.map +1 -0
  70. package/crud/contentModel/fields/titleField.d.ts +2 -0
  71. package/crud/contentModel/fields/titleField.js +58 -0
  72. package/crud/contentModel/fields/titleField.js.map +1 -0
  73. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  74. package/crud/contentModel/validate/endingAllowed.js +26 -0
  75. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  76. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  77. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  78. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  79. package/crud/contentModel/validate/modelId.d.ts +11 -0
  80. package/crud/contentModel/validate/modelId.js +36 -0
  81. package/crud/contentModel/validate/modelId.js.map +1 -0
  82. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  83. package/crud/contentModel/validate/pluralApiName.js +24 -0
  84. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  85. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  86. package/crud/contentModel/validate/singularApiName.js +24 -0
  87. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  88. package/crud/contentModel/validateLayout.d.ts +2 -0
  89. package/{content/plugins/crud → crud}/contentModel/validateLayout.js +1 -11
  90. package/crud/contentModel/validateLayout.js.map +1 -0
  91. package/crud/contentModel/validateModel.d.ts +9 -0
  92. package/crud/contentModel/validateModel.js +27 -0
  93. package/crud/contentModel/validateModel.js.map +1 -0
  94. package/crud/contentModel/validateModelFields.d.ts +9 -0
  95. package/crud/contentModel/validateModelFields.js +342 -0
  96. package/crud/contentModel/validateModelFields.js.map +1 -0
  97. package/crud/contentModel/validation.d.ts +551 -0
  98. package/crud/contentModel/validation.js +145 -0
  99. package/crud/contentModel/validation.js.map +1 -0
  100. package/crud/contentModel.crud.d.ts +14 -0
  101. package/crud/contentModel.crud.js +626 -0
  102. package/crud/contentModel.crud.js.map +1 -0
  103. package/crud/contentModelGroup/beforeCreate.d.ts +10 -0
  104. package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.js +8 -20
  105. package/crud/contentModelGroup/beforeCreate.js.map +1 -0
  106. package/crud/contentModelGroup/beforeDelete.d.ts +10 -0
  107. package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.js +4 -12
  108. package/crud/contentModelGroup/beforeDelete.js.map +1 -0
  109. package/crud/contentModelGroup/beforeUpdate.d.ts +9 -0
  110. package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.js +3 -8
  111. package/crud/contentModelGroup/beforeUpdate.js.map +1 -0
  112. package/crud/contentModelGroup/validation.d.ts +30 -0
  113. package/crud/contentModelGroup/validation.js +34 -0
  114. package/crud/contentModelGroup/validation.js.map +1 -0
  115. package/{content/plugins/crud → crud}/contentModelGroup.crud.d.ts +5 -3
  116. package/crud/contentModelGroup.crud.js +367 -0
  117. package/crud/contentModelGroup.crud.js.map +1 -0
  118. package/crud/settings.crud.d.ts +12 -0
  119. package/crud/settings.crud.js +62 -0
  120. package/crud/settings.crud.js.map +1 -0
  121. package/{content/plugins/crud/contentModel.crud.d.ts → crud/system.crud.d.ts} +5 -4
  122. package/crud/system.crud.js +126 -0
  123. package/crud/system.crud.js.map +1 -0
  124. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +7 -0
  125. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +53 -0
  126. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -0
  127. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  128. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  129. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  130. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +11 -0
  131. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +251 -0
  132. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -0
  133. package/fieldConverters/index.d.ts +4 -0
  134. package/fieldConverters/index.js +13 -0
  135. package/fieldConverters/index.js.map +1 -0
  136. package/graphql/buildSchemaPlugins.d.ts +11 -0
  137. package/graphql/buildSchemaPlugins.js +19 -0
  138. package/graphql/buildSchemaPlugins.js.map +1 -0
  139. package/graphql/checkEndpointAccess.d.ts +2 -0
  140. package/graphql/checkEndpointAccess.js +18 -0
  141. package/graphql/checkEndpointAccess.js.map +1 -0
  142. package/graphql/createExecutableSchema.d.ts +6 -0
  143. package/graphql/createExecutableSchema.js +29 -0
  144. package/graphql/createExecutableSchema.js.map +1 -0
  145. package/graphql/createRequestBody.d.ts +2 -0
  146. package/graphql/createRequestBody.js +14 -0
  147. package/graphql/createRequestBody.js.map +1 -0
  148. package/graphql/formatErrorPayload.d.ts +1 -0
  149. package/graphql/formatErrorPayload.js +25 -0
  150. package/graphql/formatErrorPayload.js.map +1 -0
  151. package/graphql/generateSchema.d.ts +8 -0
  152. package/graphql/generateSchema.js +31 -0
  153. package/graphql/generateSchema.js.map +1 -0
  154. package/graphql/getSchema.d.ts +17 -0
  155. package/graphql/getSchema.js +102 -0
  156. package/graphql/getSchema.js.map +1 -0
  157. package/graphql/graphQLHandlerFactory.d.ts +5 -0
  158. package/graphql/graphQLHandlerFactory.js +35 -0
  159. package/graphql/graphQLHandlerFactory.js.map +1 -0
  160. package/graphql/handleRequest.d.ts +11 -0
  161. package/graphql/handleRequest.js +81 -0
  162. package/graphql/handleRequest.js.map +1 -0
  163. package/graphql/index.d.ts +3 -0
  164. package/graphql/index.js +13 -0
  165. package/graphql/index.js.map +1 -0
  166. package/graphql/schema/baseContentSchema.d.ts +7 -0
  167. package/graphql/schema/baseContentSchema.js +66 -0
  168. package/graphql/schema/baseContentSchema.js.map +1 -0
  169. package/graphql/schema/baseSchema.d.ts +3 -0
  170. package/graphql/schema/baseSchema.js +84 -0
  171. package/graphql/schema/baseSchema.js.map +1 -0
  172. package/graphql/schema/contentEntries.d.ts +7 -0
  173. package/graphql/schema/contentEntries.js +367 -0
  174. package/graphql/schema/contentEntries.js.map +1 -0
  175. package/graphql/schema/contentModelGroups.d.ts +7 -0
  176. package/{content/plugins → graphql}/schema/contentModelGroups.js +39 -33
  177. package/graphql/schema/contentModelGroups.js.map +1 -0
  178. package/graphql/schema/contentModels.d.ts +7 -0
  179. package/{content/plugins → graphql}/schema/contentModels.js +121 -29
  180. package/graphql/schema/contentModels.js.map +1 -0
  181. package/graphql/schema/createFieldResolvers.d.ts +20 -0
  182. package/graphql/schema/createFieldResolvers.js +104 -0
  183. package/graphql/schema/createFieldResolvers.js.map +1 -0
  184. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  185. package/graphql/schema/createFieldTypePluginRecords.js +13 -0
  186. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  187. package/graphql/schema/createManageResolvers.d.ts +12 -0
  188. package/graphql/schema/createManageResolvers.js +141 -0
  189. package/graphql/schema/createManageResolvers.js.map +1 -0
  190. package/graphql/schema/createManageSDL.d.ts +13 -0
  191. package/graphql/schema/createManageSDL.js +180 -0
  192. package/graphql/schema/createManageSDL.js.map +1 -0
  193. package/graphql/schema/createPreviewResolvers.d.ts +12 -0
  194. package/graphql/schema/createPreviewResolvers.js +44 -0
  195. package/graphql/schema/createPreviewResolvers.js.map +1 -0
  196. package/graphql/schema/createReadResolvers.d.ts +12 -0
  197. package/graphql/schema/createReadResolvers.js +49 -0
  198. package/graphql/schema/createReadResolvers.js.map +1 -0
  199. package/graphql/schema/createReadSDL.d.ts +13 -0
  200. package/graphql/schema/createReadSDL.js +104 -0
  201. package/graphql/schema/createReadSDL.js.map +1 -0
  202. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +7 -0
  203. package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js +2 -3
  204. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -0
  205. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +7 -0
  206. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js +2 -7
  207. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -0
  208. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +8 -0
  209. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js +2 -7
  210. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -0
  211. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +8 -0
  212. package/graphql/schema/resolvers/manage/resolveDelete.js +36 -0
  213. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -0
  214. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  215. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +20 -0
  216. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  217. package/graphql/schema/resolvers/manage/resolveGet.d.ts +7 -0
  218. package/graphql/schema/resolvers/manage/resolveGet.js +63 -0
  219. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -0
  220. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +7 -0
  221. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js +2 -7
  222. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -0
  223. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +7 -0
  224. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js +2 -7
  225. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -0
  226. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  227. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +18 -0
  228. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  229. package/graphql/schema/resolvers/manage/resolveList.d.ts +4 -0
  230. package/{content/plugins/schema/resolvers/preview → graphql/schema/resolvers/manage}/resolveList.js +2 -7
  231. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -0
  232. package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
  233. package/graphql/schema/resolvers/manage/resolveMove.js +30 -0
  234. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
  235. package/graphql/schema/resolvers/manage/resolvePublish.d.ts +7 -0
  236. package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js +0 -3
  237. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -0
  238. package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +7 -0
  239. package/{content/plugins/schema/resolvers/manage/resolveGet.js → graphql/schema/resolvers/manage/resolveRepublish.js} +4 -7
  240. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -0
  241. package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +7 -0
  242. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.js +0 -3
  243. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -0
  244. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +8 -0
  245. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.js +2 -7
  246. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -0
  247. package/graphql/schema/resolvers/preview/resolveGet.d.ts +4 -0
  248. package/graphql/schema/resolvers/preview/resolveGet.js +26 -0
  249. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -0
  250. package/graphql/schema/resolvers/preview/resolveList.d.ts +4 -0
  251. package/{content/plugins/schema/resolvers/manage → graphql/schema/resolvers/preview}/resolveList.js +2 -7
  252. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -0
  253. package/graphql/schema/resolvers/read/resolveGet.d.ts +4 -0
  254. package/graphql/schema/resolvers/read/resolveGet.js +26 -0
  255. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -0
  256. package/graphql/schema/resolvers/read/resolveList.d.ts +4 -0
  257. package/{content/plugins → graphql}/schema/resolvers/read/resolveList.js +2 -7
  258. package/graphql/schema/resolvers/read/resolveList.js.map +1 -0
  259. package/graphql/schema/schemaPlugins.d.ts +8 -0
  260. package/graphql/schema/schemaPlugins.js +100 -0
  261. package/graphql/schema/schemaPlugins.js.map +1 -0
  262. package/graphql/system.d.ts +3 -0
  263. package/{plugins/graphql → graphql}/system.js +29 -24
  264. package/graphql/system.js.map +1 -0
  265. package/graphqlFields/boolean.d.ts +2 -0
  266. package/graphqlFields/boolean.js +57 -0
  267. package/graphqlFields/boolean.js.map +1 -0
  268. package/graphqlFields/datetime.d.ts +2 -0
  269. package/graphqlFields/datetime.js +78 -0
  270. package/graphqlFields/datetime.js.map +1 -0
  271. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  272. package/graphqlFields/dynamicZone/dynamicZoneField.js +243 -0
  273. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  274. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  275. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
  276. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  277. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  278. package/graphqlFields/dynamicZone/index.js +19 -0
  279. package/graphqlFields/dynamicZone/index.js.map +1 -0
  280. package/graphqlFields/file.d.ts +2 -0
  281. package/graphqlFields/file.js +42 -0
  282. package/graphqlFields/file.js.map +1 -0
  283. package/graphqlFields/helpers.d.ts +6 -0
  284. package/graphqlFields/helpers.js +39 -0
  285. package/graphqlFields/helpers.js.map +1 -0
  286. package/graphqlFields/index.d.ts +2 -0
  287. package/graphqlFields/index.js +18 -0
  288. package/graphqlFields/index.js.map +1 -0
  289. package/graphqlFields/longText.d.ts +2 -0
  290. package/graphqlFields/longText.js +53 -0
  291. package/graphqlFields/longText.js.map +1 -0
  292. package/graphqlFields/number.d.ts +2 -0
  293. package/graphqlFields/number.js +68 -0
  294. package/graphqlFields/number.js.map +1 -0
  295. package/graphqlFields/object.d.ts +2 -0
  296. package/graphqlFields/object.js +258 -0
  297. package/graphqlFields/object.js.map +1 -0
  298. package/graphqlFields/ref.d.ts +2 -0
  299. package/graphqlFields/ref.js +255 -0
  300. package/graphqlFields/ref.js.map +1 -0
  301. package/graphqlFields/richText.d.ts +2 -0
  302. package/graphqlFields/richText.js +47 -0
  303. package/graphqlFields/richText.js.map +1 -0
  304. package/graphqlFields/text.d.ts +2 -0
  305. package/graphqlFields/text.js +64 -0
  306. package/graphqlFields/text.js.map +1 -0
  307. package/index.d.ts +12 -12
  308. package/index.js +98 -55
  309. package/index.js.map +1 -0
  310. package/modelManager/DefaultCmsModelManager.d.ts +14 -0
  311. package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js +10 -24
  312. package/modelManager/DefaultCmsModelManager.js.map +1 -0
  313. package/modelManager/index.d.ts +2 -0
  314. package/{content/plugins/modelManager → modelManager}/index.js +3 -7
  315. package/modelManager/index.js.map +1 -0
  316. package/package.json +39 -44
  317. package/parameters/context.d.ts +2 -0
  318. package/parameters/context.js +18 -0
  319. package/parameters/context.js.map +1 -0
  320. package/parameters/header.d.ts +2 -0
  321. package/parameters/header.js +44 -0
  322. package/parameters/header.js.map +1 -0
  323. package/parameters/index.d.ts +4 -0
  324. package/parameters/index.js +49 -0
  325. package/parameters/index.js.map +1 -0
  326. package/parameters/manual.d.ts +6 -0
  327. package/parameters/manual.js +37 -0
  328. package/parameters/manual.js.map +1 -0
  329. package/parameters/path.d.ts +2 -0
  330. package/parameters/path.js +40 -0
  331. package/parameters/path.js.map +1 -0
  332. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  333. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  334. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  335. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  336. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  337. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  338. package/plugins/CmsGroupPlugin.d.ts +13 -0
  339. package/{content/plugins → plugins}/CmsGroupPlugin.js +7 -9
  340. package/plugins/CmsGroupPlugin.js.map +1 -0
  341. package/plugins/CmsModelFieldConverterPlugin.d.ts +14 -0
  342. package/plugins/CmsModelFieldConverterPlugin.js +12 -0
  343. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -0
  344. package/plugins/CmsModelPlugin.d.ts +63 -0
  345. package/plugins/CmsModelPlugin.js +184 -0
  346. package/plugins/CmsModelPlugin.js.map +1 -0
  347. package/plugins/CmsParametersPlugin.d.ts +20 -0
  348. package/plugins/CmsParametersPlugin.js +21 -0
  349. package/plugins/CmsParametersPlugin.js.map +1 -0
  350. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  351. package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
  352. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  353. package/plugins/StorageTransformPlugin.d.ts +31 -0
  354. package/{content/plugins/storage → plugins}/StorageTransformPlugin.js +2 -10
  355. package/plugins/StorageTransformPlugin.js.map +1 -0
  356. package/plugins/index.d.ts +8 -0
  357. package/plugins/index.js +93 -0
  358. package/plugins/index.js.map +1 -0
  359. package/storage/default.d.ts +2 -0
  360. package/storage/default.js +24 -0
  361. package/storage/default.js.map +1 -0
  362. package/storage/object.d.ts +2 -0
  363. package/storage/object.js +108 -0
  364. package/storage/object.js.map +1 -0
  365. package/types.d.ts +1010 -382
  366. package/types.js +116 -62
  367. package/types.js.map +1 -0
  368. package/utils/converters/Converter.d.ts +27 -0
  369. package/utils/converters/Converter.js +58 -0
  370. package/utils/converters/Converter.js.map +1 -0
  371. package/utils/converters/ConverterCollection.d.ts +31 -0
  372. package/utils/converters/ConverterCollection.js +119 -0
  373. package/utils/converters/ConverterCollection.js.map +1 -0
  374. package/utils/converters/valueKeyStorageConverter.d.ts +14 -0
  375. package/utils/converters/valueKeyStorageConverter.js +128 -0
  376. package/utils/converters/valueKeyStorageConverter.js.map +1 -0
  377. package/utils/createTypeFromFields.d.ts +16 -0
  378. package/utils/createTypeFromFields.js +66 -0
  379. package/utils/createTypeFromFields.js.map +1 -0
  380. package/utils/createTypeName.d.ts +1 -0
  381. package/utils/createTypeName.js +13 -0
  382. package/utils/createTypeName.js.map +1 -0
  383. package/{content/plugins/utils → utils}/entryStorage.d.ts +3 -3
  384. package/{content/plugins/utils → utils}/entryStorage.js +26 -47
  385. package/utils/entryStorage.js.map +1 -0
  386. package/utils/filterAsync.d.ts +1 -0
  387. package/utils/filterAsync.js +18 -0
  388. package/utils/filterAsync.js.map +1 -0
  389. package/utils/getBaseFieldType.d.ts +2 -0
  390. package/utils/getBaseFieldType.js +10 -0
  391. package/utils/getBaseFieldType.js.map +1 -0
  392. package/utils/getEntryDescription.d.ts +2 -0
  393. package/utils/getEntryDescription.js +17 -0
  394. package/utils/getEntryDescription.js.map +1 -0
  395. package/utils/getEntryImage.d.ts +2 -0
  396. package/utils/getEntryImage.js +17 -0
  397. package/utils/getEntryImage.js.map +1 -0
  398. package/utils/getEntryTitle.d.ts +2 -0
  399. package/{content/plugins/utils → utils}/getEntryTitle.js +7 -15
  400. package/utils/getEntryTitle.js.map +1 -0
  401. package/utils/getSchemaFromFieldPlugins.d.ts +9 -0
  402. package/utils/getSchemaFromFieldPlugins.js +39 -0
  403. package/utils/getSchemaFromFieldPlugins.js.map +1 -0
  404. package/utils/incrementEntryIdVersion.d.ts +5 -0
  405. package/utils/incrementEntryIdVersion.js +29 -0
  406. package/utils/incrementEntryIdVersion.js.map +1 -0
  407. package/utils/permissions/EntriesPermissions.d.ts +4 -0
  408. package/utils/permissions/EntriesPermissions.js +9 -0
  409. package/utils/permissions/EntriesPermissions.js.map +1 -0
  410. package/utils/permissions/ModelGroupsPermissions.d.ts +11 -0
  411. package/utils/permissions/ModelGroupsPermissions.js +48 -0
  412. package/utils/permissions/ModelGroupsPermissions.js.map +1 -0
  413. package/utils/permissions/ModelsPermissions.d.ts +20 -0
  414. package/utils/permissions/ModelsPermissions.js +91 -0
  415. package/utils/permissions/ModelsPermissions.js.map +1 -0
  416. package/utils/permissions/SettingsPermissions.d.ts +4 -0
  417. package/utils/permissions/SettingsPermissions.js +9 -0
  418. package/utils/permissions/SettingsPermissions.js.map +1 -0
  419. package/utils/renderFields.d.ts +17 -0
  420. package/{content/plugins/utils → utils}/renderFields.js +16 -13
  421. package/utils/renderFields.js.map +1 -0
  422. package/utils/renderGetFilterFields.d.ts +10 -0
  423. package/{content/plugins/utils → utils}/renderGetFilterFields.js +16 -22
  424. package/utils/renderGetFilterFields.js.map +1 -0
  425. package/utils/renderInputFields.d.ts +16 -0
  426. package/{content/plugins/utils → utils}/renderInputFields.js +20 -15
  427. package/utils/renderInputFields.js.map +1 -0
  428. package/utils/renderListFilterFields.d.ts +13 -0
  429. package/utils/renderListFilterFields.js +48 -0
  430. package/utils/renderListFilterFields.js.map +1 -0
  431. package/utils/renderSortEnum.d.ts +13 -0
  432. package/utils/renderSortEnum.js +46 -0
  433. package/utils/renderSortEnum.js.map +1 -0
  434. package/utils/toSlug.d.ts +1 -0
  435. package/utils/toSlug.js +16 -0
  436. package/utils/toSlug.js.map +1 -0
  437. package/validators/dateGte.d.ts +2 -0
  438. package/{content/plugins/validators → validators}/dateGte.js +4 -11
  439. package/validators/dateGte.js.map +1 -0
  440. package/validators/dateLte.d.ts +2 -0
  441. package/{content/plugins/validators → validators}/dateLte.js +4 -11
  442. package/validators/dateLte.js.map +1 -0
  443. package/validators/dynamicZone.d.ts +2 -0
  444. package/validators/dynamicZone.js +20 -0
  445. package/validators/dynamicZone.js.map +1 -0
  446. package/validators/gte.d.ts +2 -0
  447. package/validators/gte.js +28 -0
  448. package/validators/gte.js.map +1 -0
  449. package/validators/in.d.ts +2 -0
  450. package/validators/in.js +28 -0
  451. package/validators/in.js.map +1 -0
  452. package/validators/index.d.ts +1 -0
  453. package/validators/index.js +22 -0
  454. package/validators/index.js.map +1 -0
  455. package/validators/lte.d.ts +2 -0
  456. package/validators/lte.js +28 -0
  457. package/validators/lte.js.map +1 -0
  458. package/validators/maxLength.d.ts +2 -0
  459. package/validators/maxLength.js +28 -0
  460. package/validators/maxLength.js.map +1 -0
  461. package/validators/minLength.d.ts +2 -0
  462. package/validators/minLength.js +28 -0
  463. package/validators/minLength.js.map +1 -0
  464. package/validators/pattern.d.ts +2 -0
  465. package/validators/pattern.js +41 -0
  466. package/validators/pattern.js.map +1 -0
  467. package/validators/patternPlugins/email.d.ts +2 -0
  468. package/validators/patternPlugins/email.js +18 -0
  469. package/validators/patternPlugins/email.js.map +1 -0
  470. package/validators/patternPlugins/index.d.ts +2 -0
  471. package/validators/patternPlugins/index.js +16 -0
  472. package/validators/patternPlugins/index.js.map +1 -0
  473. package/validators/patternPlugins/lowerCase.d.ts +2 -0
  474. package/validators/patternPlugins/lowerCase.js +18 -0
  475. package/validators/patternPlugins/lowerCase.js.map +1 -0
  476. package/validators/patternPlugins/lowerCaseSpace.d.ts +2 -0
  477. package/validators/patternPlugins/lowerCaseSpace.js +18 -0
  478. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  479. package/validators/patternPlugins/upperCase.d.ts +2 -0
  480. package/validators/patternPlugins/upperCase.js +18 -0
  481. package/validators/patternPlugins/upperCase.js.map +1 -0
  482. package/validators/patternPlugins/upperCaseSpace.d.ts +2 -0
  483. package/validators/patternPlugins/upperCaseSpace.js +18 -0
  484. package/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  485. package/validators/patternPlugins/url.d.ts +2 -0
  486. package/validators/patternPlugins/url.js +18 -0
  487. package/validators/patternPlugins/url.js.map +1 -0
  488. package/validators/required.d.ts +2 -0
  489. package/validators/required.js +22 -0
  490. package/validators/required.js.map +1 -0
  491. package/validators/timeGte.d.ts +2 -0
  492. package/{content/plugins/validators → validators}/timeGte.js +5 -11
  493. package/validators/timeGte.js.map +1 -0
  494. package/validators/timeLte.d.ts +2 -0
  495. package/{content/plugins/validators → validators}/timeLte.js +5 -11
  496. package/validators/timeLte.js.map +1 -0
  497. package/validators/unique.d.ts +6 -0
  498. package/validators/unique.js +56 -0
  499. package/validators/unique.js.map +1 -0
  500. package/content/contextSetup.d.ts +0 -4
  501. package/content/contextSetup.js +0 -65
  502. package/content/graphQLHandlerFactory.d.ts +0 -5
  503. package/content/graphQLHandlerFactory.js +0 -173
  504. package/content/plugins/CmsGroupPlugin.d.ts +0 -11
  505. package/content/plugins/CmsModelPlugin.d.ts +0 -11
  506. package/content/plugins/CmsModelPlugin.js +0 -24
  507. package/content/plugins/buildSchemaPlugins.d.ts +0 -7
  508. package/content/plugins/buildSchemaPlugins.js +0 -29
  509. package/content/plugins/crud/contentEntry/afterDelete.d.ts +0 -7
  510. package/content/plugins/crud/contentEntry/beforeCreate.d.ts +0 -7
  511. package/content/plugins/crud/contentEntry/beforeUpdate.d.ts +0 -7
  512. package/content/plugins/crud/contentEntry/entryDataValidation.d.ts +0 -4
  513. package/content/plugins/crud/contentEntry.crud.d.ts +0 -17
  514. package/content/plugins/crud/contentEntry.crud.js +0 -931
  515. package/content/plugins/crud/contentModel/afterCreate.d.ts +0 -7
  516. package/content/plugins/crud/contentModel/afterCreate.js +0 -18
  517. package/content/plugins/crud/contentModel/afterDelete.d.ts +0 -7
  518. package/content/plugins/crud/contentModel/afterDelete.js +0 -18
  519. package/content/plugins/crud/contentModel/afterUpdate.d.ts +0 -7
  520. package/content/plugins/crud/contentModel/afterUpdate.js +0 -18
  521. package/content/plugins/crud/contentModel/beforeCreate.d.ts +0 -9
  522. package/content/plugins/crud/contentModel/beforeCreate.js +0 -146
  523. package/content/plugins/crud/contentModel/beforeDelete.d.ts +0 -9
  524. package/content/plugins/crud/contentModel/beforeUpdate.d.ts +0 -9
  525. package/content/plugins/crud/contentModel/beforeUpdate.js +0 -128
  526. package/content/plugins/crud/contentModel/contentModelManagerFactory.d.ts +0 -2
  527. package/content/plugins/crud/contentModel/createFieldModels.d.ts +0 -2
  528. package/content/plugins/crud/contentModel/createFieldModels.js +0 -22
  529. package/content/plugins/crud/contentModel/idValidation.d.ts +0 -2
  530. package/content/plugins/crud/contentModel/idValidation.js +0 -22
  531. package/content/plugins/crud/contentModel/models.d.ts +0 -3
  532. package/content/plugins/crud/contentModel/models.js +0 -141
  533. package/content/plugins/crud/contentModel/validateLayout.d.ts +0 -2
  534. package/content/plugins/crud/contentModel.crud.js +0 -425
  535. package/content/plugins/crud/contentModelGroup/beforeCreate.d.ts +0 -9
  536. package/content/plugins/crud/contentModelGroup/beforeDelete.d.ts +0 -9
  537. package/content/plugins/crud/contentModelGroup/beforeUpdate.d.ts +0 -8
  538. package/content/plugins/crud/contentModelGroup.crud.js +0 -351
  539. package/content/plugins/crud/index.d.ts +0 -6
  540. package/content/plugins/crud/index.js +0 -100
  541. package/content/plugins/graphqlFields/boolean.d.ts +0 -3
  542. package/content/plugins/graphqlFields/boolean.js +0 -69
  543. package/content/plugins/graphqlFields/datetime.d.ts +0 -3
  544. package/content/plugins/graphqlFields/datetime.js +0 -83
  545. package/content/plugins/graphqlFields/file.d.ts +0 -3
  546. package/content/plugins/graphqlFields/file.js +0 -49
  547. package/content/plugins/graphqlFields/index.d.ts +0 -2
  548. package/content/plugins/graphqlFields/index.js +0 -30
  549. package/content/plugins/graphqlFields/longText.d.ts +0 -3
  550. package/content/plugins/graphqlFields/longText.js +0 -62
  551. package/content/plugins/graphqlFields/number.d.ts +0 -3
  552. package/content/plugins/graphqlFields/number.js +0 -75
  553. package/content/plugins/graphqlFields/object.d.ts +0 -3
  554. package/content/plugins/graphqlFields/object.js +0 -180
  555. package/content/plugins/graphqlFields/ref.d.ts +0 -3
  556. package/content/plugins/graphqlFields/ref.js +0 -205
  557. package/content/plugins/graphqlFields/richText.d.ts +0 -3
  558. package/content/plugins/graphqlFields/richText.js +0 -55
  559. package/content/plugins/graphqlFields/text.d.ts +0 -3
  560. package/content/plugins/graphqlFields/text.js +0 -72
  561. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +0 -8
  562. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +0 -54
  563. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +0 -7
  564. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +0 -35
  565. package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +0 -15
  566. package/content/plugins/modelManager/index.d.ts +0 -3
  567. package/content/plugins/schema/baseSchema.d.ts +0 -4
  568. package/content/plugins/schema/baseSchema.js +0 -98
  569. package/content/plugins/schema/contentEntries.d.ts +0 -4
  570. package/content/plugins/schema/contentEntries.js +0 -166
  571. package/content/plugins/schema/contentModelGroups.d.ts +0 -4
  572. package/content/plugins/schema/contentModels.d.ts +0 -4
  573. package/content/plugins/schema/createFieldResolvers.d.ts +0 -19
  574. package/content/plugins/schema/createFieldResolvers.js +0 -92
  575. package/content/plugins/schema/createManageResolvers.d.ts +0 -11
  576. package/content/plugins/schema/createManageResolvers.js +0 -135
  577. package/content/plugins/schema/createManageSDL.d.ts +0 -9
  578. package/content/plugins/schema/createManageSDL.js +0 -153
  579. package/content/plugins/schema/createPreviewResolvers.d.ts +0 -10
  580. package/content/plugins/schema/createPreviewResolvers.js +0 -55
  581. package/content/plugins/schema/createReadResolvers.d.ts +0 -10
  582. package/content/plugins/schema/createReadResolvers.js +0 -55
  583. package/content/plugins/schema/createReadSDL.d.ts +0 -9
  584. package/content/plugins/schema/createReadSDL.js +0 -96
  585. package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  586. package/content/plugins/schema/resolvers/manage/resolveCreate.d.ts +0 -6
  587. package/content/plugins/schema/resolvers/manage/resolveCreateFrom.d.ts +0 -7
  588. package/content/plugins/schema/resolvers/manage/resolveDelete.d.ts +0 -2
  589. package/content/plugins/schema/resolvers/manage/resolveDelete.js +0 -30
  590. package/content/plugins/schema/resolvers/manage/resolveGet.d.ts +0 -2
  591. package/content/plugins/schema/resolvers/manage/resolveGetByIds.d.ts +0 -2
  592. package/content/plugins/schema/resolvers/manage/resolveGetRevisions.d.ts +0 -2
  593. package/content/plugins/schema/resolvers/manage/resolveList.d.ts +0 -2
  594. package/content/plugins/schema/resolvers/manage/resolvePublish.d.ts +0 -2
  595. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -6
  596. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js +0 -23
  597. package/content/plugins/schema/resolvers/manage/resolveRequestReview.d.ts +0 -6
  598. package/content/plugins/schema/resolvers/manage/resolveRequestReview.js +0 -23
  599. package/content/plugins/schema/resolvers/manage/resolveUnpublish.d.ts +0 -2
  600. package/content/plugins/schema/resolvers/manage/resolveUpdate.d.ts +0 -7
  601. package/content/plugins/schema/resolvers/preview/resolveGet.d.ts +0 -2
  602. package/content/plugins/schema/resolvers/preview/resolveGet.js +0 -38
  603. package/content/plugins/schema/resolvers/preview/resolveList.d.ts +0 -2
  604. package/content/plugins/schema/resolvers/read/resolveGet.d.ts +0 -2
  605. package/content/plugins/schema/resolvers/read/resolveGet.js +0 -38
  606. package/content/plugins/schema/resolvers/read/resolveList.d.ts +0 -2
  607. package/content/plugins/schema/schemaPlugins.d.ts +0 -3
  608. package/content/plugins/schema/schemaPlugins.js +0 -92
  609. package/content/plugins/storage/StorageTransformPlugin.d.ts +0 -30
  610. package/content/plugins/storage/default.d.ts +0 -3
  611. package/content/plugins/storage/default.js +0 -28
  612. package/content/plugins/storage/object.d.ts +0 -3
  613. package/content/plugins/storage/object.js +0 -119
  614. package/content/plugins/utils/createTypeName.d.ts +0 -3
  615. package/content/plugins/utils/createTypeName.js +0 -28
  616. package/content/plugins/utils/getEntryTitle.d.ts +0 -2
  617. package/content/plugins/utils/getSchemaFromFieldPlugins.d.ts +0 -11
  618. package/content/plugins/utils/getSchemaFromFieldPlugins.js +0 -30
  619. package/content/plugins/utils/pluralizedTypeName.d.ts +0 -1
  620. package/content/plugins/utils/pluralizedTypeName.js +0 -26
  621. package/content/plugins/utils/renderFields.d.ts +0 -16
  622. package/content/plugins/utils/renderGetFilterFields.d.ts +0 -9
  623. package/content/plugins/utils/renderInputFields.d.ts +0 -14
  624. package/content/plugins/utils/renderListFilterFields.d.ts +0 -10
  625. package/content/plugins/utils/renderListFilterFields.js +0 -39
  626. package/content/plugins/utils/renderSortEnum.d.ts +0 -9
  627. package/content/plugins/utils/renderSortEnum.js +0 -32
  628. package/content/plugins/validators/dateGte.d.ts +0 -3
  629. package/content/plugins/validators/dateLte.d.ts +0 -3
  630. package/content/plugins/validators/gte.d.ts +0 -3
  631. package/content/plugins/validators/gte.js +0 -32
  632. package/content/plugins/validators/in.d.ts +0 -3
  633. package/content/plugins/validators/in.js +0 -32
  634. package/content/plugins/validators/index.d.ts +0 -2
  635. package/content/plugins/validators/index.js +0 -36
  636. package/content/plugins/validators/lte.d.ts +0 -3
  637. package/content/plugins/validators/lte.js +0 -32
  638. package/content/plugins/validators/maxLength.d.ts +0 -3
  639. package/content/plugins/validators/maxLength.js +0 -32
  640. package/content/plugins/validators/minLength.d.ts +0 -3
  641. package/content/plugins/validators/minLength.js +0 -32
  642. package/content/plugins/validators/pattern.d.ts +0 -3
  643. package/content/plugins/validators/pattern.js +0 -47
  644. package/content/plugins/validators/patternPlugins/email.d.ts +0 -3
  645. package/content/plugins/validators/patternPlugins/email.js +0 -17
  646. package/content/plugins/validators/patternPlugins/index.d.ts +0 -2
  647. package/content/plugins/validators/patternPlugins/index.js +0 -19
  648. package/content/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
  649. package/content/plugins/validators/patternPlugins/lowerCase.js +0 -17
  650. package/content/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
  651. package/content/plugins/validators/patternPlugins/upperCase.js +0 -17
  652. package/content/plugins/validators/patternPlugins/url.d.ts +0 -3
  653. package/content/plugins/validators/patternPlugins/url.js +0 -17
  654. package/content/plugins/validators/required.d.ts +0 -3
  655. package/content/plugins/validators/required.js +0 -25
  656. package/content/plugins/validators/timeGte.d.ts +0 -3
  657. package/content/plugins/validators/timeLte.d.ts +0 -3
  658. package/migrateCMSPermissions.d.ts +0 -17
  659. package/migrateCMSPermissions.js +0 -193
  660. package/plugins/context.d.ts +0 -4
  661. package/plugins/context.js +0 -34
  662. package/plugins/crud/index.d.ts +0 -6
  663. package/plugins/crud/index.js +0 -100
  664. package/plugins/crud/settings.crud.d.ts +0 -10
  665. package/plugins/crud/settings.crud.js +0 -93
  666. package/plugins/crud/system.crud.d.ts +0 -10
  667. package/plugins/crud/system.crud.js +0 -182
  668. package/plugins/graphql/system.d.ts +0 -17
  669. package/plugins/graphql.d.ts +0 -2
  670. package/plugins/graphql.js +0 -79
  671. package/plugins/upgrades/index.d.ts +0 -2
  672. package/plugins/upgrades/index.js +0 -14
  673. package/plugins/upgrades/v5.5.0/helpers.d.ts +0 -6
  674. package/plugins/upgrades/v5.5.0/helpers.js +0 -10
  675. package/plugins/upgrades/v5.5.0/index.d.ts +0 -4
  676. package/plugins/upgrades/v5.5.0/index.js +0 -129
  677. package/transformers.d.ts +0 -2
  678. package/transformers.js +0 -25
  679. package/utils.d.ts +0 -25
  680. package/utils.js +0 -251
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ensureTypeTag","model","tags","some","tag","startsWith","push","createModelsCrud","params","getTenant","getIdentity","getLocale","storageOperations","modelsPermissions","context","loaders","listModels","DataLoader","models","list","where","tenant","id","locale","code","map","singularApiName","ensureSingularApiName","pluralApiName","ensurePluralApiName","clearModelsCache","loader","Object","values","clearAll","managers","Map","updateManager","manager","contentModelManagerFactory","set","modelId","checkModelPermissions","rwd","ensure","getModelsAsPlugins","plugins","byType","CmsModelPlugin","type","filter","plugin","modelTenant","modelLocale","contentModel","webinyVersion","WEBINY_VERSION","modelsGet","pluginModel","find","get","NotFoundError","modelsList","databaseModels","load","pluginsModels","concat","benchmark","measure","filterAsync","ownsModel","owns","createdBy","throw","canAccessModel","getModel","ensureCanAccessModel","getModelManager","target","has","m","onModelBeforeCreate","createTopic","onModelAfterCreate","onModelCreateError","onModelBeforeCreateFrom","onModelAfterCreateFrom","onModelCreateFromError","onModelBeforeUpdate","onModelAfterUpdate","onModelUpdateError","onModelBeforeDelete","onModelAfterDelete","onModelDeleteError","onModelInitialize","assignModelBeforeCreate","assignModelAfterCreate","assignModelBeforeUpdate","assignModelAfterUpdate","assignModelAfterCreateFrom","assignModelBeforeDelete","assignModelAfterDelete","createModel","input","result","createModelCreateValidation","safeParseAsync","success","createZodError","error","removeUndefinedValues","data","defaultFields","assignModelDefaultFields","group","security","withoutAuthorization","cms","getGroup","identity","titleFieldId","descriptionFieldId","imageFieldId","description","name","displayName","createdOn","Date","toISOString","savedOn","lockedFields","publish","createdModel","create","ex","updateModel","original","createModelUpdateValidation","keys","length","groupId","groupData","undefined","resultModel","update","updateModelDirect","initialModel","createModelFrom","createModelCreateFromValidation","i18n","groups","icon","deleteModel","delete","WebinyError","message","initializeModel","onBeforeModelCreate","onAfterModelCreate","onBeforeModelCreateFrom","onAfterModelCreateFrom","onBeforeModelUpdate","onAfterModelUpdate","onBeforeModelDelete","onAfterModelDelete","userInput","getEntryManager","getManagers","getEntryManagers"],"sources":["contentModel.crud.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport WebinyError from \"@webiny/error\";\nimport {\n CmsContext,\n CmsModel,\n CmsModelContext,\n CmsModelManager,\n HeadlessCmsStorageOperations,\n OnModelBeforeCreateTopicParams,\n OnModelAfterCreateTopicParams,\n OnModelBeforeUpdateTopicParams,\n OnModelAfterUpdateTopicParams,\n OnModelBeforeDeleteTopicParams,\n OnModelAfterDeleteTopicParams,\n OnModelInitializeParams,\n OnModelBeforeCreateFromTopicParams,\n OnModelAfterCreateFromTopicParams,\n CmsModelUpdateInput,\n OnModelCreateErrorTopicParams,\n OnModelCreateFromErrorParams,\n OnModelUpdateErrorTopicParams,\n OnModelDeleteErrorTopicParams,\n CmsModelGroup\n} from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { contentModelManagerFactory } from \"./contentModel/contentModelManagerFactory\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { assignModelBeforeCreate } from \"./contentModel/beforeCreate\";\nimport { assignModelBeforeUpdate } from \"./contentModel/beforeUpdate\";\nimport { assignModelBeforeDelete } from \"./contentModel/beforeDelete\";\nimport { assignModelAfterCreate } from \"./contentModel/afterCreate\";\nimport { assignModelAfterUpdate } from \"./contentModel/afterUpdate\";\nimport { assignModelAfterDelete } from \"./contentModel/afterDelete\";\nimport { assignModelAfterCreateFrom } from \"./contentModel/afterCreateFrom\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\nimport { filterAsync } from \"~/utils/filterAsync\";\nimport {\n createModelCreateFromValidation,\n createModelCreateValidation,\n createModelUpdateValidation\n} from \"~/crud/contentModel/validation\";\nimport { createZodError } from \"@webiny/utils\";\nimport { assignModelDefaultFields } from \"~/crud/contentModel/defaultFields\";\nimport { removeUndefinedValues } from \"@webiny/utils\";\nimport {\n ensurePluralApiName,\n ensureSingularApiName\n} from \"./contentModel/compatibility/modelApiName\";\nimport { ModelsPermissions } from \"~/utils/permissions/ModelsPermissions\";\n\n/**\n * Given a model, return an array of tags ensuring the `type` tag is set.\n */\nconst ensureTypeTag = (model: Pick<CmsModel, \"tags\">) => {\n // Let's make sure we have a `type` tag assigned.\n // If `type` tag is not set, set it to a default one (`model`).\n const tags = model.tags || [];\n if (!tags.some(tag => tag.startsWith(\"type:\"))) {\n tags.push(\"type:model\");\n }\n\n return tags;\n};\n\nexport interface CreateModelsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n modelsPermissions: ModelsPermissions;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\n\nexport const createModelsCrud = (params: CreateModelsCrudParams): CmsModelContext => {\n const { getTenant, getIdentity, getLocale, storageOperations, modelsPermissions, context } =\n params;\n\n const loaders = {\n listModels: new DataLoader(async () => {\n const models = await storageOperations.models.list({\n where: {\n tenant: getTenant().id,\n locale: getLocale().code\n }\n });\n return [\n models.map(model => {\n return {\n ...model,\n tags: ensureTypeTag(model),\n tenant: model.tenant || getTenant().id,\n locale: model.locale || getLocale().code,\n /**\n * TODO: remove in v5.36.0\n * This is for backward compatibility while migrations are not yet executed.\n */\n singularApiName: ensureSingularApiName(model),\n pluralApiName: ensurePluralApiName(model)\n };\n })\n ];\n })\n };\n\n const clearModelsCache = (): void => {\n for (const loader of Object.values(loaders)) {\n loader.clearAll();\n }\n };\n\n const managers = new Map<string, CmsModelManager>();\n const updateManager = async (\n context: CmsContext,\n model: CmsModel\n ): Promise<CmsModelManager> => {\n const manager = await contentModelManagerFactory(context, model);\n managers.set(model.modelId, manager);\n return manager;\n };\n\n const checkModelPermissions = (rwd: string) => {\n return modelsPermissions.ensure({ rwd });\n };\n\n const getModelsAsPlugins = (): CmsModel[] => {\n const tenant = getTenant().id;\n const locale = getLocale().code;\n\n return (\n context.plugins\n .byType<CmsModelPlugin>(CmsModelPlugin.type)\n /**\n * We need to filter out models that are not for this tenant or locale.\n * If it does not have tenant or locale define, it is for every locale and tenant\n */\n .filter(plugin => {\n const { tenant: modelTenant, locale: modelLocale } = plugin.contentModel;\n if (modelTenant && modelTenant !== tenant) {\n return false;\n } else if (modelLocale && modelLocale !== locale) {\n return false;\n }\n return true;\n })\n .map(plugin => {\n return {\n ...plugin.contentModel,\n tags: ensureTypeTag(plugin.contentModel),\n tenant,\n locale,\n webinyVersion: context.WEBINY_VERSION\n };\n })\n );\n };\n\n const modelsGet = async (modelId: string) => {\n const pluginModel = getModelsAsPlugins().find(model => model.modelId === modelId);\n\n if (pluginModel) {\n return pluginModel;\n }\n\n const model = await storageOperations.models.get({\n tenant: getTenant().id,\n locale: getLocale().code,\n modelId\n });\n\n if (!model) {\n throw new NotFoundError(`Content model \"${modelId}\" was not found!`);\n }\n\n return {\n ...model,\n tags: ensureTypeTag(model),\n tenant: model.tenant || getTenant().id,\n locale: model.locale || getLocale().code\n };\n };\n\n const modelsList = async (): Promise<CmsModel[]> => {\n const databaseModels: CmsModel[] = await loaders.listModels.load(\"listModels\");\n\n const pluginsModels = getModelsAsPlugins();\n\n return databaseModels.concat(pluginsModels);\n };\n\n const listModels = async () => {\n return context.benchmark.measure(\"headlessCms.crud.models.listModels\", async () => {\n const models = await modelsList();\n return filterAsync(models, async model => {\n const ownsModel = await modelsPermissions.ensure(\n { owns: model.createdBy },\n { throw: false }\n );\n\n if (!ownsModel) {\n return false;\n }\n\n return modelsPermissions.canAccessModel({ model, locale: getLocale().code });\n });\n });\n };\n\n const getModel = async (modelId: string): Promise<CmsModel> => {\n return context.benchmark.measure(\"headlessCms.crud.models.getModel\", async () => {\n await checkModelPermissions(\"r\");\n\n const model = await modelsGet(modelId);\n\n await modelsPermissions.ensure({ owns: model.createdBy });\n await modelsPermissions.ensureCanAccessModel({ model, locale: getLocale().code });\n\n return model;\n });\n };\n\n const getModelManager: CmsModelContext[\"getModelManager\"] = async (\n target\n ): Promise<CmsModelManager> => {\n const modelId = typeof target === \"string\" ? target : target.modelId;\n if (managers.has(modelId)) {\n return managers.get(modelId) as CmsModelManager;\n }\n const models = await modelsList();\n const model = models.find(m => m.modelId === modelId);\n if (!model) {\n throw new NotFoundError(`There is no content model \"${modelId}\".`);\n }\n return await updateManager(context, model);\n };\n\n /**\n * Create\n */\n const onModelBeforeCreate =\n createTopic<OnModelBeforeCreateTopicParams>(\"cms.onModelBeforeCreate\");\n const onModelAfterCreate = createTopic<OnModelAfterCreateTopicParams>(\"cms.onModelAfterCreate\");\n const onModelCreateError = createTopic<OnModelCreateErrorTopicParams>(\"cms.onModelCreateError\");\n /**\n * Create from / clone\n */\n const onModelBeforeCreateFrom = createTopic<OnModelBeforeCreateFromTopicParams>(\n \"cms.onModelBeforeCreateFrom\"\n );\n const onModelAfterCreateFrom = createTopic<OnModelAfterCreateFromTopicParams>(\n \"cms.onModelAfterCreateFrom\"\n );\n const onModelCreateFromError = createTopic<OnModelCreateFromErrorParams>(\n \"cms.onModelCreateFromError\"\n );\n /**\n * Update\n */\n const onModelBeforeUpdate =\n createTopic<OnModelBeforeUpdateTopicParams>(\"cms.onModelBeforeUpdate\");\n const onModelAfterUpdate = createTopic<OnModelAfterUpdateTopicParams>(\"cms.onModelAfterUpdate\");\n const onModelUpdateError = createTopic<OnModelUpdateErrorTopicParams>(\"cms.onModelUpdateError\");\n /**\n * Delete\n */\n const onModelBeforeDelete =\n createTopic<OnModelBeforeDeleteTopicParams>(\"cms.onModelBeforeDelete\");\n const onModelAfterDelete = createTopic<OnModelAfterDeleteTopicParams>(\"cms.onModelAfterDelete\");\n const onModelDeleteError = createTopic<OnModelDeleteErrorTopicParams>(\"cms.onModelDeleteError\");\n /**\n * Initialize\n */\n const onModelInitialize = createTopic<OnModelInitializeParams>(\"cms.onModelInitialize\");\n /**\n * We need to assign some default behaviors.\n */\n assignModelBeforeCreate({\n onModelBeforeCreate,\n onModelBeforeCreateFrom,\n context,\n storageOperations\n });\n assignModelAfterCreate({\n context,\n onModelAfterCreate\n });\n assignModelBeforeUpdate({\n onModelBeforeUpdate,\n context\n });\n assignModelAfterUpdate({\n context,\n onModelAfterUpdate\n });\n assignModelAfterCreateFrom({\n context,\n onModelAfterCreateFrom\n });\n assignModelBeforeDelete({\n onModelBeforeDelete,\n plugins: context.plugins,\n storageOperations\n });\n assignModelAfterDelete({\n context,\n onModelAfterDelete\n });\n\n /**\n * CRUD methods\n */\n const createModel: CmsModelContext[\"createModel\"] = async input => {\n await checkModelPermissions(\"w\");\n\n const result = await createModelCreateValidation().safeParseAsync(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n /**\n * We need to extract the defaultFields because it is not for the CmsModel object.\n */\n const { defaultFields, ...data } = removeUndefinedValues(result.data);\n if (defaultFields) {\n assignModelDefaultFields(data);\n }\n\n const group = await context.security.withoutAuthorization(async () => {\n return context.cms.getGroup(data.group);\n });\n if (!group) {\n throw new NotFoundError(`There is no group \"${data.group}\".`);\n }\n\n const identity = getIdentity();\n const model: CmsModel = {\n ...data,\n modelId: data.modelId || \"\",\n singularApiName: data.singularApiName,\n pluralApiName: data.pluralApiName,\n titleFieldId: \"id\",\n descriptionFieldId: null,\n imageFieldId: null,\n description: data.description || \"\",\n locale: getLocale().code,\n tenant: getTenant().id,\n group: {\n id: group.id,\n name: group.name\n },\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n lockedFields: [],\n webinyVersion: context.WEBINY_VERSION\n };\n\n model.tags = ensureTypeTag(model);\n\n try {\n await onModelBeforeCreate.publish({\n input: data,\n model\n });\n\n const createdModel = await storageOperations.models.create({\n model\n });\n\n loaders.listModels.clearAll();\n\n await updateManager(context, model);\n\n await onModelAfterCreate.publish({\n input: data,\n model: createdModel\n });\n\n return createdModel;\n } catch (ex) {\n await onModelCreateError.publish({\n input: data,\n model,\n error: ex\n });\n throw ex;\n }\n };\n const updateModel: CmsModelContext[\"updateModel\"] = async (modelId, input) => {\n await checkModelPermissions(\"w\");\n\n // Get a model record; this will also perform ownership validation.\n const original = await getModel(modelId);\n\n const result = await createModelUpdateValidation().safeParseAsync(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const data = removeUndefinedValues(result.data);\n\n if (Object.keys(data).length === 0) {\n /**\n * We need to return the original if nothing is to be updated.\n */\n return original;\n }\n let group: CmsModelGroup = {\n id: original.group.id,\n name: original.group.name\n };\n const groupId = data.group;\n if (groupId) {\n const groupData = await context.security.withoutAuthorization(async () => {\n return context.cms.getGroup(groupId);\n });\n if (!groupData) {\n throw new NotFoundError(`There is no group \"${groupId}\".`);\n }\n group = {\n id: groupData.id,\n name: groupData.name\n };\n }\n const model: CmsModel = {\n ...original,\n ...data,\n titleFieldId:\n data.titleFieldId === undefined\n ? original.titleFieldId\n : (data.titleFieldId as string),\n descriptionFieldId:\n data.descriptionFieldId === undefined\n ? original.descriptionFieldId\n : data.descriptionFieldId,\n imageFieldId:\n data.imageFieldId === undefined ? original.imageFieldId : data.imageFieldId,\n group,\n description: data.description || original.description,\n tenant: original.tenant || getTenant().id,\n locale: original.locale || getLocale().code,\n webinyVersion: context.WEBINY_VERSION,\n savedOn: new Date().toISOString()\n };\n\n model.tags = ensureTypeTag(model);\n\n try {\n await onModelBeforeUpdate.publish({\n input: data,\n original,\n model\n });\n\n const resultModel = await storageOperations.models.update({\n model\n });\n\n await updateManager(context, resultModel);\n\n await onModelAfterUpdate.publish({\n input: data,\n original,\n model: resultModel\n });\n\n return resultModel;\n } catch (ex) {\n await onModelUpdateError.publish({\n input: data,\n model,\n original,\n error: ex\n });\n\n throw ex;\n }\n };\n const updateModelDirect: CmsModelContext[\"updateModelDirect\"] = async params => {\n const { model: initialModel, original } = params;\n\n const model: CmsModel = {\n ...initialModel,\n tenant: initialModel.tenant || getTenant().id,\n locale: initialModel.locale || getLocale().code,\n webinyVersion: context.WEBINY_VERSION\n };\n\n try {\n await onModelBeforeUpdate.publish({\n input: {} as CmsModelUpdateInput,\n original,\n model\n });\n\n const resultModel = await storageOperations.models.update({\n model\n });\n\n await updateManager(context, resultModel);\n\n loaders.listModels.clearAll();\n\n await onModelAfterUpdate.publish({\n input: {} as CmsModelUpdateInput,\n original,\n model: resultModel\n });\n\n return resultModel;\n } catch (ex) {\n await onModelUpdateError.publish({\n input: {} as CmsModelUpdateInput,\n original,\n model,\n error: ex\n });\n throw ex;\n }\n };\n const createModelFrom: CmsModelContext[\"createModelFrom\"] = async (modelId, input) => {\n await checkModelPermissions(\"w\");\n /**\n * Get a model record; this will also perform ownership validation.\n */\n const original = await getModel(modelId);\n\n const result = await createModelCreateFromValidation().safeParseAsync({\n ...input,\n description: input.description || original.description\n });\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const data = removeUndefinedValues(result.data);\n\n const locale = await context.i18n.getLocale(data.locale || original.locale);\n if (!locale) {\n throw new NotFoundError(`There is no locale \"${data.locale}\".`);\n }\n /**\n * Use storage operations directly because we cannot get group from different locale via context methods.\n */\n const group = await context.cms.storageOperations.groups.get({\n id: data.group,\n tenant: original.tenant,\n locale: locale.code\n });\n if (!group) {\n throw new NotFoundError(`There is no group \"${data.group}\".`);\n }\n\n const identity = getIdentity();\n const model: CmsModel = {\n ...original,\n singularApiName: data.singularApiName,\n pluralApiName: data.pluralApiName,\n locale: locale.code,\n group: {\n id: group.id,\n name: group.name\n },\n icon: data.icon,\n name: data.name,\n modelId: data.modelId || \"\",\n description: data.description || \"\",\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n lockedFields: [],\n webinyVersion: context.WEBINY_VERSION\n };\n\n try {\n await onModelBeforeCreateFrom.publish({\n input: data,\n model,\n original\n });\n\n const createdModel = await storageOperations.models.create({\n model\n });\n\n loaders.listModels.clearAll();\n\n await updateManager(context, model);\n\n await onModelAfterCreateFrom.publish({\n input: data,\n original,\n model: createdModel\n });\n\n return createdModel;\n } catch (ex) {\n await onModelCreateFromError.publish({\n input: data,\n original,\n model,\n error: ex\n });\n throw ex;\n }\n };\n const deleteModel: CmsModelContext[\"deleteModel\"] = async modelId => {\n await checkModelPermissions(\"d\");\n\n const model = await getModel(modelId);\n\n try {\n await onModelBeforeDelete.publish({\n model\n });\n\n try {\n await storageOperations.models.delete({\n model\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete the content model\",\n ex.code || \"CONTENT_MODEL_DELETE_ERROR\",\n {\n error: ex,\n modelId: model.modelId\n }\n );\n }\n\n await onModelAfterDelete.publish({\n model\n });\n\n managers.delete(model.modelId);\n } catch (ex) {\n await onModelDeleteError.publish({\n model,\n error: ex\n });\n throw ex;\n }\n };\n const initializeModel: CmsModelContext[\"initializeModel\"] = async (modelId, data) => {\n /**\n * We require that users have write permissions to initialize models.\n * Maybe introduce another permission for it?\n */\n await checkModelPermissions(\"w\");\n\n const model = await getModel(modelId);\n\n await onModelInitialize.publish({ model, data });\n\n return true;\n };\n return {\n /**\n * Deprecated - will be removed in 5.36.0\n */\n onBeforeModelCreate: onModelBeforeCreate,\n onAfterModelCreate: onModelAfterCreate,\n onBeforeModelCreateFrom: onModelBeforeCreateFrom,\n onAfterModelCreateFrom: onModelAfterCreateFrom,\n onBeforeModelUpdate: onModelBeforeUpdate,\n onAfterModelUpdate: onModelAfterUpdate,\n onBeforeModelDelete: onModelBeforeDelete,\n onAfterModelDelete: onModelAfterDelete,\n /**\n * Released in 5.34.0\n */\n onModelBeforeCreate,\n onModelAfterCreate,\n onModelCreateError,\n onModelBeforeCreateFrom,\n onModelAfterCreateFrom,\n onModelCreateFromError,\n onModelBeforeUpdate,\n onModelAfterUpdate,\n onModelUpdateError,\n onModelBeforeDelete,\n onModelAfterDelete,\n onModelDeleteError,\n onModelInitialize,\n clearModelsCache,\n getModel,\n listModels,\n async createModel(input) {\n return context.benchmark.measure(\"headlessCms.crud.models.createModel\", async () => {\n return createModel(input);\n });\n },\n /**\n * Method does not check for permissions or ownership.\n * @internal\n */\n async updateModelDirect(params) {\n return context.benchmark.measure(\n \"headlessCms.crud.models.updateModelDirect\",\n async () => {\n return updateModelDirect(params);\n }\n );\n },\n async createModelFrom(modelId, userInput) {\n return context.benchmark.measure(\n \"headlessCms.crud.models.createModelFrom\",\n async () => {\n return createModelFrom(modelId, userInput);\n }\n );\n },\n async updateModel(modelId, input) {\n return context.benchmark.measure(\"headlessCms.crud.models.updateModel\", async () => {\n return updateModel(modelId, input);\n });\n },\n async deleteModel(modelId) {\n return context.benchmark.measure(\"headlessCms.crud.models.deleteModel\", async () => {\n return deleteModel(modelId);\n });\n },\n async initializeModel(modelId, data) {\n return context.benchmark.measure(\n \"headlessCms.crud.models.initializeModel\",\n async () => {\n return initializeModel(modelId, data);\n }\n );\n },\n getModelManager,\n getEntryManager: async model => {\n return getModelManager(model);\n },\n getManagers: () => managers,\n getEntryManagers: () => managers\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { OnGroupBeforeCreateTopicParams, HeadlessCmsStorageOperations } from "../../types";
2
+ import { Topic } from "@webiny/pubsub/types";
3
+ import { PluginsContainer } from "@webiny/plugins";
4
+ interface AssignBeforeGroupCreateParams {
5
+ onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;
6
+ plugins: PluginsContainer;
7
+ storageOperations: HeadlessCmsStorageOperations;
8
+ }
9
+ export declare const assignBeforeGroupCreate: (params: AssignBeforeGroupCreateParams) => void;
10
+ export {};
@@ -1,31 +1,24 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.assignBeforeGroupCreate = void 0;
9
-
10
- var _CmsGroupPlugin = require("../../CmsGroupPlugin");
11
-
12
- var _utils = require("../../../../utils");
13
-
14
8
  var _error = _interopRequireDefault(require("@webiny/error"));
15
-
16
- var _shortid = _interopRequireDefault(require("shortid"));
17
-
9
+ var _toSlug = require("../../utils/toSlug");
10
+ var _CmsGroupPlugin = require("../../plugins/CmsGroupPlugin");
11
+ var _utils = require("@webiny/utils");
18
12
  const assignBeforeGroupCreate = params => {
19
13
  const {
20
- onBeforeCreate,
14
+ onGroupBeforeCreate,
21
15
  plugins,
22
16
  storageOperations
23
17
  } = params;
24
- onBeforeCreate.subscribe(async params => {
18
+ onGroupBeforeCreate.subscribe(async params => {
25
19
  const {
26
20
  group
27
21
  } = params;
28
-
29
22
  if (group.slug && group.slug.trim()) {
30
23
  const groups = await storageOperations.groups.list({
31
24
  where: {
@@ -34,12 +27,11 @@ const assignBeforeGroupCreate = params => {
34
27
  slug: group.slug
35
28
  }
36
29
  });
37
-
38
30
  if (groups.length > 0) {
39
31
  throw new _error.default(`Cms Group with the slug "${group.slug}" already exists.`, "SLUG_ALREADY_EXISTS");
40
32
  }
41
33
  } else {
42
- const slug = (0, _utils.toSlug)(group.name);
34
+ const slug = (0, _toSlug.toSlug)(group.name);
43
35
  const groups = await storageOperations.groups.list({
44
36
  where: {
45
37
  tenant: group.tenant,
@@ -47,20 +39,16 @@ const assignBeforeGroupCreate = params => {
47
39
  slug
48
40
  }
49
41
  });
50
-
51
42
  if (groups.length === 0) {
52
43
  group.slug = slug;
53
44
  } else {
54
- group.slug = `${slug}-${_shortid.default.generate()}`;
45
+ group.slug = `${slug}-${(0, _utils.generateAlphaNumericId)(8)}`;
55
46
  }
56
47
  }
57
-
58
48
  const groupPlugin = plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type).find(item => item.contentModelGroup.slug === group.slug);
59
-
60
49
  if (groupPlugin) {
61
50
  throw new Error(`Cannot create "${group.slug}" content model group because one is already registered via a plugin.`);
62
51
  }
63
52
  });
64
53
  };
65
-
66
54
  exports.assignBeforeGroupCreate = assignBeforeGroupCreate;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["assignBeforeGroupCreate","params","onGroupBeforeCreate","plugins","storageOperations","subscribe","group","slug","trim","groups","list","where","tenant","locale","length","WebinyError","toSlug","name","generateAlphaNumericId","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","Error"],"sources":["beforeCreate.ts"],"sourcesContent":["import { OnGroupBeforeCreateTopicParams, HeadlessCmsStorageOperations } from \"~/types\";\nimport { Topic } from \"@webiny/pubsub/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { toSlug } from \"~/utils/toSlug\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { generateAlphaNumericId } from \"@webiny/utils\";\n\ninterface AssignBeforeGroupCreateParams {\n onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;\n plugins: PluginsContainer;\n storageOperations: HeadlessCmsStorageOperations;\n}\nexport const assignBeforeGroupCreate = (params: AssignBeforeGroupCreateParams) => {\n const { onGroupBeforeCreate, plugins, storageOperations } = params;\n\n onGroupBeforeCreate.subscribe(async params => {\n const { group } = params;\n\n if (group.slug && group.slug.trim()) {\n const groups = await storageOperations.groups.list({\n where: {\n tenant: group.tenant,\n locale: group.locale,\n slug: group.slug\n }\n });\n if (groups.length > 0) {\n throw new WebinyError(\n `Cms Group with the slug \"${group.slug}\" already exists.`,\n \"SLUG_ALREADY_EXISTS\"\n );\n }\n } else {\n const slug = toSlug(group.name);\n const groups = await storageOperations.groups.list({\n where: {\n tenant: group.tenant,\n locale: group.locale,\n slug\n }\n });\n\n if (groups.length === 0) {\n group.slug = slug;\n } else {\n group.slug = `${slug}-${generateAlphaNumericId(8)}`;\n }\n }\n\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n\n if (groupPlugin) {\n throw new Error(\n `Cannot create \"${group.slug}\" content model group because one is already registered via a plugin.`\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAGA;AACA;AACA;AACA;AAOO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC,OAAO;IAAEC;EAAkB,CAAC,GAAGH,MAAM;EAElEC,mBAAmB,CAACG,SAAS,CAAC,MAAMJ,MAAM,IAAI;IAC1C,MAAM;MAAEK;IAAM,CAAC,GAAGL,MAAM;IAExB,IAAIK,KAAK,CAACC,IAAI,IAAID,KAAK,CAACC,IAAI,CAACC,IAAI,EAAE,EAAE;MACjC,MAAMC,MAAM,GAAG,MAAML,iBAAiB,CAACK,MAAM,CAACC,IAAI,CAAC;QAC/CC,KAAK,EAAE;UACHC,MAAM,EAAEN,KAAK,CAACM,MAAM;UACpBC,MAAM,EAAEP,KAAK,CAACO,MAAM;UACpBN,IAAI,EAAED,KAAK,CAACC;QAChB;MACJ,CAAC,CAAC;MACF,IAAIE,MAAM,CAACK,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,IAAIC,cAAW,CAChB,4BAA2BT,KAAK,CAACC,IAAK,mBAAkB,EACzD,qBAAqB,CACxB;MACL;IACJ,CAAC,MAAM;MACH,MAAMA,IAAI,GAAG,IAAAS,cAAM,EAACV,KAAK,CAACW,IAAI,CAAC;MAC/B,MAAMR,MAAM,GAAG,MAAML,iBAAiB,CAACK,MAAM,CAACC,IAAI,CAAC;QAC/CC,KAAK,EAAE;UACHC,MAAM,EAAEN,KAAK,CAACM,MAAM;UACpBC,MAAM,EAAEP,KAAK,CAACO,MAAM;UACpBN;QACJ;MACJ,CAAC,CAAC;MAEF,IAAIE,MAAM,CAACK,MAAM,KAAK,CAAC,EAAE;QACrBR,KAAK,CAACC,IAAI,GAAGA,IAAI;MACrB,CAAC,MAAM;QACHD,KAAK,CAACC,IAAI,GAAI,GAAEA,IAAK,IAAG,IAAAW,6BAAsB,EAAC,CAAC,CAAE,EAAC;MACvD;IACJ;IAEA,MAAMC,WAAW,GAAGhB,OAAO,CACtBiB,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAAClB,IAAI,KAAKD,KAAK,CAACC,IAAI,CAAC;IAE7D,IAAIY,WAAW,EAAE;MACb,MAAM,IAAIO,KAAK,CACV,kBAAiBpB,KAAK,CAACC,IAAK,uEAAsE,CACtG;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -0,0 +1,10 @@
1
+ import { Topic } from "@webiny/pubsub/types";
2
+ import { OnGroupBeforeDeleteTopicParams, HeadlessCmsStorageOperations } from "../../types";
3
+ import { PluginsContainer } from "@webiny/plugins";
4
+ interface AssignBeforeGroupDeleteParams {
5
+ onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;
6
+ plugins: PluginsContainer;
7
+ storageOperations: HeadlessCmsStorageOperations;
8
+ }
9
+ export declare const assignBeforeGroupDelete: (params: AssignBeforeGroupDeleteParams) => void;
10
+ export {};
@@ -1,32 +1,26 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.assignBeforeGroupDelete = void 0;
9
-
10
- var _CmsGroupPlugin = require("../../CmsGroupPlugin");
11
-
8
+ var _CmsGroupPlugin = require("../../plugins/CmsGroupPlugin");
12
9
  var _error = _interopRequireDefault(require("@webiny/error"));
13
-
14
10
  const assignBeforeGroupDelete = params => {
15
11
  const {
16
- onBeforeDelete,
12
+ onGroupBeforeDelete,
17
13
  plugins,
18
14
  storageOperations
19
15
  } = params;
20
- onBeforeDelete.subscribe(async params => {
16
+ onGroupBeforeDelete.subscribe(async params => {
21
17
  const {
22
18
  group
23
19
  } = params;
24
20
  const groupPlugin = plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type).find(item => item.contentModelGroup.slug === group.slug);
25
-
26
21
  if (groupPlugin) {
27
22
  throw new Error(`Cms Groups defined via plugins cannot be deleted.`);
28
23
  }
29
-
30
24
  const models = await storageOperations.models.list({
31
25
  where: {
32
26
  tenant: group.tenant,
@@ -36,7 +30,6 @@ const assignBeforeGroupDelete = params => {
36
30
  const items = models.filter(model => {
37
31
  return model.group.id === group.id;
38
32
  });
39
-
40
33
  if (items.length > 0) {
41
34
  throw new _error.default("Cannot delete this group because there are models that belong to it.", "BEFORE_DELETE_ERROR", {
42
35
  group
@@ -44,5 +37,4 @@ const assignBeforeGroupDelete = params => {
44
37
  }
45
38
  });
46
39
  };
47
-
48
40
  exports.assignBeforeGroupDelete = assignBeforeGroupDelete;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["assignBeforeGroupDelete","params","onGroupBeforeDelete","plugins","storageOperations","subscribe","group","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","slug","Error","models","list","where","tenant","locale","items","filter","model","id","length","WebinyError"],"sources":["beforeDelete.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { OnGroupBeforeDeleteTopicParams, HeadlessCmsStorageOperations } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface AssignBeforeGroupDeleteParams {\n onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;\n plugins: PluginsContainer;\n storageOperations: HeadlessCmsStorageOperations;\n}\nexport const assignBeforeGroupDelete = (params: AssignBeforeGroupDeleteParams) => {\n const { onGroupBeforeDelete, plugins, storageOperations } = params;\n\n onGroupBeforeDelete.subscribe(async params => {\n const { group } = params;\n\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n\n if (groupPlugin) {\n throw new Error(`Cms Groups defined via plugins cannot be deleted.`);\n }\n\n const models = await storageOperations.models.list({\n where: {\n tenant: group.tenant,\n locale: group.locale\n }\n });\n const items = models.filter(model => {\n return model.group.id === group.id;\n });\n if (items.length > 0) {\n throw new WebinyError(\n \"Cannot delete this group because there are models that belong to it.\",\n \"BEFORE_DELETE_ERROR\",\n {\n group\n }\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAGA;AACA;AAOO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC,OAAO;IAAEC;EAAkB,CAAC,GAAGH,MAAM;EAElEC,mBAAmB,CAACG,SAAS,CAAC,MAAMJ,MAAM,IAAI;IAC1C,MAAM;MAAEK;IAAM,CAAC,GAAGL,MAAM;IAExB,MAAMM,WAAW,GAAGJ,OAAO,CACtBK,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAACC,IAAI,KAAKR,KAAK,CAACQ,IAAI,CAAC;IAE7D,IAAIP,WAAW,EAAE;MACb,MAAM,IAAIQ,KAAK,CAAE,mDAAkD,CAAC;IACxE;IAEA,MAAMC,MAAM,GAAG,MAAMZ,iBAAiB,CAACY,MAAM,CAACC,IAAI,CAAC;MAC/CC,KAAK,EAAE;QACHC,MAAM,EAAEb,KAAK,CAACa,MAAM;QACpBC,MAAM,EAAEd,KAAK,CAACc;MAClB;IACJ,CAAC,CAAC;IACF,MAAMC,KAAK,GAAGL,MAAM,CAACM,MAAM,CAACC,KAAK,IAAI;MACjC,OAAOA,KAAK,CAACjB,KAAK,CAACkB,EAAE,KAAKlB,KAAK,CAACkB,EAAE;IACtC,CAAC,CAAC;IACF,IAAIH,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;MAClB,MAAM,IAAIC,cAAW,CACjB,sEAAsE,EACtE,qBAAqB,EACrB;QACIpB;MACJ,CAAC,CACJ;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -0,0 +1,9 @@
1
+ import { Topic } from "@webiny/pubsub/types";
2
+ import { OnGroupBeforeUpdateTopicParams } from "../../types";
3
+ import { PluginsContainer } from "@webiny/plugins";
4
+ interface AssignBeforeGroupUpdateParams {
5
+ onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;
6
+ plugins: PluginsContainer;
7
+ }
8
+ export declare const assignBeforeGroupUpdate: (params: AssignBeforeGroupUpdateParams) => void;
9
+ export {};
@@ -4,25 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.assignBeforeGroupUpdate = void 0;
7
-
8
- var _CmsGroupPlugin = require("../../CmsGroupPlugin");
9
-
7
+ var _CmsGroupPlugin = require("../../plugins/CmsGroupPlugin");
10
8
  const assignBeforeGroupUpdate = params => {
11
9
  const {
12
- onBeforeUpdate,
10
+ onGroupBeforeUpdate,
13
11
  plugins
14
12
  } = params;
15
- onBeforeUpdate.subscribe(({
13
+ onGroupBeforeUpdate.subscribe(({
16
14
  group
17
15
  }) => {
18
16
  const groupPlugin = plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type).find(item => item.contentModelGroup.slug === group.slug);
19
-
20
17
  if (!groupPlugin) {
21
18
  return;
22
19
  }
23
-
24
20
  throw new Error(`Cms Groups defined via plugins cannot be updated.`);
25
21
  });
26
22
  };
27
-
28
23
  exports.assignBeforeGroupUpdate = assignBeforeGroupUpdate;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["assignBeforeGroupUpdate","params","onGroupBeforeUpdate","plugins","subscribe","group","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","slug","Error"],"sources":["beforeUpdate.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { OnGroupBeforeUpdateTopicParams } from \"~/types\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\ninterface AssignBeforeGroupUpdateParams {\n onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;\n plugins: PluginsContainer;\n}\nexport const assignBeforeGroupUpdate = (params: AssignBeforeGroupUpdateParams) => {\n const { onGroupBeforeUpdate, plugins } = params;\n\n onGroupBeforeUpdate.subscribe(({ group }) => {\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n if (!groupPlugin) {\n return;\n }\n throw new Error(`Cms Groups defined via plugins cannot be updated.`);\n });\n};\n"],"mappings":";;;;;;AAEA;AAOO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC;EAAQ,CAAC,GAAGF,MAAM;EAE/CC,mBAAmB,CAACE,SAAS,CAAC,CAAC;IAAEC;EAAM,CAAC,KAAK;IACzC,MAAMC,WAAW,GAAGH,OAAO,CACtBI,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAACC,IAAI,KAAKR,KAAK,CAACQ,IAAI,CAAC;IAC7D,IAAI,CAACP,WAAW,EAAE;MACd;IACJ;IACA,MAAM,IAAIQ,KAAK,CAAE,mDAAkD,CAAC;EACxE,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -0,0 +1,30 @@
1
+ import zod from "zod";
2
+ export declare const createGroupCreateValidation: () => zod.ZodObject<{
3
+ name: zod.ZodString;
4
+ slug: zod.ZodEffects<zod.ZodOptional<zod.ZodString>, string, string | undefined>;
5
+ description: zod.ZodEffects<zod.ZodOptional<zod.ZodString>, string, string | undefined>;
6
+ icon: zod.ZodString;
7
+ }, "strip", zod.ZodTypeAny, {
8
+ description: string;
9
+ name: string;
10
+ slug: string;
11
+ icon: string;
12
+ }, {
13
+ description?: string | undefined;
14
+ slug?: string | undefined;
15
+ name: string;
16
+ icon: string;
17
+ }>;
18
+ export declare const createGroupUpdateValidation: () => zod.ZodObject<{
19
+ name: zod.ZodOptional<zod.ZodString>;
20
+ description: zod.ZodOptional<zod.ZodString>;
21
+ icon: zod.ZodOptional<zod.ZodString>;
22
+ }, "strip", zod.ZodTypeAny, {
23
+ description?: string | undefined;
24
+ name?: string | undefined;
25
+ icon?: string | undefined;
26
+ }, {
27
+ description?: string | undefined;
28
+ name?: string | undefined;
29
+ icon?: string | undefined;
30
+ }>;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createGroupUpdateValidation = exports.createGroupCreateValidation = void 0;
8
+ var _zod = _interopRequireDefault(require("zod"));
9
+ var _toSlug = require("../../utils/toSlug");
10
+ const str = _zod.default.string().trim();
11
+ const name = str.max(100);
12
+ const description = str.max(255).optional();
13
+ const icon = str.min(1).max(255);
14
+ const createGroupCreateValidation = () => {
15
+ return _zod.default.object({
16
+ name: name.min(1),
17
+ slug: str.max(100).optional().transform(value => {
18
+ return value ? (0, _toSlug.toSlug)(value) : "";
19
+ }),
20
+ description: description.transform(value => {
21
+ return value || "";
22
+ }),
23
+ icon
24
+ });
25
+ };
26
+ exports.createGroupCreateValidation = createGroupCreateValidation;
27
+ const createGroupUpdateValidation = () => {
28
+ return _zod.default.object({
29
+ name: name.optional(),
30
+ description,
31
+ icon: icon.optional()
32
+ });
33
+ };
34
+ exports.createGroupUpdateValidation = createGroupUpdateValidation;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["str","zod","string","trim","name","max","description","optional","icon","min","createGroupCreateValidation","object","slug","transform","value","toSlug","createGroupUpdateValidation"],"sources":["validation.ts"],"sourcesContent":["import zod from \"zod\";\nimport { toSlug } from \"~/utils/toSlug\";\n\nconst str = zod.string().trim();\n\nconst name = str.max(100);\nconst description = str.max(255).optional();\nconst icon = str.min(1).max(255);\n\nexport const createGroupCreateValidation = () => {\n return zod.object({\n name: name.min(1),\n slug: str\n .max(100)\n .optional()\n .transform(value => {\n return value ? toSlug(value) : \"\";\n }),\n description: description.transform(value => {\n return value || \"\";\n }),\n icon\n });\n};\n\nexport const createGroupUpdateValidation = () => {\n return zod.object({\n name: name.optional(),\n description,\n icon: icon.optional()\n });\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEA,MAAMA,GAAG,GAAGC,YAAG,CAACC,MAAM,EAAE,CAACC,IAAI,EAAE;AAE/B,MAAMC,IAAI,GAAGJ,GAAG,CAACK,GAAG,CAAC,GAAG,CAAC;AACzB,MAAMC,WAAW,GAAGN,GAAG,CAACK,GAAG,CAAC,GAAG,CAAC,CAACE,QAAQ,EAAE;AAC3C,MAAMC,IAAI,GAAGR,GAAG,CAACS,GAAG,CAAC,CAAC,CAAC,CAACJ,GAAG,CAAC,GAAG,CAAC;AAEzB,MAAMK,2BAA2B,GAAG,MAAM;EAC7C,OAAOT,YAAG,CAACU,MAAM,CAAC;IACdP,IAAI,EAAEA,IAAI,CAACK,GAAG,CAAC,CAAC,CAAC;IACjBG,IAAI,EAAEZ,GAAG,CACJK,GAAG,CAAC,GAAG,CAAC,CACRE,QAAQ,EAAE,CACVM,SAAS,CAACC,KAAK,IAAI;MAChB,OAAOA,KAAK,GAAG,IAAAC,cAAM,EAACD,KAAK,CAAC,GAAG,EAAE;IACrC,CAAC,CAAC;IACNR,WAAW,EAAEA,WAAW,CAACO,SAAS,CAACC,KAAK,IAAI;MACxC,OAAOA,KAAK,IAAI,EAAE;IACtB,CAAC,CAAC;IACFN;EACJ,CAAC,CAAC;AACN,CAAC;AAAC;AAEK,MAAMQ,2BAA2B,GAAG,MAAM;EAC7C,OAAOf,YAAG,CAACU,MAAM,CAAC;IACdP,IAAI,EAAEA,IAAI,CAACG,QAAQ,EAAE;IACrBD,WAAW;IACXE,IAAI,EAAEA,IAAI,CAACD,QAAQ;EACvB,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -1,12 +1,14 @@
1
- import { CmsGroupContext, CmsContext, HeadlessCmsStorageOperations } from "../../../types";
1
+ import { CmsGroupContext, CmsContext, HeadlessCmsStorageOperations } from "../types";
2
2
  import { Tenant } from "@webiny/api-tenancy/types";
3
3
  import { I18NLocale } from "@webiny/api-i18n/types";
4
4
  import { SecurityIdentity } from "@webiny/api-security/types";
5
- export interface Params {
5
+ import { ModelGroupsPermissions } from "../utils/permissions/ModelGroupsPermissions";
6
+ export interface CreateModelGroupsCrudParams {
6
7
  getTenant: () => Tenant;
7
8
  getLocale: () => I18NLocale;
8
9
  storageOperations: HeadlessCmsStorageOperations;
10
+ modelGroupsPermissions: ModelGroupsPermissions;
9
11
  context: CmsContext;
10
12
  getIdentity: () => SecurityIdentity;
11
13
  }
12
- export declare const createModelGroupsCrud: (params: Params) => CmsGroupContext;
14
+ export declare const createModelGroupsCrud: (params: CreateModelGroupsCrudParams) => CmsGroupContext;