@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 @@
1
+ {"version":3,"names":["_date","require","_constants","_error","_interopRequireDefault","_entryDataValidation","_referenceFieldsMapping","_utils","_statuses","_identity","createEntryData","model","rawInput","options","context","getIdentity","getSecurityIdentity","getLocale","getTenant","entriesPermissions","initialInput","mapAndCleanCreateInputData","validateModelEntryDataOrThrow","data","skipValidators","input","referenceFieldsMapping","validateEntries","locale","id","entryId","version","createEntryId","currentIdentity","currentDateTime","Date","status","STATUS_DRAFT","STATUS_PUBLISHED","ensure","pw","STATUS_UNPUBLISHED","locked","revisionLevelPublishingMetaFields","revisionFirstPublishedOn","revisionLastPublishedOn","revisionFirstPublishedBy","revisionLastPublishedBy","entryLevelPublishingMetaFields","firstPublishedOn","lastPublishedOn","firstPublishedBy","lastPublishedBy","getDate","entry","webinyVersion","WEBINY_VERSION","tenant","modelId","code","createdOn","modifiedOn","savedOn","createdBy","modifiedBy","savedBy","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","values","location","folderId","wbyAco_location","ROOT_FOLDER","exports","convertDefaultValue","field","value","type","Boolean","Number","getDefaultValue","settings","multipleValues","defaultValue","undefined","predefinedValues","enabled","Array","isArray","selectedValue","find","selected","filter","map","fields","reduce","acc","fieldId","WebinyError","mdbid","match","createIdentifier"],"sources":["createEntryData.ts"],"sourcesContent":["import {\n CmsContext,\n CmsEntry,\n CmsModel,\n CmsModelField,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types\";\nimport { getDate } from \"~/utils/date\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport WebinyError from \"@webiny/error\";\nimport { validateModelEntryDataOrThrow } from \"~/crud/contentEntry/entryDataValidation\";\nimport { referenceFieldsMapping } from \"~/crud/contentEntry/referenceFieldsMapping\";\nimport { createIdentifier, mdbid } from \"@webiny/utils\";\nimport { STATUS_DRAFT, STATUS_PUBLISHED, STATUS_UNPUBLISHED } from \"./statuses\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { EntriesPermissions } from \"~/utils/permissions/EntriesPermissions\";\nimport { getIdentity } from \"~/utils/identity\";\n\ntype DefaultValue = boolean | number | string | null;\n\ntype CreateEntryDataParams = {\n model: CmsModel;\n rawInput: CreateCmsEntryInput;\n options?: CreateCmsEntryOptionsInput;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n entriesPermissions: EntriesPermissions;\n};\n\nexport const createEntryData = async ({\n model,\n rawInput,\n options,\n context,\n getIdentity: getSecurityIdentity,\n getLocale,\n getTenant,\n entriesPermissions\n}: CreateEntryDataParams): Promise<{\n entry: CmsEntry;\n input: Record<string, any>;\n}> => {\n const initialInput = mapAndCleanCreateInputData(model, rawInput);\n\n await validateModelEntryDataOrThrow({\n context,\n model,\n data: initialInput,\n skipValidators: options?.skipValidators\n });\n\n const input = await referenceFieldsMapping({\n context,\n model,\n input: initialInput,\n validateEntries: true\n });\n\n const locale = getLocale();\n\n const { id, entryId, version } = createEntryId(rawInput);\n\n /**\n * There is a possibility that user sends an ID in the input, so we will use that one.\n * There is no check if the ID is unique or not, that is up to the user.\n */\n const currentIdentity = getSecurityIdentity();\n const currentDateTime = new Date();\n\n /**\n * Users can set the initial status of the entry. If so, we need to make\n * sure they have the required permissions and also that all the fields\n * are filled in correctly.\n */\n const status = rawInput.status || STATUS_DRAFT;\n if (status !== STATUS_DRAFT) {\n if (status === STATUS_PUBLISHED) {\n await entriesPermissions.ensure({ pw: \"p\" });\n } else if (status === STATUS_UNPUBLISHED) {\n // If setting the status other than draft, we have to check if the user has permissions to publish.\n await entriesPermissions.ensure({ pw: \"u\" });\n }\n }\n\n const locked = status !== STATUS_DRAFT;\n\n let revisionLevelPublishingMetaFields: Pick<\n CmsEntry,\n | \"revisionFirstPublishedOn\"\n | \"revisionLastPublishedOn\"\n | \"revisionFirstPublishedBy\"\n | \"revisionLastPublishedBy\"\n > = {\n revisionFirstPublishedOn: null,\n revisionLastPublishedOn: null,\n revisionFirstPublishedBy: null,\n revisionLastPublishedBy: null\n };\n\n let entryLevelPublishingMetaFields: Pick<\n CmsEntry,\n \"firstPublishedOn\" | \"lastPublishedOn\" | \"firstPublishedBy\" | \"lastPublishedBy\"\n > = {\n firstPublishedOn: null,\n lastPublishedOn: null,\n firstPublishedBy: null,\n lastPublishedBy: null\n };\n\n if (status === STATUS_PUBLISHED) {\n revisionLevelPublishingMetaFields = {\n revisionFirstPublishedOn: getDate(rawInput.revisionFirstPublishedOn, currentDateTime),\n revisionLastPublishedOn: getDate(rawInput.revisionLastPublishedOn, currentDateTime),\n revisionFirstPublishedBy: getIdentity(\n rawInput.revisionFirstPublishedBy,\n currentIdentity\n ),\n revisionLastPublishedBy: getIdentity(rawInput.revisionLastPublishedBy, currentIdentity)\n };\n\n entryLevelPublishingMetaFields = {\n firstPublishedOn: getDate(rawInput.firstPublishedOn, currentDateTime),\n lastPublishedOn: getDate(rawInput.lastPublishedOn, currentDateTime),\n firstPublishedBy: getIdentity(rawInput.firstPublishedBy, currentIdentity),\n lastPublishedBy: getIdentity(rawInput.lastPublishedBy, currentIdentity)\n };\n }\n\n const entry: CmsEntry = {\n webinyVersion: context.WEBINY_VERSION,\n tenant: getTenant().id,\n entryId,\n id,\n modelId: model.modelId,\n locale: locale.code,\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: getDate(rawInput.createdOn, currentDateTime),\n modifiedOn: getDate(rawInput.modifiedOn, null),\n savedOn: getDate(rawInput.savedOn, currentDateTime),\n createdBy: getIdentity(rawInput.createdBy, currentIdentity),\n modifiedBy: getIdentity(rawInput.modifiedBy, null),\n savedBy: getIdentity(rawInput.savedBy, currentIdentity),\n ...entryLevelPublishingMetaFields,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: getDate(rawInput.revisionCreatedOn, currentDateTime),\n revisionModifiedOn: getDate(rawInput.revisionModifiedOn, null),\n revisionSavedOn: getDate(rawInput.revisionSavedOn, currentDateTime),\n revisionCreatedBy: getIdentity(rawInput.revisionCreatedBy, currentIdentity),\n revisionModifiedBy: getIdentity(rawInput.revisionModifiedBy, null),\n revisionSavedBy: getIdentity(rawInput.revisionSavedBy, currentIdentity),\n ...revisionLevelPublishingMetaFields,\n\n version,\n status,\n locked,\n values: input,\n location: {\n folderId: rawInput.wbyAco_location?.folderId || ROOT_FOLDER\n }\n };\n\n return { entry, input };\n};\n\n/**\n * Used for some fields to convert their values.\n */\nconst convertDefaultValue = (field: CmsModelField, value: DefaultValue): DefaultValue => {\n switch (field.type) {\n case \"boolean\":\n return Boolean(value);\n case \"number\":\n return Number(value);\n default:\n return value;\n }\n};\n\nconst getDefaultValue = (field: CmsModelField): (DefaultValue | DefaultValue[]) | undefined => {\n const { settings, multipleValues } = field;\n if (settings && settings.defaultValue !== undefined) {\n return convertDefaultValue(field, settings.defaultValue);\n }\n const { predefinedValues } = field;\n if (\n !predefinedValues ||\n !predefinedValues.enabled ||\n Array.isArray(predefinedValues.values) === false\n ) {\n return undefined;\n }\n if (!multipleValues) {\n const selectedValue = predefinedValues.values.find(value => {\n return !!value.selected;\n });\n if (selectedValue) {\n return convertDefaultValue(field, selectedValue.value);\n }\n return undefined;\n }\n return predefinedValues.values\n .filter(({ selected }) => !!selected)\n .map(({ value }) => {\n return convertDefaultValue(field, value);\n });\n};\n\n/**\n * Cleans and adds default values to create input data.\n */\nconst mapAndCleanCreateInputData = (model: CmsModel, input: CreateCmsEntryInput) => {\n return model.fields.reduce<CreateCmsEntryInput>((acc, field) => {\n /**\n * This should never happen, but let's make it sure.\n * The fix would be for the user to add the fieldId on the field definition.\n */\n if (!field.fieldId) {\n throw new WebinyError(\"Field does not have an fieldId.\", \"MISSING_FIELD_ID\", {\n field\n });\n }\n const value = input[field.fieldId];\n /**\n * We set the default value on create input if value is not defined.\n */\n acc[field.fieldId] = value === undefined ? getDefaultValue(field) : value;\n return acc;\n }, {});\n};\n\nconst createEntryId = (input: CreateCmsEntryInput) => {\n let entryId = mdbid();\n if (input.id) {\n if (input.id.match(/^([a-zA-Z0-9])([a-zA-Z0-9\\-]+)([a-zA-Z0-9])$/) === null) {\n throw new WebinyError(\n \"The provided ID is not valid. It must be a string which can be A-Z, a-z, 0-9, - and it cannot start or end with a -.\",\n \"INVALID_ID\",\n {\n id: input.id\n }\n );\n }\n entryId = input.id;\n }\n const version = 1;\n return {\n entryId,\n version,\n id: createIdentifier({\n id: entryId,\n version\n })\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { CmsContext, CmsEntry, CmsModel, CreateCmsEntryInput, CreateCmsEntryOptionsInput } from "../../../types";
2
+ import { SecurityIdentity } from "@webiny/api-security/types";
3
+ import { Tenant } from "@webiny/api-tenancy/types";
4
+ import { I18NLocale } from "@webiny/api-i18n/types";
5
+ declare type CreateEntryRevisionFromDataParams = {
6
+ sourceId: string;
7
+ model: CmsModel;
8
+ rawInput: CreateCmsEntryInput;
9
+ options?: CreateCmsEntryOptionsInput;
10
+ context: CmsContext;
11
+ getIdentity: () => SecurityIdentity;
12
+ getTenant: () => Tenant;
13
+ getLocale: () => I18NLocale;
14
+ originalEntry: CmsEntry;
15
+ latestStorageEntry: CmsEntry;
16
+ };
17
+ export declare const createEntryRevisionFromData: ({ sourceId, model, rawInput, options, context, getIdentity: getSecurityIdentity, originalEntry, latestStorageEntry }: CreateEntryRevisionFromDataParams) => Promise<{
18
+ entry: CmsEntry;
19
+ input: Record<string, any>;
20
+ }>;
21
+ export {};
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createEntryRevisionFromData = void 0;
8
+ var _date = require("../../../utils/date");
9
+ var _identity = require("../../../utils/identity");
10
+ var _mapAndCleanUpdatedInputData = require(".//mapAndCleanUpdatedInputData");
11
+ var _entryDataValidation = require("../entryDataValidation");
12
+ var _referenceFieldsMapping = require("../referenceFieldsMapping");
13
+ var _utils = require("@webiny/utils");
14
+ var _error = _interopRequireDefault(require("@webiny/error"));
15
+ var _statuses = require("./statuses");
16
+ const createEntryRevisionFromData = async ({
17
+ sourceId,
18
+ model,
19
+ rawInput,
20
+ options,
21
+ context,
22
+ getIdentity: getSecurityIdentity,
23
+ originalEntry,
24
+ latestStorageEntry
25
+ }) => {
26
+ /**
27
+ * Make sure we only work with fields that are defined in the model.
28
+ */
29
+ const input = (0, _mapAndCleanUpdatedInputData.mapAndCleanUpdatedInputData)(model, rawInput);
30
+ const initialValues = {
31
+ ...originalEntry.values,
32
+ ...input
33
+ };
34
+ await (0, _entryDataValidation.validateModelEntryDataOrThrow)({
35
+ context,
36
+ model,
37
+ data: initialValues,
38
+ entry: originalEntry,
39
+ skipValidators: options?.skipValidators
40
+ });
41
+ const values = await (0, _referenceFieldsMapping.referenceFieldsMapping)({
42
+ context,
43
+ model,
44
+ input: initialValues,
45
+ validateEntries: false
46
+ });
47
+ const latestId = latestStorageEntry ? latestStorageEntry.id : sourceId;
48
+ const {
49
+ id,
50
+ version: nextVersion
51
+ } = increaseEntryIdVersion(latestId);
52
+ const currentIdentity = getSecurityIdentity();
53
+ const currentDateTime = new Date();
54
+ const entry = {
55
+ ...originalEntry,
56
+ id,
57
+ version: nextVersion,
58
+ /**
59
+ * Entry-level meta fields. 👇
60
+ */
61
+ createdOn: (0, _date.getDate)(rawInput.createdOn, latestStorageEntry.createdOn),
62
+ savedOn: (0, _date.getDate)(rawInput.savedOn, currentDateTime),
63
+ modifiedOn: (0, _date.getDate)(rawInput.modifiedOn, currentDateTime),
64
+ firstPublishedOn: (0, _date.getDate)(rawInput.firstPublishedOn, latestStorageEntry.firstPublishedOn),
65
+ lastPublishedOn: (0, _date.getDate)(rawInput.lastPublishedOn, latestStorageEntry.lastPublishedOn),
66
+ createdBy: (0, _identity.getIdentity)(rawInput.createdBy, latestStorageEntry.createdBy),
67
+ savedBy: (0, _identity.getIdentity)(rawInput.savedBy, currentIdentity),
68
+ modifiedBy: (0, _identity.getIdentity)(rawInput.modifiedBy, currentIdentity),
69
+ firstPublishedBy: (0, _identity.getIdentity)(rawInput.firstPublishedBy, latestStorageEntry.firstPublishedBy),
70
+ lastPublishedBy: (0, _identity.getIdentity)(rawInput.lastPublishedBy, latestStorageEntry.lastPublishedBy),
71
+ /**
72
+ * Revision-level meta fields. 👇
73
+ */
74
+ revisionCreatedOn: (0, _date.getDate)(rawInput.revisionCreatedOn, currentDateTime),
75
+ revisionSavedOn: (0, _date.getDate)(rawInput.revisionSavedOn, currentDateTime),
76
+ revisionModifiedOn: (0, _date.getDate)(rawInput.revisionModifiedOn, null),
77
+ revisionFirstPublishedOn: (0, _date.getDate)(rawInput.revisionFirstPublishedOn, null),
78
+ revisionLastPublishedOn: (0, _date.getDate)(rawInput.revisionLastPublishedOn, null),
79
+ revisionCreatedBy: (0, _identity.getIdentity)(rawInput.revisionCreatedBy, currentIdentity),
80
+ revisionSavedBy: (0, _identity.getIdentity)(rawInput.revisionSavedBy, currentIdentity),
81
+ revisionModifiedBy: (0, _identity.getIdentity)(rawInput.revisionModifiedBy, null),
82
+ revisionFirstPublishedBy: (0, _identity.getIdentity)(rawInput.revisionFirstPublishedBy, null),
83
+ revisionLastPublishedBy: (0, _identity.getIdentity)(rawInput.revisionLastPublishedBy, null),
84
+ locked: false,
85
+ status: _statuses.STATUS_DRAFT,
86
+ values
87
+ };
88
+ return {
89
+ entry,
90
+ input
91
+ };
92
+ };
93
+ exports.createEntryRevisionFromData = createEntryRevisionFromData;
94
+ const increaseEntryIdVersion = id => {
95
+ const {
96
+ id: entryId,
97
+ version
98
+ } = (0, _utils.parseIdentifier)(id);
99
+ if (!version) {
100
+ throw new _error.default("Cannot increase version on the ID without the version part.", "WRONG_ID", {
101
+ id
102
+ });
103
+ }
104
+ return {
105
+ entryId,
106
+ version: version + 1,
107
+ id: (0, _utils.createIdentifier)({
108
+ id: entryId,
109
+ version: version + 1
110
+ })
111
+ };
112
+ };
113
+
114
+ //# sourceMappingURL=createEntryRevisionFromData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_date","require","_identity","_mapAndCleanUpdatedInputData","_entryDataValidation","_referenceFieldsMapping","_utils","_error","_interopRequireDefault","_statuses","createEntryRevisionFromData","sourceId","model","rawInput","options","context","getIdentity","getSecurityIdentity","originalEntry","latestStorageEntry","input","mapAndCleanUpdatedInputData","initialValues","values","validateModelEntryDataOrThrow","data","entry","skipValidators","referenceFieldsMapping","validateEntries","latestId","id","version","nextVersion","increaseEntryIdVersion","currentIdentity","currentDateTime","Date","createdOn","getDate","savedOn","modifiedOn","firstPublishedOn","lastPublishedOn","createdBy","savedBy","modifiedBy","firstPublishedBy","lastPublishedBy","revisionCreatedOn","revisionSavedOn","revisionModifiedOn","revisionFirstPublishedOn","revisionLastPublishedOn","revisionCreatedBy","revisionSavedBy","revisionModifiedBy","revisionFirstPublishedBy","revisionLastPublishedBy","locked","status","STATUS_DRAFT","exports","entryId","parseIdentifier","WebinyError","createIdentifier"],"sources":["createEntryRevisionFromData.ts"],"sourcesContent":["import {\n CmsContext,\n CmsEntry,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types\";\nimport { getDate } from \"~/utils/date\";\nimport { getIdentity } from \"~/utils/identity\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { mapAndCleanUpdatedInputData } from \".//mapAndCleanUpdatedInputData\";\nimport { validateModelEntryDataOrThrow } from \"../entryDataValidation\";\nimport { referenceFieldsMapping } from \"../referenceFieldsMapping\";\nimport { createIdentifier, parseIdentifier } from \"@webiny/utils\";\nimport WebinyError from \"@webiny/error\";\nimport { STATUS_DRAFT } from \"./statuses\";\n\ntype CreateEntryRevisionFromDataParams = {\n sourceId: string;\n model: CmsModel;\n rawInput: CreateCmsEntryInput;\n options?: CreateCmsEntryOptionsInput;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n originalEntry: CmsEntry;\n latestStorageEntry: CmsEntry;\n};\n\nexport const createEntryRevisionFromData = async ({\n sourceId,\n model,\n rawInput,\n options,\n context,\n getIdentity: getSecurityIdentity,\n originalEntry,\n latestStorageEntry\n}: CreateEntryRevisionFromDataParams): Promise<{\n entry: CmsEntry;\n input: Record<string, any>;\n}> => {\n /**\n * Make sure we only work with fields that are defined in the model.\n */\n const input = mapAndCleanUpdatedInputData(model, rawInput);\n\n const initialValues = {\n ...originalEntry.values,\n ...input\n };\n\n await validateModelEntryDataOrThrow({\n context,\n model,\n data: initialValues,\n entry: originalEntry,\n skipValidators: options?.skipValidators\n });\n\n const values = await referenceFieldsMapping({\n context,\n model,\n input: initialValues,\n validateEntries: false\n });\n\n const latestId = latestStorageEntry ? latestStorageEntry.id : sourceId;\n const { id, version: nextVersion } = increaseEntryIdVersion(latestId);\n\n const currentIdentity = getSecurityIdentity();\n const currentDateTime = new Date();\n\n const entry: CmsEntry = {\n ...originalEntry,\n id,\n version: nextVersion,\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: getDate(rawInput.createdOn, latestStorageEntry.createdOn),\n savedOn: getDate(rawInput.savedOn, currentDateTime),\n modifiedOn: getDate(rawInput.modifiedOn, currentDateTime),\n firstPublishedOn: getDate(rawInput.firstPublishedOn, latestStorageEntry.firstPublishedOn),\n lastPublishedOn: getDate(rawInput.lastPublishedOn, latestStorageEntry.lastPublishedOn),\n createdBy: getIdentity(rawInput.createdBy, latestStorageEntry.createdBy),\n savedBy: getIdentity(rawInput.savedBy, currentIdentity),\n modifiedBy: getIdentity(rawInput.modifiedBy, currentIdentity),\n firstPublishedBy: getIdentity(\n rawInput.firstPublishedBy,\n latestStorageEntry.firstPublishedBy\n ),\n lastPublishedBy: getIdentity(rawInput.lastPublishedBy, latestStorageEntry.lastPublishedBy),\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: getDate(rawInput.revisionCreatedOn, currentDateTime),\n revisionSavedOn: getDate(rawInput.revisionSavedOn, currentDateTime),\n revisionModifiedOn: getDate(rawInput.revisionModifiedOn, null),\n revisionFirstPublishedOn: getDate(rawInput.revisionFirstPublishedOn, null),\n revisionLastPublishedOn: getDate(rawInput.revisionLastPublishedOn, null),\n revisionCreatedBy: getIdentity(rawInput.revisionCreatedBy, currentIdentity),\n revisionSavedBy: getIdentity(rawInput.revisionSavedBy, currentIdentity),\n revisionModifiedBy: getIdentity(rawInput.revisionModifiedBy, null),\n revisionFirstPublishedBy: getIdentity(rawInput.revisionFirstPublishedBy, null),\n revisionLastPublishedBy: getIdentity(rawInput.revisionLastPublishedBy, null),\n\n locked: false,\n status: STATUS_DRAFT,\n values\n };\n\n return { entry, input };\n};\n\nconst increaseEntryIdVersion = (id: string) => {\n const { id: entryId, version } = parseIdentifier(id);\n if (!version) {\n throw new WebinyError(\n \"Cannot increase version on the ID without the version part.\",\n \"WRONG_ID\",\n {\n id\n }\n );\n }\n return {\n entryId,\n version: version + 1,\n id: createIdentifier({\n id: entryId,\n version: version + 1\n })\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { CmsContext, CmsEntry, CmsModel } from "../../../types";
2
+ import { SecurityIdentity } from "@webiny/api-security/types";
3
+ declare type CreatePublishEntryDataParams = {
4
+ model: CmsModel;
5
+ context: CmsContext;
6
+ getIdentity: () => SecurityIdentity;
7
+ originalEntry: CmsEntry;
8
+ latestEntry: CmsEntry;
9
+ };
10
+ export declare const createPublishEntryData: ({ model, context, getIdentity: getSecurityIdentity, originalEntry, latestEntry }: CreatePublishEntryDataParams) => Promise<{
11
+ entry: CmsEntry;
12
+ }>;
13
+ export {};
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createPublishEntryData = void 0;
7
+ var _statuses = require("./statuses");
8
+ var _entryDataValidation = require("../entryDataValidation");
9
+ const createPublishEntryData = async ({
10
+ model,
11
+ context,
12
+ getIdentity: getSecurityIdentity,
13
+ originalEntry,
14
+ latestEntry
15
+ }) => {
16
+ await (0, _entryDataValidation.validateModelEntryDataOrThrow)({
17
+ context,
18
+ model,
19
+ data: originalEntry.values,
20
+ entry: originalEntry
21
+ });
22
+ const currentDateTime = new Date().toISOString();
23
+ const currentIdentity = getSecurityIdentity();
24
+ const entry = {
25
+ ...originalEntry,
26
+ status: _statuses.STATUS_PUBLISHED,
27
+ locked: true,
28
+ /**
29
+ * Entry-level meta fields. 👇
30
+ */
31
+ createdOn: latestEntry.createdOn,
32
+ modifiedOn: currentDateTime,
33
+ savedOn: currentDateTime,
34
+ firstPublishedOn: latestEntry.firstPublishedOn || currentDateTime,
35
+ lastPublishedOn: currentDateTime,
36
+ createdBy: latestEntry.createdBy,
37
+ modifiedBy: currentIdentity,
38
+ savedBy: currentIdentity,
39
+ firstPublishedBy: latestEntry.firstPublishedBy || currentIdentity,
40
+ lastPublishedBy: currentIdentity,
41
+ /**
42
+ * Revision-level meta fields. 👇
43
+ */
44
+ revisionCreatedOn: originalEntry.revisionCreatedOn,
45
+ revisionSavedOn: currentDateTime,
46
+ revisionModifiedOn: currentDateTime,
47
+ revisionFirstPublishedOn: originalEntry.revisionFirstPublishedOn || currentDateTime,
48
+ revisionLastPublishedOn: currentDateTime,
49
+ revisionCreatedBy: originalEntry.revisionCreatedBy,
50
+ revisionSavedBy: currentIdentity,
51
+ revisionModifiedBy: currentIdentity,
52
+ revisionFirstPublishedBy: originalEntry.revisionFirstPublishedBy || currentIdentity,
53
+ revisionLastPublishedBy: currentIdentity
54
+ };
55
+ return {
56
+ entry
57
+ };
58
+ };
59
+ exports.createPublishEntryData = createPublishEntryData;
60
+
61
+ //# sourceMappingURL=createPublishEntryData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_statuses","require","_entryDataValidation","createPublishEntryData","model","context","getIdentity","getSecurityIdentity","originalEntry","latestEntry","validateModelEntryDataOrThrow","data","values","entry","currentDateTime","Date","toISOString","currentIdentity","status","STATUS_PUBLISHED","locked","createdOn","modifiedOn","savedOn","firstPublishedOn","lastPublishedOn","createdBy","modifiedBy","savedBy","firstPublishedBy","lastPublishedBy","revisionCreatedOn","revisionSavedOn","revisionModifiedOn","revisionFirstPublishedOn","revisionLastPublishedOn","revisionCreatedBy","revisionSavedBy","revisionModifiedBy","revisionFirstPublishedBy","revisionLastPublishedBy","exports"],"sources":["createPublishEntryData.ts"],"sourcesContent":["import { CmsContext, CmsEntry, CmsModel } from \"~/types\";\nimport { STATUS_PUBLISHED } from \"./statuses\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { validateModelEntryDataOrThrow } from \"~/crud/contentEntry/entryDataValidation\";\n\ntype CreatePublishEntryDataParams = {\n model: CmsModel;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n originalEntry: CmsEntry;\n latestEntry: CmsEntry;\n};\n\nexport const createPublishEntryData = async ({\n model,\n context,\n getIdentity: getSecurityIdentity,\n originalEntry,\n latestEntry\n}: CreatePublishEntryDataParams): Promise<{\n entry: CmsEntry;\n}> => {\n await validateModelEntryDataOrThrow({\n context,\n model,\n data: originalEntry.values,\n entry: originalEntry\n });\n\n const currentDateTime = new Date().toISOString();\n const currentIdentity = getSecurityIdentity();\n\n const entry: CmsEntry = {\n ...originalEntry,\n status: STATUS_PUBLISHED,\n locked: true,\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: latestEntry.createdOn,\n modifiedOn: currentDateTime,\n savedOn: currentDateTime,\n firstPublishedOn: latestEntry.firstPublishedOn || currentDateTime,\n lastPublishedOn: currentDateTime,\n createdBy: latestEntry.createdBy,\n modifiedBy: currentIdentity,\n savedBy: currentIdentity,\n firstPublishedBy: latestEntry.firstPublishedBy || currentIdentity,\n lastPublishedBy: currentIdentity,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: originalEntry.revisionCreatedOn,\n revisionSavedOn: currentDateTime,\n revisionModifiedOn: currentDateTime,\n revisionFirstPublishedOn: originalEntry.revisionFirstPublishedOn || currentDateTime,\n revisionLastPublishedOn: currentDateTime,\n revisionCreatedBy: originalEntry.revisionCreatedBy,\n revisionSavedBy: currentIdentity,\n revisionModifiedBy: currentIdentity,\n revisionFirstPublishedBy: originalEntry.revisionFirstPublishedBy || currentIdentity,\n revisionLastPublishedBy: currentIdentity\n };\n\n return { entry };\n};\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AAUO,MAAME,sBAAsB,GAAG,MAAAA,CAAO;EACzCC,KAAK;EACLC,OAAO;EACPC,WAAW,EAAEC,mBAAmB;EAChCC,aAAa;EACbC;AAC0B,CAAC,KAEzB;EACF,MAAM,IAAAC,kDAA6B,EAAC;IAChCL,OAAO;IACPD,KAAK;IACLO,IAAI,EAAEH,aAAa,CAACI,MAAM;IAC1BC,KAAK,EAAEL;EACX,CAAC,CAAC;EAEF,MAAMM,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EAChD,MAAMC,eAAe,GAAGV,mBAAmB,CAAC,CAAC;EAE7C,MAAMM,KAAe,GAAG;IACpB,GAAGL,aAAa;IAChBU,MAAM,EAAEC,0BAAgB;IACxBC,MAAM,EAAE,IAAI;IAEZ;AACR;AACA;IACQC,SAAS,EAAEZ,WAAW,CAACY,SAAS;IAChCC,UAAU,EAAER,eAAe;IAC3BS,OAAO,EAAET,eAAe;IACxBU,gBAAgB,EAAEf,WAAW,CAACe,gBAAgB,IAAIV,eAAe;IACjEW,eAAe,EAAEX,eAAe;IAChCY,SAAS,EAAEjB,WAAW,CAACiB,SAAS;IAChCC,UAAU,EAAEV,eAAe;IAC3BW,OAAO,EAAEX,eAAe;IACxBY,gBAAgB,EAAEpB,WAAW,CAACoB,gBAAgB,IAAIZ,eAAe;IACjEa,eAAe,EAAEb,eAAe;IAEhC;AACR;AACA;IACQc,iBAAiB,EAAEvB,aAAa,CAACuB,iBAAiB;IAClDC,eAAe,EAAElB,eAAe;IAChCmB,kBAAkB,EAAEnB,eAAe;IACnCoB,wBAAwB,EAAE1B,aAAa,CAAC0B,wBAAwB,IAAIpB,eAAe;IACnFqB,uBAAuB,EAAErB,eAAe;IACxCsB,iBAAiB,EAAE5B,aAAa,CAAC4B,iBAAiB;IAClDC,eAAe,EAAEpB,eAAe;IAChCqB,kBAAkB,EAAErB,eAAe;IACnCsB,wBAAwB,EAAE/B,aAAa,CAAC+B,wBAAwB,IAAItB,eAAe;IACnFuB,uBAAuB,EAAEvB;EAC7B,CAAC;EAED,OAAO;IAAEJ;EAAM,CAAC;AACpB,CAAC;AAAC4B,OAAA,CAAAtC,sBAAA,GAAAA,sBAAA"}
@@ -0,0 +1,12 @@
1
+ import { CmsContext, CmsEntry, CmsModel } from "../../../types";
2
+ import { SecurityIdentity } from "@webiny/api-security/types";
3
+ declare type CreateRepublishEntryDataParams = {
4
+ model: CmsModel;
5
+ context: CmsContext;
6
+ getIdentity: () => SecurityIdentity;
7
+ originalEntry: CmsEntry;
8
+ };
9
+ export declare const createRepublishEntryData: ({ model, context, getIdentity: getSecurityIdentity, originalEntry }: CreateRepublishEntryDataParams) => Promise<{
10
+ entry: CmsEntry;
11
+ }>;
12
+ export {};
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createRepublishEntryData = void 0;
7
+ var _referenceFieldsMapping = require("../referenceFieldsMapping");
8
+ var _statuses = require("./statuses");
9
+ const createRepublishEntryData = async ({
10
+ model,
11
+ context,
12
+ getIdentity: getSecurityIdentity,
13
+ originalEntry
14
+ }) => {
15
+ const values = await (0, _referenceFieldsMapping.referenceFieldsMapping)({
16
+ context,
17
+ model,
18
+ input: originalEntry.values,
19
+ validateEntries: false
20
+ });
21
+ const currentDateTime = new Date().toISOString();
22
+ const currentIdentity = getSecurityIdentity();
23
+ const entry = {
24
+ ...originalEntry,
25
+ status: _statuses.STATUS_PUBLISHED,
26
+ /**
27
+ * Entry-level meta fields. 👇
28
+ */
29
+ savedOn: currentDateTime,
30
+ modifiedOn: currentDateTime,
31
+ savedBy: currentIdentity,
32
+ modifiedBy: currentIdentity,
33
+ firstPublishedOn: originalEntry.firstPublishedOn || currentDateTime,
34
+ firstPublishedBy: originalEntry.firstPublishedBy || currentIdentity,
35
+ lastPublishedOn: currentDateTime,
36
+ lastPublishedBy: currentIdentity,
37
+ /**
38
+ * Revision-level meta fields. 👇
39
+ */
40
+ revisionSavedOn: currentDateTime,
41
+ revisionModifiedOn: currentDateTime,
42
+ revisionSavedBy: currentIdentity,
43
+ revisionModifiedBy: currentIdentity,
44
+ revisionFirstPublishedOn: originalEntry.revisionFirstPublishedOn || currentDateTime,
45
+ revisionFirstPublishedBy: originalEntry.revisionFirstPublishedBy || currentIdentity,
46
+ revisionLastPublishedOn: currentDateTime,
47
+ revisionLastPublishedBy: currentIdentity,
48
+ webinyVersion: context.WEBINY_VERSION,
49
+ values
50
+ };
51
+ return {
52
+ entry
53
+ };
54
+ };
55
+ exports.createRepublishEntryData = createRepublishEntryData;
56
+
57
+ //# sourceMappingURL=createRepublishEntryData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_referenceFieldsMapping","require","_statuses","createRepublishEntryData","model","context","getIdentity","getSecurityIdentity","originalEntry","values","referenceFieldsMapping","input","validateEntries","currentDateTime","Date","toISOString","currentIdentity","entry","status","STATUS_PUBLISHED","savedOn","modifiedOn","savedBy","modifiedBy","firstPublishedOn","firstPublishedBy","lastPublishedOn","lastPublishedBy","revisionSavedOn","revisionModifiedOn","revisionSavedBy","revisionModifiedBy","revisionFirstPublishedOn","revisionFirstPublishedBy","revisionLastPublishedOn","revisionLastPublishedBy","webinyVersion","WEBINY_VERSION","exports"],"sources":["createRepublishEntryData.ts"],"sourcesContent":["import { CmsContext, CmsEntry, CmsModel } from \"~/types\";\nimport { referenceFieldsMapping } from \"~/crud/contentEntry/referenceFieldsMapping\";\nimport { STATUS_PUBLISHED } from \"./statuses\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\n\ntype CreateRepublishEntryDataParams = {\n model: CmsModel;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n originalEntry: CmsEntry;\n};\n\nexport const createRepublishEntryData = async ({\n model,\n context,\n getIdentity: getSecurityIdentity,\n originalEntry\n}: CreateRepublishEntryDataParams): Promise<{\n entry: CmsEntry;\n}> => {\n const values = await referenceFieldsMapping({\n context,\n model,\n input: originalEntry.values,\n validateEntries: false\n });\n\n const currentDateTime = new Date().toISOString();\n const currentIdentity = getSecurityIdentity();\n\n const entry: CmsEntry = {\n ...originalEntry,\n status: STATUS_PUBLISHED,\n\n /**\n * Entry-level meta fields. 👇\n */\n savedOn: currentDateTime,\n modifiedOn: currentDateTime,\n savedBy: currentIdentity,\n modifiedBy: currentIdentity,\n firstPublishedOn: originalEntry.firstPublishedOn || currentDateTime,\n firstPublishedBy: originalEntry.firstPublishedBy || currentIdentity,\n lastPublishedOn: currentDateTime,\n lastPublishedBy: currentIdentity,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionSavedOn: currentDateTime,\n revisionModifiedOn: currentDateTime,\n revisionSavedBy: currentIdentity,\n revisionModifiedBy: currentIdentity,\n revisionFirstPublishedOn: originalEntry.revisionFirstPublishedOn || currentDateTime,\n revisionFirstPublishedBy: originalEntry.revisionFirstPublishedBy || currentIdentity,\n revisionLastPublishedOn: currentDateTime,\n revisionLastPublishedBy: currentIdentity,\n\n webinyVersion: context.WEBINY_VERSION,\n values\n };\n\n return { entry };\n};\n"],"mappings":";;;;;;AACA,IAAAA,uBAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAUO,MAAME,wBAAwB,GAAG,MAAAA,CAAO;EAC3CC,KAAK;EACLC,OAAO;EACPC,WAAW,EAAEC,mBAAmB;EAChCC;AAC4B,CAAC,KAE3B;EACF,MAAMC,MAAM,GAAG,MAAM,IAAAC,8CAAsB,EAAC;IACxCL,OAAO;IACPD,KAAK;IACLO,KAAK,EAAEH,aAAa,CAACC,MAAM;IAC3BG,eAAe,EAAE;EACrB,CAAC,CAAC;EAEF,MAAMC,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EAChD,MAAMC,eAAe,GAAGT,mBAAmB,CAAC,CAAC;EAE7C,MAAMU,KAAe,GAAG;IACpB,GAAGT,aAAa;IAChBU,MAAM,EAAEC,0BAAgB;IAExB;AACR;AACA;IACQC,OAAO,EAAEP,eAAe;IACxBQ,UAAU,EAAER,eAAe;IAC3BS,OAAO,EAAEN,eAAe;IACxBO,UAAU,EAAEP,eAAe;IAC3BQ,gBAAgB,EAAEhB,aAAa,CAACgB,gBAAgB,IAAIX,eAAe;IACnEY,gBAAgB,EAAEjB,aAAa,CAACiB,gBAAgB,IAAIT,eAAe;IACnEU,eAAe,EAAEb,eAAe;IAChCc,eAAe,EAAEX,eAAe;IAEhC;AACR;AACA;IACQY,eAAe,EAAEf,eAAe;IAChCgB,kBAAkB,EAAEhB,eAAe;IACnCiB,eAAe,EAAEd,eAAe;IAChCe,kBAAkB,EAAEf,eAAe;IACnCgB,wBAAwB,EAAExB,aAAa,CAACwB,wBAAwB,IAAInB,eAAe;IACnFoB,wBAAwB,EAAEzB,aAAa,CAACyB,wBAAwB,IAAIjB,eAAe;IACnFkB,uBAAuB,EAAErB,eAAe;IACxCsB,uBAAuB,EAAEnB,eAAe;IAExCoB,aAAa,EAAE/B,OAAO,CAACgC,cAAc;IACrC5B;EACJ,CAAC;EAED,OAAO;IAAEQ;EAAM,CAAC;AACpB,CAAC;AAACqB,OAAA,CAAAnC,wBAAA,GAAAA,wBAAA"}
@@ -0,0 +1,12 @@
1
+ import { CmsContext, CmsEntry, CmsModel } from "../../../types";
2
+ import { SecurityIdentity } from "@webiny/api-security/types";
3
+ declare type CreateRepublishEntryDataParams = {
4
+ model: CmsModel;
5
+ context: CmsContext;
6
+ getIdentity: () => SecurityIdentity;
7
+ originalEntry: CmsEntry;
8
+ };
9
+ export declare const createUnpublishEntryData: ({ getIdentity: getSecurityIdentity, originalEntry }: CreateRepublishEntryDataParams) => Promise<{
10
+ entry: CmsEntry;
11
+ }>;
12
+ export {};
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createUnpublishEntryData = void 0;
7
+ var _statuses = require("./statuses");
8
+ const createUnpublishEntryData = async ({
9
+ getIdentity: getSecurityIdentity,
10
+ originalEntry
11
+ }) => {
12
+ const currentDateTime = new Date().toISOString();
13
+ const currentIdentity = getSecurityIdentity();
14
+ const entry = {
15
+ ...originalEntry,
16
+ status: _statuses.STATUS_UNPUBLISHED,
17
+ /**
18
+ * Entry-level meta fields. 👇
19
+ */
20
+ savedOn: currentDateTime,
21
+ modifiedOn: currentDateTime,
22
+ savedBy: currentIdentity,
23
+ modifiedBy: currentIdentity,
24
+ /**
25
+ * Revision-level meta fields. 👇
26
+ */
27
+ revisionSavedOn: currentDateTime,
28
+ revisionModifiedOn: currentDateTime,
29
+ revisionSavedBy: currentIdentity,
30
+ revisionModifiedBy: currentIdentity
31
+ };
32
+ return {
33
+ entry
34
+ };
35
+ };
36
+ exports.createUnpublishEntryData = createUnpublishEntryData;
37
+
38
+ //# sourceMappingURL=createUnpublishEntryData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_statuses","require","createUnpublishEntryData","getIdentity","getSecurityIdentity","originalEntry","currentDateTime","Date","toISOString","currentIdentity","entry","status","STATUS_UNPUBLISHED","savedOn","modifiedOn","savedBy","modifiedBy","revisionSavedOn","revisionModifiedOn","revisionSavedBy","revisionModifiedBy","exports"],"sources":["createUnpublishEntryData.ts"],"sourcesContent":["import { CmsContext, CmsEntry, CmsModel } from \"~/types\";\nimport { STATUS_UNPUBLISHED } from \"./statuses\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\n\ntype CreateRepublishEntryDataParams = {\n model: CmsModel;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n originalEntry: CmsEntry;\n};\n\nexport const createUnpublishEntryData = async ({\n getIdentity: getSecurityIdentity,\n originalEntry\n}: CreateRepublishEntryDataParams): Promise<{\n entry: CmsEntry;\n}> => {\n const currentDateTime = new Date().toISOString();\n const currentIdentity = getSecurityIdentity();\n\n const entry: CmsEntry = {\n ...originalEntry,\n status: STATUS_UNPUBLISHED,\n\n /**\n * Entry-level meta fields. 👇\n */\n savedOn: currentDateTime,\n modifiedOn: currentDateTime,\n savedBy: currentIdentity,\n modifiedBy: currentIdentity,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionSavedOn: currentDateTime,\n revisionModifiedOn: currentDateTime,\n revisionSavedBy: currentIdentity,\n revisionModifiedBy: currentIdentity\n };\n\n return { entry };\n};\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAUO,MAAMC,wBAAwB,GAAG,MAAAA,CAAO;EAC3CC,WAAW,EAAEC,mBAAmB;EAChCC;AAC4B,CAAC,KAE3B;EACF,MAAMC,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EAChD,MAAMC,eAAe,GAAGL,mBAAmB,CAAC,CAAC;EAE7C,MAAMM,KAAe,GAAG;IACpB,GAAGL,aAAa;IAChBM,MAAM,EAAEC,4BAAkB;IAE1B;AACR;AACA;IACQC,OAAO,EAAEP,eAAe;IACxBQ,UAAU,EAAER,eAAe;IAC3BS,OAAO,EAAEN,eAAe;IACxBO,UAAU,EAAEP,eAAe;IAE3B;AACR;AACA;IACQQ,eAAe,EAAEX,eAAe;IAChCY,kBAAkB,EAAEZ,eAAe;IACnCa,eAAe,EAAEV,eAAe;IAChCW,kBAAkB,EAAEX;EACxB,CAAC;EAED,OAAO;IAAEC;EAAM,CAAC;AACpB,CAAC;AAACW,OAAA,CAAAnB,wBAAA,GAAAA,wBAAA"}
@@ -0,0 +1,20 @@
1
+ import { CmsContext, CmsEntry, CmsModel, UpdateCmsEntryInput, UpdateCmsEntryOptionsInput } from "../../../types";
2
+ import { SecurityIdentity } from "@webiny/api-security/types";
3
+ import { Tenant } from "@webiny/api-tenancy/types";
4
+ import { I18NLocale } from "@webiny/api-i18n/types";
5
+ declare type CreateEntryRevisionFromDataParams = {
6
+ metaInput?: Record<string, any>;
7
+ model: CmsModel;
8
+ rawInput: UpdateCmsEntryInput;
9
+ options?: UpdateCmsEntryOptionsInput;
10
+ context: CmsContext;
11
+ getIdentity: () => SecurityIdentity;
12
+ getTenant: () => Tenant;
13
+ getLocale: () => I18NLocale;
14
+ originalEntry: CmsEntry;
15
+ };
16
+ export declare const createUpdateEntryData: ({ model, rawInput, options, context, metaInput, getIdentity: getSecurityIdentity, originalEntry }: CreateEntryRevisionFromDataParams) => Promise<{
17
+ entry: CmsEntry;
18
+ input: Record<string, any>;
19
+ }>;
20
+ export {};
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createUpdateEntryData = void 0;
8
+ var _date = require("../../../utils/date");
9
+ var _identity = require("../../../utils/identity");
10
+ var _entryDataValidation = require("../entryDataValidation");
11
+ var _referenceFieldsMapping = require("../referenceFieldsMapping");
12
+ var _mapAndCleanUpdatedInputData = require("./mapAndCleanUpdatedInputData");
13
+ var _merge = _interopRequireDefault(require("lodash/merge"));
14
+ var _utils = require("@webiny/utils");
15
+ const createUpdateEntryData = async ({
16
+ model,
17
+ rawInput,
18
+ options,
19
+ context,
20
+ metaInput,
21
+ getIdentity: getSecurityIdentity,
22
+ originalEntry
23
+ }) => {
24
+ /**
25
+ * Make sure we only work with fields that are defined in the model.
26
+ */
27
+ const input = (0, _mapAndCleanUpdatedInputData.mapAndCleanUpdatedInputData)(model, rawInput);
28
+ await (0, _entryDataValidation.validateModelEntryDataOrThrow)({
29
+ context,
30
+ model,
31
+ data: input,
32
+ entry: originalEntry,
33
+ skipValidators: options?.skipValidators
34
+ });
35
+ const initialValues = {
36
+ /**
37
+ * Existing values from the database, transformed back to original, of course.
38
+ */
39
+ ...originalEntry.values,
40
+ /**
41
+ * Add new values.
42
+ */
43
+ ...input
44
+ };
45
+ const values = await (0, _referenceFieldsMapping.referenceFieldsMapping)({
46
+ context,
47
+ model,
48
+ input: initialValues,
49
+ validateEntries: false
50
+ });
51
+
52
+ /**
53
+ * If users wants to remove a key from meta values, they need to send meta key with the null value.
54
+ */
55
+ const meta = createEntryMeta(metaInput, originalEntry.meta);
56
+ const currentIdentity = getSecurityIdentity();
57
+ const currentDateTime = new Date();
58
+
59
+ /**
60
+ * We always send the full entry to the hooks and storage operations update.
61
+ */
62
+ const entry = {
63
+ ...originalEntry,
64
+ /**
65
+ * Revision-level meta fields. 👇
66
+ */
67
+ revisionCreatedOn: (0, _date.getDate)(rawInput.revisionCreatedOn, originalEntry.revisionCreatedOn),
68
+ revisionModifiedOn: (0, _date.getDate)(rawInput.revisionModifiedOn, currentDateTime),
69
+ revisionSavedOn: (0, _date.getDate)(rawInput.revisionSavedOn, currentDateTime),
70
+ revisionFirstPublishedOn: (0, _date.getDate)(rawInput.revisionFirstPublishedOn, originalEntry.revisionFirstPublishedOn),
71
+ revisionLastPublishedOn: (0, _date.getDate)(rawInput.revisionLastPublishedOn, originalEntry.revisionLastPublishedOn),
72
+ revisionCreatedBy: (0, _identity.getIdentity)(rawInput.revisionCreatedBy, originalEntry.revisionCreatedBy),
73
+ revisionModifiedBy: (0, _identity.getIdentity)(rawInput.revisionModifiedBy, currentIdentity),
74
+ revisionSavedBy: (0, _identity.getIdentity)(rawInput.revisionSavedBy, currentIdentity),
75
+ revisionFirstPublishedBy: (0, _identity.getIdentity)(rawInput.revisionFirstPublishedBy, originalEntry.revisionFirstPublishedBy),
76
+ revisionLastPublishedBy: (0, _identity.getIdentity)(rawInput.revisionLastPublishedBy, originalEntry.revisionLastPublishedBy),
77
+ /**
78
+ * Entry-level meta fields. 👇
79
+ * If required, within storage operations, these entry-level updates
80
+ * will be propagated to the latest revision too.
81
+ */
82
+ createdOn: (0, _date.getDate)(rawInput.createdOn, originalEntry.createdOn),
83
+ savedOn: (0, _date.getDate)(rawInput.savedOn, currentDateTime),
84
+ modifiedOn: (0, _date.getDate)(rawInput.modifiedOn, currentDateTime),
85
+ firstPublishedOn: (0, _date.getDate)(rawInput.firstPublishedOn, originalEntry.firstPublishedOn),
86
+ lastPublishedOn: (0, _date.getDate)(rawInput.lastPublishedOn, originalEntry.lastPublishedOn),
87
+ createdBy: (0, _identity.getIdentity)(rawInput.createdBy, originalEntry.createdBy),
88
+ savedBy: (0, _identity.getIdentity)(rawInput.savedBy, currentIdentity),
89
+ modifiedBy: (0, _identity.getIdentity)(rawInput.modifiedBy, currentIdentity),
90
+ firstPublishedBy: (0, _identity.getIdentity)(rawInput.firstPublishedBy, originalEntry.firstPublishedBy),
91
+ lastPublishedBy: (0, _identity.getIdentity)(rawInput.lastPublishedBy, originalEntry.lastPublishedBy),
92
+ values,
93
+ meta,
94
+ status: transformEntryStatus(originalEntry.status)
95
+ };
96
+ const folderId = rawInput.wbyAco_location?.folderId;
97
+ if (folderId) {
98
+ entry.location = {
99
+ folderId
100
+ };
101
+ }
102
+ return {
103
+ entry,
104
+ input
105
+ };
106
+ };
107
+
108
+ /**
109
+ * This method takes original entry meta and new input.
110
+ * When new meta is merged onto the existing one, everything that has undefined or null value is removed.
111
+ */
112
+ exports.createUpdateEntryData = createUpdateEntryData;
113
+ const createEntryMeta = (input, original) => {
114
+ const meta = (0, _merge.default)(original || {}, input || {});
115
+ return (0, _utils.removeUndefinedValues)((0, _utils.removeNullValues)(meta));
116
+ };
117
+ const allowedEntryStatus = ["draft", "published", "unpublished"];
118
+ const transformEntryStatus = status => {
119
+ return allowedEntryStatus.includes(status) ? status : "draft";
120
+ };
121
+
122
+ //# sourceMappingURL=createUpdateEntryData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_date","require","_identity","_entryDataValidation","_referenceFieldsMapping","_mapAndCleanUpdatedInputData","_merge","_interopRequireDefault","_utils","createUpdateEntryData","model","rawInput","options","context","metaInput","getIdentity","getSecurityIdentity","originalEntry","input","mapAndCleanUpdatedInputData","validateModelEntryDataOrThrow","data","entry","skipValidators","initialValues","values","referenceFieldsMapping","validateEntries","meta","createEntryMeta","currentIdentity","currentDateTime","Date","revisionCreatedOn","getDate","revisionModifiedOn","revisionSavedOn","revisionFirstPublishedOn","revisionLastPublishedOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","revisionFirstPublishedBy","revisionLastPublishedBy","createdOn","savedOn","modifiedOn","firstPublishedOn","lastPublishedOn","createdBy","savedBy","modifiedBy","firstPublishedBy","lastPublishedBy","status","transformEntryStatus","folderId","wbyAco_location","location","exports","original","lodashMerge","removeUndefinedValues","removeNullValues","allowedEntryStatus","includes"],"sources":["createUpdateEntryData.ts"],"sourcesContent":["import {\n CmsContext,\n CmsEntry,\n CmsEntryStatus,\n CmsModel,\n UpdateCmsEntryInput,\n UpdateCmsEntryOptionsInput\n} from \"~/types\";\nimport { getDate } from \"~/utils/date\";\nimport { getIdentity } from \"~/utils/identity\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { validateModelEntryDataOrThrow } from \"../entryDataValidation\";\nimport { referenceFieldsMapping } from \"../referenceFieldsMapping\";\nimport { mapAndCleanUpdatedInputData } from \"./mapAndCleanUpdatedInputData\";\nimport lodashMerge from \"lodash/merge\";\nimport { removeNullValues, removeUndefinedValues } from \"@webiny/utils\";\n\ntype CreateEntryRevisionFromDataParams = {\n metaInput?: Record<string, any>;\n model: CmsModel;\n rawInput: UpdateCmsEntryInput;\n options?: UpdateCmsEntryOptionsInput;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n originalEntry: CmsEntry;\n};\n\nexport const createUpdateEntryData = async ({\n model,\n rawInput,\n options,\n context,\n metaInput,\n getIdentity: getSecurityIdentity,\n originalEntry\n}: CreateEntryRevisionFromDataParams): Promise<{\n entry: CmsEntry;\n input: Record<string, any>;\n}> => {\n /**\n * Make sure we only work with fields that are defined in the model.\n */\n const input = mapAndCleanUpdatedInputData(model, rawInput);\n\n await validateModelEntryDataOrThrow({\n context,\n model,\n data: input,\n entry: originalEntry,\n skipValidators: options?.skipValidators\n });\n\n const initialValues = {\n /**\n * Existing values from the database, transformed back to original, of course.\n */\n ...originalEntry.values,\n /**\n * Add new values.\n */\n ...input\n };\n\n const values = await referenceFieldsMapping({\n context,\n model,\n input: initialValues,\n validateEntries: false\n });\n\n /**\n * If users wants to remove a key from meta values, they need to send meta key with the null value.\n */\n const meta = createEntryMeta(metaInput, originalEntry.meta);\n\n const currentIdentity = getSecurityIdentity();\n const currentDateTime = new Date();\n\n /**\n * We always send the full entry to the hooks and storage operations update.\n */\n const entry: CmsEntry = {\n ...originalEntry,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: getDate(rawInput.revisionCreatedOn, originalEntry.revisionCreatedOn),\n revisionModifiedOn: getDate(rawInput.revisionModifiedOn, currentDateTime),\n revisionSavedOn: getDate(rawInput.revisionSavedOn, currentDateTime),\n revisionFirstPublishedOn: getDate(\n rawInput.revisionFirstPublishedOn,\n originalEntry.revisionFirstPublishedOn\n ),\n revisionLastPublishedOn: getDate(\n rawInput.revisionLastPublishedOn,\n originalEntry.revisionLastPublishedOn\n ),\n revisionCreatedBy: getIdentity(rawInput.revisionCreatedBy, originalEntry.revisionCreatedBy),\n revisionModifiedBy: getIdentity(rawInput.revisionModifiedBy, currentIdentity),\n revisionSavedBy: getIdentity(rawInput.revisionSavedBy, currentIdentity),\n revisionFirstPublishedBy: getIdentity(\n rawInput.revisionFirstPublishedBy,\n originalEntry.revisionFirstPublishedBy\n ),\n revisionLastPublishedBy: getIdentity(\n rawInput.revisionLastPublishedBy,\n originalEntry.revisionLastPublishedBy\n ),\n\n /**\n * Entry-level meta fields. 👇\n * If required, within storage operations, these entry-level updates\n * will be propagated to the latest revision too.\n */\n createdOn: getDate(rawInput.createdOn, originalEntry.createdOn),\n savedOn: getDate(rawInput.savedOn, currentDateTime),\n modifiedOn: getDate(rawInput.modifiedOn, currentDateTime),\n firstPublishedOn: getDate(rawInput.firstPublishedOn, originalEntry.firstPublishedOn),\n lastPublishedOn: getDate(rawInput.lastPublishedOn, originalEntry.lastPublishedOn),\n createdBy: getIdentity(rawInput.createdBy, originalEntry.createdBy),\n savedBy: getIdentity(rawInput.savedBy, currentIdentity),\n modifiedBy: getIdentity(rawInput.modifiedBy, currentIdentity),\n firstPublishedBy: getIdentity(rawInput.firstPublishedBy, originalEntry.firstPublishedBy),\n lastPublishedBy: getIdentity(rawInput.lastPublishedBy, originalEntry.lastPublishedBy),\n\n values,\n meta,\n status: transformEntryStatus(originalEntry.status)\n };\n\n const folderId = rawInput.wbyAco_location?.folderId;\n if (folderId) {\n entry.location = {\n folderId\n };\n }\n\n return { entry, input };\n};\n\n/**\n * This method takes original entry meta and new input.\n * When new meta is merged onto the existing one, everything that has undefined or null value is removed.\n */\nconst createEntryMeta = (input?: Record<string, any>, original?: Record<string, any>) => {\n const meta = lodashMerge(original || {}, input || {});\n return removeUndefinedValues(removeNullValues(meta));\n};\n\nconst allowedEntryStatus: string[] = [\"draft\", \"published\", \"unpublished\"];\n\nconst transformEntryStatus = (status: CmsEntryStatus | string): CmsEntryStatus => {\n return allowedEntryStatus.includes(status) ? (status as CmsEntryStatus) : \"draft\";\n};\n"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export * from "./createEntryData";
2
+ export * from "./createEntryRevisionFromData";
3
+ export * from "./createPublishEntryData";
4
+ export * from "./createRepublishEntryData";
5
+ export * from "./createUnpublishEntryData";
6
+ export * from "./createUpdateEntryData";
7
+ export * from "./statuses";
8
+ export * from "./mapAndCleanUpdatedInputData";