@webiny/api-headless-cms 0.0.0-mt-3 → 0.0.0-unstable.3386f66516

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 (614) hide show
  1. package/context.d.ts +6 -0
  2. package/context.js +119 -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 -2
  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 -2
  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 -2
  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 +23 -11
  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 +14 -15
  18. package/crud/contentEntry/markLockedFields.js.map +1 -0
  19. package/crud/contentEntry/referenceFieldsMapping.d.ts +13 -0
  20. package/crud/contentEntry/referenceFieldsMapping.js +292 -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 +83 -0
  24. package/crud/contentEntry/searchableFields.js.map +1 -0
  25. package/{content/plugins/crud → crud}/contentEntry.crud.d.ts +5 -9
  26. package/crud/contentEntry.crud.js +1309 -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 +18 -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 +18 -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 +18 -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 +18 -0
  39. package/crud/contentModel/afterUpdate.js.map +1 -0
  40. package/crud/contentModel/beforeCreate.d.ts +14 -0
  41. package/{content/plugins/crud → crud}/contentModel/beforeCreate.js +61 -13
  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 +14 -10
  45. package/crud/contentModel/beforeDelete.js.map +1 -0
  46. package/crud/contentModel/beforeUpdate.d.ts +8 -0
  47. package/crud/contentModel/beforeUpdate.js +37 -0
  48. package/crud/contentModel/beforeUpdate.js.map +1 -0
  49. package/crud/contentModel/contentModelManagerFactory.d.ts +2 -0
  50. package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js +0 -0
  51. package/crud/contentModel/contentModelManagerFactory.js.map +1 -0
  52. package/crud/contentModel/createFieldModels.d.ts +2 -0
  53. package/{content/plugins/crud → crud}/contentModel/createFieldModels.js +6 -2
  54. package/crud/contentModel/createFieldModels.js.map +1 -0
  55. package/crud/contentModel/createFieldStorageId.d.ts +2 -0
  56. package/crud/contentModel/createFieldStorageId.js +20 -0
  57. package/crud/contentModel/createFieldStorageId.js.map +1 -0
  58. package/crud/contentModel/fieldIdValidation.d.ts +1 -0
  59. package/crud/contentModel/fieldIdValidation.js +25 -0
  60. package/crud/contentModel/fieldIdValidation.js.map +1 -0
  61. package/crud/contentModel/idValidation.d.ts +1 -0
  62. package/{content/plugins/crud → crud}/contentModel/idValidation.js +3 -3
  63. package/crud/contentModel/idValidation.js.map +1 -0
  64. package/{content/plugins/crud → crud}/contentModel/models.d.ts +2 -1
  65. package/{content/plugins/crud → crud}/contentModel/models.js +76 -25
  66. package/crud/contentModel/models.js.map +1 -0
  67. package/crud/contentModel/systemFields.d.ts +1 -0
  68. package/crud/contentModel/systemFields.js +8 -0
  69. package/crud/contentModel/systemFields.js.map +1 -0
  70. package/crud/contentModel/validateLayout.d.ts +2 -0
  71. package/{content/plugins/crud → crud}/contentModel/validateLayout.js +1 -3
  72. package/crud/contentModel/validateLayout.js.map +1 -0
  73. package/crud/contentModel/validateModel.d.ts +8 -0
  74. package/crud/contentModel/validateModel.js +35 -0
  75. package/crud/contentModel/validateModel.js.map +1 -0
  76. package/crud/contentModel/validateModelFields.d.ts +8 -0
  77. package/crud/contentModel/validateModelFields.js +436 -0
  78. package/crud/contentModel/validateModelFields.js.map +1 -0
  79. package/crud/contentModel/validation.d.ts +477 -0
  80. package/crud/contentModel/validation.js +109 -0
  81. package/crud/contentModel/validation.js.map +1 -0
  82. package/{content/plugins/crud → crud}/contentModel.crud.d.ts +3 -3
  83. package/crud/contentModel.crud.js +642 -0
  84. package/crud/contentModel.crud.js.map +1 -0
  85. package/crud/contentModelGroup/beforeCreate.d.ts +10 -0
  86. package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.js +9 -9
  87. package/crud/contentModelGroup/beforeCreate.js.map +1 -0
  88. package/crud/contentModelGroup/beforeDelete.d.ts +10 -0
  89. package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.js +4 -4
  90. package/crud/contentModelGroup/beforeDelete.js.map +1 -0
  91. package/crud/contentModelGroup/beforeUpdate.d.ts +9 -0
  92. package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.js +3 -3
  93. package/crud/contentModelGroup/beforeUpdate.js.map +1 -0
  94. package/crud/contentModelGroup/validation.d.ts +30 -0
  95. package/crud/contentModelGroup/validation.js +43 -0
  96. package/crud/contentModelGroup/validation.js.map +1 -0
  97. package/{content/plugins/crud → crud}/contentModelGroup.crud.d.ts +3 -3
  98. package/crud/contentModelGroup.crud.js +366 -0
  99. package/crud/contentModelGroup.crud.js.map +1 -0
  100. package/{plugins/crud → crud}/settings.crud.d.ts +3 -3
  101. package/crud/settings.crud.js +83 -0
  102. package/crud/settings.crud.js.map +1 -0
  103. package/{plugins/crud → crud}/system.crud.d.ts +6 -3
  104. package/crud/system.crud.js +221 -0
  105. package/crud/system.crud.js.map +1 -0
  106. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +7 -0
  107. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +66 -0
  108. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -0
  109. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  110. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +239 -0
  111. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  112. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +11 -0
  113. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +304 -0
  114. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -0
  115. package/fieldConverters/index.d.ts +4 -0
  116. package/fieldConverters/index.js +18 -0
  117. package/fieldConverters/index.js.map +1 -0
  118. package/graphql/buildSchemaPlugins.d.ts +11 -0
  119. package/graphql/buildSchemaPlugins.js +24 -0
  120. package/graphql/buildSchemaPlugins.js.map +1 -0
  121. package/graphql/createExecutableSchema.d.ts +7 -0
  122. package/graphql/createExecutableSchema.js +33 -0
  123. package/graphql/createExecutableSchema.js.map +1 -0
  124. package/graphql/generateSchema.d.ts +8 -0
  125. package/graphql/generateSchema.js +38 -0
  126. package/graphql/generateSchema.js.map +1 -0
  127. package/graphql/graphQLHandlerFactory.d.ts +5 -0
  128. package/graphql/graphQLHandlerFactory.js +202 -0
  129. package/graphql/graphQLHandlerFactory.js.map +1 -0
  130. package/graphql/index.d.ts +3 -0
  131. package/graphql/index.js +18 -0
  132. package/graphql/index.js.map +1 -0
  133. package/graphql/schema/baseContentSchema.d.ts +7 -0
  134. package/graphql/schema/baseContentSchema.js +78 -0
  135. package/graphql/schema/baseContentSchema.js.map +1 -0
  136. package/graphql/schema/baseSchema.d.ts +3 -0
  137. package/graphql/schema/baseSchema.js +60 -0
  138. package/graphql/schema/baseSchema.js.map +1 -0
  139. package/graphql/schema/contentEntries.d.ts +7 -0
  140. package/graphql/schema/contentEntries.js +357 -0
  141. package/graphql/schema/contentEntries.js.map +1 -0
  142. package/graphql/schema/contentModelGroups.d.ts +7 -0
  143. package/{content/plugins → graphql}/schema/contentModelGroups.js +40 -17
  144. package/graphql/schema/contentModelGroups.js.map +1 -0
  145. package/graphql/schema/contentModels.d.ts +7 -0
  146. package/{content/plugins → graphql}/schema/contentModels.js +108 -13
  147. package/graphql/schema/contentModels.js.map +1 -0
  148. package/graphql/schema/createFieldResolvers.d.ts +20 -0
  149. package/graphql/schema/createFieldResolvers.js +133 -0
  150. package/graphql/schema/createFieldResolvers.js.map +1 -0
  151. package/graphql/schema/createManageResolvers.d.ts +12 -0
  152. package/{content/plugins → graphql}/schema/createManageResolvers.js +36 -34
  153. package/graphql/schema/createManageResolvers.js.map +1 -0
  154. package/graphql/schema/createManageSDL.d.ts +12 -0
  155. package/{content/plugins → graphql}/schema/createManageSDL.js +31 -21
  156. package/graphql/schema/createManageSDL.js.map +1 -0
  157. package/graphql/schema/createPreviewResolvers.d.ts +12 -0
  158. package/graphql/schema/createPreviewResolvers.js +58 -0
  159. package/graphql/schema/createPreviewResolvers.js.map +1 -0
  160. package/graphql/schema/createReadResolvers.d.ts +12 -0
  161. package/graphql/schema/createReadResolvers.js +63 -0
  162. package/graphql/schema/createReadResolvers.js.map +1 -0
  163. package/graphql/schema/createReadSDL.d.ts +12 -0
  164. package/{content/plugins → graphql}/schema/createReadSDL.js +25 -13
  165. package/graphql/schema/createReadSDL.js.map +1 -0
  166. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +6 -0
  167. package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js +0 -0
  168. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -0
  169. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +7 -0
  170. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js +2 -4
  171. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -0
  172. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +8 -0
  173. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js +2 -4
  174. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -0
  175. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +7 -0
  176. package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.js +10 -8
  177. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -0
  178. package/graphql/schema/resolvers/manage/resolveGet.d.ts +7 -0
  179. package/graphql/schema/resolvers/manage/resolveGet.js +79 -0
  180. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -0
  181. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +7 -0
  182. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js +2 -4
  183. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -0
  184. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +7 -0
  185. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js +2 -4
  186. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -0
  187. package/graphql/schema/resolvers/manage/resolveList.d.ts +4 -0
  188. package/{content/plugins/schema/resolvers/read → graphql/schema/resolvers/manage}/resolveList.js +2 -4
  189. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -0
  190. package/graphql/schema/resolvers/manage/resolvePublish.d.ts +7 -0
  191. package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js +0 -0
  192. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -0
  193. package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +7 -0
  194. package/{content/plugins/schema/resolvers/manage/resolveGet.js → graphql/schema/resolvers/manage/resolveRepublish.js} +4 -4
  195. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -0
  196. package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +7 -0
  197. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.js +0 -0
  198. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -0
  199. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +8 -0
  200. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.js +2 -4
  201. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -0
  202. package/graphql/schema/resolvers/preview/resolveGet.d.ts +4 -0
  203. package/graphql/schema/resolvers/preview/resolveGet.js +34 -0
  204. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -0
  205. package/graphql/schema/resolvers/preview/resolveList.d.ts +4 -0
  206. package/{content/plugins → graphql}/schema/resolvers/preview/resolveList.js +2 -4
  207. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -0
  208. package/graphql/schema/resolvers/read/resolveGet.d.ts +4 -0
  209. package/graphql/schema/resolvers/read/resolveGet.js +34 -0
  210. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -0
  211. package/graphql/schema/resolvers/read/resolveList.d.ts +4 -0
  212. package/{content/plugins/schema/resolvers/manage → graphql/schema/resolvers/read}/resolveList.js +2 -4
  213. package/graphql/schema/resolvers/read/resolveList.js.map +1 -0
  214. package/graphql/schema/schemaPlugins.d.ts +8 -0
  215. package/graphql/schema/schemaPlugins.js +119 -0
  216. package/graphql/schema/schemaPlugins.js.map +1 -0
  217. package/graphql/system.d.ts +6 -0
  218. package/{plugins/graphql → graphql}/system.js +50 -6
  219. package/graphql/system.js.map +1 -0
  220. package/graphqlFields/boolean.d.ts +2 -0
  221. package/graphqlFields/boolean.js +69 -0
  222. package/graphqlFields/boolean.js.map +1 -0
  223. package/graphqlFields/datetime.d.ts +2 -0
  224. package/graphqlFields/datetime.js +95 -0
  225. package/graphqlFields/datetime.js.map +1 -0
  226. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  227. package/graphqlFields/dynamicZone/dynamicZoneField.js +234 -0
  228. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  229. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  230. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +79 -0
  231. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  232. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  233. package/graphqlFields/dynamicZone/index.js +21 -0
  234. package/graphqlFields/dynamicZone/index.js.map +1 -0
  235. package/graphqlFields/file.d.ts +2 -0
  236. package/graphqlFields/file.js +50 -0
  237. package/graphqlFields/file.js.map +1 -0
  238. package/graphqlFields/helpers.d.ts +6 -0
  239. package/graphqlFields/helpers.js +49 -0
  240. package/graphqlFields/helpers.js.map +1 -0
  241. package/graphqlFields/index.d.ts +2 -0
  242. package/graphqlFields/index.js +30 -0
  243. package/graphqlFields/index.js.map +1 -0
  244. package/graphqlFields/longText.d.ts +2 -0
  245. package/graphqlFields/longText.js +63 -0
  246. package/graphqlFields/longText.js.map +1 -0
  247. package/graphqlFields/number.d.ts +2 -0
  248. package/graphqlFields/number.js +79 -0
  249. package/graphqlFields/number.js.map +1 -0
  250. package/graphqlFields/object.d.ts +2 -0
  251. package/graphqlFields/object.js +275 -0
  252. package/graphqlFields/object.js.map +1 -0
  253. package/graphqlFields/ref.d.ts +2 -0
  254. package/graphqlFields/ref.js +261 -0
  255. package/graphqlFields/ref.js.map +1 -0
  256. package/graphqlFields/richText.d.ts +2 -0
  257. package/graphqlFields/richText.js +56 -0
  258. package/graphqlFields/richText.js.map +1 -0
  259. package/graphqlFields/text.d.ts +2 -0
  260. package/graphqlFields/text.js +73 -0
  261. package/graphqlFields/text.js.map +1 -0
  262. package/index.d.ts +10 -12
  263. package/index.js +75 -36
  264. package/index.js.map +1 -0
  265. package/modelManager/DefaultCmsModelManager.d.ts +14 -0
  266. package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js +12 -10
  267. package/modelManager/DefaultCmsModelManager.js.map +1 -0
  268. package/modelManager/index.d.ts +2 -0
  269. package/{content/plugins/modelManager → modelManager}/index.js +3 -3
  270. package/modelManager/index.js.map +1 -0
  271. package/package.json +38 -38
  272. package/parameters/context.d.ts +2 -0
  273. package/parameters/context.js +22 -0
  274. package/parameters/context.js.map +1 -0
  275. package/parameters/header.d.ts +2 -0
  276. package/parameters/header.js +55 -0
  277. package/parameters/header.js.map +1 -0
  278. package/parameters/index.d.ts +4 -0
  279. package/parameters/index.js +57 -0
  280. package/parameters/index.js.map +1 -0
  281. package/parameters/manual.d.ts +6 -0
  282. package/parameters/manual.js +44 -0
  283. package/parameters/manual.js.map +1 -0
  284. package/parameters/path.d.ts +2 -0
  285. package/parameters/path.js +51 -0
  286. package/parameters/path.js.map +1 -0
  287. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  288. package/plugins/CmsGraphQLSchemaPlugin.js +17 -0
  289. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  290. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  291. package/plugins/CmsGraphQLSchemaSorterPlugin.js +38 -0
  292. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  293. package/plugins/CmsGroupPlugin.d.ts +13 -0
  294. package/{content/plugins → plugins}/CmsGroupPlugin.js +9 -3
  295. package/plugins/CmsGroupPlugin.js.map +1 -0
  296. package/plugins/CmsModelFieldConverterPlugin.d.ts +14 -0
  297. package/plugins/CmsModelFieldConverterPlugin.js +17 -0
  298. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -0
  299. package/plugins/CmsModelPlugin.d.ts +45 -0
  300. package/plugins/CmsModelPlugin.js +194 -0
  301. package/plugins/CmsModelPlugin.js.map +1 -0
  302. package/plugins/CmsParametersPlugin.d.ts +20 -0
  303. package/plugins/CmsParametersPlugin.js +28 -0
  304. package/plugins/CmsParametersPlugin.js.map +1 -0
  305. package/plugins/StorageTransformPlugin.d.ts +31 -0
  306. package/{content/plugins/storage → plugins}/StorageTransformPlugin.js +2 -1
  307. package/plugins/StorageTransformPlugin.js.map +1 -0
  308. package/plugins/index.d.ts +7 -0
  309. package/plugins/index.js +96 -0
  310. package/plugins/index.js.map +1 -0
  311. package/storage/default.d.ts +2 -0
  312. package/storage/default.js +27 -0
  313. package/storage/default.js.map +1 -0
  314. package/storage/object.d.ts +2 -0
  315. package/storage/object.js +127 -0
  316. package/storage/object.js.map +1 -0
  317. package/types.d.ts +878 -387
  318. package/types.js +130 -8
  319. package/types.js.map +1 -0
  320. package/upgrades/5.33.0/index.d.ts +3 -0
  321. package/upgrades/5.33.0/index.js +182 -0
  322. package/upgrades/5.33.0/index.js.map +1 -0
  323. package/upgrades/index.d.ts +1 -0
  324. package/upgrades/index.js +12 -0
  325. package/upgrades/index.js.map +1 -0
  326. package/utils/access.d.ts +8 -0
  327. package/utils/access.js +90 -0
  328. package/utils/access.js.map +1 -0
  329. package/utils/converters/Converter.d.ts +27 -0
  330. package/utils/converters/Converter.js +71 -0
  331. package/utils/converters/Converter.js.map +1 -0
  332. package/utils/converters/ConverterCollection.d.ts +31 -0
  333. package/utils/converters/ConverterCollection.js +143 -0
  334. package/utils/converters/ConverterCollection.js.map +1 -0
  335. package/utils/converters/valueKeyStorageConverter.d.ts +18 -0
  336. package/utils/converters/valueKeyStorageConverter.js +148 -0
  337. package/utils/converters/valueKeyStorageConverter.js.map +1 -0
  338. package/utils/createTypeFromFields.d.ts +15 -0
  339. package/utils/createTypeFromFields.js +75 -0
  340. package/utils/createTypeFromFields.js.map +1 -0
  341. package/{content/plugins/utils → utils}/createTypeName.d.ts +3 -3
  342. package/{content/plugins/utils → utils}/createTypeName.js +4 -2
  343. package/utils/createTypeName.js.map +1 -0
  344. package/{content/plugins/utils → utils}/entryStorage.d.ts +3 -3
  345. package/{content/plugins/utils → utils}/entryStorage.js +18 -23
  346. package/utils/entryStorage.js.map +1 -0
  347. package/utils/filterAsync.d.ts +1 -0
  348. package/utils/filterAsync.js +23 -0
  349. package/utils/filterAsync.js.map +1 -0
  350. package/utils/getBaseFieldType.d.ts +4 -0
  351. package/utils/getBaseFieldType.js +12 -0
  352. package/utils/getBaseFieldType.js.map +1 -0
  353. package/utils/getEntryTitle.d.ts +2 -0
  354. package/{content/plugins/utils → utils}/getEntryTitle.js +7 -6
  355. package/utils/getEntryTitle.js.map +1 -0
  356. package/utils/getSchemaFromFieldPlugins.d.ts +9 -0
  357. package/utils/getSchemaFromFieldPlugins.js +48 -0
  358. package/utils/getSchemaFromFieldPlugins.js.map +1 -0
  359. package/utils/ownership.d.ts +8 -0
  360. package/utils/ownership.js +41 -0
  361. package/utils/ownership.js.map +1 -0
  362. package/utils/permissions.d.ts +7 -0
  363. package/utils/permissions.js +106 -0
  364. package/utils/permissions.js.map +1 -0
  365. package/utils/pluralizedTypeName.d.ts +1 -0
  366. package/{content/plugins/utils → utils}/pluralizedTypeName.js +1 -1
  367. package/utils/pluralizedTypeName.js.map +1 -0
  368. package/utils/renderFields.d.ts +15 -0
  369. package/{content/plugins/utils → utils}/renderFields.js +7 -3
  370. package/utils/renderFields.js.map +1 -0
  371. package/utils/renderGetFilterFields.d.ts +10 -0
  372. package/utils/renderGetFilterFields.js +61 -0
  373. package/utils/renderGetFilterFields.js.map +1 -0
  374. package/utils/renderInputFields.d.ts +14 -0
  375. package/{content/plugins/utils → utils}/renderInputFields.js +4 -2
  376. package/utils/renderInputFields.js.map +1 -0
  377. package/utils/renderListFilterFields.d.ts +11 -0
  378. package/{content/plugins/utils → utils}/renderListFilterFields.js +40 -17
  379. package/utils/renderListFilterFields.js.map +1 -0
  380. package/utils/renderSortEnum.d.ts +12 -0
  381. package/utils/renderSortEnum.js +51 -0
  382. package/utils/renderSortEnum.js.map +1 -0
  383. package/utils/toSlug.d.ts +1 -0
  384. package/utils/toSlug.js +20 -0
  385. package/utils/toSlug.js.map +1 -0
  386. package/validators/dateGte.d.ts +2 -0
  387. package/{content/plugins/validators → validators}/dateGte.js +4 -4
  388. package/validators/dateGte.js.map +1 -0
  389. package/validators/dateLte.d.ts +2 -0
  390. package/{content/plugins/validators → validators}/dateLte.js +4 -4
  391. package/validators/dateLte.js.map +1 -0
  392. package/validators/dynamicZone.d.ts +2 -0
  393. package/validators/dynamicZone.js +24 -0
  394. package/validators/dynamicZone.js.map +1 -0
  395. package/validators/gte.d.ts +2 -0
  396. package/validators/gte.js +36 -0
  397. package/validators/gte.js.map +1 -0
  398. package/validators/in.d.ts +2 -0
  399. package/validators/in.js +36 -0
  400. package/validators/in.js.map +1 -0
  401. package/validators/index.d.ts +1 -0
  402. package/validators/index.js +38 -0
  403. package/validators/index.js.map +1 -0
  404. package/validators/lte.d.ts +2 -0
  405. package/validators/lte.js +36 -0
  406. package/validators/lte.js.map +1 -0
  407. package/validators/maxLength.d.ts +2 -0
  408. package/validators/maxLength.js +36 -0
  409. package/validators/maxLength.js.map +1 -0
  410. package/validators/minLength.d.ts +2 -0
  411. package/validators/minLength.js +36 -0
  412. package/validators/minLength.js.map +1 -0
  413. package/validators/pattern.d.ts +2 -0
  414. package/validators/pattern.js +50 -0
  415. package/validators/pattern.js.map +1 -0
  416. package/validators/patternPlugins/email.d.ts +2 -0
  417. package/validators/patternPlugins/email.js +20 -0
  418. package/validators/patternPlugins/email.js.map +1 -0
  419. package/validators/patternPlugins/index.d.ts +2 -0
  420. package/validators/patternPlugins/index.js +24 -0
  421. package/validators/patternPlugins/index.js.map +1 -0
  422. package/validators/patternPlugins/lowerCase.d.ts +2 -0
  423. package/validators/patternPlugins/lowerCase.js +20 -0
  424. package/validators/patternPlugins/lowerCase.js.map +1 -0
  425. package/validators/patternPlugins/lowerCaseSpace.d.ts +2 -0
  426. package/validators/patternPlugins/lowerCaseSpace.js +20 -0
  427. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  428. package/validators/patternPlugins/upperCase.d.ts +2 -0
  429. package/validators/patternPlugins/upperCase.js +20 -0
  430. package/validators/patternPlugins/upperCase.js.map +1 -0
  431. package/validators/patternPlugins/upperCaseSpace.d.ts +2 -0
  432. package/validators/patternPlugins/upperCaseSpace.js +20 -0
  433. package/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  434. package/validators/patternPlugins/url.d.ts +2 -0
  435. package/validators/patternPlugins/url.js +20 -0
  436. package/validators/patternPlugins/url.js.map +1 -0
  437. package/validators/required.d.ts +2 -0
  438. package/validators/required.js +27 -0
  439. package/validators/required.js.map +1 -0
  440. package/validators/timeGte.d.ts +2 -0
  441. package/{content/plugins/validators → validators}/timeGte.js +6 -4
  442. package/validators/timeGte.js.map +1 -0
  443. package/validators/timeLte.d.ts +2 -0
  444. package/{content/plugins/validators → validators}/timeLte.js +6 -4
  445. package/validators/timeLte.js.map +1 -0
  446. package/validators/unique.d.ts +6 -0
  447. package/validators/unique.js +63 -0
  448. package/validators/unique.js.map +1 -0
  449. package/content/contextSetup.d.ts +0 -4
  450. package/content/contextSetup.js +0 -65
  451. package/content/graphQLHandlerFactory.d.ts +0 -5
  452. package/content/graphQLHandlerFactory.js +0 -173
  453. package/content/plugins/CmsGroupPlugin.d.ts +0 -11
  454. package/content/plugins/CmsModelPlugin.d.ts +0 -11
  455. package/content/plugins/CmsModelPlugin.js +0 -24
  456. package/content/plugins/buildSchemaPlugins.d.ts +0 -7
  457. package/content/plugins/buildSchemaPlugins.js +0 -29
  458. package/content/plugins/crud/contentEntry/afterDelete.d.ts +0 -7
  459. package/content/plugins/crud/contentEntry/beforeCreate.d.ts +0 -7
  460. package/content/plugins/crud/contentEntry/beforeUpdate.d.ts +0 -7
  461. package/content/plugins/crud/contentEntry/entryDataValidation.d.ts +0 -4
  462. package/content/plugins/crud/contentEntry.crud.js +0 -931
  463. package/content/plugins/crud/contentModel/afterCreate.d.ts +0 -7
  464. package/content/plugins/crud/contentModel/afterCreate.js +0 -18
  465. package/content/plugins/crud/contentModel/afterDelete.d.ts +0 -7
  466. package/content/plugins/crud/contentModel/afterDelete.js +0 -18
  467. package/content/plugins/crud/contentModel/afterUpdate.d.ts +0 -7
  468. package/content/plugins/crud/contentModel/afterUpdate.js +0 -18
  469. package/content/plugins/crud/contentModel/beforeCreate.d.ts +0 -9
  470. package/content/plugins/crud/contentModel/beforeDelete.d.ts +0 -9
  471. package/content/plugins/crud/contentModel/beforeUpdate.d.ts +0 -9
  472. package/content/plugins/crud/contentModel/beforeUpdate.js +0 -128
  473. package/content/plugins/crud/contentModel/contentModelManagerFactory.d.ts +0 -2
  474. package/content/plugins/crud/contentModel/createFieldModels.d.ts +0 -2
  475. package/content/plugins/crud/contentModel/idValidation.d.ts +0 -2
  476. package/content/plugins/crud/contentModel/validateLayout.d.ts +0 -2
  477. package/content/plugins/crud/contentModel.crud.js +0 -425
  478. package/content/plugins/crud/contentModelGroup/beforeCreate.d.ts +0 -9
  479. package/content/plugins/crud/contentModelGroup/beforeDelete.d.ts +0 -9
  480. package/content/plugins/crud/contentModelGroup/beforeUpdate.d.ts +0 -8
  481. package/content/plugins/crud/contentModelGroup.crud.js +0 -351
  482. package/content/plugins/crud/index.d.ts +0 -6
  483. package/content/plugins/crud/index.js +0 -100
  484. package/content/plugins/graphqlFields/boolean.d.ts +0 -3
  485. package/content/plugins/graphqlFields/boolean.js +0 -69
  486. package/content/plugins/graphqlFields/datetime.d.ts +0 -3
  487. package/content/plugins/graphqlFields/datetime.js +0 -83
  488. package/content/plugins/graphqlFields/file.d.ts +0 -3
  489. package/content/plugins/graphqlFields/file.js +0 -49
  490. package/content/plugins/graphqlFields/index.d.ts +0 -2
  491. package/content/plugins/graphqlFields/index.js +0 -30
  492. package/content/plugins/graphqlFields/longText.d.ts +0 -3
  493. package/content/plugins/graphqlFields/longText.js +0 -62
  494. package/content/plugins/graphqlFields/number.d.ts +0 -3
  495. package/content/plugins/graphqlFields/number.js +0 -75
  496. package/content/plugins/graphqlFields/object.d.ts +0 -3
  497. package/content/plugins/graphqlFields/object.js +0 -180
  498. package/content/plugins/graphqlFields/ref.d.ts +0 -3
  499. package/content/plugins/graphqlFields/ref.js +0 -205
  500. package/content/plugins/graphqlFields/richText.d.ts +0 -3
  501. package/content/plugins/graphqlFields/richText.js +0 -55
  502. package/content/plugins/graphqlFields/text.d.ts +0 -3
  503. package/content/plugins/graphqlFields/text.js +0 -72
  504. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +0 -8
  505. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +0 -54
  506. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +0 -7
  507. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +0 -35
  508. package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +0 -15
  509. package/content/plugins/modelManager/index.d.ts +0 -3
  510. package/content/plugins/schema/baseSchema.d.ts +0 -4
  511. package/content/plugins/schema/baseSchema.js +0 -98
  512. package/content/plugins/schema/contentEntries.d.ts +0 -4
  513. package/content/plugins/schema/contentEntries.js +0 -166
  514. package/content/plugins/schema/contentModelGroups.d.ts +0 -4
  515. package/content/plugins/schema/contentModels.d.ts +0 -4
  516. package/content/plugins/schema/createFieldResolvers.d.ts +0 -19
  517. package/content/plugins/schema/createFieldResolvers.js +0 -92
  518. package/content/plugins/schema/createManageResolvers.d.ts +0 -11
  519. package/content/plugins/schema/createManageSDL.d.ts +0 -9
  520. package/content/plugins/schema/createPreviewResolvers.d.ts +0 -10
  521. package/content/plugins/schema/createPreviewResolvers.js +0 -55
  522. package/content/plugins/schema/createReadResolvers.d.ts +0 -10
  523. package/content/plugins/schema/createReadResolvers.js +0 -55
  524. package/content/plugins/schema/createReadSDL.d.ts +0 -9
  525. package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  526. package/content/plugins/schema/resolvers/manage/resolveCreate.d.ts +0 -6
  527. package/content/plugins/schema/resolvers/manage/resolveCreateFrom.d.ts +0 -7
  528. package/content/plugins/schema/resolvers/manage/resolveDelete.d.ts +0 -2
  529. package/content/plugins/schema/resolvers/manage/resolveGet.d.ts +0 -2
  530. package/content/plugins/schema/resolvers/manage/resolveGetByIds.d.ts +0 -2
  531. package/content/plugins/schema/resolvers/manage/resolveGetRevisions.d.ts +0 -2
  532. package/content/plugins/schema/resolvers/manage/resolveList.d.ts +0 -2
  533. package/content/plugins/schema/resolvers/manage/resolvePublish.d.ts +0 -2
  534. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -6
  535. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js +0 -23
  536. package/content/plugins/schema/resolvers/manage/resolveRequestReview.d.ts +0 -6
  537. package/content/plugins/schema/resolvers/manage/resolveRequestReview.js +0 -23
  538. package/content/plugins/schema/resolvers/manage/resolveUnpublish.d.ts +0 -2
  539. package/content/plugins/schema/resolvers/manage/resolveUpdate.d.ts +0 -7
  540. package/content/plugins/schema/resolvers/preview/resolveGet.d.ts +0 -2
  541. package/content/plugins/schema/resolvers/preview/resolveGet.js +0 -38
  542. package/content/plugins/schema/resolvers/preview/resolveList.d.ts +0 -2
  543. package/content/plugins/schema/resolvers/read/resolveGet.d.ts +0 -2
  544. package/content/plugins/schema/resolvers/read/resolveGet.js +0 -38
  545. package/content/plugins/schema/resolvers/read/resolveList.d.ts +0 -2
  546. package/content/plugins/schema/schemaPlugins.d.ts +0 -3
  547. package/content/plugins/schema/schemaPlugins.js +0 -92
  548. package/content/plugins/storage/StorageTransformPlugin.d.ts +0 -30
  549. package/content/plugins/storage/default.d.ts +0 -3
  550. package/content/plugins/storage/default.js +0 -28
  551. package/content/plugins/storage/object.d.ts +0 -3
  552. package/content/plugins/storage/object.js +0 -119
  553. package/content/plugins/utils/getEntryTitle.d.ts +0 -2
  554. package/content/plugins/utils/getSchemaFromFieldPlugins.d.ts +0 -11
  555. package/content/plugins/utils/getSchemaFromFieldPlugins.js +0 -30
  556. package/content/plugins/utils/pluralizedTypeName.d.ts +0 -1
  557. package/content/plugins/utils/renderFields.d.ts +0 -16
  558. package/content/plugins/utils/renderGetFilterFields.d.ts +0 -9
  559. package/content/plugins/utils/renderGetFilterFields.js +0 -41
  560. package/content/plugins/utils/renderInputFields.d.ts +0 -14
  561. package/content/plugins/utils/renderListFilterFields.d.ts +0 -10
  562. package/content/plugins/utils/renderSortEnum.d.ts +0 -9
  563. package/content/plugins/utils/renderSortEnum.js +0 -32
  564. package/content/plugins/validators/dateGte.d.ts +0 -3
  565. package/content/plugins/validators/dateLte.d.ts +0 -3
  566. package/content/plugins/validators/gte.d.ts +0 -3
  567. package/content/plugins/validators/gte.js +0 -32
  568. package/content/plugins/validators/in.d.ts +0 -3
  569. package/content/plugins/validators/in.js +0 -32
  570. package/content/plugins/validators/index.d.ts +0 -2
  571. package/content/plugins/validators/index.js +0 -36
  572. package/content/plugins/validators/lte.d.ts +0 -3
  573. package/content/plugins/validators/lte.js +0 -32
  574. package/content/plugins/validators/maxLength.d.ts +0 -3
  575. package/content/plugins/validators/maxLength.js +0 -32
  576. package/content/plugins/validators/minLength.d.ts +0 -3
  577. package/content/plugins/validators/minLength.js +0 -32
  578. package/content/plugins/validators/pattern.d.ts +0 -3
  579. package/content/plugins/validators/pattern.js +0 -47
  580. package/content/plugins/validators/patternPlugins/email.d.ts +0 -3
  581. package/content/plugins/validators/patternPlugins/email.js +0 -17
  582. package/content/plugins/validators/patternPlugins/index.d.ts +0 -2
  583. package/content/plugins/validators/patternPlugins/index.js +0 -19
  584. package/content/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
  585. package/content/plugins/validators/patternPlugins/lowerCase.js +0 -17
  586. package/content/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
  587. package/content/plugins/validators/patternPlugins/upperCase.js +0 -17
  588. package/content/plugins/validators/patternPlugins/url.d.ts +0 -3
  589. package/content/plugins/validators/patternPlugins/url.js +0 -17
  590. package/content/plugins/validators/required.d.ts +0 -3
  591. package/content/plugins/validators/required.js +0 -25
  592. package/content/plugins/validators/timeGte.d.ts +0 -3
  593. package/content/plugins/validators/timeLte.d.ts +0 -3
  594. package/migrateCMSPermissions.d.ts +0 -17
  595. package/migrateCMSPermissions.js +0 -193
  596. package/plugins/context.d.ts +0 -4
  597. package/plugins/context.js +0 -34
  598. package/plugins/crud/index.d.ts +0 -6
  599. package/plugins/crud/index.js +0 -100
  600. package/plugins/crud/settings.crud.js +0 -93
  601. package/plugins/crud/system.crud.js +0 -182
  602. package/plugins/graphql/system.d.ts +0 -17
  603. package/plugins/graphql.d.ts +0 -2
  604. package/plugins/graphql.js +0 -79
  605. package/plugins/upgrades/index.d.ts +0 -2
  606. package/plugins/upgrades/index.js +0 -14
  607. package/plugins/upgrades/v5.5.0/helpers.d.ts +0 -6
  608. package/plugins/upgrades/v5.5.0/helpers.js +0 -10
  609. package/plugins/upgrades/v5.5.0/index.d.ts +0 -4
  610. package/plugins/upgrades/v5.5.0/index.js +0 -129
  611. package/transformers.d.ts +0 -2
  612. package/transformers.js +0 -25
  613. package/utils.d.ts +0 -25
  614. package/utils.js +0 -251
