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

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 (806) hide show
  1. package/constants.d.ts +18 -6
  2. package/constants.js +29 -16
  3. package/constants.js.map +1 -1
  4. package/context.d.ts +1 -1
  5. package/context.js +61 -32
  6. package/context.js.map +1 -1
  7. package/crud/AccessControl/AccessControl.d.ts +98 -0
  8. package/crud/AccessControl/AccessControl.js +542 -0
  9. package/crud/AccessControl/AccessControl.js.map +1 -0
  10. package/crud/AccessControl/README.md +47 -0
  11. package/crud/AccessControl/groups-own.png +0 -0
  12. package/crud/AccessControl/models-own.png +0 -0
  13. package/crud/contentEntry/abstractions/IDeleteEntry.d.ts +4 -0
  14. package/crud/contentEntry/abstractions/IDeleteEntry.js +7 -0
  15. package/crud/contentEntry/abstractions/IDeleteEntry.js.map +1 -0
  16. package/crud/contentEntry/abstractions/IDeleteEntryOperation.d.ts +4 -0
  17. package/crud/contentEntry/abstractions/IDeleteEntryOperation.js +7 -0
  18. package/crud/contentEntry/abstractions/IDeleteEntryOperation.js.map +1 -0
  19. package/crud/contentEntry/abstractions/IGetEntriesByIds.d.ts +4 -0
  20. package/crud/contentEntry/abstractions/IGetEntriesByIds.js +7 -0
  21. package/crud/contentEntry/abstractions/IGetEntriesByIds.js.map +1 -0
  22. package/crud/contentEntry/abstractions/IGetEntry.d.ts +4 -0
  23. package/crud/contentEntry/abstractions/IGetEntry.js +7 -0
  24. package/crud/contentEntry/abstractions/IGetEntry.js.map +1 -0
  25. package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.d.ts +4 -0
  26. package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.js +7 -0
  27. package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.js.map +1 -0
  28. package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.d.ts +4 -0
  29. package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.js +7 -0
  30. package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.js.map +1 -0
  31. package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.d.ts +4 -0
  32. package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.js +7 -0
  33. package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.js.map +1 -0
  34. package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.d.ts +4 -0
  35. package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.js +7 -0
  36. package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.js.map +1 -0
  37. package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.d.ts +4 -0
  38. package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.js +7 -0
  39. package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.js.map +1 -0
  40. package/crud/contentEntry/abstractions/IGetRevisionById.d.ts +4 -0
  41. package/crud/contentEntry/abstractions/IGetRevisionById.js +7 -0
  42. package/crud/contentEntry/abstractions/IGetRevisionById.js.map +1 -0
  43. package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.d.ts +4 -0
  44. package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.js +7 -0
  45. package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.js.map +1 -0
  46. package/crud/contentEntry/abstractions/IListEntries.d.ts +4 -0
  47. package/crud/contentEntry/abstractions/IListEntries.js +7 -0
  48. package/crud/contentEntry/abstractions/IListEntries.js.map +1 -0
  49. package/crud/contentEntry/abstractions/IListEntriesOperation.d.ts +4 -0
  50. package/crud/contentEntry/abstractions/IListEntriesOperation.js +7 -0
  51. package/crud/contentEntry/abstractions/IListEntriesOperation.js.map +1 -0
  52. package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.d.ts +4 -0
  53. package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.js +7 -0
  54. package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.js.map +1 -0
  55. package/crud/contentEntry/abstractions/IRestoreEntryFromBin.d.ts +4 -0
  56. package/crud/contentEntry/abstractions/IRestoreEntryFromBin.js +7 -0
  57. package/crud/contentEntry/abstractions/IRestoreEntryFromBin.js.map +1 -0
  58. package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.d.ts +4 -0
  59. package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.js +7 -0
  60. package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.js.map +1 -0
  61. package/crud/contentEntry/abstractions/index.d.ts +16 -0
  62. package/crud/contentEntry/abstractions/index.js +183 -0
  63. package/crud/contentEntry/abstractions/index.js.map +1 -0
  64. package/crud/contentEntry/afterDelete.d.ts +6 -2
  65. package/crud/contentEntry/afterDelete.js +15 -1
  66. package/crud/contentEntry/afterDelete.js.map +1 -1
  67. package/crud/contentEntry/beforeCreate.d.ts +2 -2
  68. package/crud/contentEntry/beforeCreate.js.map +1 -1
  69. package/crud/contentEntry/beforeUpdate.d.ts +2 -2
  70. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  71. package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +8 -8
  72. package/crud/contentEntry/entryDataFactories/createEntryData.js +30 -4
  73. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
  74. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +8 -6
  75. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +54 -11
  76. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -1
  77. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +5 -5
  78. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +22 -20
  79. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -1
  80. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +3 -3
  81. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +18 -16
  82. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -1
  83. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +5 -5
  84. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +10 -8
  85. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -1
  86. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +5 -5
  87. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +8 -0
  88. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -1
  89. package/crud/contentEntry/entryDataFactories/index.js.map +1 -1
  90. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +1 -1
  91. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -1
  92. package/crud/contentEntry/entryDataFactories/statuses.js +3 -6
  93. package/crud/contentEntry/entryDataFactories/statuses.js.map +1 -1
  94. package/crud/contentEntry/entryDataValidation.d.ts +2 -2
  95. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  96. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  97. package/crud/contentEntry/markLockedFields.js.map +1 -1
  98. package/crud/contentEntry/referenceFieldsMapping.d.ts +1 -1
  99. package/crud/contentEntry/referenceFieldsMapping.js +10 -10
  100. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  101. package/crud/contentEntry/searchableFields.d.ts +2 -2
  102. package/crud/contentEntry/searchableFields.js.map +1 -1
  103. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.d.ts +10 -0
  104. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js +58 -0
  105. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js.map +1 -0
  106. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.d.ts +7 -0
  107. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js +17 -0
  108. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js.map +1 -0
  109. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.d.ts +9 -0
  110. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js +45 -0
  111. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js.map +1 -0
  112. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.d.ts +9 -0
  113. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js +22 -0
  114. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js.map +1 -0
  115. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.d.ts +10 -0
  116. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js +33 -0
  117. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js.map +1 -0
  118. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.d.ts +7 -0
  119. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js +17 -0
  120. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js.map +1 -0
  121. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.d.ts +9 -0
  122. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js +45 -0
  123. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js.map +1 -0
  124. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.d.ts +6 -0
  125. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js +21 -0
  126. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js.map +1 -0
  127. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.d.ts +9 -0
  128. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js +54 -0
  129. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js.map +1 -0
  130. package/crud/contentEntry/useCases/DeleteEntry/index.d.ts +28 -0
  131. package/crud/contentEntry/useCases/DeleteEntry/index.js +42 -0
  132. package/crud/contentEntry/useCases/DeleteEntry/index.js.map +1 -0
  133. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.d.ts +9 -0
  134. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js +21 -0
  135. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js.map +1 -0
  136. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.d.ts +7 -0
  137. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js +18 -0
  138. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js.map +1 -0
  139. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.d.ts +9 -0
  140. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js +28 -0
  141. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js.map +1 -0
  142. package/crud/contentEntry/useCases/GetEntriesByIds/index.d.ts +13 -0
  143. package/crud/contentEntry/useCases/GetEntriesByIds/index.js +20 -0
  144. package/crud/contentEntry/useCases/GetEntriesByIds/index.js.map +1 -0
  145. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.d.ts +9 -0
  146. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js +21 -0
  147. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js.map +1 -0
  148. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.d.ts +7 -0
  149. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js +18 -0
  150. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js.map +1 -0
  151. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.d.ts +9 -0
  152. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js +28 -0
  153. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js.map +1 -0
  154. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.d.ts +13 -0
  155. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js +20 -0
  156. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js.map +1 -0
  157. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.d.ts +9 -0
  158. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js +22 -0
  159. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js.map +1 -0
  160. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.d.ts +7 -0
  161. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js +21 -0
  162. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js.map +1 -0
  163. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.d.ts +7 -0
  164. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js +21 -0
  165. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js.map +1 -0
  166. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.d.ts +15 -0
  167. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js +22 -0
  168. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js.map +1 -0
  169. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.d.ts +9 -0
  170. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js +22 -0
  171. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js.map +1 -0
  172. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.d.ts +7 -0
  173. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js +21 -0
  174. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js.map +1 -0
  175. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.d.ts +11 -0
  176. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js +18 -0
  177. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js.map +1 -0
  178. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.d.ts +9 -0
  179. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js +21 -0
  180. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js.map +1 -0
  181. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.d.ts +7 -0
  182. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js +18 -0
  183. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js.map +1 -0
  184. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.d.ts +9 -0
  185. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js +28 -0
  186. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js.map +1 -0
  187. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.d.ts +13 -0
  188. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js +20 -0
  189. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js.map +1 -0
  190. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.d.ts +9 -0
  191. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js +22 -0
  192. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js.map +1 -0
  193. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.d.ts +7 -0
  194. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js +21 -0
  195. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js.map +1 -0
  196. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.d.ts +11 -0
  197. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js +18 -0
  198. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js.map +1 -0
  199. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.d.ts +9 -0
  200. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js +22 -0
  201. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js.map +1 -0
  202. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.d.ts +7 -0
  203. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js +21 -0
  204. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js.map +1 -0
  205. package/crud/contentEntry/useCases/GetRevisionById/index.d.ts +11 -0
  206. package/crud/contentEntry/useCases/GetRevisionById/index.js +18 -0
  207. package/crud/contentEntry/useCases/GetRevisionById/index.js.map +1 -0
  208. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.d.ts +9 -0
  209. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js +21 -0
  210. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js.map +1 -0
  211. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.d.ts +7 -0
  212. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js +18 -0
  213. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js.map +1 -0
  214. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.d.ts +13 -0
  215. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js +18 -0
  216. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js.map +1 -0
  217. package/crud/contentEntry/useCases/ListEntries/GetEntry.d.ts +7 -0
  218. package/crud/contentEntry/useCases/ListEntries/GetEntry.js +29 -0
  219. package/crud/contentEntry/useCases/ListEntries/GetEntry.js.map +1 -0
  220. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.d.ts +11 -0
  221. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js +38 -0
  222. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js.map +1 -0
  223. package/crud/contentEntry/useCases/ListEntries/ListEntries.d.ts +7 -0
  224. package/crud/contentEntry/useCases/ListEntries/ListEntries.js +62 -0
  225. package/crud/contentEntry/useCases/ListEntries/ListEntries.js.map +1 -0
  226. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.d.ts +14 -0
  227. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js +24 -0
  228. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js.map +1 -0
  229. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.d.ts +7 -0
  230. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js +24 -0
  231. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js.map +1 -0
  232. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.d.ts +7 -0
  233. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js +25 -0
  234. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js.map +1 -0
  235. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.d.ts +7 -0
  236. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js +24 -0
  237. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js.map +1 -0
  238. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.d.ts +7 -0
  239. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js +24 -0
  240. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js.map +1 -0
  241. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.d.ts +9 -0
  242. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js +22 -0
  243. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js.map +1 -0
  244. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.d.ts +8 -0
  245. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js +27 -0
  246. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js.map +1 -0
  247. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.d.ts +8 -0
  248. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js +26 -0
  249. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js.map +1 -0
  250. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.d.ts +7 -0
  251. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js +36 -0
  252. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js.map +1 -0
  253. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.d.ts +11 -0
  254. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js +41 -0
  255. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js.map +1 -0
  256. package/crud/contentEntry/useCases/ListEntries/index.d.ts +26 -0
  257. package/crud/contentEntry/useCases/ListEntries/index.js +61 -0
  258. package/crud/contentEntry/useCases/ListEntries/index.js.map +1 -0
  259. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.d.ts +10 -0
  260. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js +37 -0
  261. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js.map +1 -0
  262. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.d.ts +9 -0
  263. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js +19 -0
  264. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js.map +1 -0
  265. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.d.ts +9 -0
  266. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js +42 -0
  267. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js.map +1 -0
  268. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.d.ts +9 -0
  269. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js +22 -0
  270. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js.map +1 -0
  271. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.d.ts +9 -0
  272. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js +53 -0
  273. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js.map +1 -0
  274. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.d.ts +25 -0
  275. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js +24 -0
  276. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js.map +1 -0
  277. package/crud/contentEntry/useCases/index.d.ts +11 -0
  278. package/crud/contentEntry/useCases/index.js +128 -0
  279. package/crud/contentEntry/useCases/index.js.map +1 -0
  280. package/crud/contentEntry.crud.d.ts +6 -8
  281. package/crud/contentEntry.crud.js +304 -357
  282. package/crud/contentEntry.crud.js.map +1 -1
  283. package/crud/contentModel/beforeCreate.d.ts +2 -2
  284. package/crud/contentModel/beforeCreate.js.map +1 -1
  285. package/crud/contentModel/beforeDelete.d.ts +3 -5
  286. package/crud/contentModel/beforeDelete.js +49 -15
  287. package/crud/contentModel/beforeDelete.js.map +1 -1
  288. package/crud/contentModel/beforeUpdate.d.ts +2 -2
  289. package/crud/contentModel/beforeUpdate.js.map +1 -1
  290. package/crud/contentModel/compatibility/modelApiName.d.ts +1 -1
  291. package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
  292. package/crud/contentModel/contentModelManagerFactory.d.ts +2 -2
  293. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  294. package/crud/contentModel/createFieldStorageId.d.ts +1 -1
  295. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  296. package/crud/contentModel/defaultFields.d.ts +1 -1
  297. package/crud/contentModel/defaultFields.js.map +1 -1
  298. package/crud/contentModel/ensureTypeTag.d.ts +1 -1
  299. package/crud/contentModel/ensureTypeTag.js.map +1 -1
  300. package/crud/contentModel/fields/descriptionField.d.ts +6 -2
  301. package/crud/contentModel/fields/descriptionField.js +14 -28
  302. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  303. package/crud/contentModel/fields/getApplicableFieldById.d.ts +2 -0
  304. package/crud/contentModel/fields/getApplicableFieldById.js +15 -0
  305. package/crud/contentModel/fields/getApplicableFieldById.js.map +1 -0
  306. package/crud/contentModel/fields/imageField.d.ts +2 -2
  307. package/crud/contentModel/fields/imageField.js +9 -28
  308. package/crud/contentModel/fields/imageField.js.map +1 -1
  309. package/crud/contentModel/fields/titleField.d.ts +6 -2
  310. package/crud/contentModel/fields/titleField.js +14 -43
  311. package/crud/contentModel/fields/titleField.js.map +1 -1
  312. package/crud/contentModel/listModelsFromDatabase.d.ts +3 -3
  313. package/crud/contentModel/listModelsFromDatabase.js.map +1 -1
  314. package/crud/contentModel/validate/endingAllowed.d.ts +1 -1
  315. package/crud/contentModel/validate/endingAllowed.js.map +1 -1
  316. package/crud/contentModel/validate/isModelEndingAllowed.js +1 -2
  317. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
  318. package/crud/contentModel/validate/modelId.d.ts +1 -1
  319. package/crud/contentModel/validate/modelId.js.map +1 -1
  320. package/crud/contentModel/validate/pluralApiName.d.ts +1 -1
  321. package/crud/contentModel/validate/pluralApiName.js.map +1 -1
  322. package/crud/contentModel/validate/singularApiName.d.ts +1 -1
  323. package/crud/contentModel/validate/singularApiName.js.map +1 -1
  324. package/crud/contentModel/validateModel.d.ts +1 -1
  325. package/crud/contentModel/validateModel.js.map +1 -1
  326. package/crud/contentModel/validateModelFields.d.ts +1 -1
  327. package/crud/contentModel/validateModelFields.js +1 -1
  328. package/crud/contentModel/validateModelFields.js.map +1 -1
  329. package/crud/contentModel/validateStorageId.d.ts +1 -0
  330. package/crud/contentModel/validateStorageId.js +19 -0
  331. package/crud/contentModel/validateStorageId.js.map +1 -0
  332. package/crud/contentModel/validation.d.ts +197 -176
  333. package/crud/contentModel/validation.js +5 -5
  334. package/crud/contentModel/validation.js.map +1 -1
  335. package/crud/contentModel.crud.d.ts +6 -6
  336. package/crud/contentModel.crud.js +76 -37
  337. package/crud/contentModel.crud.js.map +1 -1
  338. package/crud/contentModelGroup/beforeCreate.d.ts +3 -3
  339. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  340. package/crud/contentModelGroup/beforeDelete.d.ts +3 -3
  341. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  342. package/crud/contentModelGroup/beforeUpdate.d.ts +3 -3
  343. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  344. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +1 -1
  345. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -1
  346. package/crud/contentModelGroup/validation.d.ts +1 -1
  347. package/crud/contentModelGroup/validation.js.map +1 -1
  348. package/crud/contentModelGroup.crud.d.ts +6 -6
  349. package/crud/contentModelGroup.crud.js +17 -28
  350. package/crud/contentModelGroup.crud.js.map +1 -1
  351. package/crud/system.crud.d.ts +4 -4
  352. package/crud/system.crud.js +10 -0
  353. package/crud/system.crud.js.map +1 -1
  354. package/export/crud/exporting.d.ts +2 -2
  355. package/export/crud/exporting.js.map +1 -1
  356. package/export/crud/importing.d.ts +2 -2
  357. package/export/crud/importing.js.map +1 -1
  358. package/export/crud/imports/importData.d.ts +2 -2
  359. package/export/crud/imports/importData.js.map +1 -1
  360. package/export/crud/imports/importGroups.d.ts +2 -2
  361. package/export/crud/imports/importGroups.js.map +1 -1
  362. package/export/crud/imports/importModels.d.ts +2 -2
  363. package/export/crud/imports/importModels.js.map +1 -1
  364. package/export/crud/imports/validateGroups.d.ts +2 -2
  365. package/export/crud/imports/validateGroups.js.map +1 -1
  366. package/export/crud/imports/validateInput.d.ts +2 -2
  367. package/export/crud/imports/validateInput.js.map +1 -1
  368. package/export/crud/imports/validateModels.d.ts +2 -2
  369. package/export/crud/imports/validateModels.js.map +1 -1
  370. package/export/crud/index.d.ts +1 -1
  371. package/export/crud/index.js.map +1 -1
  372. package/export/crud/sanitize.d.ts +3 -3
  373. package/export/crud/sanitize.js +2 -1
  374. package/export/crud/sanitize.js.map +1 -1
  375. package/export/graphql/index.d.ts +1 -1
  376. package/export/graphql/index.js +1 -1
  377. package/export/graphql/index.js.map +1 -1
  378. package/export/index.js.map +1 -1
  379. package/export/types.d.ts +5 -5
  380. package/export/types.js +1 -2
  381. package/export/types.js.map +1 -1
  382. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +5 -3
  383. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  384. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +3 -2
  385. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +23 -65
  386. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  387. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +3 -2
  388. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +2 -2
  389. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  390. package/fieldConverters/index.d.ts +3 -0
  391. package/fieldConverters/index.js +4 -0
  392. package/fieldConverters/index.js.map +1 -1
  393. package/graphql/buildSchemaPlugins.d.ts +3 -3
  394. package/graphql/buildSchemaPlugins.js.map +1 -1
  395. package/graphql/checkEndpointAccess.d.ts +1 -1
  396. package/graphql/checkEndpointAccess.js.map +1 -1
  397. package/graphql/createExecutableSchema.d.ts +2 -2
  398. package/graphql/createExecutableSchema.js +14 -7
  399. package/graphql/createExecutableSchema.js.map +1 -1
  400. package/graphql/createRequestBody.d.ts +1 -1
  401. package/graphql/createRequestBody.js.map +1 -1
  402. package/graphql/formatErrorPayload.js.map +1 -1
  403. package/graphql/generateSchema.d.ts +2 -2
  404. package/graphql/generateSchema.js +6 -1
  405. package/graphql/generateSchema.js.map +1 -1
  406. package/graphql/getSchema/generateCacheId.d.ts +10 -0
  407. package/graphql/getSchema/generateCacheId.js +17 -0
  408. package/graphql/getSchema/generateCacheId.js.map +1 -0
  409. package/graphql/getSchema/generateCacheKey.d.ts +10 -0
  410. package/graphql/getSchema/generateCacheKey.js +34 -0
  411. package/graphql/getSchema/generateCacheKey.js.map +1 -0
  412. package/graphql/getSchema.d.ts +4 -4
  413. package/graphql/getSchema.js +13 -50
  414. package/graphql/getSchema.js.map +1 -1
  415. package/graphql/graphQLHandlerFactory.d.ts +2 -2
  416. package/graphql/graphQLHandlerFactory.js.map +1 -1
  417. package/graphql/handleRequest.d.ts +2 -2
  418. package/graphql/handleRequest.js +8 -1
  419. package/graphql/handleRequest.js.map +1 -1
  420. package/graphql/index.d.ts +4 -3
  421. package/graphql/index.js +1 -1
  422. package/graphql/index.js.map +1 -1
  423. package/graphql/scalars/RevisionId.d.ts +2 -0
  424. package/graphql/scalars/RevisionId.js +26 -0
  425. package/graphql/scalars/RevisionId.js.map +1 -0
  426. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +2 -0
  427. package/graphql/scalars/RevisionIdScalarPlugin.js +18 -0
  428. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -0
  429. package/graphql/schema/baseContentSchema.d.ts +3 -3
  430. package/graphql/schema/baseContentSchema.js +1 -7
  431. package/graphql/schema/baseContentSchema.js.map +1 -1
  432. package/graphql/schema/baseSchema.js +12 -5
  433. package/graphql/schema/baseSchema.js.map +1 -1
  434. package/graphql/schema/contentEntries.d.ts +3 -3
  435. package/graphql/schema/contentEntries.js +3 -4
  436. package/graphql/schema/contentEntries.js.map +1 -1
  437. package/graphql/schema/contentModelGroups.d.ts +3 -3
  438. package/graphql/schema/contentModelGroups.js +1 -1
  439. package/graphql/schema/contentModelGroups.js.map +1 -1
  440. package/graphql/schema/contentModels.d.ts +4 -5
  441. package/graphql/schema/contentModels.js +21 -5
  442. package/graphql/schema/contentModels.js.map +1 -1
  443. package/graphql/schema/createFieldResolvers.d.ts +2 -2
  444. package/graphql/schema/createFieldResolvers.js +1 -3
  445. package/graphql/schema/createFieldResolvers.js.map +1 -1
  446. package/graphql/schema/createFieldTypePluginRecords.d.ts +2 -2
  447. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -1
  448. package/graphql/schema/createManageResolvers.d.ts +1 -2
  449. package/graphql/schema/createManageResolvers.js +24 -49
  450. package/graphql/schema/createManageResolvers.js.map +1 -1
  451. package/graphql/schema/createManageSDL.d.ts +2 -2
  452. package/graphql/schema/createManageSDL.js +14 -5
  453. package/graphql/schema/createManageSDL.js.map +1 -1
  454. package/graphql/schema/createPreviewResolvers.d.ts +1 -2
  455. package/graphql/schema/createPreviewResolvers.js +4 -7
  456. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  457. package/graphql/schema/createReadResolvers.d.ts +1 -2
  458. package/graphql/schema/createReadResolvers.js +4 -7
  459. package/graphql/schema/createReadResolvers.js.map +1 -1
  460. package/graphql/schema/createReadSDL.d.ts +2 -2
  461. package/graphql/schema/createReadSDL.js +6 -7
  462. package/graphql/schema/createReadSDL.js.map +1 -1
  463. package/graphql/schema/createSingularResolvers.d.ts +12 -0
  464. package/graphql/schema/createSingularResolvers.js +56 -0
  465. package/graphql/schema/createSingularResolvers.js.map +1 -0
  466. package/graphql/schema/createSingularSDL.d.ts +12 -0
  467. package/graphql/schema/createSingularSDL.js +95 -0
  468. package/graphql/schema/createSingularSDL.js.map +1 -0
  469. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.d.ts +7 -0
  470. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +59 -0
  471. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -0
  472. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +2 -2
  473. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  474. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +2 -2
  475. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  476. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -2
  477. package/graphql/schema/resolvers/manage/resolveDelete.js +2 -1
  478. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  479. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +2 -2
  480. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  481. package/graphql/schema/resolvers/manage/resolveGet.d.ts +2 -2
  482. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  483. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +2 -2
  484. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  485. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +2 -2
  486. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  487. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +2 -2
  488. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  489. package/graphql/schema/resolvers/manage/resolveList.d.ts +2 -2
  490. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  491. package/graphql/schema/resolvers/manage/resolveListDeleted.d.ts +4 -0
  492. package/graphql/schema/resolvers/manage/resolveListDeleted.js +20 -0
  493. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -0
  494. package/graphql/schema/resolvers/manage/resolveMove.d.ts +2 -2
  495. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  496. package/graphql/schema/resolvers/manage/resolvePublish.d.ts +2 -2
  497. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  498. package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +2 -2
  499. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  500. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.d.ts +7 -0
  501. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +20 -0
  502. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -0
  503. package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +2 -2
  504. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  505. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +2 -2
  506. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  507. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +2 -2
  508. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
  509. package/graphql/schema/resolvers/preview/resolveGet.d.ts +2 -2
  510. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  511. package/graphql/schema/resolvers/preview/resolveList.d.ts +2 -2
  512. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  513. package/graphql/schema/resolvers/read/resolveGet.d.ts +2 -2
  514. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  515. package/graphql/schema/resolvers/read/resolveList.d.ts +2 -2
  516. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  517. package/graphql/schema/resolvers/singular/resolveGet.d.ts +7 -0
  518. package/graphql/schema/resolvers/singular/resolveGet.js +21 -0
  519. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -0
  520. package/graphql/schema/resolvers/singular/resolveUpdate.d.ts +8 -0
  521. package/graphql/schema/resolvers/singular/resolveUpdate.js +21 -0
  522. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -0
  523. package/graphql/schema/schemaPlugins.d.ts +3 -3
  524. package/graphql/schema/schemaPlugins.js +32 -11
  525. package/graphql/schema/schemaPlugins.js.map +1 -1
  526. package/graphql/system.d.ts +1 -1
  527. package/graphql/system.js +2 -1
  528. package/graphql/system.js.map +1 -1
  529. package/graphqlFields/boolean.d.ts +1 -1
  530. package/graphqlFields/boolean.js.map +1 -1
  531. package/graphqlFields/datetime.d.ts +1 -1
  532. package/graphqlFields/datetime.js.map +1 -1
  533. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  534. package/graphqlFields/dynamicZone/dynamicZoneField.js +62 -8
  535. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  536. package/graphqlFields/dynamicZone/index.d.ts +0 -1
  537. package/graphqlFields/dynamicZone/index.js +0 -7
  538. package/graphqlFields/dynamicZone/index.js.map +1 -1
  539. package/graphqlFields/file.d.ts +1 -1
  540. package/graphqlFields/file.js.map +1 -1
  541. package/graphqlFields/helpers.d.ts +1 -1
  542. package/graphqlFields/helpers.js.map +1 -1
  543. package/graphqlFields/index.d.ts +1 -1
  544. package/graphqlFields/index.js +2 -1
  545. package/graphqlFields/index.js.map +1 -1
  546. package/graphqlFields/json.d.ts +1 -1
  547. package/graphqlFields/json.js.map +1 -1
  548. package/graphqlFields/longText.d.ts +1 -1
  549. package/graphqlFields/longText.js.map +1 -1
  550. package/graphqlFields/number.d.ts +1 -1
  551. package/graphqlFields/number.js.map +1 -1
  552. package/graphqlFields/object.d.ts +2 -2
  553. package/graphqlFields/object.js +14 -0
  554. package/graphqlFields/object.js.map +1 -1
  555. package/graphqlFields/ref.d.ts +1 -1
  556. package/graphqlFields/ref.js +1 -1
  557. package/graphqlFields/ref.js.map +1 -1
  558. package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +2 -2
  559. package/graphqlFields/richText/RichTextPluginsProcessor.js.map +1 -1
  560. package/graphqlFields/richText/richTextResolver.d.ts +2 -2
  561. package/graphqlFields/richText/richTextResolver.js +4 -19
  562. package/graphqlFields/richText/richTextResolver.js.map +1 -1
  563. package/graphqlFields/richText.d.ts +1 -1
  564. package/graphqlFields/richText.js.map +1 -1
  565. package/graphqlFields/searchableJson.d.ts +2 -0
  566. package/graphqlFields/searchableJson.js +60 -0
  567. package/graphqlFields/searchableJson.js.map +1 -0
  568. package/graphqlFields/text.d.ts +1 -1
  569. package/graphqlFields/text.js.map +1 -1
  570. package/htmlRenderer/LexicalRenderer.d.ts +1 -1
  571. package/htmlRenderer/LexicalRenderer.js.map +1 -1
  572. package/htmlRenderer/createLexicalHTMLRenderer.js +1 -1
  573. package/htmlRenderer/createLexicalHTMLRenderer.js.map +1 -1
  574. package/index.d.ts +13 -7
  575. package/index.js +67 -7
  576. package/index.js.map +1 -1
  577. package/modelManager/DefaultCmsModelManager.d.ts +11 -10
  578. package/modelManager/DefaultCmsModelManager.js +16 -13
  579. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  580. package/modelManager/SingletonModelManager.d.ts +12 -0
  581. package/modelManager/SingletonModelManager.js +48 -0
  582. package/modelManager/SingletonModelManager.js.map +1 -0
  583. package/modelManager/index.d.ts +2 -1
  584. package/modelManager/index.js +16 -1
  585. package/modelManager/index.js.map +1 -1
  586. package/package.json +37 -38
  587. package/parameters/context.js.map +1 -1
  588. package/parameters/header.js.map +1 -1
  589. package/parameters/index.js.map +1 -1
  590. package/parameters/manual.d.ts +2 -1
  591. package/parameters/manual.js.map +1 -1
  592. package/parameters/path.js.map +1 -1
  593. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +9 -0
  594. package/plugins/{CmsGraphQLSchemaPlugin.js → CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js} +5 -1
  595. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -0
  596. package/plugins/CmsGraphQLSchemaPlugin/index.d.ts +1 -0
  597. package/plugins/CmsGraphQLSchemaPlugin/index.js +18 -0
  598. package/plugins/CmsGraphQLSchemaPlugin/index.js.map +1 -0
  599. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +1 -1
  600. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
  601. package/plugins/CmsGroupPlugin.d.ts +9 -1
  602. package/plugins/CmsGroupPlugin.js +17 -1
  603. package/plugins/CmsGroupPlugin.js.map +1 -1
  604. package/plugins/CmsModelFieldConverterPlugin.d.ts +5 -2
  605. package/plugins/CmsModelFieldConverterPlugin.js +4 -0
  606. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  607. package/plugins/CmsModelPlugin.d.ts +30 -10
  608. package/plugins/CmsModelPlugin.js +101 -19
  609. package/plugins/CmsModelPlugin.js.map +1 -1
  610. package/plugins/CmsParametersPlugin.d.ts +3 -3
  611. package/plugins/CmsParametersPlugin.js.map +1 -1
  612. package/plugins/CmsRichTextRendererPlugin.d.ts +6 -6
  613. package/plugins/CmsRichTextRendererPlugin.js.map +1 -1
  614. package/plugins/StorageOperationsCmsModelPlugin.d.ts +1 -1
  615. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -1
  616. package/plugins/StorageTransformPlugin.d.ts +6 -2
  617. package/plugins/StorageTransformPlugin.js +9 -1
  618. package/plugins/StorageTransformPlugin.js.map +1 -1
  619. package/plugins/index.js.map +1 -1
  620. package/storage/date.d.ts +3 -0
  621. package/storage/date.js +119 -0
  622. package/storage/date.js.map +1 -0
  623. package/storage/default.js.map +1 -1
  624. package/storage/dynamicZone.d.ts +2 -0
  625. package/storage/dynamicZone.js +157 -0
  626. package/storage/dynamicZone.js.map +1 -0
  627. package/storage/index.js +7 -1
  628. package/storage/index.js.map +1 -1
  629. package/storage/json.js +34 -5
  630. package/storage/json.js.map +1 -1
  631. package/storage/object.js +16 -12
  632. package/storage/object.js.map +1 -1
  633. package/types/context.d.ts +146 -0
  634. package/types/context.js +7 -0
  635. package/types/context.js.map +1 -0
  636. package/types/fields/dynamicZoneField.d.ts +23 -0
  637. package/types/fields/dynamicZoneField.js +7 -0
  638. package/types/fields/dynamicZoneField.js.map +1 -0
  639. package/types/fields/objectField.d.ts +13 -0
  640. package/types/fields/objectField.js +7 -0
  641. package/types/fields/objectField.js.map +1 -0
  642. package/types/identity.d.ts +19 -0
  643. package/types/identity.js +7 -0
  644. package/types/identity.js.map +1 -0
  645. package/types/index.d.ts +10 -0
  646. package/types/index.js +117 -0
  647. package/types/index.js.map +1 -0
  648. package/types/model.d.ts +199 -0
  649. package/types/model.js +7 -0
  650. package/types/model.js.map +1 -0
  651. package/types/modelAst.d.ts +39 -0
  652. package/types/modelAst.js +7 -0
  653. package/types/modelAst.js.map +1 -0
  654. package/types/modelField.d.ts +330 -0
  655. package/types/modelField.js +7 -0
  656. package/types/modelField.js.map +1 -0
  657. package/types/modelGroup.d.ts +77 -0
  658. package/types/modelGroup.js +7 -0
  659. package/types/modelGroup.js.map +1 -0
  660. package/types/plugins.d.ts +365 -0
  661. package/types/plugins.js +7 -0
  662. package/types/plugins.js.map +1 -0
  663. package/{types.d.ts → types/types.d.ts} +295 -1215
  664. package/{types.js → types/types.js} +18 -119
  665. package/types/types.js.map +1 -0
  666. package/utils/RichTextRenderer.d.ts +10 -0
  667. package/utils/RichTextRenderer.js +33 -0
  668. package/utils/RichTextRenderer.js.map +1 -0
  669. package/utils/caching/Cache.d.ts +5 -2
  670. package/utils/caching/Cache.js +4 -7
  671. package/utils/caching/Cache.js.map +1 -1
  672. package/utils/caching/CacheKey.d.ts +2 -1
  673. package/utils/caching/CacheKey.js +5 -17
  674. package/utils/caching/CacheKey.js.map +1 -1
  675. package/utils/caching/index.js.map +1 -1
  676. package/utils/caching/types.d.ts +3 -1
  677. package/utils/caching/types.js +7 -0
  678. package/utils/caching/types.js.map +1 -1
  679. package/utils/contentEntryTraverser/ContentEntryTraverser.d.ts +13 -0
  680. package/utils/contentEntryTraverser/ContentEntryTraverser.js +97 -0
  681. package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +1 -0
  682. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +6 -0
  683. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +23 -0
  684. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -0
  685. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +7 -0
  686. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +22 -0
  687. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -0
  688. package/utils/contentModelAst/CmsModelToAstConverter.d.ts +11 -0
  689. package/utils/contentModelAst/CmsModelToAstConverter.js +28 -0
  690. package/utils/contentModelAst/CmsModelToAstConverter.js.map +1 -0
  691. package/utils/contentModelAst/index.d.ts +3 -0
  692. package/utils/contentModelAst/index.js +40 -0
  693. package/utils/contentModelAst/index.js.map +1 -0
  694. package/utils/converters/Converter.d.ts +3 -3
  695. package/utils/converters/Converter.js.map +1 -1
  696. package/utils/converters/ConverterCollection.d.ts +2 -2
  697. package/utils/converters/ConverterCollection.js.map +1 -1
  698. package/utils/converters/valueKeyStorageConverter.d.ts +3 -3
  699. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  700. package/utils/createModelField.d.ts +7 -0
  701. package/utils/createModelField.js +51 -0
  702. package/utils/createModelField.js.map +1 -0
  703. package/utils/createTypeFromFields.d.ts +1 -1
  704. package/utils/createTypeFromFields.js.map +1 -1
  705. package/utils/createTypeName.js.map +1 -1
  706. package/utils/date.js.map +1 -1
  707. package/utils/entryStorage.d.ts +13 -1
  708. package/utils/entryStorage.js +37 -3
  709. package/utils/entryStorage.js.map +1 -1
  710. package/utils/filterAsync.js.map +1 -1
  711. package/utils/getBaseFieldType.d.ts +1 -1
  712. package/utils/getBaseFieldType.js.map +1 -1
  713. package/utils/getEntryDescription.d.ts +1 -1
  714. package/utils/getEntryDescription.js.map +1 -1
  715. package/utils/getEntryImage.d.ts +1 -1
  716. package/utils/getEntryImage.js.map +1 -1
  717. package/utils/getEntryTitle.d.ts +1 -1
  718. package/utils/getEntryTitle.js.map +1 -1
  719. package/utils/getSchemaFromFieldPlugins.d.ts +6 -6
  720. package/utils/getSchemaFromFieldPlugins.js +5 -4
  721. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  722. package/utils/identity.d.ts +1 -1
  723. package/utils/identity.js.map +1 -1
  724. package/utils/incrementEntryIdVersion.js.map +1 -1
  725. package/utils/index.d.ts +1 -0
  726. package/utils/index.js +11 -0
  727. package/utils/index.js.map +1 -1
  728. package/utils/isHeadlessCmsReady.d.ts +2 -0
  729. package/utils/isHeadlessCmsReady.js +23 -0
  730. package/utils/isHeadlessCmsReady.js.map +1 -0
  731. package/utils/modelFieldTraverser/ModelFieldTraverser.d.ts +16 -0
  732. package/utils/modelFieldTraverser/ModelFieldTraverser.js +41 -0
  733. package/utils/modelFieldTraverser/ModelFieldTraverser.js.map +1 -0
  734. package/utils/modelFieldTraverser/index.d.ts +1 -0
  735. package/utils/modelFieldTraverser/index.js +18 -0
  736. package/utils/modelFieldTraverser/index.js.map +1 -0
  737. package/utils/renderFields.d.ts +1 -1
  738. package/utils/renderFields.js +2 -0
  739. package/utils/renderFields.js.map +1 -1
  740. package/utils/renderGetFilterFields.d.ts +1 -1
  741. package/utils/renderGetFilterFields.js.map +1 -1
  742. package/utils/renderInputFields.d.ts +1 -1
  743. package/utils/renderInputFields.js.map +1 -1
  744. package/utils/renderListFilterFields.d.ts +1 -1
  745. package/utils/renderListFilterFields.js.map +1 -1
  746. package/utils/renderSortEnum.d.ts +2 -2
  747. package/utils/renderSortEnum.js.map +1 -1
  748. package/utils/toSlug.js.map +1 -1
  749. package/validators/dateGte.d.ts +1 -1
  750. package/validators/dateGte.js.map +1 -1
  751. package/validators/dateLte.d.ts +1 -1
  752. package/validators/dateLte.js.map +1 -1
  753. package/validators/gte.d.ts +1 -1
  754. package/validators/gte.js.map +1 -1
  755. package/validators/in.d.ts +1 -1
  756. package/validators/in.js.map +1 -1
  757. package/validators/index.js.map +1 -1
  758. package/validators/lte.d.ts +1 -1
  759. package/validators/lte.js.map +1 -1
  760. package/validators/maxLength.d.ts +1 -1
  761. package/validators/maxLength.js.map +1 -1
  762. package/validators/minLength.d.ts +1 -1
  763. package/validators/minLength.js.map +1 -1
  764. package/validators/pattern.d.ts +1 -1
  765. package/validators/pattern.js.map +1 -1
  766. package/validators/patternPlugins/email.d.ts +1 -1
  767. package/validators/patternPlugins/email.js +1 -1
  768. package/validators/patternPlugins/email.js.map +1 -1
  769. package/validators/patternPlugins/index.d.ts +1 -1
  770. package/validators/patternPlugins/index.js.map +1 -1
  771. package/validators/patternPlugins/lowerCase.d.ts +1 -1
  772. package/validators/patternPlugins/lowerCase.js.map +1 -1
  773. package/validators/patternPlugins/lowerCaseSpace.d.ts +1 -1
  774. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  775. package/validators/patternPlugins/upperCase.d.ts +1 -1
  776. package/validators/patternPlugins/upperCase.js.map +1 -1
  777. package/validators/patternPlugins/upperCaseSpace.d.ts +1 -1
  778. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  779. package/validators/patternPlugins/url.d.ts +1 -1
  780. package/validators/patternPlugins/url.js.map +1 -1
  781. package/validators/required.d.ts +1 -1
  782. package/validators/required.js.map +1 -1
  783. package/validators/timeGte.d.ts +1 -1
  784. package/validators/timeGte.js.map +1 -1
  785. package/validators/timeLte.d.ts +1 -1
  786. package/validators/timeLte.js.map +1 -1
  787. package/validators/unique.d.ts +1 -1
  788. package/validators/unique.js.map +1 -1
  789. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +0 -3
  790. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +0 -111
  791. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +0 -1
  792. package/plugins/CmsGraphQLSchemaPlugin.d.ts +0 -5
  793. package/plugins/CmsGraphQLSchemaPlugin.js.map +0 -1
  794. package/types.js.map +0 -1
  795. package/utils/access.d.ts +0 -9
  796. package/utils/access.js +0 -26
  797. package/utils/access.js.map +0 -1
  798. package/utils/permissions/EntriesPermissions.d.ts +0 -4
  799. package/utils/permissions/EntriesPermissions.js +0 -11
  800. package/utils/permissions/EntriesPermissions.js.map +0 -1
  801. package/utils/permissions/ModelGroupsPermissions.d.ts +0 -9
  802. package/utils/permissions/ModelGroupsPermissions.js +0 -50
  803. package/utils/permissions/ModelGroupsPermissions.js.map +0 -1
  804. package/utils/permissions/ModelsPermissions.d.ts +0 -22
  805. package/utils/permissions/ModelsPermissions.js +0 -90
  806. package/utils/permissions/ModelsPermissions.js.map +0 -1
