@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,367 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createModelGroupsCrud = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _dataloader = _interopRequireDefault(require("dataloader"));
10
+ var _error = _interopRequireDefault(require("@webiny/error"));
11
+ var _handlerGraphql = require("@webiny/handler-graphql");
12
+ var _CmsGroupPlugin = require("../plugins/CmsGroupPlugin");
13
+ var _pubsub = require("@webiny/pubsub");
14
+ var _beforeUpdate = require("./contentModelGroup/beforeUpdate");
15
+ var _beforeCreate = require("./contentModelGroup/beforeCreate");
16
+ var _beforeDelete = require("./contentModelGroup/beforeDelete");
17
+ var _validation = require("./contentModelGroup/validation");
18
+ var _utils = require("@webiny/utils");
19
+ var _filterAsync = require("../utils/filterAsync");
20
+ const createModelGroupsCrud = params => {
21
+ const {
22
+ getTenant,
23
+ getIdentity,
24
+ getLocale,
25
+ storageOperations,
26
+ modelGroupsPermissions,
27
+ context
28
+ } = params;
29
+ const dataLoaders = {
30
+ listGroups: new _dataloader.default(async () => {
31
+ const tenant = getTenant().id;
32
+ const locale = getLocale().code;
33
+ const pluginsGroups = getGroupsAsPlugins().map(group => {
34
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, group), {}, {
35
+ tenant: group.tenant || tenant,
36
+ locale: group.locale || locale
37
+ });
38
+ });
39
+ const groups = await storageOperations.groups.list({
40
+ where: {
41
+ tenant: getTenant().id,
42
+ locale: getLocale().code
43
+ }
44
+ });
45
+ return [groups.concat(pluginsGroups)];
46
+ })
47
+ };
48
+ const clearGroupsCache = () => {
49
+ for (const loader of Object.values(dataLoaders)) {
50
+ loader.clearAll();
51
+ }
52
+ };
53
+ const getGroupsAsPlugins = () => {
54
+ const tenant = getTenant().id;
55
+ const locale = getLocale().code;
56
+ return context.plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type)
57
+ /**
58
+ * We need to filter out groups that are not for this tenant or locale.
59
+ * If it does not have tenant or locale define, it is for every locale and tenant
60
+ */.filter(plugin => {
61
+ const {
62
+ tenant: t,
63
+ locale: l
64
+ } = plugin.contentModelGroup;
65
+ if (t && t !== tenant) {
66
+ return false;
67
+ } else if (l && l !== locale) {
68
+ return false;
69
+ }
70
+ return true;
71
+ }).map(plugin => {
72
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, plugin.contentModelGroup), {}, {
73
+ tenant,
74
+ locale,
75
+ webinyVersion: context.WEBINY_VERSION
76
+ });
77
+ });
78
+ };
79
+ const getGroupViaDataLoader = async id => {
80
+ const groups = await dataLoaders.listGroups.load("listGroups");
81
+ const group = groups.find(g => g.id === id);
82
+ if (!group) {
83
+ throw new _handlerGraphql.NotFoundError(`Cms Group "${id}" was not found!`);
84
+ }
85
+ return group;
86
+ };
87
+ const listGroupsViaDataLoader = async params => {
88
+ const {
89
+ where
90
+ } = params || {};
91
+ try {
92
+ return await dataLoaders.listGroups.load("listGroups");
93
+ } catch (ex) {
94
+ throw new _error.default(ex.message, ex.code || "LIST_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
95
+ where
96
+ }));
97
+ }
98
+ };
99
+
100
+ /**
101
+ * Create
102
+ */
103
+ const onGroupBeforeCreate = (0, _pubsub.createTopic)("cms.onGroupBeforeCreate");
104
+ const onGroupAfterCreate = (0, _pubsub.createTopic)("cms.onGroupAfterCreate");
105
+ const onGroupCreateError = (0, _pubsub.createTopic)("cms.onGroupCreateError");
106
+ /**
107
+ * Update
108
+ */
109
+ const onGroupBeforeUpdate = (0, _pubsub.createTopic)("cms.onGroupBeforeUpdate");
110
+ const onGroupAfterUpdate = (0, _pubsub.createTopic)("cms.onGroupAfterUpdate");
111
+ const onGroupUpdateError = (0, _pubsub.createTopic)("cms.onGroupUpdateError");
112
+ /**
113
+ * Delete
114
+ */
115
+ const onGroupBeforeDelete = (0, _pubsub.createTopic)("cms.onGroupBeforeDelete");
116
+ const onGroupAfterDelete = (0, _pubsub.createTopic)("cms.onGroupAfterDelete");
117
+ const onGroupDeleteError = (0, _pubsub.createTopic)("cms.onGroupDeleteError");
118
+
119
+ /**
120
+ * We need to assign some default behaviors.
121
+ */
122
+ (0, _beforeCreate.assignBeforeGroupCreate)({
123
+ onGroupBeforeCreate,
124
+ plugins: context.plugins,
125
+ storageOperations
126
+ });
127
+ (0, _beforeUpdate.assignBeforeGroupUpdate)({
128
+ onGroupBeforeUpdate,
129
+ plugins: context.plugins
130
+ });
131
+ (0, _beforeDelete.assignBeforeGroupDelete)({
132
+ onGroupBeforeDelete,
133
+ plugins: context.plugins,
134
+ storageOperations
135
+ });
136
+ /**
137
+ * CRUD Methods
138
+ */
139
+ const getGroup = async id => {
140
+ await modelGroupsPermissions.ensure({
141
+ rwd: "r"
142
+ });
143
+ const group = await getGroupViaDataLoader(id);
144
+ await modelGroupsPermissions.ensure({
145
+ owns: group.createdBy
146
+ });
147
+ await modelGroupsPermissions.ensureCanAccessGroup({
148
+ group,
149
+ locale: getLocale().code
150
+ });
151
+ return group;
152
+ };
153
+ const listGroups = async params => {
154
+ const {
155
+ where
156
+ } = params || {};
157
+ const {
158
+ tenant,
159
+ locale
160
+ } = where || {};
161
+ await modelGroupsPermissions.ensure({
162
+ rwd: "r"
163
+ });
164
+ const response = await listGroupsViaDataLoader((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params || {}), {}, {
165
+ where: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, where || {}), {}, {
166
+ tenant: tenant || getTenant().id,
167
+ locale: locale || getLocale().code
168
+ })
169
+ }));
170
+ return (0, _filterAsync.filterAsync)(response, async group => {
171
+ const ownsGroup = await modelGroupsPermissions.ensure({
172
+ owns: group.createdBy
173
+ }, {
174
+ throw: false
175
+ });
176
+ if (!ownsGroup) {
177
+ return false;
178
+ }
179
+ return await modelGroupsPermissions.canAccessGroup({
180
+ group,
181
+ locale: getLocale().code
182
+ });
183
+ });
184
+ };
185
+ const createGroup = async input => {
186
+ await modelGroupsPermissions.ensure({
187
+ rwd: "w"
188
+ });
189
+ const result = await (0, _validation.createGroupCreateValidation)().safeParseAsync(input);
190
+ if (!result.success) {
191
+ throw (0, _utils.createZodError)(result.error);
192
+ }
193
+ const data = result.data;
194
+ const identity = getIdentity();
195
+ const id = (0, _utils.mdbid)();
196
+ const group = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
197
+ id,
198
+ tenant: getTenant().id,
199
+ locale: getLocale().code,
200
+ createdOn: new Date().toISOString(),
201
+ savedOn: new Date().toISOString(),
202
+ createdBy: {
203
+ id: identity.id,
204
+ displayName: identity.displayName,
205
+ type: identity.type
206
+ },
207
+ webinyVersion: context.WEBINY_VERSION
208
+ });
209
+ try {
210
+ await onGroupBeforeCreate.publish({
211
+ group
212
+ });
213
+ const result = await storageOperations.groups.create({
214
+ group
215
+ });
216
+ clearGroupsCache();
217
+ await onGroupAfterCreate.publish({
218
+ group: result
219
+ });
220
+ return group;
221
+ } catch (ex) {
222
+ await onGroupCreateError.publish({
223
+ input,
224
+ group,
225
+ error: ex
226
+ });
227
+ throw new _error.default(ex.message || "Could not save data model group.", ex.code || "ERROR_ON_CREATE", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
228
+ group,
229
+ input
230
+ }));
231
+ }
232
+ };
233
+ const updateGroup = async (id, input) => {
234
+ await modelGroupsPermissions.ensure({
235
+ rwd: "w"
236
+ });
237
+ const original = await getGroupViaDataLoader(id);
238
+ await modelGroupsPermissions.ensure({
239
+ owns: original.createdBy
240
+ });
241
+ const result = await (0, _validation.createGroupUpdateValidation)().safeParseAsync(input);
242
+ if (!result.success) {
243
+ throw (0, _utils.createZodError)(result.error);
244
+ }
245
+ const data = result.data;
246
+
247
+ /**
248
+ * No need to continue if no values were changed
249
+ */
250
+ if (Object.keys(data).length === 0) {
251
+ return original;
252
+ }
253
+ const group = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data), {}, {
254
+ locale: getLocale().code,
255
+ tenant: getTenant().id,
256
+ savedOn: new Date().toISOString()
257
+ });
258
+ try {
259
+ await onGroupBeforeUpdate.publish({
260
+ original,
261
+ group
262
+ });
263
+ const updatedGroup = await storageOperations.groups.update({
264
+ group
265
+ });
266
+ clearGroupsCache();
267
+ await onGroupAfterUpdate.publish({
268
+ original,
269
+ group: updatedGroup
270
+ });
271
+ return updatedGroup;
272
+ } catch (ex) {
273
+ await onGroupUpdateError.publish({
274
+ input,
275
+ original,
276
+ group,
277
+ error: ex
278
+ });
279
+ throw new _error.default(ex.message, ex.code || "UPDATE_ERROR", {
280
+ error: ex,
281
+ original,
282
+ group,
283
+ input
284
+ });
285
+ }
286
+ };
287
+ const deleteGroup = async id => {
288
+ await modelGroupsPermissions.ensure({
289
+ rwd: "d"
290
+ });
291
+ const group = await getGroupViaDataLoader(id);
292
+ await modelGroupsPermissions.ensure({
293
+ owns: group.createdBy
294
+ });
295
+ try {
296
+ await onGroupBeforeDelete.publish({
297
+ group
298
+ });
299
+ await storageOperations.groups.delete({
300
+ group
301
+ });
302
+ clearGroupsCache();
303
+ await onGroupAfterDelete.publish({
304
+ group
305
+ });
306
+ } catch (ex) {
307
+ await onGroupDeleteError.publish({
308
+ group,
309
+ error: ex
310
+ });
311
+ throw new _error.default(ex.message, ex.code || "DELETE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
312
+ id
313
+ }));
314
+ }
315
+ return true;
316
+ };
317
+ return {
318
+ /**
319
+ * Deprecated - will be removed in 5.36.0
320
+ */
321
+ onBeforeGroupCreate: onGroupBeforeCreate,
322
+ onAfterGroupCreate: onGroupAfterCreate,
323
+ onBeforeGroupUpdate: onGroupBeforeUpdate,
324
+ onAfterGroupUpdate: onGroupAfterUpdate,
325
+ onBeforeGroupDelete: onGroupBeforeDelete,
326
+ onAfterGroupDelete: onGroupAfterDelete,
327
+ /**
328
+ * Released in 5.34.0
329
+ */
330
+ onGroupBeforeCreate,
331
+ onGroupAfterCreate,
332
+ onGroupCreateError,
333
+ onGroupBeforeUpdate,
334
+ onGroupAfterUpdate,
335
+ onGroupUpdateError,
336
+ onGroupBeforeDelete,
337
+ onGroupAfterDelete,
338
+ onGroupDeleteError,
339
+ clearGroupsCache,
340
+ getGroup: async id => {
341
+ return context.benchmark.measure("headlessCms.crud.groups.getGroup", async () => {
342
+ return getGroup(id);
343
+ });
344
+ },
345
+ listGroups: async params => {
346
+ return context.benchmark.measure("headlessCms.crud.groups.listGroups", async () => {
347
+ return listGroups(params);
348
+ });
349
+ },
350
+ createGroup: async input => {
351
+ return context.benchmark.measure("headlessCms.crud.groups.createGroup", async () => {
352
+ return createGroup(input);
353
+ });
354
+ },
355
+ updateGroup: async (id, input) => {
356
+ return context.benchmark.measure("headlessCms.crud.groups.updateGroup", async () => {
357
+ return updateGroup(id, input);
358
+ });
359
+ },
360
+ deleteGroup: async id => {
361
+ return context.benchmark.measure("headlessCms.crud.groups.deleteGroup", async () => {
362
+ return deleteGroup(id);
363
+ });
364
+ }
365
+ };
366
+ };
367
+ exports.createModelGroupsCrud = createModelGroupsCrud;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createModelGroupsCrud","params","getTenant","getIdentity","getLocale","storageOperations","modelGroupsPermissions","context","dataLoaders","listGroups","DataLoader","tenant","id","locale","code","pluginsGroups","getGroupsAsPlugins","map","group","groups","list","where","concat","clearGroupsCache","loader","Object","values","clearAll","plugins","byType","CmsGroupPlugin","type","filter","plugin","t","l","contentModelGroup","webinyVersion","WEBINY_VERSION","getGroupViaDataLoader","load","find","g","NotFoundError","listGroupsViaDataLoader","ex","WebinyError","message","data","onGroupBeforeCreate","createTopic","onGroupAfterCreate","onGroupCreateError","onGroupBeforeUpdate","onGroupAfterUpdate","onGroupUpdateError","onGroupBeforeDelete","onGroupAfterDelete","onGroupDeleteError","assignBeforeGroupCreate","assignBeforeGroupUpdate","assignBeforeGroupDelete","getGroup","ensure","rwd","owns","createdBy","ensureCanAccessGroup","response","filterAsync","ownsGroup","throw","canAccessGroup","createGroup","input","result","createGroupCreateValidation","safeParseAsync","success","createZodError","error","identity","mdbid","createdOn","Date","toISOString","savedOn","displayName","publish","create","updateGroup","original","createGroupUpdateValidation","keys","length","updatedGroup","update","deleteGroup","delete","onBeforeGroupCreate","onAfterGroupCreate","onBeforeGroupUpdate","onAfterGroupUpdate","onBeforeGroupDelete","onAfterGroupDelete","benchmark","measure"],"sources":["contentModelGroup.crud.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport WebinyError from \"@webiny/error\";\nimport {\n CmsGroupContext,\n CmsGroupListParams,\n CmsGroup,\n CmsContext,\n HeadlessCmsStorageOperations,\n OnGroupBeforeCreateTopicParams,\n OnGroupAfterCreateTopicParams,\n OnGroupBeforeUpdateTopicParams,\n OnGroupAfterUpdateTopicParams,\n OnGroupBeforeDeleteTopicParams,\n OnGroupAfterDeleteTopicParams,\n OnGroupCreateErrorTopicParams,\n OnGroupUpdateErrorTopicParams,\n OnGroupDeleteErrorTopicParams\n} from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\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 { assignBeforeGroupUpdate } from \"./contentModelGroup/beforeUpdate\";\nimport { assignBeforeGroupCreate } from \"./contentModelGroup/beforeCreate\";\nimport { assignBeforeGroupDelete } from \"./contentModelGroup/beforeDelete\";\nimport {\n createGroupCreateValidation,\n createGroupUpdateValidation\n} from \"~/crud/contentModelGroup/validation\";\nimport { createZodError, mdbid } from \"@webiny/utils\";\nimport { ModelGroupsPermissions } from \"~/utils/permissions/ModelGroupsPermissions\";\nimport { filterAsync } from \"~/utils/filterAsync\";\n\nexport interface CreateModelGroupsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n modelGroupsPermissions: ModelGroupsPermissions;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\n\nexport const createModelGroupsCrud = (params: CreateModelGroupsCrudParams): CmsGroupContext => {\n const {\n getTenant,\n getIdentity,\n getLocale,\n storageOperations,\n modelGroupsPermissions,\n context\n } = params;\n\n const dataLoaders = {\n listGroups: new DataLoader(async () => {\n const tenant = getTenant().id;\n const locale = getLocale().code;\n\n const pluginsGroups = getGroupsAsPlugins().map(group => {\n return {\n ...group,\n tenant: group.tenant || tenant,\n locale: group.locale || locale\n };\n });\n\n const groups = await storageOperations.groups.list({\n where: {\n tenant: getTenant().id,\n locale: getLocale().code\n }\n });\n\n return [groups.concat(pluginsGroups)];\n })\n };\n\n const clearGroupsCache = (): void => {\n for (const loader of Object.values(dataLoaders)) {\n loader.clearAll();\n }\n };\n\n const getGroupsAsPlugins = (): CmsGroup[] => {\n const tenant = getTenant().id;\n const locale = getLocale().code;\n\n return (\n context.plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n /**\n * We need to filter out groups 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: t, locale: l } = plugin.contentModelGroup;\n if (t && t !== tenant) {\n return false;\n } else if (l && l !== locale) {\n return false;\n }\n return true;\n })\n .map(plugin => {\n return {\n ...plugin.contentModelGroup,\n tenant,\n locale,\n webinyVersion: context.WEBINY_VERSION\n };\n })\n );\n };\n\n const getGroupViaDataLoader = async (id: string) => {\n const groups = await dataLoaders.listGroups.load(\"listGroups\");\n\n const group = groups.find(g => g.id === id);\n\n if (!group) {\n throw new NotFoundError(`Cms Group \"${id}\" was not found!`);\n }\n return group;\n };\n\n const listGroupsViaDataLoader = async (params: CmsGroupListParams) => {\n const { where } = params || {};\n\n try {\n return await dataLoaders.listGroups.load(\"listGroups\");\n } catch (ex) {\n throw new WebinyError(ex.message, ex.code || \"LIST_ERROR\", {\n ...(ex.data || {}),\n where\n });\n }\n };\n\n /**\n * Create\n */\n const onGroupBeforeCreate =\n createTopic<OnGroupBeforeCreateTopicParams>(\"cms.onGroupBeforeCreate\");\n const onGroupAfterCreate = createTopic<OnGroupAfterCreateTopicParams>(\"cms.onGroupAfterCreate\");\n const onGroupCreateError = createTopic<OnGroupCreateErrorTopicParams>(\"cms.onGroupCreateError\");\n /**\n * Update\n */\n const onGroupBeforeUpdate =\n createTopic<OnGroupBeforeUpdateTopicParams>(\"cms.onGroupBeforeUpdate\");\n const onGroupAfterUpdate = createTopic<OnGroupAfterUpdateTopicParams>(\"cms.onGroupAfterUpdate\");\n const onGroupUpdateError = createTopic<OnGroupUpdateErrorTopicParams>(\"cms.onGroupUpdateError\");\n /**\n * Delete\n */\n const onGroupBeforeDelete =\n createTopic<OnGroupBeforeDeleteTopicParams>(\"cms.onGroupBeforeDelete\");\n const onGroupAfterDelete = createTopic<OnGroupAfterDeleteTopicParams>(\"cms.onGroupAfterDelete\");\n const onGroupDeleteError = createTopic<OnGroupDeleteErrorTopicParams>(\"cms.onGroupDeleteError\");\n\n /**\n * We need to assign some default behaviors.\n */\n assignBeforeGroupCreate({\n onGroupBeforeCreate,\n plugins: context.plugins,\n storageOperations\n });\n assignBeforeGroupUpdate({\n onGroupBeforeUpdate,\n plugins: context.plugins\n });\n assignBeforeGroupDelete({\n onGroupBeforeDelete,\n plugins: context.plugins,\n storageOperations\n });\n /**\n * CRUD Methods\n */\n const getGroup: CmsGroupContext[\"getGroup\"] = async id => {\n await modelGroupsPermissions.ensure({ rwd: \"r\" });\n\n const group = await getGroupViaDataLoader(id);\n\n await modelGroupsPermissions.ensure({ owns: group.createdBy });\n await modelGroupsPermissions.ensureCanAccessGroup({ group, locale: getLocale().code });\n\n return group;\n };\n const listGroups: CmsGroupContext[\"listGroups\"] = async params => {\n const { where } = params || {};\n\n const { tenant, locale } = where || {};\n\n await modelGroupsPermissions.ensure({ rwd: \"r\" });\n\n const response = await listGroupsViaDataLoader({\n ...(params || {}),\n where: {\n ...(where || {}),\n tenant: tenant || getTenant().id,\n locale: locale || getLocale().code\n }\n });\n\n return filterAsync(response, async group => {\n const ownsGroup = await modelGroupsPermissions.ensure(\n { owns: group.createdBy },\n { throw: false }\n );\n\n if (!ownsGroup) {\n return false;\n }\n\n return await modelGroupsPermissions.canAccessGroup({\n group,\n locale: getLocale().code\n });\n });\n };\n const createGroup: CmsGroupContext[\"createGroup\"] = async input => {\n await modelGroupsPermissions.ensure({ rwd: \"w\" });\n\n const result = await createGroupCreateValidation().safeParseAsync(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n const data = result.data;\n\n const identity = getIdentity();\n\n const id = mdbid();\n const group: CmsGroup = {\n ...data,\n id,\n tenant: getTenant().id,\n locale: getLocale().code,\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n webinyVersion: context.WEBINY_VERSION\n };\n try {\n await onGroupBeforeCreate.publish({\n group\n });\n\n const result = await storageOperations.groups.create({\n group\n });\n\n clearGroupsCache();\n\n await onGroupAfterCreate.publish({\n group: result\n });\n\n return group;\n } catch (ex) {\n await onGroupCreateError.publish({\n input,\n group,\n error: ex\n });\n throw new WebinyError(\n ex.message || \"Could not save data model group.\",\n ex.code || \"ERROR_ON_CREATE\",\n {\n ...(ex.data || {}),\n group,\n input\n }\n );\n }\n };\n const updateGroup: CmsGroupContext[\"updateGroup\"] = async (id, input) => {\n await modelGroupsPermissions.ensure({ rwd: \"w\" });\n\n const original = await getGroupViaDataLoader(id);\n\n await modelGroupsPermissions.ensure({ owns: original.createdBy });\n\n const result = await createGroupUpdateValidation().safeParseAsync(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n const data = result.data;\n\n /**\n * No need to continue if no values were changed\n */\n if (Object.keys(data).length === 0) {\n return original;\n }\n\n const group: CmsGroup = {\n ...original,\n ...data,\n locale: getLocale().code,\n tenant: getTenant().id,\n savedOn: new Date().toISOString()\n };\n\n try {\n await onGroupBeforeUpdate.publish({\n original,\n group\n });\n\n const updatedGroup = await storageOperations.groups.update({\n group\n });\n clearGroupsCache();\n\n await onGroupAfterUpdate.publish({\n original,\n group: updatedGroup\n });\n\n return updatedGroup;\n } catch (ex) {\n await onGroupUpdateError.publish({\n input,\n original,\n group,\n error: ex\n });\n throw new WebinyError(ex.message, ex.code || \"UPDATE_ERROR\", {\n error: ex,\n original,\n group,\n input\n });\n }\n };\n const deleteGroup: CmsGroupContext[\"deleteGroup\"] = async id => {\n await modelGroupsPermissions.ensure({ rwd: \"d\" });\n\n const group = await getGroupViaDataLoader(id);\n\n await modelGroupsPermissions.ensure({ owns: group.createdBy });\n\n try {\n await onGroupBeforeDelete.publish({\n group\n });\n\n await storageOperations.groups.delete({ group });\n clearGroupsCache();\n\n await onGroupAfterDelete.publish({\n group\n });\n } catch (ex) {\n await onGroupDeleteError.publish({\n group,\n error: ex\n });\n throw new WebinyError(ex.message, ex.code || \"DELETE_ERROR\", {\n ...(ex.data || {}),\n id\n });\n }\n\n return true;\n };\n\n return {\n /**\n * Deprecated - will be removed in 5.36.0\n */\n onBeforeGroupCreate: onGroupBeforeCreate,\n onAfterGroupCreate: onGroupAfterCreate,\n onBeforeGroupUpdate: onGroupBeforeUpdate,\n onAfterGroupUpdate: onGroupAfterUpdate,\n onBeforeGroupDelete: onGroupBeforeDelete,\n onAfterGroupDelete: onGroupAfterDelete,\n /**\n * Released in 5.34.0\n */\n onGroupBeforeCreate,\n onGroupAfterCreate,\n onGroupCreateError,\n onGroupBeforeUpdate,\n onGroupAfterUpdate,\n onGroupUpdateError,\n onGroupBeforeDelete,\n onGroupAfterDelete,\n onGroupDeleteError,\n clearGroupsCache,\n getGroup: async id => {\n return context.benchmark.measure(\"headlessCms.crud.groups.getGroup\", async () => {\n return getGroup(id);\n });\n },\n listGroups: async params => {\n return context.benchmark.measure(\"headlessCms.crud.groups.listGroups\", async () => {\n return listGroups(params);\n });\n },\n createGroup: async input => {\n return context.benchmark.measure(\"headlessCms.crud.groups.createGroup\", async () => {\n return createGroup(input);\n });\n },\n updateGroup: async (id, input) => {\n return context.benchmark.measure(\"headlessCms.crud.groups.updateGroup\", async () => {\n return updateGroup(id, input);\n });\n },\n deleteGroup: async id => {\n return context.benchmark.measure(\"headlessCms.crud.groups.deleteGroup\", async () => {\n return deleteGroup(id);\n });\n }\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { CmsContext, CmsSettingsContext, HeadlessCmsStorageOperations } from "../types";
2
+ import { Tenant } from "@webiny/api-tenancy/types";
3
+ import { I18NLocale } from "@webiny/api-i18n/types";
4
+ import { SettingsPermissions } from "../utils/permissions/SettingsPermissions";
5
+ export interface CreateSettingsCrudParams {
6
+ getTenant: () => Tenant;
7
+ getLocale: () => I18NLocale;
8
+ storageOperations: HeadlessCmsStorageOperations;
9
+ settingsPermissions: SettingsPermissions;
10
+ context: CmsContext;
11
+ }
12
+ export declare const createSettingsCrud: (params: CreateSettingsCrudParams) => CmsSettingsContext;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createSettingsCrud = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ const createSettingsCrud = params => {
10
+ const {
11
+ storageOperations,
12
+ settingsPermissions,
13
+ getTenant,
14
+ getLocale
15
+ } = params;
16
+ return {
17
+ getSettings: async () => {
18
+ await settingsPermissions.ensure();
19
+ return await storageOperations.settings.get({
20
+ tenant: getTenant().id,
21
+ locale: getLocale().code
22
+ });
23
+ },
24
+ updateModelLastChange: async () => {
25
+ const original = await storageOperations.settings.get({
26
+ tenant: getTenant().id,
27
+ locale: getLocale().code
28
+ });
29
+ const settings = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original || {}), {}, {
30
+ contentModelLastChange: new Date(),
31
+ tenant: getTenant().id,
32
+ locale: getLocale().code
33
+ });
34
+ if (!original) {
35
+ await storageOperations.settings.create({
36
+ settings
37
+ });
38
+ return;
39
+ }
40
+ await storageOperations.settings.update({
41
+ settings
42
+ });
43
+ },
44
+ getModelLastChange: async () => {
45
+ try {
46
+ const settings = await storageOperations.settings.get({
47
+ tenant: getTenant().id,
48
+ locale: getLocale().code
49
+ });
50
+ return (settings === null || settings === void 0 ? void 0 : settings.contentModelLastChange) || null;
51
+ } catch (ex) {
52
+ console.log({
53
+ message: ex.message,
54
+ code: ex.code || "COULD_NOT_FETCH_CONTENT_MODEL_LAST_CHANGE",
55
+ data: ex
56
+ });
57
+ }
58
+ return null;
59
+ }
60
+ };
61
+ };
62
+ exports.createSettingsCrud = createSettingsCrud;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSettingsCrud","params","storageOperations","settingsPermissions","getTenant","getLocale","getSettings","ensure","settings","get","tenant","id","locale","code","updateModelLastChange","original","contentModelLastChange","Date","create","update","getModelLastChange","ex","console","log","message","data"],"sources":["settings.crud.ts"],"sourcesContent":["import { CmsContext, CmsSettings, CmsSettingsContext, HeadlessCmsStorageOperations } from \"~/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { SettingsPermissions } from \"~/utils/permissions/SettingsPermissions\";\n\nexport interface CreateSettingsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n settingsPermissions: SettingsPermissions;\n context: CmsContext;\n}\n\nexport const createSettingsCrud = (params: CreateSettingsCrudParams): CmsSettingsContext => {\n const { storageOperations, settingsPermissions, getTenant, getLocale } = params;\n\n return {\n getSettings: async () => {\n await settingsPermissions.ensure();\n return await storageOperations.settings.get({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n },\n updateModelLastChange: async () => {\n const original = await storageOperations.settings.get({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n\n const settings: CmsSettings = {\n ...(original || {}),\n contentModelLastChange: new Date(),\n tenant: getTenant().id,\n locale: getLocale().code\n };\n\n if (!original) {\n await storageOperations.settings.create({ settings });\n return;\n }\n\n await storageOperations.settings.update({\n settings\n });\n },\n getModelLastChange: async () => {\n try {\n const settings = await storageOperations.settings.get({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n\n return settings?.contentModelLastChange || null;\n } catch (ex) {\n console.log({\n message: ex.message,\n code: ex.code || \"COULD_NOT_FETCH_CONTENT_MODEL_LAST_CHANGE\",\n data: ex\n });\n }\n return null;\n }\n };\n};\n"],"mappings":";;;;;;;;AAaO,MAAMA,kBAAkB,GAAIC,MAAgC,IAAyB;EACxF,MAAM;IAAEC,iBAAiB;IAAEC,mBAAmB;IAAEC,SAAS;IAAEC;EAAU,CAAC,GAAGJ,MAAM;EAE/E,OAAO;IACHK,WAAW,EAAE,YAAY;MACrB,MAAMH,mBAAmB,CAACI,MAAM,EAAE;MAClC,OAAO,MAAML,iBAAiB,CAACM,QAAQ,CAACC,GAAG,CAAC;QACxCC,MAAM,EAAEN,SAAS,EAAE,CAACO,EAAE;QACtBC,MAAM,EAAEP,SAAS,EAAE,CAACQ;MACxB,CAAC,CAAC;IACN,CAAC;IACDC,qBAAqB,EAAE,YAAY;MAC/B,MAAMC,QAAQ,GAAG,MAAMb,iBAAiB,CAACM,QAAQ,CAACC,GAAG,CAAC;QAClDC,MAAM,EAAEN,SAAS,EAAE,CAACO,EAAE;QACtBC,MAAM,EAAEP,SAAS,EAAE,CAACQ;MACxB,CAAC,CAAC;MAEF,MAAML,QAAqB,+DACnBO,QAAQ,IAAI,CAAC,CAAC;QAClBC,sBAAsB,EAAE,IAAIC,IAAI,EAAE;QAClCP,MAAM,EAAEN,SAAS,EAAE,CAACO,EAAE;QACtBC,MAAM,EAAEP,SAAS,EAAE,CAACQ;MAAI,EAC3B;MAED,IAAI,CAACE,QAAQ,EAAE;QACX,MAAMb,iBAAiB,CAACM,QAAQ,CAACU,MAAM,CAAC;UAAEV;QAAS,CAAC,CAAC;QACrD;MACJ;MAEA,MAAMN,iBAAiB,CAACM,QAAQ,CAACW,MAAM,CAAC;QACpCX;MACJ,CAAC,CAAC;IACN,CAAC;IACDY,kBAAkB,EAAE,YAAY;MAC5B,IAAI;QACA,MAAMZ,QAAQ,GAAG,MAAMN,iBAAiB,CAACM,QAAQ,CAACC,GAAG,CAAC;UAClDC,MAAM,EAAEN,SAAS,EAAE,CAACO,EAAE;UACtBC,MAAM,EAAEP,SAAS,EAAE,CAACQ;QACxB,CAAC,CAAC;QAEF,OAAO,CAAAL,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEQ,sBAAsB,KAAI,IAAI;MACnD,CAAC,CAAC,OAAOK,EAAE,EAAE;QACTC,OAAO,CAACC,GAAG,CAAC;UACRC,OAAO,EAAEH,EAAE,CAACG,OAAO;UACnBX,IAAI,EAAEQ,EAAE,CAACR,IAAI,IAAI,2CAA2C;UAC5DY,IAAI,EAAEJ;QACV,CAAC,CAAC;MACN;MACA,OAAO,IAAI;IACf;EACJ,CAAC;AACL,CAAC;AAAC"}
@@ -1,12 +1,13 @@
1
- import { CmsContext, CmsModelContext, HeadlessCmsStorageOperations } from "../../../types";
1
+ import { CmsContext, CmsSystemContext, HeadlessCmsStorageOperations } from "../types";
2
2
  import { Tenant } from "@webiny/api-tenancy/types";