@@ -0,0 +1,366 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.createModelGroupsCrud = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+
12
+ var _mdbid = _interopRequireDefault(require("mdbid"));
13
+
14
+ var _handlerGraphql = require("@webiny/handler-graphql");
15
+
16
+ var _error = _interopRequireDefault(require("@webiny/error"));
17
+
18
+ var _CmsGroupPlugin = require("../plugins/CmsGroupPlugin");
19
+
20
+ var _pubsub = require("@webiny/pubsub");
21
+
22
+ var _beforeUpdate = require("./contentModelGroup/beforeUpdate");
23
+
24
+ var _beforeCreate = require("./contentModelGroup/beforeCreate");
25
+
26
+ var _beforeDelete = require("./contentModelGroup/beforeDelete");
27
+
28
+ var _dataloader = _interopRequireDefault(require("dataloader"));
29
+
30
+ var _permissions = require("../utils/permissions");
31
+
32
+ var _ownership = require("../utils/ownership");
33
+
34
+ var _access = require("../utils/access");
35
+
36
+ var _validation = require("./contentModelGroup/validation");
37
+
38
+ var _utils = require("@webiny/utils");
39
+
40
+ /**
41
+ * Package mdbid does not have types.
42
+ */
43
+ // @ts-ignore
44
+ const createModelGroupsCrud = params => {
45
+ const {
46
+ getTenant,
47
+ getIdentity,
48
+ getLocale,
49
+ storageOperations,
50
+ context
51
+ } = params;
52
+ const dataLoaders = {
53
+ listGroups: new _dataloader.default(async () => {
54
+ const tenant = getTenant().id;
55
+ const locale = getLocale().code;
56
+ const pluginsGroups = getGroupsAsPlugins().map(group => {
57
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, group), {}, {
58
+ tenant: group.tenant || tenant,
59
+ locale: group.locale || locale
60
+ });
61
+ });
62
+ const groups = await storageOperations.groups.list({
63
+ where: {
64
+ tenant: getTenant().id,
65
+ locale: getLocale().code
66
+ }
67
+ });
68
+ return [groups.concat(pluginsGroups)];
69
+ })
70
+ };
71
+
72
+ const clearGroupsCache = () => {
73
+ for (const loader of Object.values(dataLoaders)) {
74
+ loader.clearAll();
75
+ }
76
+ };
77
+
78
+ const getGroupsAsPlugins = () => {
79
+ const tenant = getTenant().id;
80
+ const locale = getLocale().code;
81
+ return context.plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type)
82
+ /**
83
+ * We need to filter out groups that are not for this tenant or locale.
84
+ * If it does not have tenant or locale define, it is for every locale and tenant
85
+ */
86
+ .filter(plugin => {
87
+ const {
88
+ tenant: t,
89
+ locale: l
90
+ } = plugin.contentModelGroup;
91
+
92
+ if (t && t !== tenant) {
93
+ return false;
94
+ } else if (l && l !== locale) {
95
+ return false;
96
+ }
97
+
98
+ return true;
99
+ }).map(plugin => {
100
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, plugin.contentModelGroup), {}, {
101
+ tenant,
102
+ locale,
103
+ webinyVersion: context.WEBINY_VERSION
104
+ });
105
+ });
106
+ };
107
+
108
+ const checkPermissions = check => {
109
+ return (0, _permissions.checkPermissions)(context, "cms.contentModelGroup", {
110
+ rwd: check
111
+ });
112
+ };
113
+
114
+ const groupsGet = async id => {
115
+ const groups = await dataLoaders.listGroups.load("listGroups");
116
+ const group = groups.find(g => g.id === id);
117
+
118
+ if (!group) {
119
+ throw new _handlerGraphql.NotFoundError(`Cms Group "${id}" was not found!`);
120
+ }
121
+
122
+ return group;
123
+ };
124
+
125
+ const groupsList = async params => {
126
+ const {
127
+ where
128
+ } = params || {};
129
+
130
+ try {
131
+ return await dataLoaders.listGroups.load("listGroups");
132
+ } catch (ex) {
133
+ throw new _error.default(ex.message, ex.code || "LIST_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
134
+ where
135
+ }));
136
+ }
137
+ };
138
+ /**
139
+ * Create
140
+ */
141
+
142
+
143
+ const onGroupBeforeCreate = (0, _pubsub.createTopic)("cms.onGroupBeforeCreate");
144
+ const onGroupAfterCreate = (0, _pubsub.createTopic)("cms.onGroupAfterCreate");
145
+ const onGroupCreateError = (0, _pubsub.createTopic)("cms.onGroupCreateError");
146
+ /**
147
+ * Update
148
+ */
149
+
150
+ const onGroupBeforeUpdate = (0, _pubsub.createTopic)("cms.onGroupBeforeUpdate");
151
+ const onGroupAfterUpdate = (0, _pubsub.createTopic)("cms.onGroupAfterUpdate");
152
+ const onGroupUpdateError = (0, _pubsub.createTopic)("cms.onGroupUpdateError");
153
+ /**
154
+ * Delete
155
+ */
156
+
157
+ const onGroupBeforeDelete = (0, _pubsub.createTopic)("cms.onGroupBeforeDelete");
158
+ const onGroupAfterDelete = (0, _pubsub.createTopic)("cms.onGroupAfterDelete");
159
+ const onGroupDeleteError = (0, _pubsub.createTopic)("cms.onGroupDeleteError");
160
+ /**
161
+ * We need to assign some default behaviors.
162
+ */
163
+
164
+ (0, _beforeCreate.assignBeforeGroupCreate)({
165
+ onGroupBeforeCreate,
166
+ plugins: context.plugins,
167
+ storageOperations
168
+ });
169
+ (0, _beforeUpdate.assignBeforeGroupUpdate)({
170
+ onGroupBeforeUpdate,
171
+ plugins: context.plugins
172
+ });
173
+ (0, _beforeDelete.assignBeforeGroupDelete)({
174
+ onGroupBeforeDelete,
175
+ plugins: context.plugins,
176
+ storageOperations
177
+ });
178
+ return {
179
+ /**
180
+ * Deprecated - will be removed in 5.36.0
181
+ */
182
+ onBeforeGroupCreate: onGroupBeforeCreate,
183
+ onAfterGroupCreate: onGroupAfterCreate,
184
+ onBeforeGroupUpdate: onGroupBeforeUpdate,
185
+ onAfterGroupUpdate: onGroupAfterUpdate,
186
+ onBeforeGroupDelete: onGroupBeforeDelete,
187
+ onAfterGroupDelete: onGroupAfterDelete,
188
+
189
+ /**
190
+ * Released in 5.34.0
191
+ */
192
+ onGroupBeforeCreate,
193
+ onGroupAfterCreate,
194
+ onGroupCreateError,
195
+ onGroupBeforeUpdate,
196
+ onGroupAfterUpdate,
197
+ onGroupUpdateError,
198
+ onGroupBeforeDelete,
199
+ onGroupAfterDelete,
200
+ onGroupDeleteError,
201
+ clearGroupsCache,
202
+ getGroup: async id => {
203
+ const permission = await checkPermissions("r");
204
+ const group = await groupsGet(id);
205
+ (0, _ownership.checkOwnership)(context, permission, group);
206
+ (0, _access.validateGroupAccess)(context, permission, group);
207
+ return group;
208
+ },
209
+ listGroups: async params => {
210
+ const {
211
+ where
212
+ } = params || {};
213
+ const {
214
+ tenant,
215
+ locale
216
+ } = where || {};
217
+ const permission = await checkPermissions("r");
218
+ const response = await groupsList((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params || {}), {}, {
219
+ where: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, where || {}), {}, {
220
+ tenant: tenant || getTenant().id,
221
+ locale: locale || getLocale().code
222
+ })
223
+ }));
224
+ return response.filter(group => {
225
+ if (!(0, _ownership.validateOwnership)(context, permission, group)) {
226
+ return false;
227
+ }
228
+
229
+ return (0, _access.validateGroupAccess)(context, permission, group);
230
+ });
231
+ },
232
+ createGroup: async input => {
233
+ await checkPermissions("w");
234
+ const result = await (0, _validation.createGroupCreateValidation)().safeParseAsync(input);
235
+
236
+ if (!result.success) {
237
+ throw (0, _utils.createZodError)(result.error);
238
+ }
239
+
240
+ const data = result.data;
241
+ const identity = getIdentity();
242
+ const id = (0, _mdbid.default)();
243
+ const group = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
244
+ id,
245
+ tenant: getTenant().id,
246
+ locale: getLocale().code,
247
+ createdOn: new Date().toISOString(),
248
+ savedOn: new Date().toISOString(),
249
+ createdBy: {
250
+ id: identity.id,
251
+ displayName: identity.displayName,
252
+ type: identity.type
253
+ },
254
+ webinyVersion: context.WEBINY_VERSION
255
+ });
256
+
257
+ try {
258
+ await onGroupBeforeCreate.publish({
259
+ group
260
+ });
261
+ const result = await storageOperations.groups.create({
262
+ group
263
+ });
264
+ clearGroupsCache();
265
+ await onGroupAfterCreate.publish({
266
+ group: result
267
+ });
268
+ return group;
269
+ } catch (ex) {
270
+ await onGroupCreateError.publish({
271
+ input,
272
+ group,
273
+ error: ex
274
+ });
275
+ 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 || {}), {}, {
276
+ group,
277
+ input
278
+ }));
279
+ }
280
+ },
281
+ updateGroup: async (id, input) => {
282
+ const permission = await checkPermissions("w");
283
+ const original = await groupsGet(id);
284
+ (0, _ownership.checkOwnership)(context, permission, original);
285
+ const result = await (0, _validation.createGroupUpdateValidation)().safeParseAsync(input);
286
+
287
+ if (!result.success) {
288
+ throw (0, _utils.createZodError)(result.error);
289
+ }
290
+
291
+ const data = result.data;
292
+ /**
293
+ * No need to continue if no values were changed
294
+ */
295
+
296
+ if (Object.keys(data).length === 0) {
297
+ return original;
298
+ }
299
+
300
+ const group = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data), {}, {
301
+ locale: getLocale().code,
302
+ tenant: getTenant().id,
303
+ savedOn: new Date().toISOString()
304
+ });
305
+
306
+ try {
307
+ await onGroupBeforeUpdate.publish({
308
+ original,
309
+ group
310
+ });
311
+ const updatedGroup = await storageOperations.groups.update({
312
+ group
313
+ });
314
+ clearGroupsCache();
315
+ await onGroupAfterUpdate.publish({
316
+ original,
317
+ group: updatedGroup
318
+ });
319
+ return updatedGroup;
320
+ } catch (ex) {
321
+ await onGroupUpdateError.publish({
322
+ input,
323
+ original,
324
+ group,
325
+ error: ex
326
+ });
327
+ throw new _error.default(ex.message, ex.code || "UPDATE_ERROR", {
328
+ error: ex,
329
+ original,
330
+ group,
331
+ input
332
+ });
333
+ }
334
+ },
335
+ deleteGroup: async id => {
336
+ const permission = await checkPermissions("d");
337
+ const group = await groupsGet(id);
338
+ (0, _ownership.checkOwnership)(context, permission, group);
339
+
340
+ try {
341
+ await onGroupBeforeDelete.publish({
342
+ group
343
+ });
344
+ await storageOperations.groups.delete({
345
+ group
346
+ });
347
+ clearGroupsCache();
348
+ await onGroupAfterDelete.publish({
349
+ group
350
+ });
351
+ } catch (ex) {
352
+ await onGroupDeleteError.publish({
353
+ group,
354
+ error: ex
355
+ });
356
+ throw new _error.default(ex.message, ex.code || "DELETE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
357
+ id
358
+ }));
359
+ }
360
+
361
+ return true;
362
+ }
363
+ };
364
+ };
365
+
366
+ 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","groupsGet","load","find","g","NotFoundError","groupsList","ex","WebinyError","message","data","onGroupBeforeCreate","createTopic","onGroupAfterCreate","onGroupCreateError","onGroupBeforeUpdate","onGroupAfterUpdate","onGroupUpdateError","onGroupBeforeDelete","onGroupAfterDelete","onGroupDeleteError","assignBeforeGroupCreate","assignBeforeGroupUpdate","assignBeforeGroupDelete","onBeforeGroupCreate","onAfterGroupCreate","onBeforeGroupUpdate","onAfterGroupUpdate","onBeforeGroupDelete","onAfterGroupDelete","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"],"sources":["contentModelGroup.crud.ts"],"sourcesContent":["/**\n * Package mdbid does not have types.\n */\n// @ts-ignore\nimport mdbid from \"mdbid\";\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 WebinyError from \"@webiny/error\";\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 DataLoader from \"dataloader\";\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}\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 groupsGet = 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 groupsList = 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 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 const permission = await checkPermissions(\"r\");\n\n const group = await groupsGet(id);\n checkOwnership(context, permission, group);\n validateGroupAccess(context, permission, group);\n\n return group;\n },\n listGroups: async params => {\n const { where } = params || {};\n\n const { tenant, locale } = where || {};\n const permission = await checkPermissions(\"r\");\n\n const response = await groupsList({\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 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 updateGroup: async (id, input) => {\n const permission = await checkPermissions(\"w\");\n\n const original = await groupsGet(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 deleteGroup: async id => {\n const permission = await checkPermissions(\"d\");\n\n const group = await groupsGet(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};\n"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { CmsContext, HeadlessCmsStorageOperations, CmsSettingsContext } from "../../types";
1
+ import { CmsContext, HeadlessCmsStorageOperations, CmsSettingsContext } 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,83 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.createSettingsCrud = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+
12
+ var _permissions = require("../utils/permissions");
13
+
14
+ const createSettingsCrud = params => {
15
+ const {
16
+ storageOperations,
17
+ context,
18
+ getTenant,
19
+ getLocale
20
+ } = params;
21
+
22
+ const checkPermissions = () => {
23
+ return (0, _permissions.checkPermissions)(context, "cms.settings");
24
+ };
25
+
26
+ return {
27
+ getSettings: async () => {
28
+ await checkPermissions();
29
+ return await storageOperations.settings.get({
30
+ tenant: getTenant().id,
31
+ locale: getLocale().code
32
+ });
33
+ },
34
+ updateModelLastChange: async () => {
35
+ const original = await storageOperations.settings.get({
36
+ tenant: getTenant().id,
37
+ locale: getLocale().code
38
+ });
39
+ const settings = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original || {}), {}, {
40
+ contentModelLastChange: new Date(),
41
+ tenant: getTenant().id,
42
+ locale: getLocale().code
43
+ });
44
+
45
+ if (!original) {
46
+ await storageOperations.settings.create({
47
+ settings
48
+ });
49
+ return;
50
+ }
51
+
52
+ await storageOperations.settings.update({
53
+ settings
54
+ });
55
+ },
56
+ getModelLastChange: async () => {
57
+ try {
58
+ const settings = await storageOperations.settings.get({
59
+ tenant: getTenant().id,
60
+ locale: getLocale().code
61
+ });
62
+
63
+ if (!(settings !== null && settings !== void 0 && settings.contentModelLastChange)) {
64
+ return new Date();
65
+ }
66
+
67
+ return settings.contentModelLastChange;
68
+ } catch (ex) {
69
+ console.log({
70
+ error: {
71
+ message: ex.message,
72
+ code: ex.code || "COULD_NOT_FETCH_CONTENT_MODEL_LAST_CHANGE",
73
+ data: ex
74
+ }
75
+ });
76
+ }
77
+
78
+ return new Date();
79
+ }
80
+ };
81
+ };
82
+
83
+ 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","error","message","data"],"sources":["settings.crud.ts"],"sourcesContent":["import {\n CmsContext,\n CmsSettingsPermission,\n CmsSettings,\n HeadlessCmsStorageOperations,\n CmsSettingsContext\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 (): Promise<CmsSettings | null> => {\n await checkPermissions();\n return await storageOperations.settings.get({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n },\n updateModelLastChange: async (): Promise<void> => {\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 (): Promise<Date> => {\n try {\n const settings = await storageOperations.settings.get({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n if (!settings?.contentModelLastChange) {\n return new Date();\n }\n return settings.contentModelLastChange;\n } catch (ex) {\n console.log({\n error: {\n message: ex.message,\n code: ex.code || \"COULD_NOT_FETCH_CONTENT_MODEL_LAST_CHANGE\",\n data: ex\n }\n });\n }\n return new Date();\n }\n };\n};\n"],"mappings":";;;;;;;;;;;AASA;;AAQO,MAAMA,kBAAkB,GAAIC,MAAD,IAA0D;EACxF,MAAM;IAAEC,iBAAF;IAAqBC,OAArB;IAA8BC,SAA9B;IAAyCC;EAAzC,IAAuDJ,MAA7D;;EAEA,MAAMK,gBAAgB,GAAG,MAAsC;IAC3D,OAAO,IAAAC,6BAAA,EAAqBJ,OAArB,EAA8B,cAA9B,CAAP;EACH,CAFD;;EAIA,OAAO;IACHK,WAAW,EAAE,YAAyC;MAClD,MAAMF,gBAAgB,EAAtB;MACA,OAAO,MAAMJ,iBAAiB,CAACO,QAAlB,CAA2BC,GAA3B,CAA+B;QACxCC,MAAM,EAAEP,SAAS,GAAGQ,EADoB;QAExCC,MAAM,EAAER,SAAS,GAAGS;MAFoB,CAA/B,CAAb;IAIH,CAPE;IAQHC,qBAAqB,EAAE,YAA2B;MAC9C,MAAMC,QAAQ,GAAG,MAAMd,iBAAiB,CAACO,QAAlB,CAA2BC,GAA3B,CAA+B;QAClDC,MAAM,EAAEP,SAAS,GAAGQ,EAD8B;QAElDC,MAAM,EAAER,SAAS,GAAGS;MAF8B,CAA/B,CAAvB;MAKA,MAAML,QAAqB,+DACnBO,QAAQ,IAAI,EADO;QAEvBC,sBAAsB,EAAE,IAAIC,IAAJ,EAFD;QAGvBP,MAAM,EAAEP,SAAS,GAAGQ,EAHG;QAIvBC,MAAM,EAAER,SAAS,GAAGS;MAJG,EAA3B;;MAOA,IAAI,CAACE,QAAL,EAAe;QACX,MAAMd,iBAAiB,CAACO,QAAlB,CAA2BU,MAA3B,CAAkC;UAAEV;QAAF,CAAlC,CAAN;QACA;MACH;;MAED,MAAMP,iBAAiB,CAACO,QAAlB,CAA2BW,MAA3B,CAAkC;QACpCX;MADoC,CAAlC,CAAN;IAGH,CA7BE;IA8BHY,kBAAkB,EAAE,YAA2B;MAC3C,IAAI;QACA,MAAMZ,QAAQ,GAAG,MAAMP,iBAAiB,CAACO,QAAlB,CAA2BC,GAA3B,CAA+B;UAClDC,MAAM,EAAEP,SAAS,GAAGQ,EAD8B;UAElDC,MAAM,EAAER,SAAS,GAAGS;QAF8B,CAA/B,CAAvB;;QAIA,IAAI,EAACL,QAAD,aAACA,QAAD,eAACA,QAAQ,CAAEQ,sBAAX,CAAJ,EAAuC;UACnC,OAAO,IAAIC,IAAJ,EAAP;QACH;;QACD,OAAOT,QAAQ,CAACQ,sBAAhB;MACH,CATD,CASE,OAAOK,EAAP,EAAW;QACTC,OAAO,CAACC,GAAR,CAAY;UACRC,KAAK,EAAE;YACHC,OAAO,EAAEJ,EAAE,CAACI,OADT;YAEHZ,IAAI,EAAEQ,EAAE,CAACR,IAAH,IAAW,2CAFd;YAGHa,IAAI,EAAEL;UAHH;QADC,CAAZ;MAOH;;MACD,OAAO,IAAIJ,IAAJ,EAAP;IACH;EAlDE,CAAP;AAoDH,CA3DM"}
@@ -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 {};