@@ -1,9 +1,9 @@
1
- import { CmsContext, CmsEntry, CmsModel, CreateCmsEntryInput, CreateCmsEntryOptionsInput } from "../../../types";
2
- import { I18NLocale } from "@webiny/api-i18n/types";
3
- import { SecurityIdentity } from "@webiny/api-security/types";
4
- import { Tenant } from "@webiny/api-tenancy/types";
5
- import { EntriesPermissions } from "../../../utils/permissions/EntriesPermissions";
6
- declare type CreateEntryDataParams = {
1
+ import type { CmsContext, CmsEntry, CmsModel, CreateCmsEntryInput, CreateCmsEntryOptionsInput } from "../../../types";
2
+ import type { I18NLocale } from "@webiny/api-i18n/types";
3
+ import type { SecurityIdentity } from "@webiny/api-security/types";
4
+ import type { Tenant } from "@webiny/api-tenancy/types";
5
+ import type { AccessControl } from "../../AccessControl/AccessControl";
6
+ type CreateEntryDataParams = {
7
7
  model: CmsModel;
8
8
  rawInput: CreateCmsEntryInput;
9
9
  options?: CreateCmsEntryOptionsInput;
@@ -11,9 +11,9 @@ declare type CreateEntryDataParams = {
11
11
  getIdentity: () => SecurityIdentity;
12
12
  getTenant: () => Tenant;
13
13
  getLocale: () => I18NLocale;
14
- entriesPermissions: EntriesPermissions;
14
+ accessControl: AccessControl;
15
15
  };
16
- export declare const createEntryData: ({ model, rawInput, options, context, getIdentity: getSecurityIdentity, getLocale, getTenant, entriesPermissions }: CreateEntryDataParams) => Promise<{
16
+ export declare const createEntryData: ({ model, rawInput, options, context, getIdentity: getSecurityIdentity, getLocale, getTenant, accessControl }: CreateEntryDataParams) => Promise<{
17
17
  entry: CmsEntry;
18
18
  input: Record<string, any>;
19
19
  }>;
@@ -21,7 +21,7 @@ const createEntryData = async ({
21
21
  getIdentity: getSecurityIdentity,
22
22
  getLocale,
23
23
  getTenant,
24
- entriesPermissions
24
+ accessControl
25
25
  }) => {
26
26
  const initialInput = mapAndCleanCreateInputData(model, rawInput);
27
27
  await (0, _entryDataValidation.validateModelEntryDataOrThrow)({
@@ -58,12 +58,14 @@ const createEntryData = async ({
58
58
  const status = rawInput.status || _statuses.STATUS_DRAFT;
59
59
  if (status !== _statuses.STATUS_DRAFT) {
60
60
  if (status === _statuses.STATUS_PUBLISHED) {
61
- await entriesPermissions.ensure({
61
+ await accessControl.ensureCanAccessEntry({
62
+ model,
62
63
  pw: "p"
63
64
  });
64
65
  } else if (status === _statuses.STATUS_UNPUBLISHED) {
65
66
  // If setting the status other than draft, we have to check if the user has permissions to publish.
66
- await entriesPermissions.ensure({
67
+ await accessControl.ensureCanAccessEntry({
68
+ model,
67
69
  pw: "u"
68
70
  });
69
71
  }
@@ -108,9 +110,13 @@ const createEntryData = async ({
108
110
  createdOn: (0, _date.getDate)(rawInput.createdOn, currentDateTime),
109
111
  modifiedOn: (0, _date.getDate)(rawInput.modifiedOn, null),
110
112
  savedOn: (0, _date.getDate)(rawInput.savedOn, currentDateTime),
113
+ deletedOn: (0, _date.getDate)(rawInput.deletedOn, null),
114
+ restoredOn: (0, _date.getDate)(rawInput.restoredOn, null),
111
115
  createdBy: (0, _identity.getIdentity)(rawInput.createdBy, currentIdentity),
112
116
  modifiedBy: (0, _identity.getIdentity)(rawInput.modifiedBy, null),
113
117
  savedBy: (0, _identity.getIdentity)(rawInput.savedBy, currentIdentity),
118
+ deletedBy: (0, _identity.getIdentity)(rawInput.deletedBy, null),
119
+ restoredBy: (0, _identity.getIdentity)(rawInput.restoredBy, null),
114
120
  ...entryLevelPublishingMetaFields,
115
121
  /**
116
122
  * Revision-level meta fields. 👇
@@ -118,9 +124,13 @@ const createEntryData = async ({
118
124
  revisionCreatedOn: (0, _date.getDate)(rawInput.revisionCreatedOn, currentDateTime),
119
125
  revisionModifiedOn: (0, _date.getDate)(rawInput.revisionModifiedOn, null),
120
126
  revisionSavedOn: (0, _date.getDate)(rawInput.revisionSavedOn, currentDateTime),
127
+ revisionDeletedOn: (0, _date.getDate)(rawInput.revisionDeletedOn, null),
128
+ revisionRestoredOn: (0, _date.getDate)(rawInput.revisionRestoredOn, null),
121
129
  revisionCreatedBy: (0, _identity.getIdentity)(rawInput.revisionCreatedBy, currentIdentity),
122
130
  revisionModifiedBy: (0, _identity.getIdentity)(rawInput.revisionModifiedBy, null),
123
131
  revisionSavedBy: (0, _identity.getIdentity)(rawInput.revisionSavedBy, currentIdentity),
132
+ revisionDeletedBy: (0, _identity.getIdentity)(rawInput.revisionDeletedBy, null),
133
+ revisionRestoredBy: (0, _identity.getIdentity)(rawInput.revisionRestoredBy, null),
124
134
  ...revisionLevelPublishingMetaFields,
125
135
  version,
126
136
  status,
@@ -130,9 +140,25 @@ const createEntryData = async ({
130
140
  folderId: rawInput.wbyAco_location?.folderId || _constants.ROOT_FOLDER
131
141
  }
132
142
  };
143
+ if (status !== _statuses.STATUS_DRAFT) {
144
+ if (status === _statuses.STATUS_PUBLISHED) {
145
+ await accessControl.ensureCanAccessEntry({
146
+ model,
147
+ entry,
148
+ pw: "p"
149
+ });
150
+ } else if (status === _statuses.STATUS_UNPUBLISHED) {
151
+ // If setting the status other than draft, we have to check if the user has permissions to publish.
152
+ await accessControl.ensureCanAccessEntry({
153
+ model,
154
+ entry,
155
+ pw: "u"
156
+ });
157
+ }
158
+ }
133
159
  return {
134
160
  entry,
135
- input
161
+ input: structuredClone(input)
136
162
  };
137
163
  };
138
164
 
@@ -1 +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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"}
1
+ {"version":3,"names":["_date","require","_constants","_error","_interopRequireDefault","_entryDataValidation","_referenceFieldsMapping","_utils","_statuses","_identity","createEntryData","model","rawInput","options","context","getIdentity","getSecurityIdentity","getLocale","getTenant","accessControl","initialInput","mapAndCleanCreateInputData","validateModelEntryDataOrThrow","data","skipValidators","input","referenceFieldsMapping","validateEntries","locale","id","entryId","version","createEntryId","currentIdentity","currentDateTime","Date","status","STATUS_DRAFT","STATUS_PUBLISHED","ensureCanAccessEntry","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","deletedOn","restoredOn","createdBy","modifiedBy","savedBy","deletedBy","restoredBy","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","revisionDeletedOn","revisionRestoredOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","revisionDeletedBy","revisionRestoredBy","values","location","folderId","wbyAco_location","ROOT_FOLDER","structuredClone","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 type {\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 type { I18NLocale } from \"@webiny/api-i18n/types\";\nimport type { SecurityIdentity } from \"@webiny/api-security/types\";\nimport type { Tenant } from \"@webiny/api-tenancy/types\";\nimport { getIdentity } from \"~/utils/identity\";\nimport type { AccessControl } from \"~/crud/AccessControl/AccessControl\";\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 accessControl: AccessControl;\n};\n\nexport const createEntryData = async ({\n model,\n rawInput,\n options,\n context,\n getIdentity: getSecurityIdentity,\n getLocale,\n getTenant,\n accessControl\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 accessControl.ensureCanAccessEntry({ model, 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 accessControl.ensureCanAccessEntry({ model, 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 deletedOn: getDate(rawInput.deletedOn, null),\n restoredOn: getDate(rawInput.restoredOn, null),\n createdBy: getIdentity(rawInput.createdBy, currentIdentity),\n modifiedBy: getIdentity(rawInput.modifiedBy, null),\n savedBy: getIdentity(rawInput.savedBy, currentIdentity),\n deletedBy: getIdentity(rawInput.deletedBy, null),\n restoredBy: getIdentity(rawInput.restoredBy, null),\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 revisionDeletedOn: getDate(rawInput.revisionDeletedOn, null),\n revisionRestoredOn: getDate(rawInput.revisionRestoredOn, null),\n revisionCreatedBy: getIdentity(rawInput.revisionCreatedBy, currentIdentity),\n revisionModifiedBy: getIdentity(rawInput.revisionModifiedBy, null),\n revisionSavedBy: getIdentity(rawInput.revisionSavedBy, currentIdentity),\n revisionDeletedBy: getIdentity(rawInput.revisionDeletedBy, null),\n revisionRestoredBy: getIdentity(rawInput.revisionRestoredBy, null),\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 if (status !== STATUS_DRAFT) {\n if (status === STATUS_PUBLISHED) {\n await accessControl.ensureCanAccessEntry({ model, entry, 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 accessControl.ensureCanAccessEntry({ model, entry, pw: \"u\" });\n }\n }\n\n return { entry, input: structuredClone(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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","ignoreList":[]}
@@ -1,8 +1,9 @@
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 = {
1
+ import type { CmsContext, CmsEntry, CmsModel, CreateCmsEntryInput, CreateCmsEntryOptionsInput } from "../../../types";
2
+ import type { SecurityIdentity } from "@webiny/api-security/types";
3
+ import type { Tenant } from "@webiny/api-tenancy/types";
4
+ import type { I18NLocale } from "@webiny/api-i18n/types";
5
+ import type { AccessControl } from "../../AccessControl/AccessControl";
6
+ type CreateEntryRevisionFromDataParams = {
6
7
  sourceId: string;
7
8
  model: CmsModel;
8
9
  rawInput: CreateCmsEntryInput;
@@ -13,8 +14,9 @@ declare type CreateEntryRevisionFromDataParams = {
13
14
  getLocale: () => I18NLocale;
14
15
  originalEntry: CmsEntry;
15
16
  latestStorageEntry: CmsEntry;
17
+ accessControl: AccessControl;
16
18
  };
17
- export declare const createEntryRevisionFromData: ({ sourceId, model, rawInput, options, context, getIdentity: getSecurityIdentity, originalEntry, latestStorageEntry }: CreateEntryRevisionFromDataParams) => Promise<{
19
+ export declare const createEntryRevisionFromData: ({ sourceId, model, rawInput, options, context, getIdentity: getSecurityIdentity, originalEntry, latestStorageEntry, accessControl }: CreateEntryRevisionFromDataParams) => Promise<{
18
20
  entry: CmsEntry;
19
21
  input: Record<string, any>;
20
22
  }>;
@@ -21,7 +21,8 @@ const createEntryRevisionFromData = async ({
21
21
  context,
22
22
  getIdentity: getSecurityIdentity,
23
23
  originalEntry,
24
- latestStorageEntry
24
+ latestStorageEntry,
25
+ accessControl
25
26
  }) => {
26
27
  /**
27
28
  * Make sure we only work with fields that are defined in the model.
@@ -51,6 +52,54 @@ const createEntryRevisionFromData = async ({
51
52
  } = increaseEntryIdVersion(latestId);
52
53
  const currentIdentity = getSecurityIdentity();
53
54
  const currentDateTime = new Date();
55
+
56
+ /**
57
+ * Users can set the initial status of the entry. If so, we need to make
58
+ * sure they have the required permissions and also that all the fields
59
+ * are filled in correctly.
60
+ */
61
+ const status = rawInput.status || _statuses.STATUS_DRAFT;
62
+ if (status !== _statuses.STATUS_DRAFT) {
63
+ if (status === _statuses.STATUS_PUBLISHED) {
64
+ await accessControl.ensureCanAccessEntry({
65
+ model,
66
+ pw: "p"
67
+ });
68
+ } else if (status === _statuses.STATUS_UNPUBLISHED) {
69
+ // If setting the status other than draft, we have to check if the user has permissions to publish.
70
+ await accessControl.ensureCanAccessEntry({
71
+ model,
72
+ pw: "u"
73
+ });
74
+ }
75
+ }
76
+ const locked = status !== _statuses.STATUS_DRAFT;
77
+ let revisionLevelPublishingMetaFields = {
78
+ revisionFirstPublishedOn: (0, _date.getDate)(rawInput.revisionFirstPublishedOn, null),
79
+ revisionLastPublishedOn: (0, _date.getDate)(rawInput.revisionLastPublishedOn, null),
80
+ revisionFirstPublishedBy: (0, _identity.getIdentity)(rawInput.revisionFirstPublishedBy, null),
81
+ revisionLastPublishedBy: (0, _identity.getIdentity)(rawInput.revisionLastPublishedBy, null)
82
+ };
83
+ let entryLevelPublishingMetaFields = {
84
+ firstPublishedOn: (0, _date.getDate)(rawInput.firstPublishedOn, latestStorageEntry.firstPublishedOn),
85
+ lastPublishedOn: (0, _date.getDate)(rawInput.lastPublishedOn, latestStorageEntry.lastPublishedOn),
86
+ firstPublishedBy: (0, _identity.getIdentity)(rawInput.firstPublishedBy, latestStorageEntry.firstPublishedBy),
87
+ lastPublishedBy: (0, _identity.getIdentity)(rawInput.lastPublishedBy, latestStorageEntry.lastPublishedBy)
88
+ };
89
+ if (status === _statuses.STATUS_PUBLISHED) {
90
+ revisionLevelPublishingMetaFields = {
91
+ revisionFirstPublishedOn: (0, _date.getDate)(rawInput.revisionFirstPublishedOn, currentDateTime),
92
+ revisionLastPublishedOn: (0, _date.getDate)(rawInput.revisionLastPublishedOn, currentDateTime),
93
+ revisionFirstPublishedBy: (0, _identity.getIdentity)(rawInput.revisionFirstPublishedBy, currentIdentity),
94
+ revisionLastPublishedBy: (0, _identity.getIdentity)(rawInput.revisionLastPublishedBy, currentIdentity)
95
+ };
96
+ entryLevelPublishingMetaFields = {
97
+ firstPublishedOn: (0, _date.getDate)(rawInput.firstPublishedOn, latestStorageEntry.firstPublishedOn),
98
+ lastPublishedOn: (0, _date.getDate)(rawInput.lastPublishedOn, currentDateTime),
99
+ firstPublishedBy: (0, _identity.getIdentity)(rawInput.firstPublishedBy, latestStorageEntry.firstPublishedBy),
100
+ lastPublishedBy: (0, _identity.getIdentity)(rawInput.lastPublishedBy, currentIdentity)
101
+ };
102
+ }
54
103
  const entry = {
55
104
  ...originalEntry,
56
105
  id,
@@ -61,28 +110,22 @@ const createEntryRevisionFromData = async ({
61
110
  createdOn: (0, _date.getDate)(rawInput.createdOn, latestStorageEntry.createdOn),
62
111
  savedOn: (0, _date.getDate)(rawInput.savedOn, currentDateTime),
63
112
  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
113
  createdBy: (0, _identity.getIdentity)(rawInput.createdBy, latestStorageEntry.createdBy),
67
114
  savedBy: (0, _identity.getIdentity)(rawInput.savedBy, currentIdentity),
68
115
  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),
116
+ ...entryLevelPublishingMetaFields,
71
117
  /**
72
118
  * Revision-level meta fields. 👇
73
119
  */
74
120
  revisionCreatedOn: (0, _date.getDate)(rawInput.revisionCreatedOn, currentDateTime),
75
121
  revisionSavedOn: (0, _date.getDate)(rawInput.revisionSavedOn, currentDateTime),
76
122
  revisionModifiedOn: (0, _date.getDate)(rawInput.revisionModifiedOn, null),
77
- revisionFirstPublishedOn: (0, _date.getDate)(rawInput.revisionFirstPublishedOn, null),
78
- revisionLastPublishedOn: (0, _date.getDate)(rawInput.revisionLastPublishedOn, null),
79
123
  revisionCreatedBy: (0, _identity.getIdentity)(rawInput.revisionCreatedBy, currentIdentity),
80
124
  revisionSavedBy: (0, _identity.getIdentity)(rawInput.revisionSavedBy, currentIdentity),
81
125
  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,
126
+ ...revisionLevelPublishingMetaFields,
127
+ locked,
128
+ status,
86
129
  values
87
130
  };
88
131
  return {
@@ -1 +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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"}
1
+ {"version":3,"names":["_date","require","_identity","_mapAndCleanUpdatedInputData","_entryDataValidation","_referenceFieldsMapping","_utils","_error","_interopRequireDefault","_statuses","createEntryRevisionFromData","sourceId","model","rawInput","options","context","getIdentity","getSecurityIdentity","originalEntry","latestStorageEntry","accessControl","input","mapAndCleanUpdatedInputData","initialValues","values","validateModelEntryDataOrThrow","data","entry","skipValidators","referenceFieldsMapping","validateEntries","latestId","id","version","nextVersion","increaseEntryIdVersion","currentIdentity","currentDateTime","Date","status","STATUS_DRAFT","STATUS_PUBLISHED","ensureCanAccessEntry","pw","STATUS_UNPUBLISHED","locked","revisionLevelPublishingMetaFields","revisionFirstPublishedOn","getDate","revisionLastPublishedOn","revisionFirstPublishedBy","revisionLastPublishedBy","entryLevelPublishingMetaFields","firstPublishedOn","lastPublishedOn","firstPublishedBy","lastPublishedBy","createdOn","savedOn","modifiedOn","createdBy","savedBy","modifiedBy","revisionCreatedOn","revisionSavedOn","revisionModifiedOn","revisionCreatedBy","revisionSavedBy","revisionModifiedBy","exports","entryId","parseIdentifier","WebinyError","createIdentifier"],"sources":["createEntryRevisionFromData.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntry,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types\";\nimport { getDate } from \"~/utils/date\";\nimport { getIdentity } from \"~/utils/identity\";\nimport type { SecurityIdentity } from \"@webiny/api-security/types\";\nimport type { Tenant } from \"@webiny/api-tenancy/types\";\nimport type { 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, STATUS_PUBLISHED, STATUS_UNPUBLISHED } from \"./statuses\";\nimport type { AccessControl } from \"~/crud/AccessControl/AccessControl\";\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 accessControl: AccessControl;\n};\n\nexport const createEntryRevisionFromData = async ({\n sourceId,\n model,\n rawInput,\n options,\n context,\n getIdentity: getSecurityIdentity,\n originalEntry,\n latestStorageEntry,\n accessControl\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 /**\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 accessControl.ensureCanAccessEntry({ model, 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 accessControl.ensureCanAccessEntry({ model, 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: getDate(rawInput.revisionFirstPublishedOn, null),\n revisionLastPublishedOn: getDate(rawInput.revisionLastPublishedOn, null),\n revisionFirstPublishedBy: getIdentity(rawInput.revisionFirstPublishedBy, null),\n revisionLastPublishedBy: getIdentity(rawInput.revisionLastPublishedBy, null)\n };\n\n let entryLevelPublishingMetaFields: Pick<\n CmsEntry,\n \"firstPublishedOn\" | \"lastPublishedOn\" | \"firstPublishedBy\" | \"lastPublishedBy\"\n > = {\n firstPublishedOn: getDate(rawInput.firstPublishedOn, latestStorageEntry.firstPublishedOn),\n lastPublishedOn: getDate(rawInput.lastPublishedOn, latestStorageEntry.lastPublishedOn),\n firstPublishedBy: getIdentity(\n rawInput.firstPublishedBy,\n latestStorageEntry.firstPublishedBy\n ),\n lastPublishedBy: getIdentity(rawInput.lastPublishedBy, latestStorageEntry.lastPublishedBy)\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(\n rawInput.firstPublishedOn,\n latestStorageEntry.firstPublishedOn\n ),\n lastPublishedOn: getDate(rawInput.lastPublishedOn, currentDateTime),\n firstPublishedBy: getIdentity(\n rawInput.firstPublishedBy,\n latestStorageEntry.firstPublishedBy\n ),\n lastPublishedBy: getIdentity(rawInput.lastPublishedBy, currentIdentity)\n };\n }\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 createdBy: getIdentity(rawInput.createdBy, latestStorageEntry.createdBy),\n savedBy: getIdentity(rawInput.savedBy, currentIdentity),\n modifiedBy: getIdentity(rawInput.modifiedBy, currentIdentity),\n ...entryLevelPublishingMetaFields,\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 revisionCreatedBy: getIdentity(rawInput.revisionCreatedBy, currentIdentity),\n revisionSavedBy: getIdentity(rawInput.revisionSavedBy, currentIdentity),\n revisionModifiedBy: getIdentity(rawInput.revisionModifiedBy, null),\n ...revisionLevelPublishingMetaFields,\n\n locked,\n status,\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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","ignoreList":[]}
@@ -1,13 +1,13 @@
1
- import { CmsContext, CmsEntry, CmsModel } from "../../../types";
2
- import { SecurityIdentity } from "@webiny/api-security/types";
3
- declare type CreatePublishEntryDataParams = {
1
+ import type { CmsContext, CmsEntry, CmsEntryValues, CmsModel } from "../../../types";
2
+ import type { SecurityIdentity } from "@webiny/api-security/types";
3
+ type CreatePublishEntryDataParams = {
4
4
  model: CmsModel;
5
5
  context: CmsContext;
6
6
  getIdentity: () => SecurityIdentity;
7
7
  originalEntry: CmsEntry;
8
8
  latestEntry: CmsEntry;
9
9
  };
10
- export declare const createPublishEntryData: ({ model, context, getIdentity: getSecurityIdentity, originalEntry, latestEntry }: CreatePublishEntryDataParams) => Promise<{
11
- entry: CmsEntry;
10
+ export declare const createPublishEntryData: <T extends CmsEntryValues = CmsEntryValues>({ model, context, getIdentity: getSecurityIdentity, originalEntry, latestEntry }: CreatePublishEntryDataParams) => Promise<{
11
+ entry: CmsEntry<T>;
12
12
  }>;
13
13
  export {};
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.createPublishEntryData = void 0;
7
7
  var _statuses = require("./statuses");
8
8
  var _entryDataValidation = require("../entryDataValidation");
9
+ var _identity = require("../../../utils/identity");
10
+ var _date = require("../../../utils/date");
9
11
  const createPublishEntryData = async ({
10
12
  model,
11
13
  context,
@@ -28,29 +30,29 @@ const createPublishEntryData = async ({
28
30
  /**
29
31
  * Entry-level meta fields. 👇
30
32
  */
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,
33
+ createdOn: (0, _date.getDate)(latestEntry.createdOn),
34
+ modifiedOn: (0, _date.getDate)(currentDateTime),
35
+ savedOn: (0, _date.getDate)(currentDateTime),
36
+ firstPublishedOn: (0, _date.getDate)(latestEntry.firstPublishedOn, currentDateTime),
37
+ lastPublishedOn: (0, _date.getDate)(currentDateTime),
38
+ createdBy: (0, _identity.getIdentity)(latestEntry.createdBy),
39
+ modifiedBy: (0, _identity.getIdentity)(currentIdentity),
40
+ savedBy: (0, _identity.getIdentity)(currentIdentity),
41
+ firstPublishedBy: (0, _identity.getIdentity)(latestEntry.firstPublishedBy, currentIdentity),
42
+ lastPublishedBy: (0, _identity.getIdentity)(currentIdentity),
41
43
  /**
42
44
  * Revision-level meta fields. 👇
43
45
  */
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
46
+ revisionCreatedOn: (0, _date.getDate)(originalEntry.revisionCreatedOn),
47
+ revisionSavedOn: (0, _date.getDate)(currentDateTime),
48
+ revisionModifiedOn: (0, _date.getDate)(currentDateTime),
49
+ revisionFirstPublishedOn: (0, _date.getDate)(originalEntry.revisionFirstPublishedOn, currentDateTime),
50
+ revisionLastPublishedOn: (0, _date.getDate)(currentDateTime),
51
+ revisionCreatedBy: (0, _identity.getIdentity)(originalEntry.revisionCreatedBy),
52
+ revisionSavedBy: (0, _identity.getIdentity)(currentIdentity),
53
+ revisionModifiedBy: (0, _identity.getIdentity)(currentIdentity),
54
+ revisionFirstPublishedBy: (0, _identity.getIdentity)(originalEntry.revisionFirstPublishedBy, currentIdentity),
55
+ revisionLastPublishedBy: (0, _identity.getIdentity)(currentIdentity)
54
56
  };
55
57
  return {
56
58
  entry
@@ -1 +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"}
1
+ {"version":3,"names":["_statuses","require","_entryDataValidation","_identity","_date","createPublishEntryData","model","context","getIdentity","getSecurityIdentity","originalEntry","latestEntry","validateModelEntryDataOrThrow","data","values","entry","currentDateTime","Date","toISOString","currentIdentity","status","STATUS_PUBLISHED","locked","createdOn","getDate","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 type { CmsContext, CmsEntry, CmsEntryValues, CmsModel } from \"~/types\";\nimport { STATUS_PUBLISHED } from \"./statuses\";\nimport type { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { validateModelEntryDataOrThrow } from \"~/crud/contentEntry/entryDataValidation\";\nimport { getIdentity } from \"~/utils/identity\";\nimport { getDate } from \"~/utils/date\";\n\ntype CreatePublishEntryDataParams = {\n model: CmsModel;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n originalEntry: CmsEntry;\n latestEntry: CmsEntry;\n};\n\nexport const createPublishEntryData = async <T extends CmsEntryValues = CmsEntryValues>({\n model,\n context,\n getIdentity: getSecurityIdentity,\n originalEntry,\n latestEntry\n}: CreatePublishEntryDataParams): Promise<{\n entry: CmsEntry<T>;\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<T> = {\n ...originalEntry,\n status: STATUS_PUBLISHED,\n locked: true,\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: getDate(latestEntry.createdOn),\n modifiedOn: getDate(currentDateTime),\n savedOn: getDate(currentDateTime),\n firstPublishedOn: getDate(latestEntry.firstPublishedOn, currentDateTime),\n lastPublishedOn: getDate(currentDateTime),\n createdBy: getIdentity(latestEntry.createdBy),\n modifiedBy: getIdentity(currentIdentity),\n savedBy: getIdentity(currentIdentity),\n firstPublishedBy: getIdentity(latestEntry.firstPublishedBy, currentIdentity),\n lastPublishedBy: getIdentity(currentIdentity),\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: getDate(originalEntry.revisionCreatedOn),\n revisionSavedOn: getDate(currentDateTime),\n revisionModifiedOn: getDate(currentDateTime),\n revisionFirstPublishedOn: getDate(originalEntry.revisionFirstPublishedOn, currentDateTime),\n revisionLastPublishedOn: getDate(currentDateTime),\n revisionCreatedBy: getIdentity(originalEntry.revisionCreatedBy),\n revisionSavedBy: getIdentity(currentIdentity),\n revisionModifiedBy: getIdentity(currentIdentity),\n revisionFirstPublishedBy: getIdentity(\n originalEntry.revisionFirstPublishedBy,\n currentIdentity\n ),\n revisionLastPublishedBy: getIdentity(currentIdentity)\n } as CmsEntry<T>;\n\n return { entry };\n};\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAUO,MAAMI,sBAAsB,GAAG,MAAAA,CAAkD;EACpFC,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,KAAkB,GAAG;IACvB,GAAGL,aAAa;IAChBU,MAAM,EAAEC,0BAAgB;IACxBC,MAAM,EAAE,IAAI;IAEZ;AACR;AACA;IACQC,SAAS,EAAE,IAAAC,aAAO,EAACb,WAAW,CAACY,SAAS,CAAC;IACzCE,UAAU,EAAE,IAAAD,aAAO,EAACR,eAAe,CAAC;IACpCU,OAAO,EAAE,IAAAF,aAAO,EAACR,eAAe,CAAC;IACjCW,gBAAgB,EAAE,IAAAH,aAAO,EAACb,WAAW,CAACgB,gBAAgB,EAAEX,eAAe,CAAC;IACxEY,eAAe,EAAE,IAAAJ,aAAO,EAACR,eAAe,CAAC;IACzCa,SAAS,EAAE,IAAArB,qBAAW,EAACG,WAAW,CAACkB,SAAS,CAAC;IAC7CC,UAAU,EAAE,IAAAtB,qBAAW,EAACW,eAAe,CAAC;IACxCY,OAAO,EAAE,IAAAvB,qBAAW,EAACW,eAAe,CAAC;IACrCa,gBAAgB,EAAE,IAAAxB,qBAAW,EAACG,WAAW,CAACqB,gBAAgB,EAAEb,eAAe,CAAC;IAC5Ec,eAAe,EAAE,IAAAzB,qBAAW,EAACW,eAAe,CAAC;IAE7C;AACR;AACA;IACQe,iBAAiB,EAAE,IAAAV,aAAO,EAACd,aAAa,CAACwB,iBAAiB,CAAC;IAC3DC,eAAe,EAAE,IAAAX,aAAO,EAACR,eAAe,CAAC;IACzCoB,kBAAkB,EAAE,IAAAZ,aAAO,EAACR,eAAe,CAAC;IAC5CqB,wBAAwB,EAAE,IAAAb,aAAO,EAACd,aAAa,CAAC2B,wBAAwB,EAAErB,eAAe,CAAC;IAC1FsB,uBAAuB,EAAE,IAAAd,aAAO,EAACR,eAAe,CAAC;IACjDuB,iBAAiB,EAAE,IAAA/B,qBAAW,EAACE,aAAa,CAAC6B,iBAAiB,CAAC;IAC/DC,eAAe,EAAE,IAAAhC,qBAAW,EAACW,eAAe,CAAC;IAC7CsB,kBAAkB,EAAE,IAAAjC,qBAAW,EAACW,eAAe,CAAC;IAChDuB,wBAAwB,EAAE,IAAAlC,qBAAW,EACjCE,aAAa,CAACgC,wBAAwB,EACtCvB,eACJ,CAAC;IACDwB,uBAAuB,EAAE,IAAAnC,qBAAW,EAACW,eAAe;EACxD,CAAgB;EAEhB,OAAO;IAAEJ;EAAM,CAAC;AACpB,CAAC;AAAC6B,OAAA,CAAAvC,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { CmsContext, CmsEntry, CmsModel } from "../../../types";
2
- import { SecurityIdentity } from "@webiny/api-security/types";
3
- declare type CreateRepublishEntryDataParams = {
1
+ import type { CmsContext, CmsEntry, CmsModel } from "../../../types";
2
+ import type { SecurityIdentity } from "@webiny/api-security/types";
3
+ type CreateRepublishEntryDataParams = {
4
4
  model: CmsModel;
5
5
  context: CmsContext;
6
6
  getIdentity: () => SecurityIdentity;
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.createRepublishEntryData = void 0;
7
7
  var _referenceFieldsMapping = require("../referenceFieldsMapping");
8
8
  var _statuses = require("./statuses");
9
+ var _identity = require("../../../utils/identity");
10
+ var _date = require("../../../utils/date");
9
11
  const createRepublishEntryData = async ({
10
12
  model,
11
13
  context,
@@ -26,25 +28,25 @@ const createRepublishEntryData = async ({
26
28
  /**
27
29
  * Entry-level meta fields. 👇
28
30
  */
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,
31
+ savedOn: (0, _date.getDate)(currentDateTime),
32
+ modifiedOn: (0, _date.getDate)(currentDateTime),
33
+ savedBy: (0, _identity.getIdentity)(currentIdentity),
34
+ modifiedBy: (0, _identity.getIdentity)(currentIdentity),
35
+ firstPublishedOn: (0, _date.getDate)(originalEntry.firstPublishedOn, currentDateTime),
36
+ firstPublishedBy: (0, _identity.getIdentity)(originalEntry.firstPublishedBy, currentIdentity),
37
+ lastPublishedOn: (0, _date.getDate)(currentDateTime),
38
+ lastPublishedBy: (0, _identity.getIdentity)(currentIdentity),
37
39
  /**
38
40
  * Revision-level meta fields. 👇
39
41
  */
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,
42
+ revisionSavedOn: (0, _date.getDate)(currentDateTime),
43
+ revisionModifiedOn: (0, _date.getDate)(currentDateTime),
44
+ revisionSavedBy: (0, _identity.getIdentity)(currentIdentity),
45
+ revisionModifiedBy: (0, _identity.getIdentity)(currentIdentity),
46
+ revisionFirstPublishedOn: (0, _date.getDate)(originalEntry.revisionFirstPublishedOn, currentDateTime),
47
+ revisionFirstPublishedBy: (0, _identity.getIdentity)(originalEntry.revisionFirstPublishedBy, currentIdentity),
48
+ revisionLastPublishedOn: (0, _date.getDate)(currentDateTime),
49
+ revisionLastPublishedBy: (0, _identity.getIdentity)(currentIdentity),
48
50
  webinyVersion: context.WEBINY_VERSION,
49
51
  values
50
52
  };
@@ -1 +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"}
1
+ {"version":3,"names":["_referenceFieldsMapping","require","_statuses","_identity","_date","createRepublishEntryData","model","context","getIdentity","getSecurityIdentity","originalEntry","values","referenceFieldsMapping","input","validateEntries","currentDateTime","Date","toISOString","currentIdentity","entry","status","STATUS_PUBLISHED","savedOn","getDate","modifiedOn","savedBy","modifiedBy","firstPublishedOn","firstPublishedBy","lastPublishedOn","lastPublishedBy","revisionSavedOn","revisionModifiedOn","revisionSavedBy","revisionModifiedBy","revisionFirstPublishedOn","revisionFirstPublishedBy","revisionLastPublishedOn","revisionLastPublishedBy","webinyVersion","WEBINY_VERSION","exports"],"sources":["createRepublishEntryData.ts"],"sourcesContent":["import type { CmsContext, CmsEntry, CmsModel } from \"~/types\";\nimport { referenceFieldsMapping } from \"~/crud/contentEntry/referenceFieldsMapping\";\nimport { STATUS_PUBLISHED } from \"./statuses\";\nimport type { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { getIdentity } from \"~/utils/identity\";\nimport { getDate } from \"~/utils/date\";\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: getDate(currentDateTime),\n modifiedOn: getDate(currentDateTime),\n savedBy: getIdentity(currentIdentity),\n modifiedBy: getIdentity(currentIdentity),\n firstPublishedOn: getDate(originalEntry.firstPublishedOn, currentDateTime),\n firstPublishedBy: getIdentity(originalEntry.firstPublishedBy, currentIdentity),\n lastPublishedOn: getDate(currentDateTime),\n lastPublishedBy: getIdentity(currentIdentity),\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionSavedOn: getDate(currentDateTime),\n revisionModifiedOn: getDate(currentDateTime),\n revisionSavedBy: getIdentity(currentIdentity),\n revisionModifiedBy: getIdentity(currentIdentity),\n revisionFirstPublishedOn: getDate(originalEntry.revisionFirstPublishedOn, currentDateTime),\n revisionFirstPublishedBy: getIdentity(\n originalEntry.revisionFirstPublishedBy,\n currentIdentity\n ),\n revisionLastPublishedOn: getDate(currentDateTime),\n revisionLastPublishedBy: getIdentity(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;AAEA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AASO,MAAMI,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,EAAE,IAAAC,aAAO,EAACR,eAAe,CAAC;IACjCS,UAAU,EAAE,IAAAD,aAAO,EAACR,eAAe,CAAC;IACpCU,OAAO,EAAE,IAAAjB,qBAAW,EAACU,eAAe,CAAC;IACrCQ,UAAU,EAAE,IAAAlB,qBAAW,EAACU,eAAe,CAAC;IACxCS,gBAAgB,EAAE,IAAAJ,aAAO,EAACb,aAAa,CAACiB,gBAAgB,EAAEZ,eAAe,CAAC;IAC1Ea,gBAAgB,EAAE,IAAApB,qBAAW,EAACE,aAAa,CAACkB,gBAAgB,EAAEV,eAAe,CAAC;IAC9EW,eAAe,EAAE,IAAAN,aAAO,EAACR,eAAe,CAAC;IACzCe,eAAe,EAAE,IAAAtB,qBAAW,EAACU,eAAe,CAAC;IAE7C;AACR;AACA;IACQa,eAAe,EAAE,IAAAR,aAAO,EAACR,eAAe,CAAC;IACzCiB,kBAAkB,EAAE,IAAAT,aAAO,EAACR,eAAe,CAAC;IAC5CkB,eAAe,EAAE,IAAAzB,qBAAW,EAACU,eAAe,CAAC;IAC7CgB,kBAAkB,EAAE,IAAA1B,qBAAW,EAACU,eAAe,CAAC;IAChDiB,wBAAwB,EAAE,IAAAZ,aAAO,EAACb,aAAa,CAACyB,wBAAwB,EAAEpB,eAAe,CAAC;IAC1FqB,wBAAwB,EAAE,IAAA5B,qBAAW,EACjCE,aAAa,CAAC0B,wBAAwB,EACtClB,eACJ,CAAC;IACDmB,uBAAuB,EAAE,IAAAd,aAAO,EAACR,eAAe,CAAC;IACjDuB,uBAAuB,EAAE,IAAA9B,qBAAW,EAACU,eAAe,CAAC;IAErDqB,aAAa,EAAEhC,OAAO,CAACiC,cAAc;IACrC7B;EACJ,CAAC;EAED,OAAO;IAAEQ;EAAM,CAAC;AACpB,CAAC;AAACsB,OAAA,CAAApC,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -1,12 +1,12 @@
1
- import { CmsContext, CmsEntry, CmsModel } from "../../../types";
2
- import { SecurityIdentity } from "@webiny/api-security/types";
3
- declare type CreateRepublishEntryDataParams = {
1
+ import type { CmsContext, CmsEntry, CmsEntryValues, CmsModel } from "../../../types";
2
+ import type { SecurityIdentity } from "@webiny/api-security/types";
3
+ type CreateRepublishEntryDataParams = {
4
4
  model: CmsModel;
5
5
  context: CmsContext;
6
6
  getIdentity: () => SecurityIdentity;
7
7
  originalEntry: CmsEntry;
8
8
  };
9
- export declare const createUnpublishEntryData: ({ getIdentity: getSecurityIdentity, originalEntry }: CreateRepublishEntryDataParams) => Promise<{
10
- entry: CmsEntry;
9
+ export declare const createUnpublishEntryData: <T extends CmsEntryValues = CmsEntryValues>({ getIdentity: getSecurityIdentity, originalEntry }: CreateRepublishEntryDataParams) => Promise<{
10
+ entry: CmsEntry<T>;
11
11
  }>;
12
12
  export {};