@webiny/api-headless-cms 0.0.0-unstable.d7f521b032 → 0.0.0-unstable.de38392959

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 (568) hide show
  1. package/constants.d.ts +32 -0
  2. package/constants.js +57 -0
  3. package/constants.js.map +1 -0
  4. package/context.js +88 -47
  5. package/context.js.map +1 -1
  6. package/crud/contentEntry/afterDelete.js +3 -1
  7. package/crud/contentEntry/afterDelete.js.map +1 -1
  8. package/crud/contentEntry/beforeCreate.js +3 -1
  9. package/crud/contentEntry/beforeCreate.js.map +1 -1
  10. package/crud/contentEntry/beforeUpdate.js +3 -1
  11. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  12. package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +20 -0
  13. package/crud/contentEntry/entryDataFactories/createEntryData.js +228 -0
  14. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -0
  15. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +21 -0
  16. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +114 -0
  17. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -0
  18. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +13 -0
  19. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +61 -0
  20. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -0
  21. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +12 -0
  22. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +57 -0
  23. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -0
  24. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +12 -0
  25. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +38 -0
  26. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -0
  27. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +20 -0
  28. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +122 -0
  29. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -0
  30. package/crud/contentEntry/entryDataFactories/index.d.ts +8 -0
  31. package/crud/contentEntry/entryDataFactories/index.js +95 -0
  32. package/crud/contentEntry/entryDataFactories/index.js.map +1 -0
  33. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +5 -0
  34. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +36 -0
  35. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -0
  36. package/crud/contentEntry/entryDataFactories/statuses.d.ts +4 -0
  37. package/crud/contentEntry/entryDataFactories/statuses.js +15 -0
  38. package/crud/contentEntry/entryDataFactories/statuses.js.map +1 -0
  39. package/crud/contentEntry/entryDataValidation.d.ts +4 -2
  40. package/crud/contentEntry/entryDataValidation.js +223 -45
  41. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  42. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  43. package/crud/contentEntry/markLockedFields.js +20 -10
  44. package/crud/contentEntry/markLockedFields.js.map +1 -1
  45. package/crud/contentEntry/referenceFieldsMapping.d.ts +6 -0
  46. package/crud/contentEntry/referenceFieldsMapping.js +142 -90
  47. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  48. package/crud/contentEntry/searchableFields.js +5 -4
  49. package/crud/contentEntry/searchableFields.js.map +1 -1
  50. package/crud/contentEntry.crud.d.ts +9 -5
  51. package/crud/contentEntry.crud.js +1093 -981
  52. package/crud/contentEntry.crud.js.map +1 -1
  53. package/crud/contentModel/beforeCreate.d.ts +1 -1
  54. package/crud/contentModel/beforeCreate.js +50 -85
  55. package/crud/contentModel/beforeCreate.js.map +1 -1
  56. package/crud/contentModel/beforeDelete.d.ts +1 -1
  57. package/crud/contentModel/beforeDelete.js +4 -6
  58. package/crud/contentModel/beforeDelete.js.map +1 -1
  59. package/crud/contentModel/beforeUpdate.d.ts +1 -1
  60. package/crud/contentModel/beforeUpdate.js +31 -6
  61. package/crud/contentModel/beforeUpdate.js.map +1 -1
  62. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  63. package/crud/contentModel/compatibility/modelApiName.js +26 -0
  64. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  65. package/crud/contentModel/contentModelManagerFactory.js +3 -1
  66. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  67. package/crud/contentModel/createFieldStorageId.js +3 -1
  68. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  69. package/crud/contentModel/defaultFields.d.ts +5 -0
  70. package/crud/contentModel/defaultFields.js +60 -0
  71. package/crud/contentModel/defaultFields.js.map +1 -0
  72. package/crud/contentModel/ensureTypeTag.d.ts +5 -0
  73. package/crud/contentModel/ensureTypeTag.js +21 -0
  74. package/crud/contentModel/ensureTypeTag.js.map +1 -0
  75. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  76. package/crud/contentModel/fields/descriptionField.js +44 -0
  77. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  78. package/crud/contentModel/fields/imageField.d.ts +2 -0
  79. package/crud/contentModel/fields/imageField.js +44 -0
  80. package/crud/contentModel/fields/imageField.js.map +1 -0
  81. package/crud/contentModel/fields/titleField.d.ts +2 -0
  82. package/crud/contentModel/fields/titleField.js +60 -0
  83. package/crud/contentModel/fields/titleField.js.map +1 -0
  84. package/crud/contentModel/listModelsFromDatabase.d.ts +10 -0
  85. package/crud/contentModel/listModelsFromDatabase.js +38 -0
  86. package/crud/contentModel/listModelsFromDatabase.js.map +1 -0
  87. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  88. package/crud/contentModel/validate/endingAllowed.js +28 -0
  89. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  90. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  91. package/crud/contentModel/validate/isModelEndingAllowed.js +26 -0
  92. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  93. package/crud/contentModel/validate/modelId.d.ts +11 -0
  94. package/crud/contentModel/validate/modelId.js +38 -0
  95. package/crud/contentModel/validate/modelId.js.map +1 -0
  96. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  97. package/crud/contentModel/validate/pluralApiName.js +26 -0
  98. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  99. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  100. package/crud/contentModel/validate/singularApiName.js +26 -0
  101. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  102. package/crud/contentModel/validateModel.d.ts +1 -0
  103. package/crud/contentModel/validateModel.js +3 -1
  104. package/crud/contentModel/validateModel.js.map +1 -1
  105. package/crud/contentModel/validateModelFields.d.ts +2 -1
  106. package/crud/contentModel/validateModelFields.js +27 -64
  107. package/crud/contentModel/validateModelFields.js.map +1 -1
  108. package/crud/contentModel/validation.d.ts +595 -200
  109. package/crud/contentModel/validation.js +125 -17
  110. package/crud/contentModel/validation.js.map +1 -1
  111. package/crud/contentModel.crud.d.ts +2 -0
  112. package/crud/contentModel.crud.js +437 -411
  113. package/crud/contentModel.crud.js.map +1 -1
  114. package/crud/contentModelGroup/beforeCreate.d.ts +1 -1
  115. package/crud/contentModelGroup/beforeCreate.js +15 -1
  116. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  117. package/crud/contentModelGroup/beforeDelete.js +3 -1
  118. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  119. package/crud/contentModelGroup/beforeUpdate.js +3 -1
  120. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  121. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +8 -0
  122. package/crud/contentModelGroup/listGroupsFromDatabase.js +22 -0
  123. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -0
  124. package/crud/contentModelGroup/validation.d.ts +10 -7
  125. package/crud/contentModelGroup/validation.js +5 -2
  126. package/crud/contentModelGroup/validation.js.map +1 -1
  127. package/crud/contentModelGroup.crud.d.ts +3 -1
  128. package/crud/contentModelGroup.crud.js +272 -228
  129. package/crud/contentModelGroup.crud.js.map +1 -1
  130. package/crud/system.crud.js +8 -71
  131. package/crud/system.crud.js.map +1 -1
  132. package/export/crud/exporting.d.ts +3 -0
  133. package/export/crud/exporting.js +49 -0
  134. package/export/crud/exporting.js.map +1 -0
  135. package/export/crud/importing.d.ts +3 -0
  136. package/export/crud/importing.js +79 -0
  137. package/export/crud/importing.js.map +1 -0
  138. package/export/crud/imports/importData.d.ts +14 -0
  139. package/export/crud/imports/importData.js +52 -0
  140. package/export/crud/imports/importData.js.map +1 -0
  141. package/export/crud/imports/importGroups.d.ts +8 -0
  142. package/export/crud/imports/importGroups.js +104 -0
  143. package/export/crud/imports/importGroups.js.map +1 -0
  144. package/export/crud/imports/importModels.d.ts +8 -0
  145. package/export/crud/imports/importModels.js +136 -0
  146. package/export/crud/imports/importModels.js.map +1 -0
  147. package/export/crud/imports/validateGroups.d.ts +8 -0
  148. package/export/crud/imports/validateGroups.js +112 -0
  149. package/export/crud/imports/validateGroups.js.map +1 -0
  150. package/export/crud/imports/validateInput.d.ts +19 -0
  151. package/export/crud/imports/validateInput.js +55 -0
  152. package/export/crud/imports/validateInput.js.map +1 -0
  153. package/export/crud/imports/validateModels.d.ts +12 -0
  154. package/export/crud/imports/validateModels.js +203 -0
  155. package/export/crud/imports/validateModels.js.map +1 -0
  156. package/export/crud/index.d.ts +4 -0
  157. package/export/crud/index.js +15 -0
  158. package/export/crud/index.js.map +1 -0
  159. package/export/crud/sanitize.d.ts +4 -0
  160. package/export/crud/sanitize.js +35 -0
  161. package/export/crud/sanitize.js.map +1 -0
  162. package/export/graphql/index.d.ts +3 -0
  163. package/export/graphql/index.js +188 -0
  164. package/export/graphql/index.js.map +1 -0
  165. package/export/index.d.ts +2 -0
  166. package/export/index.js +29 -0
  167. package/export/index.js.map +1 -0
  168. package/export/types.d.ts +113 -0
  169. package/export/types.js +22 -0
  170. package/export/types.js.map +1 -0
  171. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +4 -7
  172. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  173. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +5 -8
  174. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  175. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +47 -38
  176. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  177. package/fieldConverters/index.js +3 -1
  178. package/fieldConverters/index.js.map +1 -1
  179. package/graphql/buildSchemaPlugins.js +7 -1
  180. package/graphql/buildSchemaPlugins.js.map +1 -1
  181. package/graphql/checkEndpointAccess.d.ts +2 -0
  182. package/graphql/checkEndpointAccess.js +20 -0
  183. package/graphql/checkEndpointAccess.js.map +1 -0
  184. package/graphql/createExecutableSchema.d.ts +2 -3
  185. package/graphql/createExecutableSchema.js +3 -1
  186. package/graphql/createExecutableSchema.js.map +1 -1
  187. package/graphql/createRequestBody.d.ts +2 -0
  188. package/graphql/createRequestBody.js +16 -0
  189. package/graphql/createRequestBody.js.map +1 -0
  190. package/graphql/formatErrorPayload.d.ts +1 -0
  191. package/graphql/formatErrorPayload.js +27 -0
  192. package/graphql/formatErrorPayload.js.map +1 -0
  193. package/graphql/generateSchema.js +3 -1
  194. package/graphql/generateSchema.js.map +1 -1
  195. package/graphql/getSchema.d.ts +16 -0
  196. package/graphql/getSchema.js +118 -0
  197. package/graphql/getSchema.js.map +1 -0
  198. package/graphql/graphQLHandlerFactory.js +9 -146
  199. package/graphql/graphQLHandlerFactory.js.map +1 -1
  200. package/graphql/handleRequest.d.ts +11 -0
  201. package/graphql/handleRequest.js +79 -0
  202. package/graphql/handleRequest.js.map +1 -0
  203. package/graphql/index.d.ts +1 -1
  204. package/graphql/index.js +4 -2
  205. package/graphql/index.js.map +1 -1
  206. package/graphql/schema/baseContentSchema.js +10 -15
  207. package/graphql/schema/baseContentSchema.js.map +1 -1
  208. package/graphql/schema/baseSchema.d.ts +2 -3
  209. package/graphql/schema/baseSchema.js +95 -2
  210. package/graphql/schema/baseSchema.js.map +1 -1
  211. package/graphql/schema/contentEntries.js +134 -59
  212. package/graphql/schema/contentEntries.js.map +1 -1
  213. package/graphql/schema/contentModelGroups.js +12 -9
  214. package/graphql/schema/contentModelGroups.js.map +1 -1
  215. package/graphql/schema/contentModels.js +33 -14
  216. package/graphql/schema/contentModels.js.map +1 -1
  217. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  218. package/graphql/schema/createFieldResolvers.js +18 -22
  219. package/graphql/schema/createFieldResolvers.js.map +1 -1
  220. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  221. package/graphql/schema/createFieldTypePluginRecords.js +15 -0
  222. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  223. package/graphql/schema/createManageResolvers.d.ts +1 -1
  224. package/graphql/schema/createManageResolvers.js +60 -27
  225. package/graphql/schema/createManageResolvers.js.map +1 -1
  226. package/graphql/schema/createManageSDL.d.ts +1 -0
  227. package/graphql/schema/createManageSDL.js +116 -69
  228. package/graphql/schema/createManageSDL.js.map +1 -1
  229. package/graphql/schema/createPreviewResolvers.js +10 -13
  230. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  231. package/graphql/schema/createReadResolvers.js +11 -14
  232. package/graphql/schema/createReadResolvers.js.map +1 -1
  233. package/graphql/schema/createReadSDL.d.ts +1 -0
  234. package/graphql/schema/createReadSDL.js +51 -38
  235. package/graphql/schema/createReadSDL.js.map +1 -1
  236. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +2 -1
  237. package/graphql/schema/resolvers/manage/resolveCreate.js +4 -2
  238. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  239. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +2 -1
  240. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +4 -2
  241. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  242. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
  243. package/graphql/schema/resolvers/manage/resolveDelete.js +16 -4
  244. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  245. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  246. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +22 -0
  247. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  248. package/graphql/schema/resolvers/manage/resolveGet.js +12 -5
  249. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  250. package/graphql/schema/resolvers/manage/resolveGetByIds.js +3 -1
  251. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  252. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +3 -1
  253. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  254. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  255. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +20 -0
  256. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  257. package/graphql/schema/resolvers/manage/resolveList.js +3 -1
  258. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  259. package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
  260. package/graphql/schema/resolvers/manage/resolveMove.js +27 -0
  261. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
  262. package/graphql/schema/resolvers/manage/resolvePublish.js +3 -1
  263. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  264. package/graphql/schema/resolvers/manage/resolveRepublish.js +3 -1
  265. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  266. package/graphql/schema/resolvers/manage/resolveUnpublish.js +3 -1
  267. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  268. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +2 -1
  269. package/graphql/schema/resolvers/manage/resolveUpdate.js +4 -2
  270. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  271. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +8 -0
  272. package/graphql/schema/resolvers/manage/resolveValidate.js +20 -0
  273. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
  274. package/graphql/schema/resolvers/preview/resolveGet.js +6 -5
  275. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  276. package/graphql/schema/resolvers/preview/resolveList.js +3 -1
  277. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  278. package/graphql/schema/resolvers/read/resolveGet.js +6 -5
  279. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  280. package/graphql/schema/resolvers/read/resolveList.js +3 -1
  281. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  282. package/graphql/schema/schemaPlugins.js +10 -17
  283. package/graphql/schema/schemaPlugins.js.map +1 -1
  284. package/graphql/system.d.ts +2 -5
  285. package/graphql/system.js +4 -28
  286. package/graphql/system.js.map +1 -1
  287. package/graphqlFields/boolean.js +3 -1
  288. package/graphqlFields/boolean.js.map +1 -1
  289. package/graphqlFields/datetime.js +5 -5
  290. package/graphqlFields/datetime.js.map +1 -1
  291. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  292. package/graphqlFields/dynamicZone/dynamicZoneField.js +86 -28
  293. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  294. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +60 -12
  295. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -1
  296. package/graphqlFields/dynamicZone/index.js +3 -1
  297. package/graphqlFields/dynamicZone/index.js.map +1 -1
  298. package/graphqlFields/file.js +3 -1
  299. package/graphqlFields/file.js.map +1 -1
  300. package/graphqlFields/helpers.d.ts +0 -1
  301. package/graphqlFields/helpers.js +6 -18
  302. package/graphqlFields/helpers.js.map +1 -1
  303. package/graphqlFields/index.js +5 -2
  304. package/graphqlFields/index.js.map +1 -1
  305. package/graphqlFields/json.d.ts +2 -0
  306. package/graphqlFields/json.js +49 -0
  307. package/graphqlFields/json.js.map +1 -0
  308. package/graphqlFields/longText.js +14 -3
  309. package/graphqlFields/longText.js.map +1 -1
  310. package/graphqlFields/number.js +4 -1
  311. package/graphqlFields/number.js.map +1 -1
  312. package/graphqlFields/object.js +33 -34
  313. package/graphqlFields/object.js.map +1 -1
  314. package/graphqlFields/ref.js +68 -28
  315. package/graphqlFields/ref.js.map +1 -1
  316. package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +6 -0
  317. package/graphqlFields/richText/RichTextPluginsProcessor.js +34 -0
  318. package/graphqlFields/richText/RichTextPluginsProcessor.js.map +1 -0
  319. package/graphqlFields/richText/richTextResolver.d.ts +7 -0
  320. package/graphqlFields/richText/richTextResolver.js +39 -0
  321. package/graphqlFields/richText/richTextResolver.js.map +1 -0
  322. package/graphqlFields/richText.js +11 -3
  323. package/graphqlFields/richText.js.map +1 -1
  324. package/graphqlFields/text.js +5 -1
  325. package/graphqlFields/text.js.map +1 -1
  326. package/htmlRenderer/LexicalRenderer.d.ts +5 -0
  327. package/htmlRenderer/LexicalRenderer.js +28 -0
  328. package/htmlRenderer/LexicalRenderer.js.map +1 -0
  329. package/htmlRenderer/createLexicalHTMLRenderer.d.ts +2 -0
  330. package/htmlRenderer/createLexicalHTMLRenderer.js +31 -0
  331. package/htmlRenderer/createLexicalHTMLRenderer.js.map +1 -0
  332. package/index.d.ts +5 -2
  333. package/index.js +44 -6
  334. package/index.js.map +1 -1
  335. package/modelManager/DefaultCmsModelManager.js +3 -5
  336. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  337. package/modelManager/index.js +3 -1
  338. package/modelManager/index.js.map +1 -1
  339. package/package.json +36 -40
  340. package/parameters/context.js +4 -2
  341. package/parameters/context.js.map +1 -1
  342. package/parameters/header.js +7 -6
  343. package/parameters/header.js.map +1 -1
  344. package/parameters/index.js +3 -1
  345. package/parameters/index.js.map +1 -1
  346. package/parameters/manual.js +9 -4
  347. package/parameters/manual.js.map +1 -1
  348. package/parameters/path.js +4 -3
  349. package/parameters/path.js.map +1 -1
  350. package/plugins/CmsGraphQLSchemaPlugin.js +5 -4
  351. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -1
  352. package/plugins/CmsGraphQLSchemaSorterPlugin.js +4 -5
  353. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
  354. package/plugins/CmsGroupPlugin.d.ts +6 -3
  355. package/plugins/CmsGroupPlugin.js +8 -6
  356. package/plugins/CmsGroupPlugin.js.map +1 -1
  357. package/plugins/CmsModelFieldConverterPlugin.js +5 -4
  358. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  359. package/plugins/CmsModelPlugin.d.ts +25 -5
  360. package/plugins/CmsModelPlugin.js +75 -20
  361. package/plugins/CmsModelPlugin.js.map +1 -1
  362. package/plugins/CmsParametersPlugin.js +7 -4
  363. package/plugins/CmsParametersPlugin.js.map +1 -1
  364. package/plugins/CmsRichTextRendererPlugin.d.ts +24 -0
  365. package/plugins/CmsRichTextRendererPlugin.js +28 -0
  366. package/plugins/CmsRichTextRendererPlugin.js.map +1 -0
  367. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  368. package/plugins/StorageOperationsCmsModelPlugin.js +41 -0
  369. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  370. package/plugins/StorageTransformPlugin.d.ts +2 -2
  371. package/plugins/StorageTransformPlugin.js +3 -4
  372. package/plugins/StorageTransformPlugin.js.map +1 -1
  373. package/plugins/index.d.ts +2 -0
  374. package/plugins/index.js +25 -1
  375. package/plugins/index.js.map +1 -1
  376. package/storage/default.js +3 -1
  377. package/storage/default.js.map +1 -1
  378. package/storage/index.d.ts +1 -0
  379. package/storage/index.js +15 -0
  380. package/storage/index.js.map +1 -0
  381. package/storage/json.d.ts +2 -0
  382. package/storage/json.js +27 -0
  383. package/storage/json.js.map +1 -0
  384. package/storage/object.js +8 -8
  385. package/storage/object.js.map +1 -1
  386. package/types.d.ts +510 -334
  387. package/types.js +21 -21
  388. package/types.js.map +1 -1
  389. package/utils/access.d.ts +9 -8
  390. package/utils/access.js +12 -62
  391. package/utils/access.js.map +1 -1
  392. package/utils/caching/Cache.d.ts +2 -0
  393. package/utils/caching/Cache.js +51 -0
  394. package/utils/caching/Cache.js.map +1 -0
  395. package/utils/caching/CacheKey.d.ts +2 -0
  396. package/utils/caching/CacheKey.js +40 -0
  397. package/utils/caching/CacheKey.js.map +1 -0
  398. package/utils/caching/index.d.ts +2 -0
  399. package/utils/caching/index.js +29 -0
  400. package/utils/caching/index.js.map +1 -0
  401. package/utils/caching/types.d.ts +11 -0
  402. package/utils/caching/types.js +7 -0
  403. package/utils/caching/types.js.map +1 -0
  404. package/utils/converters/Converter.js +4 -5
  405. package/utils/converters/Converter.js.map +1 -1
  406. package/utils/converters/ConverterCollection.js +13 -7
  407. package/utils/converters/ConverterCollection.js.map +1 -1
  408. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  409. package/utils/converters/valueKeyStorageConverter.js +34 -21
  410. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  411. package/utils/createTypeFromFields.d.ts +1 -0
  412. package/utils/createTypeFromFields.js +14 -7
  413. package/utils/createTypeFromFields.js.map +1 -1
  414. package/utils/createTypeName.d.ts +0 -2
  415. package/utils/createTypeName.js +3 -9
  416. package/utils/createTypeName.js.map +1 -1
  417. package/utils/date.d.ts +10 -0
  418. package/utils/date.js +36 -0
  419. package/utils/date.js.map +1 -0
  420. package/utils/entryStorage.d.ts +4 -4
  421. package/utils/entryStorage.js +6 -4
  422. package/utils/entryStorage.js.map +1 -1
  423. package/utils/filterAsync.js +9 -8
  424. package/utils/filterAsync.js.map +1 -1
  425. package/utils/getBaseFieldType.d.ts +1 -3
  426. package/utils/getBaseFieldType.js +3 -1
  427. package/utils/getBaseFieldType.js.map +1 -1
  428. package/utils/getEntryDescription.d.ts +2 -0
  429. package/utils/getEntryDescription.js +19 -0
  430. package/utils/getEntryDescription.js.map +1 -0
  431. package/utils/getEntryImage.d.ts +2 -0
  432. package/utils/getEntryImage.js +19 -0
  433. package/utils/getEntryImage.js.map +1 -0
  434. package/utils/getEntryTitle.d.ts +1 -1
  435. package/utils/getEntryTitle.js +3 -1
  436. package/utils/getEntryTitle.js.map +1 -1
  437. package/utils/getSchemaFromFieldPlugins.d.ts +13 -2
  438. package/utils/getSchemaFromFieldPlugins.js +22 -4
  439. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  440. package/utils/identity.d.ts +2 -0
  441. package/utils/identity.js +20 -0
  442. package/utils/identity.js.map +1 -0
  443. package/utils/incrementEntryIdVersion.d.ts +5 -0
  444. package/utils/incrementEntryIdVersion.js +31 -0
  445. package/utils/incrementEntryIdVersion.js.map +1 -0
  446. package/utils/index.d.ts +1 -0
  447. package/utils/index.js +18 -0
  448. package/utils/index.js.map +1 -0
  449. package/utils/permissions/EntriesPermissions.d.ts +4 -0
  450. package/utils/permissions/EntriesPermissions.js +11 -0
  451. package/utils/permissions/EntriesPermissions.js.map +1 -0
  452. package/utils/permissions/ModelGroupsPermissions.d.ts +9 -0
  453. package/utils/permissions/ModelGroupsPermissions.js +50 -0
  454. package/utils/permissions/ModelGroupsPermissions.js.map +1 -0
  455. package/utils/permissions/ModelsPermissions.d.ts +22 -0
  456. package/utils/permissions/ModelsPermissions.js +90 -0
  457. package/utils/permissions/ModelsPermissions.js.map +1 -0
  458. package/utils/renderFields.d.ts +4 -2
  459. package/utils/renderFields.js +13 -3
  460. package/utils/renderFields.js.map +1 -1
  461. package/utils/renderGetFilterFields.d.ts +2 -2
  462. package/utils/renderGetFilterFields.js +9 -21
  463. package/utils/renderGetFilterFields.js.map +1 -1
  464. package/utils/renderInputFields.d.ts +4 -2
  465. package/utils/renderInputFields.js +20 -6
  466. package/utils/renderInputFields.js.map +1 -1
  467. package/utils/renderListFilterFields.d.ts +3 -1
  468. package/utils/renderListFilterFields.js +25 -22
  469. package/utils/renderListFilterFields.js.map +1 -1
  470. package/utils/renderSortEnum.d.ts +3 -2
  471. package/utils/renderSortEnum.js +10 -3
  472. package/utils/renderSortEnum.js.map +1 -1
  473. package/utils/toSlug.js +3 -1
  474. package/utils/toSlug.js.map +1 -1
  475. package/validators/dateGte.js +3 -1
  476. package/validators/dateGte.js.map +1 -1
  477. package/validators/dateLte.js +3 -1
  478. package/validators/dateLte.js.map +1 -1
  479. package/validators/gte.js +4 -3
  480. package/validators/gte.js.map +1 -1
  481. package/validators/in.js +4 -3
  482. package/validators/in.js.map +1 -1
  483. package/validators/index.js +4 -3
  484. package/validators/index.js.map +1 -1
  485. package/validators/lte.js +4 -3
  486. package/validators/lte.js.map +1 -1
  487. package/validators/maxLength.js +4 -3
  488. package/validators/maxLength.js.map +1 -1
  489. package/validators/minLength.js +4 -3
  490. package/validators/minLength.js.map +1 -1
  491. package/validators/pattern.js +5 -3
  492. package/validators/pattern.js.map +1 -1
  493. package/validators/patternPlugins/email.js +3 -1
  494. package/validators/patternPlugins/email.js.map +1 -1
  495. package/validators/patternPlugins/index.js +3 -1
  496. package/validators/patternPlugins/index.js.map +1 -1
  497. package/validators/patternPlugins/lowerCase.js +3 -1
  498. package/validators/patternPlugins/lowerCase.js.map +1 -1
  499. package/validators/patternPlugins/lowerCaseSpace.js +3 -1
  500. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  501. package/validators/patternPlugins/upperCase.js +3 -1
  502. package/validators/patternPlugins/upperCase.js.map +1 -1
  503. package/validators/patternPlugins/upperCaseSpace.js +3 -1
  504. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  505. package/validators/patternPlugins/url.js +3 -1
  506. package/validators/patternPlugins/url.js.map +1 -1
  507. package/validators/required.js +3 -1
  508. package/validators/required.js.map +1 -1
  509. package/validators/timeGte.js +4 -3
  510. package/validators/timeGte.js.map +1 -1
  511. package/validators/timeLte.js +4 -3
  512. package/validators/timeLte.js.map +1 -1
  513. package/validators/unique.js +4 -2
  514. package/validators/unique.js.map +1 -1
  515. package/crud/contentModel/afterCreate.d.ts +0 -8
  516. package/crud/contentModel/afterCreate.js +0 -16
  517. package/crud/contentModel/afterCreate.js.map +0 -1
  518. package/crud/contentModel/afterCreateFrom.d.ts +0 -8
  519. package/crud/contentModel/afterCreateFrom.js +0 -16
  520. package/crud/contentModel/afterCreateFrom.js.map +0 -1
  521. package/crud/contentModel/afterDelete.d.ts +0 -8
  522. package/crud/contentModel/afterDelete.js +0 -16
  523. package/crud/contentModel/afterDelete.js.map +0 -1
  524. package/crud/contentModel/afterUpdate.d.ts +0 -8
  525. package/crud/contentModel/afterUpdate.js +0 -16
  526. package/crud/contentModel/afterUpdate.js.map +0 -1
  527. package/crud/contentModel/createFieldModels.d.ts +0 -2
  528. package/crud/contentModel/createFieldModels.js +0 -26
  529. package/crud/contentModel/createFieldModels.js.map +0 -1
  530. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  531. package/crud/contentModel/fieldIdValidation.js +0 -25
  532. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  533. package/crud/contentModel/idValidation.d.ts +0 -1
  534. package/crud/contentModel/idValidation.js +0 -22
  535. package/crud/contentModel/idValidation.js.map +0 -1
  536. package/crud/contentModel/models.d.ts +0 -4
  537. package/crud/contentModel/models.js +0 -192
  538. package/crud/contentModel/models.js.map +0 -1
  539. package/crud/contentModel/systemFields.d.ts +0 -1
  540. package/crud/contentModel/systemFields.js +0 -8
  541. package/crud/contentModel/systemFields.js.map +0 -1
  542. package/crud/contentModel/validateLayout.d.ts +0 -2
  543. package/crud/contentModel/validateLayout.js +0 -28
  544. package/crud/contentModel/validateLayout.js.map +0 -1
  545. package/crud/settings.crud.d.ts +0 -10
  546. package/crud/settings.crud.js +0 -71
  547. package/crud/settings.crud.js.map +0 -1
  548. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  549. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -12
  550. package/graphql/schema/resolvers/commonFieldResolvers.js.map +0 -1
  551. package/upgrades/5.33.0/index.d.ts +0 -3
  552. package/upgrades/5.33.0/index.js +0 -159
  553. package/upgrades/5.33.0/index.js.map +0 -1
  554. package/upgrades/index.d.ts +0 -1
  555. package/upgrades/index.js +0 -9
  556. package/upgrades/index.js.map +0 -1
  557. package/utils/ownership.d.ts +0 -8
  558. package/utils/ownership.js +0 -33
  559. package/utils/ownership.js.map +0 -1
  560. package/utils/permissions.d.ts +0 -7
  561. package/utils/permissions.js +0 -91
  562. package/utils/permissions.js.map +0 -1
  563. package/utils/pluralizedTypeName.d.ts +0 -1
  564. package/utils/pluralizedTypeName.js +0 -20
  565. package/utils/pluralizedTypeName.js.map +0 -1
  566. package/validators/dynamicZone.d.ts +0 -2
  567. package/validators/dynamicZone.js +0 -20
  568. package/validators/dynamicZone.js.map +0 -1
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.importGroups = void 0;
7
+ var _types = require("../../types");
8
+ const importGroups = async params => {
9
+ const {
10
+ context,
11
+ groups
12
+ } = params;
13
+ const results = [];
14
+ for (const group of groups) {
15
+ if (group.action === _types.CmsImportAction.NONE || group.error) {
16
+ results.push({
17
+ action: group.action,
18
+ group: group.group,
19
+ imported: false,
20
+ error: group.error || {
21
+ message: "No action to be ran on the group.",
22
+ code: "NO_ACTION"
23
+ }
24
+ });
25
+ }
26
+ /**
27
+ * Cannot update if the group is created via plugin.
28
+ */
29
+ if (group.action === _types.CmsImportAction.CODE) {
30
+ results.push({
31
+ action: group.action,
32
+ group: group.group,
33
+ imported: true
34
+ });
35
+ continue;
36
+ }
37
+ /**
38
+ * Update the group.
39
+ */
40
+ //
41
+ else if (group.action === _types.CmsImportAction.UPDATE) {
42
+ try {
43
+ const result = await context.cms.updateGroup(group.group.id, {
44
+ ...group.group,
45
+ description: group.group.description || undefined
46
+ });
47
+ results.push({
48
+ action: group.action,
49
+ group: {
50
+ ...result
51
+ },
52
+ imported: true
53
+ });
54
+ } catch (ex) {
55
+ results.push({
56
+ action: group.action,
57
+ group: group.group,
58
+ imported: false,
59
+ error: {
60
+ message: ex.message,
61
+ code: ex.code || "UPDATE_GROUP_ERROR",
62
+ data: {
63
+ ...ex.data,
64
+ group
65
+ }
66
+ }
67
+ });
68
+ }
69
+ continue;
70
+ }
71
+ /**
72
+ * Create the group
73
+ */
74
+ //
75
+ try {
76
+ const result = await context.cms.createGroup(group.group);
77
+ results.push({
78
+ action: group.action,
79
+ group: {
80
+ ...result
81
+ },
82
+ imported: true
83
+ });
84
+ } catch (ex) {
85
+ results.push({
86
+ action: group.action,
87
+ group: group.group,
88
+ imported: false,
89
+ error: {
90
+ message: ex.message,
91
+ code: ex.code || "CREATE_GROUP_ERROR",
92
+ data: {
93
+ ...ex.data,
94
+ group
95
+ }
96
+ }
97
+ });
98
+ }
99
+ }
100
+ return results;
101
+ };
102
+ exports.importGroups = importGroups;
103
+
104
+ //# sourceMappingURL=importGroups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_types","require","importGroups","params","context","groups","results","group","action","CmsImportAction","NONE","error","push","imported","message","code","CODE","UPDATE","result","cms","updateGroup","id","description","undefined","ex","data","createGroup","exports"],"sources":["importGroups.ts"],"sourcesContent":["import { CmsContext } from \"~/types\";\nimport { CmsGroupImportResult, CmsImportAction, ValidCmsGroupResult } from \"~/export/types\";\n\ninterface Params {\n context: CmsContext;\n groups: ValidCmsGroupResult[];\n}\n\nexport const importGroups = async (params: Params) => {\n const { context, groups } = params;\n\n const results: CmsGroupImportResult[] = [];\n for (const group of groups) {\n if (group.action === CmsImportAction.NONE || group.error) {\n results.push({\n action: group.action,\n group: group.group,\n imported: false,\n error: group.error || {\n message: \"No action to be ran on the group.\",\n code: \"NO_ACTION\"\n }\n });\n }\n /**\n * Cannot update if the group is created via plugin.\n */\n if (group.action === CmsImportAction.CODE) {\n results.push({\n action: group.action,\n group: group.group,\n imported: true\n });\n continue;\n }\n /**\n * Update the group.\n */\n //\n else if (group.action === CmsImportAction.UPDATE) {\n try {\n const result = await context.cms.updateGroup(group.group.id, {\n ...group.group,\n description: group.group.description || undefined\n });\n results.push({\n action: group.action,\n group: {\n ...result\n },\n imported: true\n });\n } catch (ex) {\n results.push({\n action: group.action,\n group: group.group,\n imported: false,\n error: {\n message: ex.message,\n code: ex.code || \"UPDATE_GROUP_ERROR\",\n data: {\n ...ex.data,\n group\n }\n }\n });\n }\n continue;\n }\n /**\n * Create the group\n */\n //\n try {\n const result = await context.cms.createGroup(group.group);\n results.push({\n action: group.action,\n group: {\n ...result\n },\n imported: true\n });\n } catch (ex) {\n results.push({\n action: group.action,\n group: group.group,\n imported: false,\n error: {\n message: ex.message,\n code: ex.code || \"CREATE_GROUP_ERROR\",\n data: {\n ...ex.data,\n group\n }\n }\n });\n }\n }\n\n return results;\n};\n"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { CmsContext } from "../../../types";
2
+ import { CmsModelImportResult, ValidCmsModelResult } from "../../types";
3
+ interface Params {
4
+ context: CmsContext;
5
+ models: ValidCmsModelResult[];
6
+ }
7
+ export declare const importModels: (params: Params) => Promise<CmsModelImportResult[]>;
8
+ export {};
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.importModels = void 0;
7
+ var _types = require("../../types");
8
+ const importModels = async params => {
9
+ const {
10
+ context,
11
+ models
12
+ } = params;
13
+ const groups = await context.cms.listGroups();
14
+ const results = [];
15
+ for (const model of models) {
16
+ /**
17
+ * There is a possibility that group does not exist.
18
+ */
19
+ const group = groups.find(group => {
20
+ return group.id === model.model.group;
21
+ });
22
+ if (!group) {
23
+ results.push({
24
+ action: model.action,
25
+ model: model.model,
26
+ related: model.related,
27
+ imported: false,
28
+ error: {
29
+ message: `Group "${model.model.group}" does not exist.`,
30
+ code: "GROUP_NOT_FOUND",
31
+ data: {
32
+ model
33
+ }
34
+ }
35
+ });
36
+ continue;
37
+ }
38
+ /**
39
+ * No update action or there is a validation error.
40
+ */
41
+ if (model.action === _types.CmsImportAction.NONE || model.error) {
42
+ results.push({
43
+ action: model.action,
44
+ model: model.model,
45
+ related: model.related,
46
+ imported: false,
47
+ error: model.error || {
48
+ message: "No action to be ran on the model.",
49
+ code: "NO_ACTION"
50
+ }
51
+ });
52
+ continue;
53
+ }
54
+ /**
55
+ * Cannot update a model if it is created via plugin.
56
+ */
57
+ if (model.action === _types.CmsImportAction.CODE) {
58
+ results.push({
59
+ action: model.action,
60
+ model: model.model,
61
+ related: model.related,
62
+ imported: true
63
+ });
64
+ continue;
65
+ }
66
+
67
+ /**
68
+ * Update the model
69
+ */
70
+ //
71
+ if (model.action === _types.CmsImportAction.UPDATE) {
72
+ try {
73
+ const result = await context.cms.updateModel(model.model.modelId, model.model);
74
+ results.push({
75
+ action: model.action,
76
+ model: {
77
+ ...result,
78
+ group: group.id
79
+ },
80
+ related: model.related,
81
+ imported: true
82
+ });
83
+ } catch (ex) {
84
+ results.push({
85
+ action: model.action,
86
+ model: model.model,
87
+ imported: false,
88
+ related: model.related,
89
+ error: {
90
+ message: ex.message,
91
+ code: ex.code || "UPDATE_MODEL_ERROR",
92
+ data: {
93
+ model: model.model,
94
+ ...ex.data
95
+ }
96
+ }
97
+ });
98
+ }
99
+ continue;
100
+ }
101
+ /**
102
+ * Create a new model.
103
+ */
104
+ try {
105
+ const result = await context.cms.createModel(model.model);
106
+ results.push({
107
+ action: model.action,
108
+ model: {
109
+ ...result,
110
+ group: group.id
111
+ },
112
+ related: model.related,
113
+ imported: true
114
+ });
115
+ } catch (ex) {
116
+ results.push({
117
+ action: model.action,
118
+ model: model.model,
119
+ imported: false,
120
+ related: model.related,
121
+ error: {
122
+ message: ex.message,
123
+ code: ex.code || "CREATE_MODEL_ERROR",
124
+ data: {
125
+ model: model.model,
126
+ ...ex.data
127
+ }
128
+ }
129
+ });
130
+ }
131
+ }
132
+ return results;
133
+ };
134
+ exports.importModels = importModels;
135
+
136
+ //# sourceMappingURL=importModels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_types","require","importModels","params","context","models","groups","cms","listGroups","results","model","group","find","id","push","action","related","imported","error","message","code","data","CmsImportAction","NONE","CODE","UPDATE","result","updateModel","modelId","ex","createModel","exports"],"sources":["importModels.ts"],"sourcesContent":["import { CmsContext } from \"~/types\";\nimport { CmsImportAction, CmsModelImportResult, ValidCmsModelResult } from \"~/export/types\";\n\ninterface Params {\n context: CmsContext;\n models: ValidCmsModelResult[];\n}\n\nexport const importModels = async (params: Params) => {\n const { context, models } = params;\n\n const groups = await context.cms.listGroups();\n\n const results: CmsModelImportResult[] = [];\n\n for (const model of models) {\n /**\n * There is a possibility that group does not exist.\n */\n const group = groups.find(group => {\n return group.id === model.model.group;\n });\n if (!group) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: false,\n error: {\n message: `Group \"${model.model.group}\" does not exist.`,\n code: \"GROUP_NOT_FOUND\",\n data: {\n model\n }\n }\n });\n continue;\n }\n /**\n * No update action or there is a validation error.\n */\n if (model.action === CmsImportAction.NONE || model.error) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: false,\n error: model.error || {\n message: \"No action to be ran on the model.\",\n code: \"NO_ACTION\"\n }\n });\n continue;\n }\n /**\n * Cannot update a model if it is created via plugin.\n */\n if (model.action === CmsImportAction.CODE) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: true\n });\n continue;\n }\n\n /**\n * Update the model\n */\n //\n if (model.action === CmsImportAction.UPDATE) {\n try {\n const result = await context.cms.updateModel(model.model.modelId, model.model);\n results.push({\n action: model.action,\n model: {\n ...result,\n group: group.id\n },\n related: model.related,\n imported: true\n });\n } catch (ex) {\n results.push({\n action: model.action,\n model: model.model,\n imported: false,\n related: model.related,\n error: {\n message: ex.message,\n code: ex.code || \"UPDATE_MODEL_ERROR\",\n data: {\n model: model.model,\n ...ex.data\n }\n }\n });\n }\n continue;\n }\n /**\n * Create a new model.\n */\n try {\n const result = await context.cms.createModel(model.model);\n results.push({\n action: model.action,\n model: {\n ...result,\n group: group.id\n },\n related: model.related,\n imported: true\n });\n } catch (ex) {\n results.push({\n action: model.action,\n model: model.model,\n imported: false,\n related: model.related,\n error: {\n message: ex.message,\n code: ex.code || \"CREATE_MODEL_ERROR\",\n data: {\n model: model.model,\n ...ex.data\n }\n }\n });\n }\n }\n\n return results;\n};\n"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { CmsGroup } from "../../../types";
2
+ import { ValidatedCmsGroupResult } from "../../types";
3
+ interface Params {
4
+ groups: Pick<CmsGroup, "id" | "slug" | "isPlugin">[];
5
+ input: Partial<CmsGroup>[];
6
+ }
7
+ export declare const validateGroups: (params: Params) => Promise<ValidatedCmsGroupResult[]>;
8
+ export {};
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.validateGroups = void 0;
7
+ var _validation = require("../../../crud/contentModelGroup/validation");
8
+ var _utils = require("@webiny/utils");
9
+ var _types = require("../../types");
10
+ const validateGroups = async params => {
11
+ const {
12
+ groups,
13
+ input
14
+ } = params;
15
+ const validation = (0, _validation.createGroupCreateValidation)();
16
+ return await Promise.all(input.map(async group => {
17
+ const result = await validation.safeParseAsync(group);
18
+ if (!result.success) {
19
+ const error = (0, _utils.createZodError)(result.error);
20
+ return {
21
+ group: group,
22
+ action: _types.CmsImportAction.NONE,
23
+ error: {
24
+ message: error.message,
25
+ code: error.code,
26
+ data: error.data
27
+ }
28
+ };
29
+ }
30
+ const data = result.data;
31
+ if (!data.id) {
32
+ return {
33
+ group: data,
34
+ action: _types.CmsImportAction.NONE,
35
+ error: {
36
+ message: `Group is missing ID.`,
37
+ code: "GROUP_ID_MISSING"
38
+ }
39
+ };
40
+ }
41
+ if (!data.slug) {
42
+ return {
43
+ group: data,
44
+ action: _types.CmsImportAction.NONE,
45
+ error: {
46
+ message: `Group is missing slug.`,
47
+ code: "GROUP_SLUG_MISSING"
48
+ }
49
+ };
50
+ }
51
+ const isPluginGroup = groups.some(g => {
52
+ if (!g.isPlugin) {
53
+ return false;
54
+ }
55
+ return g.id === data.id || g.slug === data.slug;
56
+ });
57
+ if (isPluginGroup) {
58
+ return {
59
+ group: data,
60
+ action: _types.CmsImportAction.CODE,
61
+ error: {
62
+ message: `Group already exists, but it is a plugin group - cannot be updated.`,
63
+ code: "GROUP_IS_PLUGIN"
64
+ }
65
+ };
66
+ }
67
+ const canBeUpdated = groups.some(g => {
68
+ return g.id === data.id && g.slug === data.slug;
69
+ });
70
+ if (canBeUpdated) {
71
+ return {
72
+ group: data,
73
+ action: _types.CmsImportAction.UPDATE
74
+ };
75
+ }
76
+ const groupWithIdExists = groups.some(g => g.id === data.id);
77
+ if (groupWithIdExists) {
78
+ return {
79
+ group: data,
80
+ action: _types.CmsImportAction.NONE,
81
+ error: {
82
+ message: `Group with ID "${data.id}" already exists. Cannot update it because the slug is different.`,
83
+ code: "GROUP_ID_EXISTS"
84
+ }
85
+ };
86
+ }
87
+ const groupWithSlugExists = groups.find(g => g.slug === data.slug);
88
+ if (groupWithSlugExists) {
89
+ /**
90
+ * If group with given slug already exists, we will map the ID to the existing group.
91
+ *
92
+ * We will also point all models from the imported group to the existing group.
93
+ * We will not update the existing group.
94
+ */
95
+ return {
96
+ group: {
97
+ ...data,
98
+ id: groupWithSlugExists.id
99
+ },
100
+ target: data.id,
101
+ action: _types.CmsImportAction.NONE
102
+ };
103
+ }
104
+ return {
105
+ group: data,
106
+ action: _types.CmsImportAction.CREATE
107
+ };
108
+ }));
109
+ };
110
+ exports.validateGroups = validateGroups;
111
+
112
+ //# sourceMappingURL=validateGroups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_validation","require","_utils","_types","validateGroups","params","groups","input","validation","createGroupCreateValidation","Promise","all","map","group","result","safeParseAsync","success","error","createZodError","action","CmsImportAction","NONE","message","code","data","id","slug","isPluginGroup","some","g","isPlugin","CODE","canBeUpdated","UPDATE","groupWithIdExists","groupWithSlugExists","find","target","CREATE","exports"],"sources":["validateGroups.ts"],"sourcesContent":["import { CmsGroup } from \"~/types\";\nimport { createGroupCreateValidation } from \"~/crud/contentModelGroup/validation\";\nimport { createZodError } from \"@webiny/utils\";\nimport { CmsImportAction, ValidatedCmsGroupResult } from \"~/export/types\";\n\ninterface Params {\n groups: Pick<CmsGroup, \"id\" | \"slug\" | \"isPlugin\">[];\n input: Partial<CmsGroup>[];\n}\n\nexport const validateGroups = async (params: Params): Promise<ValidatedCmsGroupResult[]> => {\n const { groups, input } = params;\n\n const validation = createGroupCreateValidation();\n\n return await Promise.all(\n input.map(async (group): Promise<ValidatedCmsGroupResult> => {\n const result = await validation.safeParseAsync(group);\n if (!result.success) {\n const error = createZodError(result.error);\n return {\n group: group as CmsGroup,\n action: CmsImportAction.NONE,\n error: {\n message: error.message,\n code: error.code,\n data: error.data\n }\n };\n }\n const data = result.data as CmsGroup;\n if (!data.id) {\n return {\n group: data,\n action: CmsImportAction.NONE,\n error: {\n message: `Group is missing ID.`,\n code: \"GROUP_ID_MISSING\"\n }\n };\n }\n if (!data.slug) {\n return {\n group: data,\n action: CmsImportAction.NONE,\n error: {\n message: `Group is missing slug.`,\n code: \"GROUP_SLUG_MISSING\"\n }\n };\n }\n\n const isPluginGroup = groups.some(g => {\n if (!g.isPlugin) {\n return false;\n }\n return g.id === data.id || g.slug === data.slug;\n });\n if (isPluginGroup) {\n return {\n group: data,\n action: CmsImportAction.CODE,\n error: {\n message: `Group already exists, but it is a plugin group - cannot be updated.`,\n code: \"GROUP_IS_PLUGIN\"\n }\n };\n }\n\n const canBeUpdated = groups.some(g => {\n return g.id === data.id && g.slug === data.slug;\n });\n if (canBeUpdated) {\n return {\n group: data,\n action: CmsImportAction.UPDATE\n };\n }\n\n const groupWithIdExists = groups.some(g => g.id === data.id);\n if (groupWithIdExists) {\n return {\n group: data,\n action: CmsImportAction.NONE,\n error: {\n message: `Group with ID \"${data.id}\" already exists. Cannot update it because the slug is different.`,\n code: \"GROUP_ID_EXISTS\"\n }\n };\n }\n\n const groupWithSlugExists = groups.find(g => g.slug === data.slug);\n if (groupWithSlugExists) {\n /**\n * If group with given slug already exists, we will map the ID to the existing group.\n *\n * We will also point all models from the imported group to the existing group.\n * We will not update the existing group.\n */\n return {\n group: {\n ...data,\n id: groupWithSlugExists.id\n },\n target: data.id,\n action: CmsImportAction.NONE\n };\n }\n\n return {\n group: data,\n action: CmsImportAction.CREATE\n };\n })\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { CmsGroup, CmsModel } from "../../../types";
2
+ import { CmsImportStructureParamsData, ValidatedCmsGroupResult, ValidatedCmsModelResult } from "../../types";
3
+ interface Params {
4
+ groups: CmsGroup[];
5
+ models: CmsModel[];
6
+ data: CmsImportStructureParamsData;
7
+ }
8
+ interface ValidResponse {
9
+ groups: ValidatedCmsGroupResult[];
10
+ models: ValidatedCmsModelResult[];
11
+ error?: never;
12
+ }
13
+ interface InvalidResponse {
14
+ groups: ValidatedCmsGroupResult[];
15
+ models: ValidatedCmsModelResult[];
16
+ error?: string;
17
+ }
18
+ export declare const validateInput: (params: Params) => Promise<ValidResponse | InvalidResponse>;
19
+ export {};
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.validateInput = void 0;
7
+ var _validateGroups = require("./validateGroups");
8
+ var _validateModels = require("./validateModels");
9
+ const validateInput = async params => {
10
+ const {
11
+ groups,
12
+ models,
13
+ data
14
+ } = params;
15
+ const validatedGroups = await (0, _validateGroups.validateGroups)({
16
+ groups,
17
+ input: data.groups
18
+ });
19
+ const inputGroups = validatedGroups.reduce((collection, data) => {
20
+ if (!data.group?.id) {
21
+ return collection;
22
+ }
23
+ collection.push({
24
+ id: data.group.id,
25
+ target: data.target || data.group.id,
26
+ slug: data.group.slug
27
+ });
28
+ return collection;
29
+ }, groups.map(g => {
30
+ return {
31
+ id: g.id,
32
+ target: g.id,
33
+ slug: g.slug
34
+ };
35
+ }));
36
+ const validatedModels = await (0, _validateModels.validateModels)({
37
+ groups: inputGroups,
38
+ models,
39
+ input: data.models
40
+ });
41
+ if (validatedModels.length === 0) {
42
+ return {
43
+ groups: validatedGroups,
44
+ models: validatedModels,
45
+ error: "No models to import."
46
+ };
47
+ }
48
+ return {
49
+ groups: validatedGroups,
50
+ models: validatedModels
51
+ };
52
+ };
53
+ exports.validateInput = validateInput;
54
+
55
+ //# sourceMappingURL=validateInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_validateGroups","require","_validateModels","validateInput","params","groups","models","data","validatedGroups","validateGroups","input","inputGroups","reduce","collection","group","id","push","target","slug","map","g","validatedModels","validateModels","length","error","exports"],"sources":["validateInput.ts"],"sourcesContent":["import { CmsGroup, CmsModel } from \"~/types\";\nimport {\n CmsImportStructureParamsData,\n ValidatedCmsGroupResult,\n ValidatedCmsModelResult\n} from \"~/export/types\";\nimport { validateGroups } from \"~/export/crud/imports/validateGroups\";\nimport { validateModels } from \"~/export/crud/imports/validateModels\";\n\ninterface Params {\n groups: CmsGroup[];\n models: CmsModel[];\n data: CmsImportStructureParamsData;\n}\n\ninterface ValidResponse {\n groups: ValidatedCmsGroupResult[];\n models: ValidatedCmsModelResult[];\n error?: never;\n}\n\ninterface InvalidResponse {\n groups: ValidatedCmsGroupResult[];\n models: ValidatedCmsModelResult[];\n error?: string;\n}\n\ninterface InputGroup extends Pick<CmsGroup, \"id\" | \"slug\"> {\n target: string;\n}\n\nexport const validateInput = async (params: Params): Promise<ValidResponse | InvalidResponse> => {\n const { groups, models, data } = params;\n\n const validatedGroups = await validateGroups({\n groups,\n input: data.groups\n });\n\n const inputGroups = validatedGroups.reduce<InputGroup[]>(\n (collection, data) => {\n if (!data.group?.id) {\n return collection;\n }\n collection.push({\n id: data.group.id,\n target: data.target || data.group.id,\n slug: data.group.slug\n });\n return collection;\n },\n groups.map(g => {\n return {\n id: g.id,\n target: g.id,\n slug: g.slug\n };\n })\n );\n const validatedModels = await validateModels({\n groups: inputGroups,\n models,\n input: data.models\n });\n if (validatedModels.length === 0) {\n return {\n groups: validatedGroups,\n models: validatedModels,\n error: \"No models to import.\"\n };\n }\n return {\n groups: validatedGroups,\n models: validatedModels\n };\n};\n"],"mappings":";;;;;;AAMA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAwBO,MAAME,aAAa,GAAG,MAAOC,MAAc,IAA+C;EAC7F,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAK,CAAC,GAAGH,MAAM;EAEvC,MAAMI,eAAe,GAAG,MAAM,IAAAC,8BAAc,EAAC;IACzCJ,MAAM;IACNK,KAAK,EAAEH,IAAI,CAACF;EAChB,CAAC,CAAC;EAEF,MAAMM,WAAW,GAAGH,eAAe,CAACI,MAAM,CACtC,CAACC,UAAU,EAAEN,IAAI,KAAK;IAClB,IAAI,CAACA,IAAI,CAACO,KAAK,EAAEC,EAAE,EAAE;MACjB,OAAOF,UAAU;IACrB;IACAA,UAAU,CAACG,IAAI,CAAC;MACZD,EAAE,EAAER,IAAI,CAACO,KAAK,CAACC,EAAE;MACjBE,MAAM,EAAEV,IAAI,CAACU,MAAM,IAAIV,IAAI,CAACO,KAAK,CAACC,EAAE;MACpCG,IAAI,EAAEX,IAAI,CAACO,KAAK,CAACI;IACrB,CAAC,CAAC;IACF,OAAOL,UAAU;EACrB,CAAC,EACDR,MAAM,CAACc,GAAG,CAACC,CAAC,IAAI;IACZ,OAAO;MACHL,EAAE,EAAEK,CAAC,CAACL,EAAE;MACRE,MAAM,EAAEG,CAAC,CAACL,EAAE;MACZG,IAAI,EAAEE,CAAC,CAACF;IACZ,CAAC;EACL,CAAC,CACL,CAAC;EACD,MAAMG,eAAe,GAAG,MAAM,IAAAC,8BAAc,EAAC;IACzCjB,MAAM,EAAEM,WAAW;IACnBL,MAAM;IACNI,KAAK,EAAEH,IAAI,CAACD;EAChB,CAAC,CAAC;EACF,IAAIe,eAAe,CAACE,MAAM,KAAK,CAAC,EAAE;IAC9B,OAAO;MACHlB,MAAM,EAAEG,eAAe;MACvBF,MAAM,EAAEe,eAAe;MACvBG,KAAK,EAAE;IACX,CAAC;EACL;EACA,OAAO;IACHnB,MAAM,EAAEG,eAAe;IACvBF,MAAM,EAAEe;EACZ,CAAC;AACL,CAAC;AAACI,OAAA,CAAAtB,aAAA,GAAAA,aAAA"}
@@ -0,0 +1,12 @@
1
+ import { HeadlessCmsImportStructureParamsDataModel, ValidatedCmsModelResult } from "../../types";
2
+ import { CmsGroup, CmsModel } from "../../../types";
3
+ interface InputGroup extends Pick<CmsGroup, "id" | "slug"> {
4
+ target: string;
5
+ }
6
+ interface Params {
7
+ groups: InputGroup[];
8
+ models: CmsModel[];
9
+ input: HeadlessCmsImportStructureParamsDataModel[];
10
+ }
11
+ export declare const validateModels: (params: Params) => Promise<ValidatedCmsModelResult[]>;
12
+ export {};