@webiny/api-headless-cms 0.0.0-mt-3 → 0.0.0-unstable.1145e7667f

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 (677) hide show
  1. package/context.d.ts +6 -0
  2. package/context.js +98 -0
  3. package/context.js.map +1 -0
  4. package/crud/contentEntry/afterDelete.d.ts +8 -0
  5. package/{content/plugins/crud → crud}/contentEntry/afterDelete.js +2 -7
  6. package/crud/contentEntry/afterDelete.js.map +1 -0
  7. package/crud/contentEntry/beforeCreate.d.ts +8 -0
  8. package/{content/plugins/crud → crud}/contentEntry/beforeCreate.js +2 -5
  9. package/crud/contentEntry/beforeCreate.js.map +1 -0
  10. package/crud/contentEntry/beforeUpdate.d.ts +8 -0
  11. package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.js +2 -5
  12. package/crud/contentEntry/beforeUpdate.js.map +1 -0
  13. package/crud/contentEntry/entryDataValidation.d.ts +10 -0
  14. package/{content/plugins/crud → crud}/contentEntry/entryDataValidation.js +22 -49
  15. package/crud/contentEntry/entryDataValidation.js.map +1 -0
  16. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.d.ts +3 -2
  17. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.js +29 -43
  18. package/crud/contentEntry/markLockedFields.js.map +1 -0
  19. package/crud/contentEntry/referenceFieldsMapping.d.ts +13 -0
  20. package/crud/contentEntry/referenceFieldsMapping.js +265 -0
  21. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -0
  22. package/crud/contentEntry/searchableFields.d.ts +9 -0
  23. package/crud/contentEntry/searchableFields.js +72 -0
  24. package/crud/contentEntry/searchableFields.js.map +1 -0
  25. package/{content/plugins/crud → crud}/contentEntry.crud.d.ts +7 -8
  26. package/crud/contentEntry.crud.js +1212 -0
  27. package/crud/contentEntry.crud.js.map +1 -0
  28. package/crud/contentModel/afterCreate.d.ts +8 -0
  29. package/crud/contentModel/afterCreate.js +16 -0
  30. package/crud/contentModel/afterCreate.js.map +1 -0
  31. package/crud/contentModel/afterCreateFrom.d.ts +8 -0
  32. package/crud/contentModel/afterCreateFrom.js +16 -0
  33. package/crud/contentModel/afterCreateFrom.js.map +1 -0
  34. package/crud/contentModel/afterDelete.d.ts +8 -0
  35. package/crud/contentModel/afterDelete.js +16 -0
  36. package/crud/contentModel/afterDelete.js.map +1 -0
  37. package/crud/contentModel/afterUpdate.d.ts +8 -0
  38. package/crud/contentModel/afterUpdate.js +16 -0
  39. package/crud/contentModel/afterUpdate.js.map +1 -0
  40. package/crud/contentModel/beforeCreate.d.ts +14 -0
  41. package/crud/contentModel/beforeCreate.js +128 -0
  42. package/crud/contentModel/beforeCreate.js.map +1 -0
  43. package/crud/contentModel/beforeDelete.d.ts +10 -0
  44. package/{content/plugins/crud → crud}/contentModel/beforeDelete.js +8 -18
  45. package/crud/contentModel/beforeDelete.js.map +1 -0
  46. package/crud/contentModel/beforeUpdate.d.ts +8 -0
  47. package/crud/contentModel/beforeUpdate.js +60 -0
  48. package/crud/contentModel/beforeUpdate.js.map +1 -0
  49. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  50. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  51. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  52. package/crud/contentModel/contentModelManagerFactory.d.ts +2 -0
  53. package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js +0 -7
  54. package/crud/contentModel/contentModelManagerFactory.js.map +1 -0
  55. package/crud/contentModel/createFieldModels.d.ts +2 -0
  56. package/{content/plugins/crud → crud}/contentModel/createFieldModels.js +6 -2
  57. package/crud/contentModel/createFieldModels.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/fieldIdValidation.d.ts +1 -0
  65. package/crud/contentModel/fieldIdValidation.js +25 -0
  66. package/crud/contentModel/fieldIdValidation.js.map +1 -0
  67. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  68. package/crud/contentModel/fields/descriptionField.js +42 -0
  69. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  70. package/crud/contentModel/fields/imageField.d.ts +2 -0
  71. package/crud/contentModel/fields/imageField.js +46 -0
  72. package/crud/contentModel/fields/imageField.js.map +1 -0
  73. package/crud/contentModel/fields/titleField.d.ts +2 -0
  74. package/crud/contentModel/fields/titleField.js +58 -0
  75. package/crud/contentModel/fields/titleField.js.map +1 -0
  76. package/crud/contentModel/idValidation.d.ts +1 -0
  77. package/{content/plugins/crud → crud}/contentModel/idValidation.js +3 -3
  78. package/crud/contentModel/idValidation.js.map +1 -0
  79. package/{content/plugins/crud → crud}/contentModel/models.d.ts +2 -1
  80. package/{content/plugins/crud → crud}/contentModel/models.js +76 -25
  81. package/crud/contentModel/models.js.map +1 -0
  82. package/crud/contentModel/systemFields.d.ts +1 -0
  83. package/crud/contentModel/systemFields.js +8 -0
  84. package/crud/contentModel/systemFields.js.map +1 -0
  85. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  86. package/crud/contentModel/validate/endingAllowed.js +26 -0
  87. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  88. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  89. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  90. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  91. package/crud/contentModel/validate/modelId.d.ts +11 -0
  92. package/crud/contentModel/validate/modelId.js +36 -0
  93. package/crud/contentModel/validate/modelId.js.map +1 -0
  94. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  95. package/crud/contentModel/validate/pluralApiName.js +24 -0
  96. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  97. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  98. package/crud/contentModel/validate/singularApiName.js +24 -0
  99. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  100. package/crud/contentModel/validateLayout.d.ts +2 -0
  101. package/{content/plugins/crud → crud}/contentModel/validateLayout.js +1 -11
  102. package/crud/contentModel/validateLayout.js.map +1 -0
  103. package/crud/contentModel/validateModel.d.ts +9 -0
  104. package/crud/contentModel/validateModel.js +27 -0
  105. package/crud/contentModel/validateModel.js.map +1 -0
  106. package/crud/contentModel/validateModelFields.d.ts +9 -0
  107. package/crud/contentModel/validateModelFields.js +342 -0
  108. package/crud/contentModel/validateModelFields.js.map +1 -0
  109. package/crud/contentModel/validation.d.ts +551 -0
  110. package/crud/contentModel/validation.js +145 -0
  111. package/crud/contentModel/validation.js.map +1 -0
  112. package/{content/plugins/crud → crud}/contentModel.crud.d.ts +3 -3
  113. package/crud/contentModel.crud.js +616 -0
  114. package/crud/contentModel.crud.js.map +1 -0
  115. package/crud/contentModelGroup/beforeCreate.d.ts +10 -0
  116. package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.js +8 -20
  117. package/crud/contentModelGroup/beforeCreate.js.map +1 -0
  118. package/crud/contentModelGroup/beforeDelete.d.ts +10 -0
  119. package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.js +4 -12
  120. package/crud/contentModelGroup/beforeDelete.js.map +1 -0
  121. package/crud/contentModelGroup/beforeUpdate.d.ts +9 -0
  122. package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.js +3 -8
  123. package/crud/contentModelGroup/beforeUpdate.js.map +1 -0
  124. package/crud/contentModelGroup/validation.d.ts +30 -0
  125. package/crud/contentModelGroup/validation.js +34 -0
  126. package/crud/contentModelGroup/validation.js.map +1 -0
  127. package/{content/plugins/crud → crud}/contentModelGroup.crud.d.ts +3 -3
  128. package/crud/contentModelGroup.crud.js +352 -0
  129. package/crud/contentModelGroup.crud.js.map +1 -0
  130. package/{plugins/crud → crud}/settings.crud.d.ts +3 -3
  131. package/crud/settings.crud.js +66 -0
  132. package/crud/settings.crud.js.map +1 -0
  133. package/{plugins/crud → crud}/system.crud.d.ts +6 -3
  134. package/crud/system.crud.js +126 -0
  135. package/crud/system.crud.js.map +1 -0
  136. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +7 -0
  137. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +53 -0
  138. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -0
  139. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  140. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  141. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  142. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +11 -0
  143. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +251 -0
  144. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -0
  145. package/fieldConverters/index.d.ts +4 -0
  146. package/fieldConverters/index.js +13 -0
  147. package/fieldConverters/index.js.map +1 -0
  148. package/graphql/buildSchemaPlugins.d.ts +11 -0
  149. package/graphql/buildSchemaPlugins.js +19 -0
  150. package/graphql/buildSchemaPlugins.js.map +1 -0
  151. package/graphql/checkEndpointAccess.d.ts +2 -0
  152. package/graphql/checkEndpointAccess.js +18 -0
  153. package/graphql/checkEndpointAccess.js.map +1 -0
  154. package/graphql/createExecutableSchema.d.ts +6 -0
  155. package/graphql/createExecutableSchema.js +29 -0
  156. package/graphql/createExecutableSchema.js.map +1 -0
  157. package/graphql/createRequestBody.d.ts +2 -0
  158. package/graphql/createRequestBody.js +14 -0
  159. package/graphql/createRequestBody.js.map +1 -0
  160. package/graphql/formatErrorPayload.d.ts +1 -0
  161. package/graphql/formatErrorPayload.js +25 -0
  162. package/graphql/formatErrorPayload.js.map +1 -0
  163. package/graphql/generateSchema.d.ts +8 -0
  164. package/graphql/generateSchema.js +31 -0
  165. package/graphql/generateSchema.js.map +1 -0
  166. package/graphql/getSchema.d.ts +17 -0
  167. package/graphql/getSchema.js +102 -0
  168. package/graphql/getSchema.js.map +1 -0
  169. package/graphql/graphQLHandlerFactory.d.ts +5 -0
  170. package/graphql/graphQLHandlerFactory.js +35 -0
  171. package/graphql/graphQLHandlerFactory.js.map +1 -0
  172. package/graphql/handleRequest.d.ts +11 -0
  173. package/graphql/handleRequest.js +81 -0
  174. package/graphql/handleRequest.js.map +1 -0
  175. package/graphql/index.d.ts +3 -0
  176. package/graphql/index.js +13 -0
  177. package/graphql/index.js.map +1 -0
  178. package/graphql/schema/baseContentSchema.d.ts +7 -0
  179. package/graphql/schema/baseContentSchema.js +66 -0
  180. package/graphql/schema/baseContentSchema.js.map +1 -0
  181. package/graphql/schema/baseSchema.d.ts +3 -0
  182. package/graphql/schema/baseSchema.js +53 -0
  183. package/graphql/schema/baseSchema.js.map +1 -0
  184. package/graphql/schema/contentEntries.d.ts +7 -0
  185. package/graphql/schema/contentEntries.js +362 -0
  186. package/graphql/schema/contentEntries.js.map +1 -0
  187. package/graphql/schema/contentModelGroups.d.ts +7 -0
  188. package/{content/plugins → graphql}/schema/contentModelGroups.js +39 -33
  189. package/graphql/schema/contentModelGroups.js.map +1 -0
  190. package/graphql/schema/contentModels.d.ts +7 -0
  191. package/{content/plugins → graphql}/schema/contentModels.js +121 -29
  192. package/graphql/schema/contentModels.js.map +1 -0
  193. package/graphql/schema/createFieldResolvers.d.ts +20 -0
  194. package/graphql/schema/createFieldResolvers.js +111 -0
  195. package/graphql/schema/createFieldResolvers.js.map +1 -0
  196. package/graphql/schema/createManageResolvers.d.ts +12 -0
  197. package/graphql/schema/createManageResolvers.js +127 -0
  198. package/graphql/schema/createManageResolvers.js.map +1 -0
  199. package/graphql/schema/createManageSDL.d.ts +13 -0
  200. package/graphql/schema/createManageSDL.js +157 -0
  201. package/graphql/schema/createManageSDL.js.map +1 -0
  202. package/graphql/schema/createPreviewResolvers.d.ts +12 -0
  203. package/graphql/schema/createPreviewResolvers.js +44 -0
  204. package/graphql/schema/createPreviewResolvers.js.map +1 -0
  205. package/graphql/schema/createReadResolvers.d.ts +12 -0
  206. package/graphql/schema/createReadResolvers.js +49 -0
  207. package/graphql/schema/createReadResolvers.js.map +1 -0
  208. package/graphql/schema/createReadSDL.d.ts +13 -0
  209. package/graphql/schema/createReadSDL.js +100 -0
  210. package/graphql/schema/createReadSDL.js.map +1 -0
  211. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +7 -0
  212. package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js +2 -3
  213. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -0
  214. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +7 -0
  215. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js +2 -7
  216. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -0
  217. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +8 -0
  218. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js +2 -7
  219. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -0
  220. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +7 -0
  221. package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.js +8 -12
  222. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -0
  223. package/graphql/schema/resolvers/manage/resolveGet.d.ts +7 -0
  224. package/graphql/schema/resolvers/manage/resolveGet.js +63 -0
  225. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -0
  226. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +7 -0
  227. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js +2 -7
  228. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -0
  229. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +7 -0
  230. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js +2 -7
  231. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -0
  232. package/graphql/schema/resolvers/manage/resolveList.d.ts +4 -0
  233. package/{content/plugins/schema/resolvers/preview → graphql/schema/resolvers/manage}/resolveList.js +2 -7
  234. package/graphql/schema/resolvers/manage/resolveList.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 +109 -0
  261. package/graphql/schema/schemaPlugins.js.map +1 -0
  262. package/graphql/system.d.ts +6 -0
  263. package/{plugins/graphql → graphql}/system.js +39 -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 +67 -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 +62 -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 +37 -38
  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 +61 -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 +920 -374
  366. package/types.js +105 -62
  367. package/types.js.map +1 -0
  368. package/upgrades/5.33.0/index.d.ts +3 -0
  369. package/upgrades/5.33.0/index.js +182 -0
  370. package/upgrades/5.33.0/index.js.map +1 -0
  371. package/upgrades/index.d.ts +1 -0
  372. package/upgrades/index.js +12 -0
  373. package/upgrades/index.js.map +1 -0
  374. package/utils/access.d.ts +8 -0
  375. package/utils/access.js +76 -0
  376. package/utils/access.js.map +1 -0
  377. package/utils/converters/Converter.d.ts +27 -0
  378. package/utils/converters/Converter.js +58 -0
  379. package/utils/converters/Converter.js.map +1 -0
  380. package/utils/converters/ConverterCollection.d.ts +31 -0
  381. package/utils/converters/ConverterCollection.js +119 -0
  382. package/utils/converters/ConverterCollection.js.map +1 -0
  383. package/utils/converters/valueKeyStorageConverter.d.ts +14 -0
  384. package/utils/converters/valueKeyStorageConverter.js +125 -0
  385. package/utils/converters/valueKeyStorageConverter.js.map +1 -0
  386. package/utils/createTypeFromFields.d.ts +16 -0
  387. package/utils/createTypeFromFields.js +66 -0
  388. package/utils/createTypeFromFields.js.map +1 -0
  389. package/utils/createTypeName.d.ts +1 -0
  390. package/utils/createTypeName.js +13 -0
  391. package/utils/createTypeName.js.map +1 -0
  392. package/{content/plugins/utils → utils}/entryStorage.d.ts +3 -3
  393. package/{content/plugins/utils → utils}/entryStorage.js +26 -47
  394. package/utils/entryStorage.js.map +1 -0
  395. package/utils/filterAsync.d.ts +1 -0
  396. package/utils/filterAsync.js +18 -0
  397. package/utils/filterAsync.js.map +1 -0
  398. package/utils/getBaseFieldType.d.ts +4 -0
  399. package/utils/getBaseFieldType.js +10 -0
  400. package/utils/getBaseFieldType.js.map +1 -0
  401. package/utils/getEntryDescription.d.ts +2 -0
  402. package/utils/getEntryDescription.js +17 -0
  403. package/utils/getEntryDescription.js.map +1 -0
  404. package/utils/getEntryImage.d.ts +2 -0
  405. package/utils/getEntryImage.js +17 -0
  406. package/utils/getEntryImage.js.map +1 -0
  407. package/utils/getEntryTitle.d.ts +2 -0
  408. package/{content/plugins/utils → utils}/getEntryTitle.js +7 -15
  409. package/utils/getEntryTitle.js.map +1 -0
  410. package/utils/getSchemaFromFieldPlugins.d.ts +9 -0
  411. package/utils/getSchemaFromFieldPlugins.js +39 -0
  412. package/utils/getSchemaFromFieldPlugins.js.map +1 -0
  413. package/utils/incrementEntryIdVersion.d.ts +5 -0
  414. package/utils/incrementEntryIdVersion.js +29 -0
  415. package/utils/incrementEntryIdVersion.js.map +1 -0
  416. package/utils/ownership.d.ts +8 -0
  417. package/utils/ownership.js +33 -0
  418. package/utils/ownership.js.map +1 -0
  419. package/utils/permissions.d.ts +7 -0
  420. package/utils/permissions.js +91 -0
  421. package/utils/permissions.js.map +1 -0
  422. package/utils/pluralizedTypeName.d.ts +1 -0
  423. package/{content/plugins/utils → utils}/pluralizedTypeName.js +1 -1
  424. package/utils/pluralizedTypeName.js.map +1 -0
  425. package/utils/renderFields.d.ts +16 -0
  426. package/{content/plugins/utils → utils}/renderFields.js +14 -12
  427. package/utils/renderFields.js.map +1 -0
  428. package/utils/renderGetFilterFields.d.ts +10 -0
  429. package/utils/renderGetFilterFields.js +48 -0
  430. package/utils/renderGetFilterFields.js.map +1 -0
  431. package/utils/renderInputFields.d.ts +15 -0
  432. package/{content/plugins/utils → utils}/renderInputFields.js +7 -10
  433. package/utils/renderInputFields.js.map +1 -0
  434. package/utils/renderListFilterFields.d.ts +11 -0
  435. package/{content/plugins/utils → utils}/renderListFilterFields.js +36 -22
  436. package/utils/renderListFilterFields.js.map +1 -0
  437. package/utils/renderSortEnum.d.ts +12 -0
  438. package/utils/renderSortEnum.js +42 -0
  439. package/utils/renderSortEnum.js.map +1 -0
  440. package/utils/toSlug.d.ts +1 -0
  441. package/utils/toSlug.js +16 -0
  442. package/utils/toSlug.js.map +1 -0
  443. package/validators/dateGte.d.ts +2 -0
  444. package/{content/plugins/validators → validators}/dateGte.js +4 -11
  445. package/validators/dateGte.js.map +1 -0
  446. package/validators/dateLte.d.ts +2 -0
  447. package/{content/plugins/validators → validators}/dateLte.js +4 -11
  448. package/validators/dateLte.js.map +1 -0
  449. package/validators/dynamicZone.d.ts +2 -0
  450. package/validators/dynamicZone.js +20 -0
  451. package/validators/dynamicZone.js.map +1 -0
  452. package/validators/gte.d.ts +2 -0
  453. package/validators/gte.js +28 -0
  454. package/validators/gte.js.map +1 -0
  455. package/validators/in.d.ts +2 -0
  456. package/validators/in.js +28 -0
  457. package/validators/in.js.map +1 -0
  458. package/validators/index.d.ts +1 -0
  459. package/validators/index.js +22 -0
  460. package/validators/index.js.map +1 -0
  461. package/validators/lte.d.ts +2 -0
  462. package/validators/lte.js +28 -0
  463. package/validators/lte.js.map +1 -0
  464. package/validators/maxLength.d.ts +2 -0
  465. package/validators/maxLength.js +28 -0
  466. package/validators/maxLength.js.map +1 -0
  467. package/validators/minLength.d.ts +2 -0
  468. package/validators/minLength.js +28 -0
  469. package/validators/minLength.js.map +1 -0
  470. package/validators/pattern.d.ts +2 -0
  471. package/validators/pattern.js +41 -0
  472. package/validators/pattern.js.map +1 -0
  473. package/validators/patternPlugins/email.d.ts +2 -0
  474. package/validators/patternPlugins/email.js +18 -0
  475. package/validators/patternPlugins/email.js.map +1 -0
  476. package/validators/patternPlugins/index.d.ts +2 -0
  477. package/validators/patternPlugins/index.js +16 -0
  478. package/validators/patternPlugins/index.js.map +1 -0
  479. package/validators/patternPlugins/lowerCase.d.ts +2 -0
  480. package/validators/patternPlugins/lowerCase.js +18 -0
  481. package/validators/patternPlugins/lowerCase.js.map +1 -0
  482. package/validators/patternPlugins/lowerCaseSpace.d.ts +2 -0
  483. package/validators/patternPlugins/lowerCaseSpace.js +18 -0
  484. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  485. package/validators/patternPlugins/upperCase.d.ts +2 -0
  486. package/validators/patternPlugins/upperCase.js +18 -0
  487. package/validators/patternPlugins/upperCase.js.map +1 -0
  488. package/validators/patternPlugins/upperCaseSpace.d.ts +2 -0
  489. package/validators/patternPlugins/upperCaseSpace.js +18 -0
  490. package/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  491. package/validators/patternPlugins/url.d.ts +2 -0
  492. package/validators/patternPlugins/url.js +18 -0
  493. package/validators/patternPlugins/url.js.map +1 -0
  494. package/validators/required.d.ts +2 -0
  495. package/validators/required.js +22 -0
  496. package/validators/required.js.map +1 -0
  497. package/validators/timeGte.d.ts +2 -0
  498. package/{content/plugins/validators → validators}/timeGte.js +5 -11
  499. package/validators/timeGte.js.map +1 -0
  500. package/validators/timeLte.d.ts +2 -0
  501. package/{content/plugins/validators → validators}/timeLte.js +5 -11
  502. package/validators/timeLte.js.map +1 -0
  503. package/validators/unique.d.ts +6 -0
  504. package/validators/unique.js +56 -0
  505. package/validators/unique.js.map +1 -0
  506. package/content/contextSetup.d.ts +0 -4
  507. package/content/contextSetup.js +0 -65
  508. package/content/graphQLHandlerFactory.d.ts +0 -5
  509. package/content/graphQLHandlerFactory.js +0 -173
  510. package/content/plugins/CmsGroupPlugin.d.ts +0 -11
  511. package/content/plugins/CmsModelPlugin.d.ts +0 -11
  512. package/content/plugins/CmsModelPlugin.js +0 -24
  513. package/content/plugins/buildSchemaPlugins.d.ts +0 -7
  514. package/content/plugins/buildSchemaPlugins.js +0 -29
  515. package/content/plugins/crud/contentEntry/afterDelete.d.ts +0 -7
  516. package/content/plugins/crud/contentEntry/beforeCreate.d.ts +0 -7
  517. package/content/plugins/crud/contentEntry/beforeUpdate.d.ts +0 -7
  518. package/content/plugins/crud/contentEntry/entryDataValidation.d.ts +0 -4
  519. package/content/plugins/crud/contentEntry.crud.js +0 -931
  520. package/content/plugins/crud/contentModel/afterCreate.d.ts +0 -7
  521. package/content/plugins/crud/contentModel/afterCreate.js +0 -18
  522. package/content/plugins/crud/contentModel/afterDelete.d.ts +0 -7
  523. package/content/plugins/crud/contentModel/afterDelete.js +0 -18
  524. package/content/plugins/crud/contentModel/afterUpdate.d.ts +0 -7
  525. package/content/plugins/crud/contentModel/afterUpdate.js +0 -18
  526. package/content/plugins/crud/contentModel/beforeCreate.d.ts +0 -9
  527. package/content/plugins/crud/contentModel/beforeCreate.js +0 -146
  528. package/content/plugins/crud/contentModel/beforeDelete.d.ts +0 -9
  529. package/content/plugins/crud/contentModel/beforeUpdate.d.ts +0 -9
  530. package/content/plugins/crud/contentModel/beforeUpdate.js +0 -128
  531. package/content/plugins/crud/contentModel/contentModelManagerFactory.d.ts +0 -2
  532. package/content/plugins/crud/contentModel/createFieldModels.d.ts +0 -2
  533. package/content/plugins/crud/contentModel/idValidation.d.ts +0 -2
  534. package/content/plugins/crud/contentModel/validateLayout.d.ts +0 -2
  535. package/content/plugins/crud/contentModel.crud.js +0 -425
  536. package/content/plugins/crud/contentModelGroup/beforeCreate.d.ts +0 -9
  537. package/content/plugins/crud/contentModelGroup/beforeDelete.d.ts +0 -9
  538. package/content/plugins/crud/contentModelGroup/beforeUpdate.d.ts +0 -8
  539. package/content/plugins/crud/contentModelGroup.crud.js +0 -351
  540. package/content/plugins/crud/index.d.ts +0 -6
  541. package/content/plugins/crud/index.js +0 -100
  542. package/content/plugins/graphqlFields/boolean.d.ts +0 -3
  543. package/content/plugins/graphqlFields/boolean.js +0 -69
  544. package/content/plugins/graphqlFields/datetime.d.ts +0 -3
  545. package/content/plugins/graphqlFields/datetime.js +0 -83
  546. package/content/plugins/graphqlFields/file.d.ts +0 -3
  547. package/content/plugins/graphqlFields/file.js +0 -49
  548. package/content/plugins/graphqlFields/index.d.ts +0 -2
  549. package/content/plugins/graphqlFields/index.js +0 -30
  550. package/content/plugins/graphqlFields/longText.d.ts +0 -3
  551. package/content/plugins/graphqlFields/longText.js +0 -62
  552. package/content/plugins/graphqlFields/number.d.ts +0 -3
  553. package/content/plugins/graphqlFields/number.js +0 -75
  554. package/content/plugins/graphqlFields/object.d.ts +0 -3
  555. package/content/plugins/graphqlFields/object.js +0 -180
  556. package/content/plugins/graphqlFields/ref.d.ts +0 -3
  557. package/content/plugins/graphqlFields/ref.js +0 -205
  558. package/content/plugins/graphqlFields/richText.d.ts +0 -3
  559. package/content/plugins/graphqlFields/richText.js +0 -55
  560. package/content/plugins/graphqlFields/text.d.ts +0 -3
  561. package/content/plugins/graphqlFields/text.js +0 -72
  562. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +0 -8
  563. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +0 -54
  564. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +0 -7
  565. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +0 -35
  566. package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +0 -15
  567. package/content/plugins/modelManager/index.d.ts +0 -3
  568. package/content/plugins/schema/baseSchema.d.ts +0 -4
  569. package/content/plugins/schema/baseSchema.js +0 -98
  570. package/content/plugins/schema/contentEntries.d.ts +0 -4
  571. package/content/plugins/schema/contentEntries.js +0 -166
  572. package/content/plugins/schema/contentModelGroups.d.ts +0 -4
  573. package/content/plugins/schema/contentModels.d.ts +0 -4
  574. package/content/plugins/schema/createFieldResolvers.d.ts +0 -19
  575. package/content/plugins/schema/createFieldResolvers.js +0 -92
  576. package/content/plugins/schema/createManageResolvers.d.ts +0 -11
  577. package/content/plugins/schema/createManageResolvers.js +0 -135
  578. package/content/plugins/schema/createManageSDL.d.ts +0 -9
  579. package/content/plugins/schema/createManageSDL.js +0 -153
  580. package/content/plugins/schema/createPreviewResolvers.d.ts +0 -10
  581. package/content/plugins/schema/createPreviewResolvers.js +0 -55
  582. package/content/plugins/schema/createReadResolvers.d.ts +0 -10
  583. package/content/plugins/schema/createReadResolvers.js +0 -55
  584. package/content/plugins/schema/createReadSDL.d.ts +0 -9
  585. package/content/plugins/schema/createReadSDL.js +0 -96
  586. package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  587. package/content/plugins/schema/resolvers/manage/resolveCreate.d.ts +0 -6
  588. package/content/plugins/schema/resolvers/manage/resolveCreateFrom.d.ts +0 -7
  589. package/content/plugins/schema/resolvers/manage/resolveDelete.d.ts +0 -2
  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/renderFields.d.ts +0 -16
  621. package/content/plugins/utils/renderGetFilterFields.d.ts +0 -9
  622. package/content/plugins/utils/renderGetFilterFields.js +0 -41
  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/renderSortEnum.d.ts +0 -9
  626. package/content/plugins/utils/renderSortEnum.js +0 -32
  627. package/content/plugins/validators/dateGte.d.ts +0 -3
  628. package/content/plugins/validators/dateLte.d.ts +0 -3
  629. package/content/plugins/validators/gte.d.ts +0 -3
  630. package/content/plugins/validators/gte.js +0 -32
  631. package/content/plugins/validators/in.d.ts +0 -3
  632. package/content/plugins/validators/in.js +0 -32
  633. package/content/plugins/validators/index.d.ts +0 -2
  634. package/content/plugins/validators/index.js +0 -36
  635. package/content/plugins/validators/lte.d.ts +0 -3
  636. package/content/plugins/validators/lte.js +0 -32
  637. package/content/plugins/validators/maxLength.d.ts +0 -3
  638. package/content/plugins/validators/maxLength.js +0 -32
  639. package/content/plugins/validators/minLength.d.ts +0 -3
  640. package/content/plugins/validators/minLength.js +0 -32
  641. package/content/plugins/validators/pattern.d.ts +0 -3
  642. package/content/plugins/validators/pattern.js +0 -47
  643. package/content/plugins/validators/patternPlugins/email.d.ts +0 -3
  644. package/content/plugins/validators/patternPlugins/email.js +0 -17
  645. package/content/plugins/validators/patternPlugins/index.d.ts +0 -2
  646. package/content/plugins/validators/patternPlugins/index.js +0 -19
  647. package/content/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
  648. package/content/plugins/validators/patternPlugins/lowerCase.js +0 -17
  649. package/content/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
  650. package/content/plugins/validators/patternPlugins/upperCase.js +0 -17
  651. package/content/plugins/validators/patternPlugins/url.d.ts +0 -3
  652. package/content/plugins/validators/patternPlugins/url.js +0 -17
  653. package/content/plugins/validators/required.d.ts +0 -3
  654. package/content/plugins/validators/required.js +0 -25
  655. package/content/plugins/validators/timeGte.d.ts +0 -3
  656. package/content/plugins/validators/timeLte.d.ts +0 -3
  657. package/migrateCMSPermissions.d.ts +0 -17
  658. package/migrateCMSPermissions.js +0 -193
  659. package/plugins/context.d.ts +0 -4
  660. package/plugins/context.js +0 -34
  661. package/plugins/crud/index.d.ts +0 -6
  662. package/plugins/crud/index.js +0 -100
  663. package/plugins/crud/settings.crud.js +0 -93
  664. package/plugins/crud/system.crud.js +0 -182
  665. package/plugins/graphql/system.d.ts +0 -17
  666. package/plugins/graphql.d.ts +0 -2
  667. package/plugins/graphql.js +0 -79
  668. package/plugins/upgrades/index.d.ts +0 -2
  669. package/plugins/upgrades/index.js +0 -14
  670. package/plugins/upgrades/v5.5.0/helpers.d.ts +0 -6
  671. package/plugins/upgrades/v5.5.0/helpers.js +0 -10
  672. package/plugins/upgrades/v5.5.0/index.d.ts +0 -4
  673. package/plugins/upgrades/v5.5.0/index.js +0 -129
  674. package/transformers.d.ts +0 -2
  675. package/transformers.js +0 -25
  676. package/utils.d.ts +0 -25
  677. package/utils.js +0 -251
