@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,642 @@
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.createModelsCrud = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+
12
+ var _dataloader = _interopRequireDefault(require("dataloader"));
13
+
14
+ var _error = _interopRequireDefault(require("@webiny/error"));
15
+
16
+ var _handlerGraphql = require("@webiny/handler-graphql");
17
+
18
+ var _contentModelManagerFactory = require("./contentModel/contentModelManagerFactory");
19
+
20
+ var _pubsub = require("@webiny/pubsub");
21
+
22
+ var _beforeCreate = require("./contentModel/beforeCreate");
23
+
24
+ var _beforeUpdate = require("./contentModel/beforeUpdate");
25
+
26
+ var _beforeDelete = require("./contentModel/beforeDelete");
27
+
28
+ var _afterCreate = require("./contentModel/afterCreate");
29
+
30
+ var _afterUpdate = require("./contentModel/afterUpdate");
31
+
32
+ var _afterDelete = require("./contentModel/afterDelete");
33
+
34
+ var _afterCreateFrom = require("./contentModel/afterCreateFrom");
35
+
36
+ var _CmsModelPlugin = require("../plugins/CmsModelPlugin");
37
+
38
+ var _permissions = require("../utils/permissions");
39
+
40
+ var _filterAsync = require("../utils/filterAsync");
41
+
42
+ var _ownership = require("../utils/ownership");
43
+
44
+ var _access = require("../utils/access");
45
+
46
+ var _validation = require("./contentModel/validation");
47
+
48
+ var _utils = require("@webiny/utils");
49
+
50
+ /**
51
+ * Given a model, return an array of tags ensuring the `type` tag is set.
52
+ */
53
+ const ensureTypeTag = model => {
54
+ // Let's make sure we have a `type` tag assigned.
55
+ // If `type` tag is not set, set it to a default one (`model`).
56
+ const tags = model.tags || [];
57
+
58
+ if (!tags.some(tag => tag.startsWith("type:"))) {
59
+ tags.push("type:model");
60
+ }
61
+
62
+ return tags;
63
+ };
64
+
65
+ const createModelsCrud = params => {
66
+ const {
67
+ getTenant,
68
+ getIdentity,
69
+ getLocale,
70
+ storageOperations,
71
+ context
72
+ } = params;
73
+ const loaders = {
74
+ listModels: new _dataloader.default(async () => {
75
+ const models = await storageOperations.models.list({
76
+ where: {
77
+ tenant: getTenant().id,
78
+ locale: getLocale().code
79
+ }
80
+ });
81
+ return [models.map(model => {
82
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, model), {}, {
83
+ tags: ensureTypeTag(model),
84
+ tenant: model.tenant || getTenant().id,
85
+ locale: model.locale || getLocale().code
86
+ });
87
+ })];
88
+ })
89
+ };
90
+
91
+ const clearModelsCache = () => {
92
+ for (const loader of Object.values(loaders)) {
93
+ loader.clearAll();
94
+ }
95
+ };
96
+
97
+ const managers = new Map();
98
+
99
+ const updateManager = async (context, model) => {
100
+ const manager = await (0, _contentModelManagerFactory.contentModelManagerFactory)(context, model);
101
+ managers.set(model.modelId, manager);
102
+ return manager;
103
+ };
104
+
105
+ const checkModelPermissions = check => {
106
+ return (0, _permissions.checkPermissions)(context, "cms.contentModel", {
107
+ rwd: check
108
+ });
109
+ };
110
+
111
+ const getModelsAsPlugins = () => {
112
+ const tenant = getTenant().id;
113
+ const locale = getLocale().code;
114
+ return context.plugins.byType(_CmsModelPlugin.CmsModelPlugin.type)
115
+ /**
116
+ * We need to filter out models that are not for this tenant or locale.
117
+ * If it does not have tenant or locale define, it is for every locale and tenant
118
+ */
119
+ .filter(plugin => {
120
+ const {
121
+ tenant: modelTenant,
122
+ locale: modelLocale
123
+ } = plugin.contentModel;
124
+
125
+ if (modelTenant && modelTenant !== tenant) {
126
+ return false;
127
+ } else if (modelLocale && modelLocale !== locale) {
128
+ return false;
129
+ }
130
+
131
+ return true;
132
+ }).map(plugin => {
133
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, plugin.contentModel), {}, {
134
+ tags: ensureTypeTag(plugin.contentModel),
135
+ tenant,
136
+ locale,
137
+ webinyVersion: context.WEBINY_VERSION
138
+ });
139
+ });
140
+ };
141
+
142
+ const modelsGet = async modelId => {
143
+ const pluginModel = getModelsAsPlugins().find(model => model.modelId === modelId);
144
+
145
+ if (pluginModel) {
146
+ return pluginModel;
147
+ }
148
+
149
+ const model = await storageOperations.models.get({
150
+ tenant: getTenant().id,
151
+ locale: getLocale().code,
152
+ modelId
153
+ });
154
+
155
+ if (!model) {
156
+ throw new _handlerGraphql.NotFoundError(`Content model "${modelId}" was not found!`);
157
+ }
158
+
159
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, model), {}, {
160
+ tags: ensureTypeTag(model),
161
+ tenant: model.tenant || getTenant().id,
162
+ locale: model.locale || getLocale().code
163
+ });
164
+ };
165
+
166
+ const modelsList = async () => {
167
+ const databaseModels = await loaders.listModels.load("listModels");
168
+ const pluginsModels = getModelsAsPlugins();
169
+ return databaseModels.concat(pluginsModels);
170
+ };
171
+
172
+ const listModels = async () => {
173
+ const permission = await checkModelPermissions("r");
174
+ const models = await modelsList();
175
+ return (0, _filterAsync.filterAsync)(models, async model => {
176
+ if (!(0, _ownership.validateOwnership)(context, permission, model)) {
177
+ return false;
178
+ }
179
+
180
+ return (0, _access.validateModelAccess)(context, model);
181
+ });
182
+ };
183
+
184
+ const getModel = async modelId => {
185
+ const permission = await checkModelPermissions("r");
186
+ const model = await modelsGet(modelId);
187
+ (0, _ownership.checkOwnership)(context, permission, model);
188
+ await (0, _access.checkModelAccess)(context, model);
189
+ return model;
190
+ };
191
+
192
+ const getModelManager = async target => {
193
+ const modelId = typeof target === "string" ? target : target.modelId;
194
+
195
+ if (managers.has(modelId)) {
196
+ return managers.get(modelId);
197
+ }
198
+
199
+ const models = await modelsList();
200
+ const model = models.find(m => m.modelId === modelId);
201
+
202
+ if (!model) {
203
+ throw new _handlerGraphql.NotFoundError(`There is no content model "${modelId}".`);
204
+ }
205
+
206
+ return await updateManager(context, model);
207
+ };
208
+ /**
209
+ * Create
210
+ */
211
+
212
+
213
+ const onModelBeforeCreate = (0, _pubsub.createTopic)("cms.onModelBeforeCreate");
214
+ const onModelAfterCreate = (0, _pubsub.createTopic)("cms.onModelAfterCreate");
215
+ const onModelCreateError = (0, _pubsub.createTopic)("cms.onModelCreateError");
216
+ /**
217
+ * Create from / clone
218
+ */
219
+
220
+ const onModelBeforeCreateFrom = (0, _pubsub.createTopic)("cms.onModelBeforeCreateFrom");
221
+ const onModelAfterCreateFrom = (0, _pubsub.createTopic)("cms.onModelAfterCreateFrom");
222
+ const onModelCreateFromError = (0, _pubsub.createTopic)("cms.onModelCreateFromError");
223
+ /**
224
+ * Update
225
+ */
226
+
227
+ const onModelBeforeUpdate = (0, _pubsub.createTopic)("cms.onModelBeforeUpdate");
228
+ const onModelAfterUpdate = (0, _pubsub.createTopic)("cms.onModelAfterUpdate");
229
+ const onModelUpdateError = (0, _pubsub.createTopic)("cms.onModelUpdateError");
230
+ /**
231
+ * Delete
232
+ */
233
+
234
+ const onModelBeforeDelete = (0, _pubsub.createTopic)("cms.onModelBeforeDelete");
235
+ const onModelAfterDelete = (0, _pubsub.createTopic)("cms.onModelAfterDelete");
236
+ const onModelDeleteError = (0, _pubsub.createTopic)("cms.onModelDeleteError");
237
+ /**
238
+ * Initialize
239
+ */
240
+
241
+ const onModelInitialize = (0, _pubsub.createTopic)("cms.onModelInitialize");
242
+ /**
243
+ * We need to assign some default behaviors.
244
+ */
245
+
246
+ (0, _beforeCreate.assignModelBeforeCreate)({
247
+ onModelBeforeCreate,
248
+ onModelBeforeCreateFrom,
249
+ context,
250
+ storageOperations
251
+ });
252
+ (0, _afterCreate.assignModelAfterCreate)({
253
+ context,
254
+ onModelAfterCreate
255
+ });
256
+ (0, _beforeUpdate.assignModelBeforeUpdate)({
257
+ onModelBeforeUpdate,
258
+ context
259
+ });
260
+ (0, _afterUpdate.assignModelAfterUpdate)({
261
+ context,
262
+ onModelAfterUpdate
263
+ });
264
+ (0, _afterCreateFrom.assignModelAfterCreateFrom)({
265
+ context,
266
+ onModelAfterCreateFrom
267
+ });
268
+ (0, _beforeDelete.assignModelBeforeDelete)({
269
+ onModelBeforeDelete,
270
+ plugins: context.plugins,
271
+ storageOperations
272
+ });
273
+ (0, _afterDelete.assignModelAfterDelete)({
274
+ context,
275
+ onModelAfterDelete
276
+ });
277
+ return {
278
+ /**
279
+ * Deprecated - will be removed in 5.36.0
280
+ */
281
+ onBeforeModelCreate: onModelBeforeCreate,
282
+ onAfterModelCreate: onModelAfterCreate,
283
+ onBeforeModelCreateFrom: onModelBeforeCreateFrom,
284
+ onAfterModelCreateFrom: onModelAfterCreateFrom,
285
+ onBeforeModelUpdate: onModelBeforeUpdate,
286
+ onAfterModelUpdate: onModelAfterUpdate,
287
+ onBeforeModelDelete: onModelBeforeDelete,
288
+ onAfterModelDelete: onModelAfterDelete,
289
+
290
+ /**
291
+ * Released in 5.34.0
292
+ */
293
+ onModelBeforeCreate,
294
+ onModelAfterCreate,
295
+ onModelCreateError,
296
+ onModelBeforeCreateFrom,
297
+ onModelAfterCreateFrom,
298
+ onModelCreateFromError,
299
+ onModelBeforeUpdate,
300
+ onModelAfterUpdate,
301
+ onModelUpdateError,
302
+ onModelBeforeDelete,
303
+ onModelAfterDelete,
304
+ onModelDeleteError,
305
+ onModelInitialize,
306
+ clearModelsCache,
307
+ getModel,
308
+ listModels,
309
+
310
+ async createModel(input) {
311
+ await checkModelPermissions("w");
312
+ const result = await (0, _validation.createModelCreateValidation)().safeParseAsync(input);
313
+
314
+ if (!result.success) {
315
+ throw (0, _utils.createZodError)(result.error);
316
+ }
317
+
318
+ const data = result.data;
319
+ context.security.disableAuthorization();
320
+ const group = await context.cms.getGroup(data.group);
321
+ context.security.enableAuthorization();
322
+
323
+ if (!group) {
324
+ throw new _handlerGraphql.NotFoundError(`There is no group "${data.group}".`);
325
+ }
326
+
327
+ const identity = getIdentity();
328
+ const model = {
329
+ name: data.name,
330
+ description: data.description || "",
331
+ modelId: data.modelId || "",
332
+ titleFieldId: "id",
333
+ locale: getLocale().code,
334
+ tenant: getTenant().id,
335
+ group: {
336
+ id: group.id,
337
+ name: group.name
338
+ },
339
+ createdBy: {
340
+ id: identity.id,
341
+ displayName: identity.displayName,
342
+ type: identity.type
343
+ },
344
+ createdOn: new Date().toISOString(),
345
+ savedOn: new Date().toISOString(),
346
+ fields: data.fields,
347
+ lockedFields: [],
348
+ layout: data.layout || [],
349
+ tags: [...(data.tags || [])],
350
+ webinyVersion: context.WEBINY_VERSION
351
+ };
352
+ model.tags = ensureTypeTag(model);
353
+
354
+ try {
355
+ await onModelBeforeCreate.publish({
356
+ input: data,
357
+ model
358
+ });
359
+ const createdModel = await storageOperations.models.create({
360
+ model
361
+ });
362
+ loaders.listModels.clearAll();
363
+ await updateManager(context, model);
364
+ await onModelAfterCreate.publish({
365
+ input: data,
366
+ model: createdModel
367
+ });
368
+ return createdModel;
369
+ } catch (ex) {
370
+ await onModelCreateError.publish({
371
+ input: data,
372
+ model,
373
+ error: ex
374
+ });
375
+ throw ex;
376
+ }
377
+ },
378
+
379
+ /**
380
+ * Method does not check for permissions or ownership.
381
+ * @internal
382
+ */
383
+ async updateModelDirect(params) {
384
+ const {
385
+ model: initialModel,
386
+ original
387
+ } = params;
388
+ const model = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, initialModel), {}, {
389
+ tenant: initialModel.tenant || getTenant().id,
390
+ locale: initialModel.locale || getLocale().code,
391
+ webinyVersion: context.WEBINY_VERSION
392
+ });
393
+
394
+ try {
395
+ await onModelBeforeUpdate.publish({
396
+ input: {},
397
+ original,
398
+ model
399
+ });
400
+ const resultModel = await storageOperations.models.update({
401
+ model
402
+ });
403
+ await updateManager(context, resultModel);
404
+ loaders.listModels.clearAll();
405
+ await onModelAfterUpdate.publish({
406
+ input: {},
407
+ original,
408
+ model: resultModel
409
+ });
410
+ return resultModel;
411
+ } catch (ex) {
412
+ await onModelUpdateError.publish({
413
+ input: {},
414
+ original,
415
+ model,
416
+ error: ex
417
+ });
418
+ throw ex;
419
+ }
420
+ },
421
+
422
+ async createModelFrom(modelId, userInput) {
423
+ await checkModelPermissions("w");
424
+ /**
425
+ * Get a model record; this will also perform ownership validation.
426
+ */
427
+
428
+ const original = await getModel(modelId);
429
+ const result = await (0, _validation.createModelCreateFromValidation)().safeParseAsync({
430
+ name: userInput.name,
431
+ modelId: userInput.modelId,
432
+ description: userInput.description || original.description,
433
+ group: userInput.group,
434
+ locale: userInput.locale
435
+ });
436
+
437
+ if (!result.success) {
438
+ throw (0, _utils.createZodError)(result.error);
439
+ }
440
+
441
+ const data = result.data;
442
+ const locale = await context.i18n.getLocale(data.locale || original.locale);
443
+
444
+ if (!locale) {
445
+ throw new _handlerGraphql.NotFoundError(`There is no locale "${data.locale}".`);
446
+ }
447
+ /**
448
+ * Use storage operations directly because we cannot get group from different locale via context methods.
449
+ */
450
+
451
+
452
+ const group = await context.cms.storageOperations.groups.get({
453
+ id: data.group,
454
+ tenant: original.tenant,
455
+ locale: locale.code
456
+ });
457
+
458
+ if (!group) {
459
+ throw new _handlerGraphql.NotFoundError(`There is no group "${data.group}".`);
460
+ }
461
+
462
+ const identity = getIdentity();
463
+ const model = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), {}, {
464
+ locale: locale.code,
465
+ group: {
466
+ id: group.id,
467
+ name: group.name
468
+ },
469
+ name: data.name,
470
+ modelId: data.modelId || "",
471
+ description: data.description || "",
472
+ createdBy: {
473
+ id: identity.id,
474
+ displayName: identity.displayName,
475
+ type: identity.type
476
+ },
477
+ createdOn: new Date().toISOString(),
478
+ savedOn: new Date().toISOString(),
479
+ lockedFields: [],
480
+ webinyVersion: context.WEBINY_VERSION
481
+ });
482
+
483
+ try {
484
+ await onModelBeforeCreateFrom.publish({
485
+ input: data,
486
+ model,
487
+ original
488
+ });
489
+ const createdModel = await storageOperations.models.create({
490
+ model
491
+ });
492
+ loaders.listModels.clearAll();
493
+ await updateManager(context, model);
494
+ await onModelAfterCreateFrom.publish({
495
+ input: data,
496
+ original,
497
+ model: createdModel
498
+ });
499
+ return createdModel;
500
+ } catch (ex) {
501
+ await onModelCreateFromError.publish({
502
+ input: data,
503
+ original,
504
+ model,
505
+ error: ex
506
+ });
507
+ throw ex;
508
+ }
509
+ },
510
+
511
+ async updateModel(modelId, input) {
512
+ await checkModelPermissions("w"); // Get a model record; this will also perform ownership validation.
513
+
514
+ const original = await getModel(modelId);
515
+ const result = await (0, _validation.createModelUpdateValidation)().safeParseAsync(input);
516
+
517
+ if (!result.success) {
518
+ throw (0, _utils.createZodError)(result.error);
519
+ }
520
+
521
+ const data = result.data;
522
+
523
+ if (Object.keys(data).length === 0) {
524
+ /**
525
+ * We need to return the original if nothing is to be updated.
526
+ */
527
+ return original;
528
+ }
529
+
530
+ let group = {
531
+ id: original.group.id,
532
+ name: original.group.name
533
+ };
534
+
535
+ if (data.group) {
536
+ context.security.disableAuthorization();
537
+ const groupData = await context.cms.getGroup(data.group);
538
+ context.security.enableAuthorization();
539
+
540
+ if (!groupData) {
541
+ throw new _handlerGraphql.NotFoundError(`There is no group "${data.group}".`);
542
+ }
543
+
544
+ group = {
545
+ id: groupData.id,
546
+ name: groupData.name
547
+ };
548
+ }
549
+
550
+ const model = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data), {}, {
551
+ group,
552
+ tenant: original.tenant || getTenant().id,
553
+ locale: original.locale || getLocale().code,
554
+ webinyVersion: context.WEBINY_VERSION,
555
+ savedOn: new Date().toISOString()
556
+ });
557
+ model.tags = ensureTypeTag(model);
558
+
559
+ try {
560
+ await onModelBeforeUpdate.publish({
561
+ input: data,
562
+ original,
563
+ model
564
+ });
565
+ const resultModel = await storageOperations.models.update({
566
+ model
567
+ });
568
+ await updateManager(context, resultModel);
569
+ await onModelAfterUpdate.publish({
570
+ input: data,
571
+ original,
572
+ model: resultModel
573
+ });
574
+ return resultModel;
575
+ } catch (ex) {
576
+ await onModelUpdateError.publish({
577
+ input: data,
578
+ model,
579
+ original,
580
+ error: ex
581
+ });
582
+ throw ex;
583
+ }
584
+ },
585
+
586
+ async deleteModel(modelId) {
587
+ await checkModelPermissions("d");
588
+ const model = await getModel(modelId);
589
+
590
+ try {
591
+ await onModelBeforeDelete.publish({
592
+ model
593
+ });
594
+
595
+ try {
596
+ await storageOperations.models.delete({
597
+ model
598
+ });
599
+ } catch (ex) {
600
+ throw new _error.default(ex.message || "Could not delete the content model", ex.code || "CONTENT_MODEL_DELETE_ERROR", {
601
+ error: ex,
602
+ modelId: model.modelId
603
+ });
604
+ }
605
+
606
+ await onModelAfterDelete.publish({
607
+ model
608
+ });
609
+ managers.delete(model.modelId);
610
+ } catch (ex) {
611
+ await onModelDeleteError.publish({
612
+ model,
613
+ error: ex
614
+ });
615
+ throw ex;
616
+ }
617
+ },
618
+
619
+ async initializeModel(modelId, data) {
620
+ /**
621
+ * We require that users have write permissions to initialize models.
622
+ * Maybe introduce another permission for it?
623
+ */
624
+ await checkModelPermissions("w");
625
+ const model = await getModel(modelId);
626
+ await onModelInitialize.publish({
627
+ model,
628
+ data
629
+ });
630
+ return true;
631
+ },
632
+
633
+ getModelManager,
634
+ getEntryManager: async model => {
635
+ return getModelManager(model);
636
+ },
637
+ getManagers: () => managers,
638
+ getEntryManagers: () => managers
639
+ };
640
+ };
641
+
642
+ exports.createModelsCrud = createModelsCrud;