3
- import { I18NLocale } from "@webiny/api-i18n/types";
4
3
  import { SecurityIdentity } from "@webiny/api-security/types";
5
- export interface Params {
4
+ import { I18NLocale } from "@webiny/api-i18n/types";
5
+ interface CreateSystemCrudParams {
6
6
  getTenant: () => Tenant;
7
7
  getLocale: () => I18NLocale;
8
8
  storageOperations: HeadlessCmsStorageOperations;
9
9
  context: CmsContext;
10
10
  getIdentity: () => SecurityIdentity;
11
11
  }
12
- export declare const createModelsCrud: (params: Params) => CmsModelContext;
12
+ export declare const createSystemCrud: (params: CreateSystemCrudParams) => CmsSystemContext;
13
+ export {};
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createSystemCrud = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _apiSecurity = require("@webiny/api-security");
10
+ var _error = _interopRequireDefault(require("@webiny/error"));
11
+ var _pubsub = require("@webiny/pubsub");
12
+ const initialContentModelGroup = {
13
+ name: "Ungrouped",
14
+ slug: "ungrouped",
15
+ description: "A generic content model group",
16
+ icon: "fas/star"
17
+ };
18
+ const createSystemCrud = params => {
19
+ const {
20
+ getTenant,
21
+ getLocale,
22
+ storageOperations,
23
+ context,
24
+ getIdentity
25
+ } = params;
26
+ const onSystemBeforeInstall = (0, _pubsub.createTopic)("cms.onSystemBeforeInstall");
27
+ const onSystemAfterInstall = (0, _pubsub.createTopic)("cms.onSystemAfterInstall");
28
+ const onSystemInstallError = (0, _pubsub.createTopic)("cms.onSystemInstallError");
29
+ const getVersion = async () => {
30
+ if (!getTenant()) {
31
+ return null;
32
+ }
33
+ const system = await storageOperations.system.get({
34
+ tenant: getTenant().id
35
+ });
36
+ return (system === null || system === void 0 ? void 0 : system.version) || null;
37
+ };
38
+ const setVersion = async version => {
39
+ const original = await storageOperations.system.get({
40
+ tenant: getTenant().id
41
+ });
42
+ const system = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original || {}), {}, {
43
+ version,
44
+ tenant: getTenant().id
45
+ });
46
+ if (!original) {
47
+ await storageOperations.system.create({
48
+ system
49
+ });
50
+ return;
51
+ }
52
+ await storageOperations.system.update({
53
+ system
54
+ });
55
+ };
56
+ return {
57
+ /**
58
+ * Deprecated - will be removed in 5.36.0
59
+ */
60
+ onBeforeSystemInstall: onSystemBeforeInstall,
61
+ onAfterSystemInstall: onSystemAfterInstall,
62
+ /**
63
+ * Released in 5.34.0
64
+ */
65
+ onSystemBeforeInstall,
66
+ onSystemAfterInstall,
67
+ onSystemInstallError,
68
+ getSystemVersion: getVersion,
69
+ setSystemVersion: setVersion,
70
+ installSystem: async () => {
71
+ const identity = getIdentity();
72
+ if (!identity) {
73
+ throw new _apiSecurity.NotAuthorizedError();
74
+ }
75
+ const version = await getVersion();
76
+ if (version) {
77
+ return;
78
+ }
79
+ try {
80
+ /**
81
+ * First trigger before install event.
82
+ */
83
+ await onSystemBeforeInstall.publish({
84
+ tenant: getTenant().id,
85
+ locale: getLocale().code
86
+ });
87
+
88
+ /**
89
+ * Add default content model group.
90
+ */
91
+ try {
92
+ await context.cms.createGroup(initialContentModelGroup);
93
+ } catch (ex) {
94
+ throw new _error.default(ex.message, "CMS_INSTALLATION_CONTENT_MODEL_GROUP_ERROR", {
95
+ group: initialContentModelGroup
96
+ });
97
+ }
98
+ const system = {
99
+ version: context.WEBINY_VERSION,
100
+ tenant: getTenant().id
101
+ };
102
+ /**
103
+ * We need to create the system data.
104
+ */
105
+ await storageOperations.system.create({
106
+ system
107
+ });
108
+ /**
109
+ * And trigger after install event.
110
+ */
111
+ await onSystemAfterInstall.publish({
112
+ tenant: getTenant().id,
113
+ locale: getLocale().code
114
+ });
115
+ } catch (ex) {
116
+ await onSystemInstallError.publish({
117
+ error: ex,
118
+ tenant: getTenant().id,
119
+ locale: getLocale().code
120
+ });
121
+ throw new _error.default(ex.message, ex.code, ex.data);
122
+ }
123
+ }
124
+ };
125
+ };
126
+ exports.createSystemCrud = createSystemCrud;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["initialContentModelGroup","name","slug","description","icon","createSystemCrud","params","getTenant","getLocale","storageOperations","context","getIdentity","onSystemBeforeInstall","createTopic","onSystemAfterInstall","onSystemInstallError","getVersion","system","get","tenant","id","version","setVersion","original","create","update","onBeforeSystemInstall","onAfterSystemInstall","getSystemVersion","setSystemVersion","installSystem","identity","NotAuthorizedError","publish","locale","code","cms","createGroup","ex","WebinyError","message","group","WEBINY_VERSION","error","data"],"sources":["system.crud.ts"],"sourcesContent":["import { NotAuthorizedError } from \"@webiny/api-security\";\nimport WebinyError from \"@webiny/error\";\nimport {\n OnSystemAfterInstallTopicParams,\n OnSystemBeforeInstallTopicParams,\n CmsContext,\n CmsSystem,\n CmsSystemContext,\n HeadlessCmsStorageOperations,\n OnSystemInstallErrorTopicParams\n} from \"~/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\n\nconst initialContentModelGroup = {\n name: \"Ungrouped\",\n slug: \"ungrouped\",\n description: \"A generic content model group\",\n icon: \"fas/star\"\n};\n\ninterface CreateSystemCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\nexport const createSystemCrud = (params: CreateSystemCrudParams): CmsSystemContext => {\n const { getTenant, getLocale, storageOperations, context, getIdentity } = params;\n\n const onSystemBeforeInstall = createTopic<OnSystemBeforeInstallTopicParams>(\n \"cms.onSystemBeforeInstall\"\n );\n const onSystemAfterInstall = createTopic<OnSystemAfterInstallTopicParams>(\n \"cms.onSystemAfterInstall\"\n );\n\n const onSystemInstallError = createTopic<OnSystemInstallErrorTopicParams>(\n \"cms.onSystemInstallError\"\n );\n\n const getVersion = async () => {\n if (!getTenant()) {\n return null;\n }\n\n const system = await storageOperations.system.get({\n tenant: getTenant().id\n });\n\n return system?.version || null;\n };\n\n const setVersion = async (version: string) => {\n const original = await storageOperations.system.get({\n tenant: getTenant().id\n });\n const system: CmsSystem = {\n ...(original || {}),\n version,\n tenant: getTenant().id\n };\n if (!original) {\n await storageOperations.system.create({\n system\n });\n return;\n }\n await storageOperations.system.update({\n system\n });\n };\n\n return {\n /**\n * Deprecated - will be removed in 5.36.0\n */\n onBeforeSystemInstall: onSystemBeforeInstall,\n onAfterSystemInstall: onSystemAfterInstall,\n /**\n * Released in 5.34.0\n */\n onSystemBeforeInstall,\n onSystemAfterInstall,\n onSystemInstallError,\n getSystemVersion: getVersion,\n setSystemVersion: setVersion,\n installSystem: async (): Promise<void> => {\n const identity = getIdentity();\n if (!identity) {\n throw new NotAuthorizedError();\n }\n\n const version = await getVersion();\n if (version) {\n return;\n }\n try {\n /**\n * First trigger before install event.\n */\n await onSystemBeforeInstall.publish({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n\n /**\n * Add default content model group.\n */\n try {\n await context.cms.createGroup(initialContentModelGroup);\n } catch (ex) {\n throw new WebinyError(\n ex.message,\n \"CMS_INSTALLATION_CONTENT_MODEL_GROUP_ERROR\",\n {\n group: initialContentModelGroup\n }\n );\n }\n\n const system: CmsSystem = {\n version: context.WEBINY_VERSION,\n tenant: getTenant().id\n };\n /**\n * We need to create the system data.\n */\n await storageOperations.system.create({\n system\n });\n /**\n * And trigger after install event.\n */\n await onSystemAfterInstall.publish({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n } catch (ex) {\n await onSystemInstallError.publish({\n error: ex,\n tenant: getTenant().id,\n locale: getLocale().code\n });\n throw new WebinyError(ex.message, ex.code, ex.data);\n }\n }\n };\n};\n"],"mappings":"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"}