@@ -0,0 +1,352 @@
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 _mdbid = _interopRequireDefault(require("mdbid"));
11
+ var _error = _interopRequireDefault(require("@webiny/error"));
12
+ var _handlerGraphql = require("@webiny/handler-graphql");
13
+ var _CmsGroupPlugin = require("../plugins/CmsGroupPlugin");
14
+ var _pubsub = require("@webiny/pubsub");
15
+ var _beforeUpdate = require("./contentModelGroup/beforeUpdate");
16
+ var _beforeCreate = require("./contentModelGroup/beforeCreate");
17
+ var _beforeDelete = require("./contentModelGroup/beforeDelete");
18
+ var _permissions = require("../utils/permissions");
19
+ var _ownership = require("../utils/ownership");
20
+ var _access = require("../utils/access");
21
+ var _validation = require("./contentModelGroup/validation");
22
+ var _utils = require("@webiny/utils");
23
+ /**
24
+ * Package mdbid does not have types.
25
+ */
26
+ // @ts-ignore
27
+
28
+ const createModelGroupsCrud = params => {
29
+ const {
30
+ getTenant,
31
+ getIdentity,
32
+ getLocale,
33
+ storageOperations,
34
+ context
35
+ } = params;
36
+ const dataLoaders = {
37
+ listGroups: new _dataloader.default(async () => {
38
+ const tenant = getTenant().id;
39
+ const locale = getLocale().code;
40
+ const pluginsGroups = getGroupsAsPlugins().map(group => {
41
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, group), {}, {
42
+ tenant: group.tenant || tenant,
43
+ locale: group.locale || locale
44
+ });
45
+ });
46
+ const groups = await storageOperations.groups.list({
47
+ where: {
48
+ tenant: getTenant().id,
49
+ locale: getLocale().code
50
+ }
51
+ });
52
+ return [groups.concat(pluginsGroups)];
53
+ })
54
+ };
55
+ const clearGroupsCache = () => {
56
+ for (const loader of Object.values(dataLoaders)) {
57
+ loader.clearAll();
58
+ }
59
+ };
60
+ const getGroupsAsPlugins = () => {
61
+ const tenant = getTenant().id;
62
+ const locale = getLocale().code;
63
+ return context.plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type)
64
+ /**
65
+ * We need to filter out groups that are not for this tenant or locale.
66
+ * If it does not have tenant or locale define, it is for every locale and tenant
67
+ */.filter(plugin => {
68
+ const {
69
+ tenant: t,
70
+ locale: l
71
+ } = plugin.contentModelGroup;
72
+ if (t && t !== tenant) {
73
+ return false;
74
+ } else if (l && l !== locale) {
75
+ return false;
76
+ }
77
+ return true;
78
+ }).map(plugin => {
79
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, plugin.contentModelGroup), {}, {
80
+ tenant,
81
+ locale,
82
+ webinyVersion: context.WEBINY_VERSION
83
+ });
84
+ });
85
+ };
86
+ const checkPermissions = check => {
87
+ return (0, _permissions.checkPermissions)(context, "cms.contentModelGroup", {
88
+ rwd: check
89
+ });
90
+ };
91
+ const getGroupViaDataLoader = async id => {
92
+ const groups = await dataLoaders.listGroups.load("listGroups");
93
+ const group = groups.find(g => g.id === id);
94
+ if (!group) {
95
+ throw new _handlerGraphql.NotFoundError(`Cms Group "${id}" was not found!`);
96
+ }
97
+ return group;
98
+ };
99
+ const listGroupsViaDataLoader = async params => {
100
+ const {
101
+ where
102
+ } = params || {};
103
+ try {
104
+ return await dataLoaders.listGroups.load("listGroups");
105
+ } catch (ex) {
106
+ throw new _error.default(ex.message, ex.code || "LIST_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
107
+ where
108
+ }));
109
+ }
110
+ };
111
+
112
+ /**
113
+ * Create
114
+ */
115
+ const onGroupBeforeCreate = (0, _pubsub.createTopic)("cms.onGroupBeforeCreate");
116
+ const onGroupAfterCreate = (0, _pubsub.createTopic)("cms.onGroupAfterCreate");
117
+ const onGroupCreateError = (0, _pubsub.createTopic)("cms.onGroupCreateError");
118
+ /**
119
+ * Update
120
+ */
121
+ const onGroupBeforeUpdate = (0, _pubsub.createTopic)("cms.onGroupBeforeUpdate");
122
+ const onGroupAfterUpdate = (0, _pubsub.createTopic)("cms.onGroupAfterUpdate");
123
+ const onGroupUpdateError = (0, _pubsub.createTopic)("cms.onGroupUpdateError");
124
+ /**
125
+ * Delete
126
+ */
127
+ const onGroupBeforeDelete = (0, _pubsub.createTopic)("cms.onGroupBeforeDelete");
128
+ const onGroupAfterDelete = (0, _pubsub.createTopic)("cms.onGroupAfterDelete");
129
+ const onGroupDeleteError = (0, _pubsub.createTopic)("cms.onGroupDeleteError");
130
+
131
+ /**
132
+ * We need to assign some default behaviors.
133
+ */
134
+ (0, _beforeCreate.assignBeforeGroupCreate)({
135
+ onGroupBeforeCreate,
136
+ plugins: context.plugins,
137
+ storageOperations
138
+ });
139
+ (0, _beforeUpdate.assignBeforeGroupUpdate)({
140
+ onGroupBeforeUpdate,
141
+ plugins: context.plugins
142
+ });
143
+ (0, _beforeDelete.assignBeforeGroupDelete)({
144
+ onGroupBeforeDelete,
145
+ plugins: context.plugins,
146
+ storageOperations
147
+ });
148
+ /**
149
+ * CRUD Methods
150
+ */
151
+ const getGroup = async id => {
152
+ const permission = await checkPermissions("r");
153
+ const group = await getGroupViaDataLoader(id);
154
+ (0, _ownership.checkOwnership)(context, permission, group);
155
+ (0, _access.validateGroupAccess)(context, permission, group);
156
+ return group;
157
+ };
158
+ const listGroups = async params => {
159
+ const {
160
+ where
161
+ } = params || {};
162
+ const {
163
+ tenant,
164
+ locale
165
+ } = where || {};
166
+ const permission = await checkPermissions("r");
167
+ const response = await listGroupsViaDataLoader((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params || {}), {}, {
168
+ where: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, where || {}), {}, {
169
+ tenant: tenant || getTenant().id,
170
+ locale: locale || getLocale().code
171
+ })
172
+ }));
173
+ return response.filter(group => {
174
+ if (!(0, _ownership.validateOwnership)(context, permission, group)) {
175
+ return false;
176
+ }
177
+ return (0, _access.validateGroupAccess)(context, permission, group);
178
+ });
179
+ };
180
+ const createGroup = async input => {
181
+ await checkPermissions("w");
182
+ const result = await (0, _validation.createGroupCreateValidation)().safeParseAsync(input);
183
+ if (!result.success) {
184
+ throw (0, _utils.createZodError)(result.error);
185
+ }
186
+ const data = result.data;
187
+ const identity = getIdentity();
188
+ const id = (0, _mdbid.default)();
189
+ const group = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
190
+ id,
191
+ tenant: getTenant().id,
192
+ locale: getLocale().code,
193
+ createdOn: new Date().toISOString(),
194
+ savedOn: new Date().toISOString(),
195
+ createdBy: {
196
+ id: identity.id,
197
+ displayName: identity.displayName,
198
+ type: identity.type
199
+ },
200
+ webinyVersion: context.WEBINY_VERSION
201
+ });
202
+ try {
203
+ await onGroupBeforeCreate.publish({
204
+ group
205
+ });
206
+ const result = await storageOperations.groups.create({
207
+ group
208
+ });
209
+ clearGroupsCache();
210
+ await onGroupAfterCreate.publish({
211
+ group: result
212
+ });
213
+ return group;
214
+ } catch (ex) {
215
+ await onGroupCreateError.publish({
216
+ input,
217
+ group,
218
+ error: ex
219
+ });
220
+ 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 || {}), {}, {
221
+ group,
222
+ input
223
+ }));
224
+ }
225
+ };
226
+ const updateGroup = async (id, input) => {
227
+ const permission = await checkPermissions("w");
228
+ const original = await getGroupViaDataLoader(id);
229
+ (0, _ownership.checkOwnership)(context, permission, original);
230
+ const result = await (0, _validation.createGroupUpdateValidation)().safeParseAsync(input);
231
+ if (!result.success) {
232
+ throw (0, _utils.createZodError)(result.error);
233
+ }
234
+ const data = result.data;
235
+
236
+ /**
237
+ * No need to continue if no values were changed
238
+ */
239
+ if (Object.keys(data).length === 0) {
240
+ return original;
241
+ }
242
+ const group = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data), {}, {
243
+ locale: getLocale().code,
244
+ tenant: getTenant().id,
245
+ savedOn: new Date().toISOString()
246
+ });
247
+ try {
248
+ await onGroupBeforeUpdate.publish({
249
+ original,
250
+ group
251
+ });
252
+ const updatedGroup = await storageOperations.groups.update({
253
+ group
254
+ });
255
+ clearGroupsCache();
256
+ await onGroupAfterUpdate.publish({
257
+ original,
258
+ group: updatedGroup
259
+ });
260
+ return updatedGroup;
261
+ } catch (ex) {
262
+ await onGroupUpdateError.publish({
263
+ input,
264
+ original,
265
+ group,
266
+ error: ex
267
+ });
268
+ throw new _error.default(ex.message, ex.code || "UPDATE_ERROR", {
269
+ error: ex,
270
+ original,
271
+ group,
272
+ input
273
+ });
274
+ }
275
+ };
276
+ const deleteGroup = async id => {
277
+ const permission = await checkPermissions("d");
278
+ const group = await getGroupViaDataLoader(id);
279
+ (0, _ownership.checkOwnership)(context, permission, group);
280
+ try {
281
+ await onGroupBeforeDelete.publish({
282
+ group
283
+ });
284
+ await storageOperations.groups.delete({
285
+ group
286
+ });
287
+ clearGroupsCache();
288
+ await onGroupAfterDelete.publish({
289
+ group
290
+ });
291
+ } catch (ex) {
292
+ await onGroupDeleteError.publish({
293
+ group,
294
+ error: ex
295
+ });
296
+ throw new _error.default(ex.message, ex.code || "DELETE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
297
+ id
298
+ }));
299
+ }
300
+ return true;
301
+ };
302
+ return {
303
+ /**
304
+ * Deprecated - will be removed in 5.36.0
305
+ */
306
+ onBeforeGroupCreate: onGroupBeforeCreate,
307
+ onAfterGroupCreate: onGroupAfterCreate,
308
+ onBeforeGroupUpdate: onGroupBeforeUpdate,
309
+ onAfterGroupUpdate: onGroupAfterUpdate,
310
+ onBeforeGroupDelete: onGroupBeforeDelete,
311
+ onAfterGroupDelete: onGroupAfterDelete,
312
+ /**
313
+ * Released in 5.34.0
314
+ */
315
+ onGroupBeforeCreate,
316
+ onGroupAfterCreate,
317
+ onGroupCreateError,
318
+ onGroupBeforeUpdate,
319
+ onGroupAfterUpdate,
320
+ onGroupUpdateError,
321
+ onGroupBeforeDelete,
322
+ onGroupAfterDelete,
323
+ onGroupDeleteError,
324
+ clearGroupsCache,
325
+ getGroup: async id => {
326
+ return context.benchmark.measure("headlessCms.crud.groups.getGroup", async () => {
327
+ return getGroup(id);
328
+ });
329
+ },
330
+ listGroups: async params => {
331
+ return context.benchmark.measure("headlessCms.crud.groups.listGroups", async () => {
332
+ return listGroups(params);
333
+ });
334
+ },
335
+ createGroup: async input => {
336
+ return context.benchmark.measure("headlessCms.crud.groups.createGroup", async () => {
337
+ return createGroup(input);
338
+ });
339
+ },
340
+ updateGroup: async (id, input) => {
341
+ return context.benchmark.measure("headlessCms.crud.groups.updateGroup", async () => {
342
+ return updateGroup(id, input);
343
+ });
344
+ },
345
+ deleteGroup: async id => {
346
+ return context.benchmark.measure("headlessCms.crud.groups.deleteGroup", async () => {
347
+ return deleteGroup(id);
348
+ });
349
+ }
350
+ };
351
+ };
352
+ exports.createModelGroupsCrud = createModelGroupsCrud;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createModelGroupsCrud","params","getTenant","getIdentity","getLocale","storageOperations","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","checkPermissions","check","baseCheckPermissions","rwd","getGroupViaDataLoader","load","find","g","NotFoundError","listGroupsViaDataLoader","ex","WebinyError","message","data","onGroupBeforeCreate","createTopic","onGroupAfterCreate","onGroupCreateError","onGroupBeforeUpdate","onGroupAfterUpdate","onGroupUpdateError","onGroupBeforeDelete","onGroupAfterDelete","onGroupDeleteError","assignBeforeGroupCreate","assignBeforeGroupUpdate","assignBeforeGroupDelete","getGroup","permission","checkOwnership","validateGroupAccess","response","validateOwnership","createGroup","input","result","createGroupCreateValidation","safeParseAsync","success","createZodError","error","identity","mdbid","createdOn","Date","toISOString","savedOn","createdBy","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\";\n/**\n * Package mdbid does not have types.\n */\n// @ts-ignore\nimport mdbid from \"mdbid\";\nimport WebinyError from \"@webiny/error\";\nimport {\n CmsGroupContext,\n CmsGroupListParams,\n CmsGroupPermission,\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 { checkPermissions as baseCheckPermissions } from \"~/utils/permissions\";\nimport { checkOwnership, validateOwnership } from \"~/utils/ownership\";\nimport { validateGroupAccess } from \"~/utils/access\";\nimport {\n createGroupCreateValidation,\n createGroupUpdateValidation\n} from \"~/crud/contentModelGroup/validation\";\nimport { createZodError } from \"@webiny/utils\";\n\nexport interface CreateModelGroupsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\n\nexport const createModelGroupsCrud = (params: CreateModelGroupsCrudParams): CmsGroupContext => {\n const { getTenant, getIdentity, getLocale, storageOperations, context } = 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 checkPermissions = (check: string): Promise<CmsGroupPermission> => {\n return baseCheckPermissions(context, \"cms.contentModelGroup\", { rwd: check });\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 const permission = await checkPermissions(\"r\");\n\n const group = await getGroupViaDataLoader(id);\n checkOwnership(context, permission, group);\n validateGroupAccess(context, permission, group);\n\n return group;\n };\n const listGroups: CmsGroupContext[\"listGroups\"] = async params => {\n const { where } = params || {};\n\n const { tenant, locale } = where || {};\n const permission = await checkPermissions(\"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 response.filter(group => {\n if (!validateOwnership(context, permission, group)) {\n return false;\n }\n return validateGroupAccess(context, permission, group);\n });\n };\n const createGroup: CmsGroupContext[\"createGroup\"] = async input => {\n await checkPermissions(\"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 const permission = await checkPermissions(\"w\");\n\n const original = await getGroupViaDataLoader(id);\n\n checkOwnership(context, permission, original);\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 const permission = await checkPermissions(\"d\");\n\n const group = await getGroupViaDataLoader(id);\n\n checkOwnership(context, permission, group);\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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"}
@@ -1,10 +1,10 @@
1
- import { CmsContext, HeadlessCmsStorageOperations, CmsSettingsContext } from "../../types";
1
+ import { CmsContext, CmsSettingsContext, HeadlessCmsStorageOperations } from "../types";
2
2
  import { Tenant } from "@webiny/api-tenancy/types";
3
3
  import { I18NLocale } from "@webiny/api-i18n/types";
4
- export interface Params {
4
+ export interface CreateSettingsCrudParams {
5
5
  getTenant: () => Tenant;
6
6
  getLocale: () => I18NLocale;
7
7
  storageOperations: HeadlessCmsStorageOperations;
8
8
  context: CmsContext;
9
9
  }
10
- export declare const createSettingsCrud: (params: Params) => CmsSettingsContext;
10
+ export declare const createSettingsCrud: (params: CreateSettingsCrudParams) => CmsSettingsContext;
@@ -0,0 +1,66 @@
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
+ var _permissions = require("../utils/permissions");
10
+ const createSettingsCrud = params => {
11
+ const {
12
+ storageOperations,
13
+ context,
14
+ getTenant,
15
+ getLocale
16
+ } = params;
17
+ const checkPermissions = () => {
18
+ return (0, _permissions.checkPermissions)(context, "cms.settings");
19
+ };
20
+ return {
21
+ getSettings: async () => {
22
+ await checkPermissions();
23
+ return await storageOperations.settings.get({
24
+ tenant: getTenant().id,
25
+ locale: getLocale().code
26
+ });
27
+ },
28
+ updateModelLastChange: async () => {
29
+ const original = await storageOperations.settings.get({
30
+ tenant: getTenant().id,
31
+ locale: getLocale().code
32
+ });
33
+ const settings = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original || {}), {}, {
34
+ contentModelLastChange: new Date(),
35
+ tenant: getTenant().id,
36
+ locale: getLocale().code
37
+ });
38
+ if (!original) {
39
+ await storageOperations.settings.create({
40
+ settings
41
+ });
42
+ return;
43
+ }
44
+ await storageOperations.settings.update({
45
+ settings
46
+ });
47
+ },
48
+ getModelLastChange: async () => {
49
+ try {
50
+ const settings = await storageOperations.settings.get({
51
+ tenant: getTenant().id,
52
+ locale: getLocale().code
53
+ });
54
+ return (settings === null || settings === void 0 ? void 0 : settings.contentModelLastChange) || null;
55
+ } catch (ex) {
56
+ console.log({
57
+ message: ex.message,
58
+ code: ex.code || "COULD_NOT_FETCH_CONTENT_MODEL_LAST_CHANGE",
59
+ data: ex
60
+ });
61
+ }
62
+ return null;
63
+ }
64
+ };
65
+ };
66
+ exports.createSettingsCrud = createSettingsCrud;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSettingsCrud","params","storageOperations","context","getTenant","getLocale","checkPermissions","baseCheckPermissions","getSettings","settings","get","tenant","id","locale","code","updateModelLastChange","original","contentModelLastChange","Date","create","update","getModelLastChange","ex","console","log","message","data"],"sources":["settings.crud.ts"],"sourcesContent":["import {\n CmsContext,\n CmsSettings,\n CmsSettingsContext,\n CmsSettingsPermission,\n HeadlessCmsStorageOperations\n} from \"~/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { checkPermissions as baseCheckPermissions } from \"~/utils/permissions\";\n\nexport interface CreateSettingsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n context: CmsContext;\n}\nexport const createSettingsCrud = (params: CreateSettingsCrudParams): CmsSettingsContext => {\n const { storageOperations, context, getTenant, getLocale } = params;\n\n const checkPermissions = (): Promise<CmsSettingsPermission> => {\n return baseCheckPermissions(context, \"cms.settings\");\n };\n\n return {\n getSettings: async () => {\n await checkPermissions();\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":";;;;;;;;AASA;AAQO,MAAMA,kBAAkB,GAAIC,MAAgC,IAAyB;EACxF,MAAM;IAAEC,iBAAiB;IAAEC,OAAO;IAAEC,SAAS;IAAEC;EAAU,CAAC,GAAGJ,MAAM;EAEnE,MAAMK,gBAAgB,GAAG,MAAsC;IAC3D,OAAO,IAAAC,6BAAoB,EAACJ,OAAO,EAAE,cAAc,CAAC;EACxD,CAAC;EAED,OAAO;IACHK,WAAW,EAAE,YAAY;MACrB,MAAMF,gBAAgB,EAAE;MACxB,OAAO,MAAMJ,iBAAiB,CAACO,QAAQ,CAACC,GAAG,CAAC;QACxCC,MAAM,EAAEP,SAAS,EAAE,CAACQ,EAAE;QACtBC,MAAM,EAAER,SAAS,EAAE,CAACS;MACxB,CAAC,CAAC;IACN,CAAC;IACDC,qBAAqB,EAAE,YAAY;MAC/B,MAAMC,QAAQ,GAAG,MAAMd,iBAAiB,CAACO,QAAQ,CAACC,GAAG,CAAC;QAClDC,MAAM,EAAEP,SAAS,EAAE,CAACQ,EAAE;QACtBC,MAAM,EAAER,SAAS,EAAE,CAACS;MACxB,CAAC,CAAC;MAEF,MAAML,QAAqB,+DACnBO,QAAQ,IAAI,CAAC,CAAC;QAClBC,sBAAsB,EAAE,IAAIC,IAAI,EAAE;QAClCP,MAAM,EAAEP,SAAS,EAAE,CAACQ,EAAE;QACtBC,MAAM,EAAER,SAAS,EAAE,CAACS;MAAI,EAC3B;MAED,IAAI,CAACE,QAAQ,EAAE;QACX,MAAMd,iBAAiB,CAACO,QAAQ,CAACU,MAAM,CAAC;UAAEV;QAAS,CAAC,CAAC;QACrD;MACJ;MAEA,MAAMP,iBAAiB,CAACO,QAAQ,CAACW,MAAM,CAAC;QACpCX;MACJ,CAAC,CAAC;IACN,CAAC;IACDY,kBAAkB,EAAE,YAAY;MAC5B,IAAI;QACA,MAAMZ,QAAQ,GAAG,MAAMP,iBAAiB,CAACO,QAAQ,CAACC,GAAG,CAAC;UAClDC,MAAM,EAAEP,SAAS,EAAE,CAACQ,EAAE;UACtBC,MAAM,EAAER,SAAS,EAAE,CAACS;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,10 +1,13 @@
1
- import { CmsContext, CmsSystemContext, HeadlessCmsStorageOperations } from "../../types";
1
+ import { CmsContext, CmsSystemContext, HeadlessCmsStorageOperations } from "../types";
2
2
  import { Tenant } from "@webiny/api-tenancy/types";
3
3
  import { SecurityIdentity } from "@webiny/api-security/types";
4
- export interface Params {
4
+ import { I18NLocale } from "@webiny/api-i18n/types";
5
+ interface CreateSystemCrudParams {
5
6
  getTenant: () => Tenant;
7
+ getLocale: () => I18NLocale;
6
8
  storageOperations: HeadlessCmsStorageOperations;
7
9
  context: CmsContext;
8
10
  getIdentity: () => SecurityIdentity;
9
11
  }
10
- export declare const createSystemCrud: (params: Params) => CmsSystemContext;
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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"}
@@ -0,0 +1,7 @@
1
+ import { CmsModelFieldConverterPlugin, ConvertParams } from "../plugins/CmsModelFieldConverterPlugin";
2
+ export declare class CmsModelDefaultFieldConverterPlugin extends CmsModelFieldConverterPlugin {
3
+ name: string;
4
+ getFieldType(): string;
5
+ convertToStorage({ field, value }: ConvertParams): any;
6
+ convertFromStorage({ field, value }: ConvertParams): any;
7
+ }