@webiny/api-headless-cms 0.0.0-unstable.e622468070 → 0.0.0-unstable.e6f0dc8ca7

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 (1056) hide show
  1. package/constants.d.ts +2 -1
  2. package/constants.js +4 -0
  3. package/constants.js.map +1 -1
  4. package/context.d.ts +2 -5
  5. package/context.js +16 -7
  6. package/context.js.map +1 -1
  7. package/crud/AccessControl/AccessControl.d.ts +18 -28
  8. package/crud/AccessControl/AccessControl.js.map +1 -1
  9. package/crud/AccessControl/README.md +1 -1
  10. package/crud/contentEntry/entryDataFactories/createEntryData.js +27 -12
  11. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
  12. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +13 -6
  13. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -1
  14. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +4 -1
  15. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -1
  16. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +4 -1
  17. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -1
  18. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +2 -1
  19. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -1
  20. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +4 -3
  21. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -1
  22. package/crud/contentEntry/entryDataFactories/system.d.ts +10 -0
  23. package/crud/contentEntry/entryDataFactories/system.js +14 -0
  24. package/crud/contentEntry/entryDataFactories/system.js.map +1 -0
  25. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  26. package/crud/contentEntry/entryDataValidation.js +19 -16
  27. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  28. package/crud/contentEntry/references/buildPaths.d.ts +1 -1
  29. package/crud/contentEntry/references/buildPaths.js +3 -3
  30. package/crud/contentEntry/references/buildPaths.js.map +1 -1
  31. package/crud/contentEntry/searchableFields.d.ts +2 -3
  32. package/crud/contentEntry/searchableFields.js +15 -19
  33. package/crud/contentEntry/searchableFields.js.map +1 -1
  34. package/crud/contentEntry.crud.js +16 -11
  35. package/crud/contentEntry.crud.js.map +1 -1
  36. package/crud/contentModel/fields/descriptionField.js +1 -1
  37. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  38. package/crud/contentModel/fields/imageField.js +1 -1
  39. package/crud/contentModel/fields/imageField.js.map +1 -1
  40. package/crud/contentModel/fields/titleField.js +1 -1
  41. package/crud/contentModel/fields/titleField.js.map +1 -1
  42. package/crud/contentModel/validation.d.ts +224 -902
  43. package/crud/contentModel/validation.js +64 -36
  44. package/crud/contentModel/validation.js.map +1 -1
  45. package/crud/contentModel.crud.js +2 -1
  46. package/crud/contentModel.crud.js.map +1 -1
  47. package/domain/contentEntry/EntryId.d.ts +1 -0
  48. package/domain/contentEntry/EntryId.js +2 -0
  49. package/domain/contentEntry/EntryId.js.map +1 -1
  50. package/domain/contentEntry/errors.d.ts +2 -2
  51. package/domain/contentEntry/errors.js.map +1 -1
  52. package/domain/contentModel/errors.d.ts +1 -1
  53. package/domain/contentModel/errors.js.map +1 -1
  54. package/domain/contentModel/schemas.d.ts +198 -616
  55. package/domain/contentModel/schemas.js +55 -37
  56. package/domain/contentModel/schemas.js.map +1 -1
  57. package/domain/contentModel/validation/fields/descriptionField.js +1 -1
  58. package/domain/contentModel/validation/fields/descriptionField.js.map +1 -1
  59. package/domain/contentModel/validation/fields/imageField.js +1 -1
  60. package/domain/contentModel/validation/fields/imageField.js.map +1 -1
  61. package/domain/contentModel/validation/fields/titleField.js +1 -1
  62. package/domain/contentModel/validation/fields/titleField.js.map +1 -1
  63. package/domain/contentModel/validation/modelFields.js +15 -20
  64. package/domain/contentModel/validation/modelFields.js.map +1 -1
  65. package/domain/contentModelGroup/validation.d.ts +34 -82
  66. package/domain/contentModelGroup/validation.js +2 -2
  67. package/domain/contentModelGroup/validation.js.map +1 -1
  68. package/export/graphql/index.js +1 -1
  69. package/export/graphql/index.js.map +1 -1
  70. package/export/types.js.map +1 -1
  71. package/exports/api/cms/entry.d.ts +3 -0
  72. package/exports/api/cms/entry.js +6 -0
  73. package/exports/api/cms/entry.js.map +1 -1
  74. package/exports/api/cms/graphql.d.ts +1 -0
  75. package/exports/api/cms/graphql.js +3 -0
  76. package/exports/api/cms/graphql.js.map +1 -0
  77. package/exports/api/cms/model.d.ts +5 -1
  78. package/exports/api/cms/model.js +3 -1
  79. package/exports/api/cms/model.js.map +1 -1
  80. package/exports/api/cms/storage.d.ts +3 -0
  81. package/exports/api/cms/storage.js +5 -0
  82. package/exports/api/cms/storage.js.map +1 -0
  83. package/exports/api/cms/validation.d.ts +4 -0
  84. package/exports/api/cms/validation.js +6 -0
  85. package/exports/api/cms/validation.js.map +1 -0
  86. package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +3 -7
  87. package/extensions/index.d.ts +2 -6
  88. package/features/contentEntry/ContentEntriesFeature.d.ts +4 -1
  89. package/features/contentEntry/ContentEntriesFeature.js +6 -0
  90. package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
  91. package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.d.ts +1 -1
  92. package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.js +2 -2
  93. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js.map +1 -0
  94. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.d.ts +14 -0
  95. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js +25 -0
  96. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js.map +1 -0
  97. package/features/contentEntry/ContentEntryTraverser/abstractions.d.ts +12 -0
  98. package/features/contentEntry/ContentEntryTraverser/abstractions.js +7 -0
  99. package/features/contentEntry/ContentEntryTraverser/abstractions.js.map +1 -0
  100. package/features/contentEntry/ContentEntryTraverser/feature.d.ts +4 -0
  101. package/features/contentEntry/ContentEntryTraverser/feature.js +10 -0
  102. package/features/contentEntry/ContentEntryTraverser/feature.js.map +1 -0
  103. package/features/contentEntry/ContentEntryTraverser/index.d.ts +2 -0
  104. package/features/contentEntry/ContentEntryTraverser/index.js +4 -0
  105. package/features/contentEntry/ContentEntryTraverser/index.js.map +1 -0
  106. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -3
  107. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +3 -3
  108. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  109. package/features/contentEntry/CreateEntry/abstractions.d.ts +1 -0
  110. package/features/contentEntry/CreateEntry/abstractions.js +1 -0
  111. package/features/contentEntry/CreateEntry/abstractions.js.map +1 -1
  112. package/features/contentEntry/CreateEntry/events.d.ts +4 -2
  113. package/features/contentEntry/CreateEntry/events.js +5 -1
  114. package/features/contentEntry/CreateEntry/events.js.map +1 -1
  115. package/features/contentEntry/CreateEntry/feature.d.ts +4 -1
  116. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -3
  117. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +3 -3
  118. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  119. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.d.ts +1 -0
  120. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js +1 -0
  121. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -1
  122. package/features/contentEntry/CreateEntryRevisionFrom/events.d.ts +4 -2
  123. package/features/contentEntry/CreateEntryRevisionFrom/events.js +5 -1
  124. package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
  125. package/features/contentEntry/CreateEntryRevisionFrom/feature.d.ts +4 -1
  126. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +1 -1
  127. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +1 -1
  128. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  129. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +2 -2
  130. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -2
  131. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  132. package/features/contentEntry/DeleteEntry/abstractions.d.ts +2 -0
  133. package/features/contentEntry/DeleteEntry/abstractions.js +2 -0
  134. package/features/contentEntry/DeleteEntry/abstractions.js.map +1 -1
  135. package/features/contentEntry/DeleteEntry/events.d.ts +4 -2
  136. package/features/contentEntry/DeleteEntry/events.js +5 -1
  137. package/features/contentEntry/DeleteEntry/events.js.map +1 -1
  138. package/features/contentEntry/DeleteEntry/feature.d.ts +4 -1
  139. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +1 -1
  140. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +1 -1
  141. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  142. package/features/contentEntry/DeleteEntryRevision/abstractions.d.ts +1 -0
  143. package/features/contentEntry/DeleteEntryRevision/abstractions.js +1 -0
  144. package/features/contentEntry/DeleteEntryRevision/abstractions.js.map +1 -1
  145. package/features/contentEntry/DeleteEntryRevision/events.d.ts +4 -2
  146. package/features/contentEntry/DeleteEntryRevision/events.js +5 -1
  147. package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
  148. package/features/contentEntry/DeleteEntryRevision/feature.d.ts +4 -1
  149. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +1 -1
  150. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +1 -1
  151. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  152. package/features/contentEntry/DeleteMultipleEntries/abstractions.d.ts +1 -0
  153. package/features/contentEntry/DeleteMultipleEntries/abstractions.js +1 -0
  154. package/features/contentEntry/DeleteMultipleEntries/abstractions.js.map +1 -1
  155. package/features/contentEntry/DeleteMultipleEntries/events.d.ts +4 -2
  156. package/features/contentEntry/DeleteMultipleEntries/events.js +5 -1
  157. package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
  158. package/features/contentEntry/DeleteMultipleEntries/feature.d.ts +4 -1
  159. package/features/contentEntry/GetEntriesByIds/abstractions.d.ts +1 -0
  160. package/features/contentEntry/GetEntriesByIds/abstractions.js +1 -0
  161. package/features/contentEntry/GetEntriesByIds/abstractions.js.map +1 -1
  162. package/features/contentEntry/GetEntriesByIds/feature.d.ts +4 -1
  163. package/features/contentEntry/GetEntry/abstractions.d.ts +1 -0
  164. package/features/contentEntry/GetEntry/abstractions.js +1 -0
  165. package/features/contentEntry/GetEntry/abstractions.js.map +1 -1
  166. package/features/contentEntry/GetEntry/feature.d.ts +4 -1
  167. package/features/contentEntry/GetEntryById/abstractions.d.ts +1 -0
  168. package/features/contentEntry/GetEntryById/abstractions.js +1 -0
  169. package/features/contentEntry/GetEntryById/abstractions.js.map +1 -1
  170. package/features/contentEntry/GetEntryById/feature.d.ts +4 -1
  171. package/features/contentEntry/GetLatestEntriesByIds/abstractions.d.ts +1 -0
  172. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js +1 -0
  173. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js.map +1 -1
  174. package/features/contentEntry/GetLatestEntriesByIds/feature.d.ts +4 -1
  175. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.d.ts +4 -9
  176. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js +4 -9
  177. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js.map +1 -1
  178. package/features/contentEntry/GetLatestRevisionByEntryId/feature.d.ts +4 -1
  179. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.d.ts +2 -3
  180. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js +2 -3
  181. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js.map +1 -1
  182. package/features/contentEntry/GetPreviousRevisionByEntryId/feature.d.ts +4 -1
  183. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.d.ts +1 -0
  184. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js +1 -0
  185. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js.map +1 -1
  186. package/features/contentEntry/GetPublishedEntriesByIds/feature.d.ts +4 -1
  187. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.d.ts +1 -0
  188. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js +1 -0
  189. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js.map +1 -1
  190. package/features/contentEntry/GetPublishedRevisionByEntryId/feature.d.ts +4 -1
  191. package/features/contentEntry/GetRevisionById/abstractions.d.ts +1 -0
  192. package/features/contentEntry/GetRevisionById/abstractions.js +1 -0
  193. package/features/contentEntry/GetRevisionById/abstractions.js.map +1 -1
  194. package/features/contentEntry/GetRevisionById/feature.d.ts +4 -1
  195. package/features/contentEntry/GetRevisionsByEntryId/abstractions.d.ts +1 -0
  196. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js +1 -0
  197. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js.map +1 -1
  198. package/features/contentEntry/GetRevisionsByEntryId/feature.d.ts +4 -1
  199. package/features/contentEntry/GetSingletonEntry/abstractions.d.ts +1 -0
  200. package/features/contentEntry/GetSingletonEntry/abstractions.js +1 -0
  201. package/features/contentEntry/GetSingletonEntry/abstractions.js.map +1 -1
  202. package/features/contentEntry/GetSingletonEntry/feature.d.ts +4 -1
  203. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +2 -2
  204. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +9 -15
  205. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  206. package/features/contentEntry/GetUniqueFieldValues/feature.d.ts +4 -1
  207. package/features/contentEntry/ListEntries/ListEntriesRepository.js +6 -1
  208. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  209. package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +1 -1
  210. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +1 -1
  211. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  212. package/features/contentEntry/ListEntries/abstractions.d.ts +4 -0
  213. package/features/contentEntry/ListEntries/abstractions.js +4 -0
  214. package/features/contentEntry/ListEntries/abstractions.js.map +1 -1
  215. package/features/contentEntry/ListEntries/feature.d.ts +4 -1
  216. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +1 -1
  217. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +1 -1
  218. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  219. package/features/contentEntry/MoveEntry/abstractions.d.ts +1 -0
  220. package/features/contentEntry/MoveEntry/abstractions.js +1 -0
  221. package/features/contentEntry/MoveEntry/abstractions.js.map +1 -1
  222. package/features/contentEntry/MoveEntry/events.d.ts +4 -2
  223. package/features/contentEntry/MoveEntry/events.js +5 -1
  224. package/features/contentEntry/MoveEntry/events.js.map +1 -1
  225. package/features/contentEntry/MoveEntry/feature.d.ts +4 -1
  226. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +2 -2
  227. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -2
  228. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  229. package/features/contentEntry/PublishEntry/abstractions.d.ts +1 -0
  230. package/features/contentEntry/PublishEntry/abstractions.js +1 -0
  231. package/features/contentEntry/PublishEntry/abstractions.js.map +1 -1
  232. package/features/contentEntry/PublishEntry/events.d.ts +4 -2
  233. package/features/contentEntry/PublishEntry/events.js +5 -1
  234. package/features/contentEntry/PublishEntry/events.js.map +1 -1
  235. package/features/contentEntry/PublishEntry/feature.d.ts +4 -1
  236. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +2 -2
  237. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -2
  238. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  239. package/features/contentEntry/RepublishEntry/abstractions.d.ts +1 -0
  240. package/features/contentEntry/RepublishEntry/abstractions.js +1 -0
  241. package/features/contentEntry/RepublishEntry/abstractions.js.map +1 -1
  242. package/features/contentEntry/RepublishEntry/events.d.ts +4 -2
  243. package/features/contentEntry/RepublishEntry/events.js +5 -1
  244. package/features/contentEntry/RepublishEntry/events.js.map +1 -1
  245. package/features/contentEntry/RepublishEntry/feature.d.ts +4 -1
  246. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +2 -2
  247. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -2
  248. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  249. package/features/contentEntry/RestoreEntryFromBin/abstractions.d.ts +1 -0
  250. package/features/contentEntry/RestoreEntryFromBin/abstractions.js +1 -0
  251. package/features/contentEntry/RestoreEntryFromBin/abstractions.js.map +1 -1
  252. package/features/contentEntry/RestoreEntryFromBin/events.d.ts +4 -2
  253. package/features/contentEntry/RestoreEntryFromBin/events.js +5 -1
  254. package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
  255. package/features/contentEntry/RestoreEntryFromBin/feature.d.ts +4 -1
  256. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +2 -2
  257. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -2
  258. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  259. package/features/contentEntry/UnpublishEntry/abstractions.d.ts +1 -0
  260. package/features/contentEntry/UnpublishEntry/abstractions.js +1 -0
  261. package/features/contentEntry/UnpublishEntry/abstractions.js.map +1 -1
  262. package/features/contentEntry/UnpublishEntry/events.d.ts +4 -2
  263. package/features/contentEntry/UnpublishEntry/events.js +5 -1
  264. package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
  265. package/features/contentEntry/UnpublishEntry/feature.d.ts +4 -1
  266. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -3
  267. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +3 -3
  268. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  269. package/features/contentEntry/UpdateEntry/abstractions.d.ts +1 -0
  270. package/features/contentEntry/UpdateEntry/abstractions.js +1 -0
  271. package/features/contentEntry/UpdateEntry/abstractions.js.map +1 -1
  272. package/features/contentEntry/UpdateEntry/events.d.ts +4 -2
  273. package/features/contentEntry/UpdateEntry/events.js +5 -1
  274. package/features/contentEntry/UpdateEntry/events.js.map +1 -1
  275. package/features/contentEntry/UpdateEntry/feature.d.ts +4 -1
  276. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +22 -0
  277. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +90 -0
  278. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -0
  279. package/features/contentEntry/UpdateRevisionDescription/abstractions.d.ts +25 -0
  280. package/features/contentEntry/UpdateRevisionDescription/abstractions.js +10 -0
  281. package/features/contentEntry/UpdateRevisionDescription/abstractions.js.map +1 -0
  282. package/features/contentEntry/UpdateRevisionDescription/events.d.ts +44 -0
  283. package/features/contentEntry/UpdateRevisionDescription/events.js +33 -0
  284. package/features/contentEntry/UpdateRevisionDescription/events.js.map +1 -0
  285. package/features/contentEntry/UpdateRevisionDescription/feature.d.ts +12 -0
  286. package/features/contentEntry/UpdateRevisionDescription/feature.js +20 -0
  287. package/features/contentEntry/UpdateRevisionDescription/feature.js.map +1 -0
  288. package/features/contentEntry/UpdateRevisionDescription/index.d.ts +2 -0
  289. package/features/contentEntry/UpdateRevisionDescription/index.js +4 -0
  290. package/features/contentEntry/UpdateRevisionDescription/index.js.map +1 -0
  291. package/features/contentEntry/UpdateSingletonEntry/abstractions.d.ts +1 -0
  292. package/features/contentEntry/UpdateSingletonEntry/abstractions.js +1 -0
  293. package/features/contentEntry/UpdateSingletonEntry/abstractions.js.map +1 -1
  294. package/features/contentEntry/UpdateSingletonEntry/feature.d.ts +4 -1
  295. package/features/contentEntry/ValidateEntry/abstractions.d.ts +1 -0
  296. package/features/contentEntry/ValidateEntry/abstractions.js +1 -0
  297. package/features/contentEntry/ValidateEntry/abstractions.js.map +1 -1
  298. package/features/contentEntry/ValidateEntry/feature.d.ts +4 -1
  299. package/features/contentModel/ContentModelFeature.d.ts +4 -1
  300. package/features/contentModel/ContentModelFeature.js +2 -0
  301. package/features/contentModel/ContentModelFeature.js.map +1 -1
  302. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +12 -12
  303. package/features/contentModel/CreateModel/CreateModelRepository.js +17 -12
  304. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  305. package/features/contentModel/CreateModel/CreateModelUseCase.d.ts +3 -3
  306. package/features/contentModel/CreateModel/CreateModelUseCase.js +3 -3
  307. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
  308. package/features/contentModel/CreateModel/abstractions.d.ts +1 -0
  309. package/features/contentModel/CreateModel/abstractions.js +1 -0
  310. package/features/contentModel/CreateModel/abstractions.js.map +1 -1
  311. package/features/contentModel/CreateModel/events.d.ts +4 -2
  312. package/features/contentModel/CreateModel/events.js +5 -1
  313. package/features/contentModel/CreateModel/events.js.map +1 -1
  314. package/features/contentModel/CreateModel/feature.d.ts +4 -1
  315. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +12 -13
  316. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +25 -15
  317. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  318. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.d.ts +3 -3
  319. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +4 -3
  320. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
  321. package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -0
  322. package/features/contentModel/CreateModelFrom/abstractions.js +1 -0
  323. package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
  324. package/features/contentModel/CreateModelFrom/events.d.ts +4 -2
  325. package/features/contentModel/CreateModelFrom/events.js +5 -1
  326. package/features/contentModel/CreateModelFrom/events.js.map +1 -1
  327. package/features/contentModel/CreateModelFrom/feature.d.ts +4 -1
  328. package/features/contentModel/DeleteModel/DeleteModelUseCase.d.ts +1 -1
  329. package/features/contentModel/DeleteModel/DeleteModelUseCase.js +1 -1
  330. package/features/contentModel/DeleteModel/DeleteModelUseCase.js.map +1 -1
  331. package/features/contentModel/DeleteModel/abstractions.d.ts +1 -0
  332. package/features/contentModel/DeleteModel/abstractions.js +1 -0
  333. package/features/contentModel/DeleteModel/abstractions.js.map +1 -1
  334. package/features/contentModel/DeleteModel/events.d.ts +4 -2
  335. package/features/contentModel/DeleteModel/events.js +5 -1
  336. package/features/contentModel/DeleteModel/events.js.map +1 -1
  337. package/features/contentModel/DeleteModel/feature.d.ts +4 -1
  338. package/features/contentModel/GetModel/abstractions.d.ts +1 -0
  339. package/features/contentModel/GetModel/abstractions.js +1 -0
  340. package/features/contentModel/GetModel/abstractions.js.map +1 -1
  341. package/features/contentModel/GetModel/feature.d.ts +4 -1
  342. package/features/contentModel/ListModels/abstractions.d.ts +1 -0
  343. package/features/contentModel/ListModels/abstractions.js +1 -0
  344. package/features/contentModel/ListModels/abstractions.js.map +1 -1
  345. package/features/contentModel/ListModels/feature.d.ts +4 -1
  346. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.d.ts +15 -0
  347. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js +27 -0
  348. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js.map +1 -0
  349. package/features/contentModel/ModelFieldCompression/abstractions.d.ts +17 -0
  350. package/features/contentModel/ModelFieldCompression/abstractions.js +4 -0
  351. package/features/contentModel/ModelFieldCompression/abstractions.js.map +1 -0
  352. package/features/contentModel/ModelFieldCompression/feature.d.ts +4 -0
  353. package/features/contentModel/ModelFieldCompression/feature.js +10 -0
  354. package/features/contentModel/ModelFieldCompression/feature.js.map +1 -0
  355. package/features/contentModel/ModelFieldCompression/index.d.ts +1 -0
  356. package/features/contentModel/ModelFieldCompression/index.js +3 -0
  357. package/features/contentModel/ModelFieldCompression/index.js.map +1 -0
  358. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.d.ts +3 -3
  359. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js +6 -6
  360. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js.map +1 -1
  361. package/features/contentModel/ModelToAstConverter/feature.d.ts +4 -1
  362. package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +9 -9
  363. package/features/contentModel/UpdateModel/UpdateModelRepository.js +21 -12
  364. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  365. package/features/contentModel/UpdateModel/UpdateModelUseCase.d.ts +2 -2
  366. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +6 -3
  367. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  368. package/features/contentModel/UpdateModel/abstractions.d.ts +1 -0
  369. package/features/contentModel/UpdateModel/abstractions.js +1 -0
  370. package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
  371. package/features/contentModel/UpdateModel/events.d.ts +4 -2
  372. package/features/contentModel/UpdateModel/events.js +5 -1
  373. package/features/contentModel/UpdateModel/events.js.map +1 -1
  374. package/features/contentModel/UpdateModel/feature.d.ts +4 -1
  375. package/features/contentModel/shared/ModelsFetcher.d.ts +8 -6
  376. package/features/contentModel/shared/ModelsFetcher.js +14 -4
  377. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  378. package/features/contentModelGroup/ContentModelGroupFeature.d.ts +4 -1
  379. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +1 -1
  380. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +1 -1
  381. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  382. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +3 -3
  383. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +3 -3
  384. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  385. package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -0
  386. package/features/contentModelGroup/CreateGroup/abstractions.js +1 -0
  387. package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
  388. package/features/contentModelGroup/CreateGroup/events.d.ts +4 -2
  389. package/features/contentModelGroup/CreateGroup/events.js +5 -1
  390. package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
  391. package/features/contentModelGroup/CreateGroup/feature.d.ts +4 -1
  392. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +1 -1
  393. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +1 -1
  394. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  395. package/features/contentModelGroup/DeleteGroup/abstractions.d.ts +1 -0
  396. package/features/contentModelGroup/DeleteGroup/abstractions.js +1 -0
  397. package/features/contentModelGroup/DeleteGroup/abstractions.js.map +1 -1
  398. package/features/contentModelGroup/DeleteGroup/events.d.ts +4 -2
  399. package/features/contentModelGroup/DeleteGroup/events.js +5 -1
  400. package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
  401. package/features/contentModelGroup/DeleteGroup/feature.d.ts +4 -1
  402. package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +2 -2
  403. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +2 -2
  404. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  405. package/features/contentModelGroup/GetGroup/abstractions.d.ts +1 -0
  406. package/features/contentModelGroup/GetGroup/abstractions.js +1 -0
  407. package/features/contentModelGroup/GetGroup/abstractions.js.map +1 -1
  408. package/features/contentModelGroup/GetGroup/feature.d.ts +4 -1
  409. package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +2 -2
  410. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +2 -2
  411. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  412. package/features/contentModelGroup/ListGroups/abstractions.d.ts +1 -0
  413. package/features/contentModelGroup/ListGroups/abstractions.js +1 -0
  414. package/features/contentModelGroup/ListGroups/abstractions.js.map +1 -1
  415. package/features/contentModelGroup/ListGroups/feature.d.ts +4 -1
  416. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +2 -2
  417. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +2 -2
  418. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  419. package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -0
  420. package/features/contentModelGroup/UpdateGroup/abstractions.js +1 -0
  421. package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
  422. package/features/contentModelGroup/UpdateGroup/events.d.ts +4 -2
  423. package/features/contentModelGroup/UpdateGroup/events.js +5 -1
  424. package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
  425. package/features/contentModelGroup/UpdateGroup/feature.d.ts +4 -1
  426. package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +2 -2
  427. package/features/contentModelGroup/shared/PluginGroupsProvider.js +2 -2
  428. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  429. package/features/contentModelGroup/shared/abstractions.d.ts +1 -0
  430. package/features/contentModelGroup/shared/abstractions.js +1 -0
  431. package/features/contentModelGroup/shared/abstractions.js.map +1 -1
  432. package/features/graphql/feature.d.ts +4 -0
  433. package/features/graphql/feature.js +34 -0
  434. package/features/graphql/feature.js.map +1 -0
  435. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.d.ts +13 -0
  436. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js +27 -0
  437. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js.map +1 -0
  438. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +97 -0
  439. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js +4 -0
  440. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -0
  441. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.d.ts +10 -0
  442. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js +4 -0
  443. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js.map +1 -0
  444. package/features/graphql/fields/base/BooleanToGraphQL.d.ts +26 -0
  445. package/features/graphql/fields/base/BooleanToGraphQL.js +68 -0
  446. package/features/graphql/fields/base/BooleanToGraphQL.js.map +1 -0
  447. package/features/graphql/fields/base/DateTimeToGraphQL.d.ts +26 -0
  448. package/features/graphql/fields/base/DateTimeToGraphQL.js +97 -0
  449. package/features/graphql/fields/base/DateTimeToGraphQL.js.map +1 -0
  450. package/features/graphql/fields/base/DynamicZoneToGraphQL.d.ts +30 -0
  451. package/features/graphql/fields/base/DynamicZoneToGraphQL.js +280 -0
  452. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -0
  453. package/features/graphql/fields/base/FileToGraphQL.d.ts +22 -0
  454. package/features/graphql/fields/base/FileToGraphQL.js +39 -0
  455. package/features/graphql/fields/base/FileToGraphQL.js.map +1 -0
  456. package/features/graphql/fields/base/JsonToGraphQL.d.ts +24 -0
  457. package/features/graphql/fields/base/JsonToGraphQL.js +52 -0
  458. package/features/graphql/fields/base/JsonToGraphQL.js.map +1 -0
  459. package/features/graphql/fields/base/LongTextToGraphQL.d.ts +24 -0
  460. package/features/graphql/fields/base/LongTextToGraphQL.js +57 -0
  461. package/features/graphql/fields/base/LongTextToGraphQL.js.map +1 -0
  462. package/features/graphql/fields/base/NumberToGraphQL.d.ts +26 -0
  463. package/features/graphql/fields/base/NumberToGraphQL.js +78 -0
  464. package/features/graphql/fields/base/NumberToGraphQL.js.map +1 -0
  465. package/features/graphql/fields/base/ObjectToGraphQL.d.ts +31 -0
  466. package/features/graphql/fields/base/ObjectToGraphQL.js +264 -0
  467. package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -0
  468. package/features/graphql/fields/base/RefToGraphQL.d.ts +29 -0
  469. package/features/graphql/fields/base/RefToGraphQL.js +261 -0
  470. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -0
  471. package/features/graphql/fields/base/RichTextToGraphQL.d.ts +25 -0
  472. package/features/graphql/fields/base/RichTextToGraphQL.js +58 -0
  473. package/features/graphql/fields/base/RichTextToGraphQL.js.map +1 -0
  474. package/features/graphql/fields/base/SearchableJsonToGraphQL.d.ts +26 -0
  475. package/features/graphql/fields/base/SearchableJsonToGraphQL.js +62 -0
  476. package/features/graphql/fields/base/SearchableJsonToGraphQL.js.map +1 -0
  477. package/features/graphql/fields/base/TextToGraphQL.d.ts +26 -0
  478. package/features/graphql/fields/base/TextToGraphQL.js +74 -0
  479. package/features/graphql/fields/base/TextToGraphQL.js.map +1 -0
  480. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.d.ts +16 -0
  481. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js +37 -0
  482. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js.map +1 -0
  483. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.d.ts +3 -0
  484. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js +14 -0
  485. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js.map +1 -0
  486. package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.d.ts +1 -1
  487. package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.js +4 -4
  488. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -0
  489. package/{graphqlFields/helpers.d.ts → features/graphql/fields/base/utils/createGraphQLInputField.d.ts} +1 -1
  490. package/features/graphql/fields/base/utils/createGraphQLInputField.js +17 -0
  491. package/features/graphql/fields/base/utils/createGraphQLInputField.js.map +1 -0
  492. package/features/graphql/index.d.ts +4 -0
  493. package/features/graphql/index.js +6 -0
  494. package/features/graphql/index.js.map +1 -0
  495. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.d.ts +13 -0
  496. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js +4 -0
  497. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js.map +1 -0
  498. package/features/installer/CmsInstaller.d.ts +1 -1
  499. package/features/installer/CmsInstaller.js +1 -1
  500. package/features/installer/CmsInstaller.js.map +1 -1
  501. package/features/installer/feature.d.ts +4 -1
  502. package/features/modelBuilder/abstractions.d.ts +8 -4
  503. package/features/modelBuilder/abstractions.js +5 -2
  504. package/features/modelBuilder/abstractions.js.map +1 -1
  505. package/features/modelBuilder/feature.d.ts +4 -1
  506. package/features/modelBuilder/feature.js +6 -0
  507. package/features/modelBuilder/feature.js.map +1 -1
  508. package/features/modelBuilder/fields/BaseFieldBuilder.d.ts +36 -0
  509. package/features/modelBuilder/fields/BaseFieldBuilder.js +41 -0
  510. package/features/modelBuilder/fields/BaseFieldBuilder.js.map +1 -0
  511. package/features/modelBuilder/fields/BooleanFieldType.d.ts +2 -2
  512. package/features/modelBuilder/fields/BooleanFieldType.js +2 -2
  513. package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -1
  514. package/features/modelBuilder/fields/DataFieldBuilder.d.ts +220 -0
  515. package/features/modelBuilder/fields/DataFieldBuilder.js +211 -0
  516. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -0
  517. package/features/modelBuilder/fields/DateTimeFieldType.d.ts +3 -3
  518. package/features/modelBuilder/fields/DateTimeFieldType.js +22 -2
  519. package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
  520. package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +3 -3
  521. package/features/modelBuilder/fields/DynamicZoneFieldType.js +12 -5
  522. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  523. package/features/modelBuilder/fields/FieldBuilder.d.ts +5 -46
  524. package/features/modelBuilder/fields/FieldBuilder.js +3 -152
  525. package/features/modelBuilder/fields/FieldBuilder.js.map +1 -1
  526. package/features/modelBuilder/fields/FieldBuilderRegistry.d.ts +3 -3
  527. package/features/modelBuilder/fields/FieldBuilderRegistry.js +11 -1
  528. package/features/modelBuilder/fields/FieldBuilderRegistry.js.map +1 -1
  529. package/features/modelBuilder/fields/FileFieldType.d.ts +3 -3
  530. package/features/modelBuilder/fields/FileFieldType.js +2 -2
  531. package/features/modelBuilder/fields/FileFieldType.js.map +1 -1
  532. package/features/modelBuilder/fields/JsonFieldType.d.ts +2 -2
  533. package/features/modelBuilder/fields/JsonFieldType.js +2 -2
  534. package/features/modelBuilder/fields/JsonFieldType.js.map +1 -1
  535. package/features/modelBuilder/fields/LayoutFieldBuilder.d.ts +7 -0
  536. package/features/modelBuilder/fields/LayoutFieldBuilder.js +9 -0
  537. package/features/modelBuilder/fields/LayoutFieldBuilder.js.map +1 -0
  538. package/features/modelBuilder/fields/LongTextFieldType.d.ts +3 -4
  539. package/features/modelBuilder/fields/LongTextFieldType.js +2 -2
  540. package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -1
  541. package/features/modelBuilder/fields/NumberFieldType.d.ts +3 -3
  542. package/features/modelBuilder/fields/NumberFieldType.js +2 -2
  543. package/features/modelBuilder/fields/NumberFieldType.js.map +1 -1
  544. package/features/modelBuilder/fields/ObjectFieldType.d.ts +7 -6
  545. package/features/modelBuilder/fields/ObjectFieldType.js +21 -6
  546. package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -1
  547. package/features/modelBuilder/fields/RefFieldType.d.ts +3 -3
  548. package/features/modelBuilder/fields/RefFieldType.js +2 -2
  549. package/features/modelBuilder/fields/RefFieldType.js.map +1 -1
  550. package/features/modelBuilder/fields/RichTextFieldType.d.ts +2 -2
  551. package/features/modelBuilder/fields/RichTextFieldType.js +2 -2
  552. package/features/modelBuilder/fields/RichTextFieldType.js.map +1 -1
  553. package/features/modelBuilder/fields/SearchableJsonFieldType.d.ts +2 -2
  554. package/features/modelBuilder/fields/SearchableJsonFieldType.js +2 -2
  555. package/features/modelBuilder/fields/SearchableJsonFieldType.js.map +1 -1
  556. package/features/modelBuilder/fields/TextFieldType.d.ts +3 -3
  557. package/features/modelBuilder/fields/TextFieldType.js +2 -2
  558. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  559. package/features/modelBuilder/fields/UiAlertFieldType.d.ts +19 -0
  560. package/features/modelBuilder/fields/UiAlertFieldType.js +36 -0
  561. package/features/modelBuilder/fields/UiAlertFieldType.js.map +1 -0
  562. package/features/modelBuilder/fields/UiSeparatorFieldType.d.ts +17 -0
  563. package/features/modelBuilder/fields/UiSeparatorFieldType.js +31 -0
  564. package/features/modelBuilder/fields/UiSeparatorFieldType.js.map +1 -0
  565. package/features/modelBuilder/fields/UiTabsFieldType.d.ts +28 -0
  566. package/features/modelBuilder/fields/UiTabsFieldType.js +75 -0
  567. package/features/modelBuilder/fields/UiTabsFieldType.js.map +1 -0
  568. package/features/modelBuilder/fields/abstractions.d.ts +6 -3
  569. package/features/modelBuilder/fields/abstractions.js +1 -1
  570. package/features/modelBuilder/fields/abstractions.js.map +1 -1
  571. package/features/modelBuilder/fields/{validators.d.ts → fieldTypeValidator.d.ts} +23 -1
  572. package/features/modelBuilder/fields/fieldTypeValidator.js +31 -0
  573. package/features/modelBuilder/fields/fieldTypeValidator.js.map +1 -0
  574. package/features/modelBuilder/index.d.ts +3 -0
  575. package/features/modelBuilder/index.js +3 -0
  576. package/features/modelBuilder/index.js.map +1 -1
  577. package/features/modelBuilder/models/BaseModelBuilder.d.ts +9 -4
  578. package/features/modelBuilder/models/BaseModelBuilder.js +19 -0
  579. package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
  580. package/features/modelBuilder/models/PrivateModelBuilder.js +4 -2
  581. package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
  582. package/features/modelBuilder/models/PublicModelBuilder.js +16 -4
  583. package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
  584. package/features/shared/abstractions.d.ts +9 -2
  585. package/features/shared/abstractions.js +1 -0
  586. package/features/shared/abstractions.js.map +1 -1
  587. package/features/sortMapper/abstractions.d.ts +1 -0
  588. package/features/sortMapper/abstractions.js +1 -0
  589. package/features/sortMapper/abstractions.js.map +1 -1
  590. package/features/sortMapper/feature.d.ts +4 -1
  591. package/features/storage/StorageTransformRegistry.d.ts +13 -0
  592. package/features/storage/StorageTransformRegistry.js +27 -0
  593. package/features/storage/StorageTransformRegistry.js.map +1 -0
  594. package/features/storage/abstractions/StorageTransform.d.ts +26 -0
  595. package/features/storage/abstractions/StorageTransform.js +4 -0
  596. package/features/storage/abstractions/StorageTransform.js.map +1 -0
  597. package/features/storage/abstractions/StorageTransformRegistry.d.ts +10 -0
  598. package/features/storage/abstractions/StorageTransformRegistry.js +4 -0
  599. package/features/storage/abstractions/StorageTransformRegistry.js.map +1 -0
  600. package/features/storage/feature.d.ts +4 -0
  601. package/features/storage/feature.js +24 -0
  602. package/features/storage/feature.js.map +1 -0
  603. package/features/storage/fields/DateStorageTransform.d.ts +10 -0
  604. package/features/storage/fields/DateStorageTransform.js +110 -0
  605. package/features/storage/fields/DateStorageTransform.js.map +1 -0
  606. package/features/storage/fields/DefaultStorageTransform.d.ts +10 -0
  607. package/features/storage/fields/DefaultStorageTransform.js +20 -0
  608. package/features/storage/fields/DefaultStorageTransform.js.map +1 -0
  609. package/features/storage/fields/DynamicZoneStorageTransform.d.ts +10 -0
  610. package/features/storage/fields/DynamicZoneStorageTransform.js +142 -0
  611. package/features/storage/fields/DynamicZoneStorageTransform.js.map +1 -0
  612. package/features/storage/fields/JsonStorageTransform.d.ts +13 -0
  613. package/features/storage/fields/JsonStorageTransform.js +31 -0
  614. package/features/storage/fields/JsonStorageTransform.js.map +1 -0
  615. package/features/storage/fields/LongTextStorageTransform.d.ts +18 -0
  616. package/features/storage/fields/LongTextStorageTransform.js +55 -0
  617. package/features/storage/fields/LongTextStorageTransform.js.map +1 -0
  618. package/features/storage/fields/ObjectStorageTransform.d.ts +10 -0
  619. package/features/storage/fields/ObjectStorageTransform.js +99 -0
  620. package/features/storage/fields/ObjectStorageTransform.js.map +1 -0
  621. package/features/storage/fields/RichTextStorageTransform.d.ts +13 -0
  622. package/features/storage/fields/RichTextStorageTransform.js +39 -0
  623. package/features/storage/fields/RichTextStorageTransform.js.map +1 -0
  624. package/features/storage/index.d.ts +3 -0
  625. package/features/storage/index.js +5 -0
  626. package/features/storage/index.js.map +1 -0
  627. package/features/validation/CmsModelFieldPatternValidatorRegistry.d.ts +12 -0
  628. package/features/validation/CmsModelFieldPatternValidatorRegistry.js +21 -0
  629. package/features/validation/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
  630. package/features/validation/CmsModelFieldValidatorRegistry.d.ts +12 -0
  631. package/features/validation/CmsModelFieldValidatorRegistry.js +23 -0
  632. package/features/validation/CmsModelFieldValidatorRegistry.js.map +1 -0
  633. package/features/validation/abstractions/CmsModelFieldPatternValidator.d.ts +13 -0
  634. package/features/validation/abstractions/CmsModelFieldPatternValidator.js +4 -0
  635. package/features/validation/abstractions/CmsModelFieldPatternValidator.js.map +1 -0
  636. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.d.ts +9 -0
  637. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js +4 -0
  638. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
  639. package/features/validation/abstractions/CmsModelFieldValidator.d.ts +11 -0
  640. package/features/validation/abstractions/CmsModelFieldValidator.js +4 -0
  641. package/features/validation/abstractions/CmsModelFieldValidator.js.map +1 -0
  642. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.d.ts +9 -0
  643. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js +4 -0
  644. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js.map +1 -0
  645. package/features/validation/feature.d.ts +4 -0
  646. package/features/validation/feature.js +48 -0
  647. package/features/validation/feature.js.map +1 -0
  648. package/features/validation/index.d.ts +5 -0
  649. package/features/validation/index.js +7 -0
  650. package/features/validation/index.js.map +1 -0
  651. package/features/validation/validators/DateGteValidator.d.ts +10 -0
  652. package/features/validation/validators/DateGteValidator.js +26 -0
  653. package/features/validation/validators/DateGteValidator.js.map +1 -0
  654. package/features/validation/validators/DateLteValidator.d.ts +10 -0
  655. package/features/validation/validators/DateLteValidator.js +26 -0
  656. package/features/validation/validators/DateLteValidator.js.map +1 -0
  657. package/features/validation/validators/GteValidator.d.ts +10 -0
  658. package/features/validation/validators/GteValidator.js +21 -0
  659. package/features/validation/validators/GteValidator.js.map +1 -0
  660. package/features/validation/validators/InValidator.d.ts +10 -0
  661. package/features/validation/validators/InValidator.js +21 -0
  662. package/features/validation/validators/InValidator.js.map +1 -0
  663. package/features/validation/validators/LteValidator.d.ts +10 -0
  664. package/features/validation/validators/LteValidator.js +21 -0
  665. package/features/validation/validators/LteValidator.js.map +1 -0
  666. package/features/validation/validators/MaxLengthValidator.d.ts +10 -0
  667. package/features/validation/validators/MaxLengthValidator.js +21 -0
  668. package/features/validation/validators/MaxLengthValidator.js.map +1 -0
  669. package/features/validation/validators/MinLengthValidator.d.ts +10 -0
  670. package/features/validation/validators/MinLengthValidator.js +21 -0
  671. package/features/validation/validators/MinLengthValidator.js.map +1 -0
  672. package/features/validation/validators/PatternValidator.d.ts +13 -0
  673. package/features/validation/validators/PatternValidator.js +38 -0
  674. package/features/validation/validators/PatternValidator.js.map +1 -0
  675. package/features/validation/validators/RequiredValidator.d.ts +10 -0
  676. package/features/validation/validators/RequiredValidator.js +16 -0
  677. package/features/validation/validators/RequiredValidator.js.map +1 -0
  678. package/features/validation/validators/TimeGteValidator.d.ts +10 -0
  679. package/features/validation/validators/TimeGteValidator.js +21 -0
  680. package/features/validation/validators/TimeGteValidator.js.map +1 -0
  681. package/features/validation/validators/TimeLteValidator.d.ts +10 -0
  682. package/features/validation/validators/TimeLteValidator.js +21 -0
  683. package/features/validation/validators/TimeLteValidator.js.map +1 -0
  684. package/features/validation/validators/UniqueValidator.d.ts +10 -0
  685. package/features/validation/validators/UniqueValidator.js +47 -0
  686. package/features/validation/validators/UniqueValidator.js.map +1 -0
  687. package/features/validation/validators/patterns/EmailPattern.d.ts +12 -0
  688. package/features/validation/validators/patterns/EmailPattern.js +14 -0
  689. package/features/validation/validators/patterns/EmailPattern.js.map +1 -0
  690. package/features/validation/validators/patterns/LowerCasePattern.d.ts +12 -0
  691. package/features/validation/validators/patterns/LowerCasePattern.js +14 -0
  692. package/features/validation/validators/patterns/LowerCasePattern.js.map +1 -0
  693. package/features/validation/validators/patterns/LowerCaseSpacePattern.d.ts +12 -0
  694. package/features/validation/validators/patterns/LowerCaseSpacePattern.js +14 -0
  695. package/features/validation/validators/patterns/LowerCaseSpacePattern.js.map +1 -0
  696. package/features/validation/validators/patterns/UpperCasePattern.d.ts +12 -0
  697. package/features/validation/validators/patterns/UpperCasePattern.js +14 -0
  698. package/features/validation/validators/patterns/UpperCasePattern.js.map +1 -0
  699. package/features/validation/validators/patterns/UpperCaseSpacePattern.d.ts +12 -0
  700. package/features/validation/validators/patterns/UpperCaseSpacePattern.js +14 -0
  701. package/features/validation/validators/patterns/UpperCaseSpacePattern.js.map +1 -0
  702. package/features/validation/validators/patterns/UrlPattern.d.ts +12 -0
  703. package/features/validation/validators/patterns/UrlPattern.js +14 -0
  704. package/features/validation/validators/patterns/UrlPattern.js.map +1 -0
  705. package/features/whereMapper/abstractions.d.ts +1 -0
  706. package/features/whereMapper/abstractions.js +1 -0
  707. package/features/whereMapper/abstractions.js.map +1 -1
  708. package/features/whereMapper/feature.d.ts +4 -1
  709. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +2 -2
  710. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  711. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +2 -2
  712. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  713. package/graphql/getSchema/generateCacheKey.js +15 -7
  714. package/graphql/getSchema/generateCacheKey.js.map +1 -1
  715. package/graphql/index.js +2 -1
  716. package/graphql/index.js.map +1 -1
  717. package/graphql/schema/baseSchema.d.ts +2 -1
  718. package/graphql/schema/baseSchema.js +28 -24
  719. package/graphql/schema/baseSchema.js.map +1 -1
  720. package/graphql/schema/cms/createEntryResolver.d.ts +10 -0
  721. package/graphql/schema/cms/createEntryResolver.js +65 -0
  722. package/graphql/schema/cms/createEntryResolver.js.map +1 -0
  723. package/graphql/schema/cms/deleteEntryResolver.d.ts +10 -0
  724. package/graphql/schema/cms/deleteEntryResolver.js +65 -0
  725. package/graphql/schema/cms/deleteEntryResolver.js.map +1 -0
  726. package/graphql/schema/cms/getEntryResolver.d.ts +11 -0
  727. package/graphql/schema/cms/getEntryResolver.js +67 -0
  728. package/graphql/schema/cms/getEntryResolver.js.map +1 -0
  729. package/graphql/schema/cms/helpers/buildFieldsSelection.d.ts +23 -0
  730. package/graphql/schema/cms/helpers/buildFieldsSelection.js +79 -0
  731. package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -0
  732. package/graphql/schema/cms/helpers/getErrorMessage.d.ts +4 -0
  733. package/graphql/schema/cms/helpers/getErrorMessage.js +14 -0
  734. package/graphql/schema/cms/helpers/getErrorMessage.js.map +1 -0
  735. package/graphql/schema/cms/helpers/getModel.d.ts +6 -0
  736. package/graphql/schema/cms/helpers/getModel.js +12 -0
  737. package/graphql/schema/cms/helpers/getModel.js.map +1 -0
  738. package/graphql/schema/cms/helpers/index.d.ts +5 -0
  739. package/graphql/schema/cms/helpers/index.js +7 -0
  740. package/graphql/schema/cms/helpers/index.js.map +1 -0
  741. package/graphql/schema/cms/helpers/transformSortToArray.d.ts +18 -0
  742. package/graphql/schema/cms/helpers/transformSortToArray.js +38 -0
  743. package/graphql/schema/cms/helpers/transformSortToArray.js.map +1 -0
  744. package/graphql/schema/cms/helpers/transformWhereToNested.d.ts +17 -0
  745. package/graphql/schema/cms/helpers/transformWhereToNested.js +54 -0
  746. package/graphql/schema/cms/helpers/transformWhereToNested.js.map +1 -0
  747. package/graphql/schema/cms/helpers.d.ts +5 -0
  748. package/graphql/schema/cms/helpers.js +7 -0
  749. package/graphql/schema/cms/helpers.js.map +1 -0
  750. package/graphql/schema/cms/index.d.ts +2 -0
  751. package/graphql/schema/cms/index.js +26 -0
  752. package/graphql/schema/cms/index.js.map +1 -0
  753. package/graphql/schema/cms/listEntriesResolver.d.ts +15 -0
  754. package/graphql/schema/cms/listEntriesResolver.js +115 -0
  755. package/graphql/schema/cms/listEntriesResolver.js.map +1 -0
  756. package/graphql/schema/cms/publishEntryResolver.d.ts +10 -0
  757. package/graphql/schema/cms/publishEntryResolver.js +65 -0
  758. package/graphql/schema/cms/publishEntryResolver.js.map +1 -0
  759. package/graphql/schema/cms/resolvers/createEntry.d.ts +8 -0
  760. package/graphql/schema/cms/resolvers/createEntry.js +17 -0
  761. package/graphql/schema/cms/resolvers/createEntry.js.map +1 -0
  762. package/graphql/schema/cms/resolvers/deleteEntryRevision.d.ts +8 -0
  763. package/graphql/schema/cms/resolvers/deleteEntryRevision.js +17 -0
  764. package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -0
  765. package/graphql/schema/cms/resolvers/getEntry.d.ts +8 -0
  766. package/graphql/schema/cms/resolvers/getEntry.js +17 -0
  767. package/graphql/schema/cms/resolvers/getEntry.js.map +1 -0
  768. package/graphql/schema/cms/resolvers/index.d.ts +9 -0
  769. package/graphql/schema/cms/resolvers/index.js +11 -0
  770. package/graphql/schema/cms/resolvers/index.js.map +1 -0
  771. package/graphql/schema/cms/resolvers/listEntries.d.ts +8 -0
  772. package/graphql/schema/cms/resolvers/listEntries.js +17 -0
  773. package/graphql/schema/cms/resolvers/listEntries.js.map +1 -0
  774. package/graphql/schema/cms/resolvers/mutationCms.d.ts +8 -0
  775. package/graphql/schema/cms/resolvers/mutationCms.js +24 -0
  776. package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -0
  777. package/graphql/schema/cms/resolvers/publishEntryRevision.d.ts +8 -0
  778. package/graphql/schema/cms/resolvers/publishEntryRevision.js +17 -0
  779. package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -0
  780. package/graphql/schema/cms/resolvers/queryCms.d.ts +8 -0
  781. package/graphql/schema/cms/resolvers/queryCms.js +23 -0
  782. package/graphql/schema/cms/resolvers/queryCms.js.map +1 -0
  783. package/graphql/schema/cms/resolvers/unpublishEntryRevision.d.ts +8 -0
  784. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +17 -0
  785. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -0
  786. package/graphql/schema/cms/resolvers/updateEntryRevision.d.ts +8 -0
  787. package/graphql/schema/cms/resolvers/updateEntryRevision.js +17 -0
  788. package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -0
  789. package/graphql/schema/cms/typeDefs/index.d.ts +3 -0
  790. package/graphql/schema/cms/typeDefs/index.js +5 -0
  791. package/graphql/schema/cms/typeDefs/index.js.map +1 -0
  792. package/graphql/schema/cms/typeDefs/mutation.d.ts +8 -0
  793. package/graphql/schema/cms/typeDefs/mutation.js +42 -0
  794. package/graphql/schema/cms/typeDefs/mutation.js.map +1 -0
  795. package/graphql/schema/cms/typeDefs/query.d.ts +8 -0
  796. package/graphql/schema/cms/typeDefs/query.js +36 -0
  797. package/graphql/schema/cms/typeDefs/query.js.map +1 -0
  798. package/graphql/schema/cms/typeDefs/responses.d.ts +8 -0
  799. package/graphql/schema/cms/typeDefs/responses.js +35 -0
  800. package/graphql/schema/cms/typeDefs/responses.js.map +1 -0
  801. package/graphql/schema/cms/unpublishEntryResolver.d.ts +10 -0
  802. package/graphql/schema/cms/unpublishEntryResolver.js +65 -0
  803. package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -0
  804. package/graphql/schema/cms/updateEntryResolver.d.ts +11 -0
  805. package/graphql/schema/cms/updateEntryResolver.js +67 -0
  806. package/graphql/schema/cms/updateEntryResolver.js.map +1 -0
  807. package/graphql/schema/contentEntries.js +1 -1
  808. package/graphql/schema/contentEntries.js.map +1 -1
  809. package/graphql/schema/contentModels.js +31 -9
  810. package/graphql/schema/contentModels.js.map +1 -1
  811. package/graphql/schema/createFieldResolvers.d.ts +3 -2
  812. package/graphql/schema/createFieldResolvers.js +5 -4
  813. package/graphql/schema/createFieldResolvers.js.map +1 -1
  814. package/graphql/schema/createManageResolvers.d.ts +3 -2
  815. package/graphql/schema/createManageResolvers.js +5 -3
  816. package/graphql/schema/createManageResolvers.js.map +1 -1
  817. package/graphql/schema/createManageSDL.d.ts +4 -4
  818. package/graphql/schema/createManageSDL.js +16 -11
  819. package/graphql/schema/createManageSDL.js.map +1 -1
  820. package/graphql/schema/createPreviewResolvers.d.ts +3 -2
  821. package/graphql/schema/createPreviewResolvers.js +4 -4
  822. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  823. package/graphql/schema/createReadResolvers.d.ts +3 -2
  824. package/graphql/schema/createReadResolvers.js +4 -4
  825. package/graphql/schema/createReadResolvers.js.map +1 -1
  826. package/graphql/schema/createReadSDL.d.ts +4 -4
  827. package/graphql/schema/createReadSDL.js +7 -7
  828. package/graphql/schema/createReadSDL.js.map +1 -1
  829. package/graphql/schema/createSingularResolvers.d.ts +3 -2
  830. package/graphql/schema/createSingularResolvers.js +3 -3
  831. package/graphql/schema/createSingularResolvers.js.map +1 -1
  832. package/graphql/schema/createSingularSDL.d.ts +3 -2
  833. package/graphql/schema/createSingularSDL.js +5 -4
  834. package/graphql/schema/createSingularSDL.js.map +1 -1
  835. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +9 -7
  836. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
  837. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.d.ts +8 -0
  838. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +13 -0
  839. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -0
  840. package/graphql/schema/schemaPlugins.js +14 -17
  841. package/graphql/schema/schemaPlugins.js.map +1 -1
  842. package/index.d.ts +3 -5
  843. package/index.js +4 -7
  844. package/index.js.map +1 -1
  845. package/package.json +36 -32
  846. package/plugins/CmsModelPlugin.js +19 -4
  847. package/plugins/CmsModelPlugin.js.map +1 -1
  848. package/plugins/index.d.ts +0 -2
  849. package/plugins/index.js +0 -2
  850. package/plugins/index.js.map +1 -1
  851. package/types/context.d.ts +5 -5
  852. package/types/context.js.map +1 -1
  853. package/types/fields/objectField.d.ts +2 -0
  854. package/types/fields/objectField.js.map +1 -1
  855. package/types/model.d.ts +39 -3
  856. package/types/model.js.map +1 -1
  857. package/types/modelField.d.ts +47 -15
  858. package/types/modelField.js.map +1 -1
  859. package/types/plugins.d.ts +1 -305
  860. package/types/plugins.js.map +1 -1
  861. package/types/types.d.ts +28 -61
  862. package/types/types.js +0 -4
  863. package/types/types.js.map +1 -1
  864. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +3 -2
  865. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +3 -3
  866. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
  867. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +4 -3
  868. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +3 -3
  869. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
  870. package/utils/converters/ConverterCollection.d.ts +2 -0
  871. package/utils/converters/ConverterCollection.js +3 -2
  872. package/utils/converters/ConverterCollection.js.map +1 -1
  873. package/utils/converters/types.js.map +1 -1
  874. package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -0
  875. package/utils/converters/valueKeyFromStorageConverter.js +4 -2
  876. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  877. package/utils/converters/valueKeyStorageConverter.d.ts +2 -3
  878. package/utils/converters/valueKeyStorageConverter.js +7 -3
  879. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  880. package/utils/converters/valueKeyToStorageConverter.d.ts +2 -0
  881. package/utils/converters/valueKeyToStorageConverter.js +4 -2
  882. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  883. package/utils/createModelField.js +10 -8
  884. package/utils/createModelField.js.map +1 -1
  885. package/utils/createTypeFromFields.d.ts +3 -2
  886. package/utils/createTypeFromFields.js +3 -3
  887. package/utils/createTypeFromFields.js.map +1 -1
  888. package/utils/entryStorage.d.ts +8 -15
  889. package/utils/entryStorage.js +31 -59
  890. package/utils/entryStorage.js.map +1 -1
  891. package/utils/getBaseFieldType.js +3 -0
  892. package/utils/getBaseFieldType.js.map +1 -1
  893. package/utils/getSchemaFromFieldPlugins.d.ts +3 -2
  894. package/utils/getSchemaFromFieldPlugins.js +5 -9
  895. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  896. package/utils/renderFields.d.ts +4 -3
  897. package/utils/renderFields.js +14 -9
  898. package/utils/renderFields.js.map +1 -1
  899. package/utils/renderGetFilterFields.d.ts +3 -2
  900. package/utils/renderGetFilterFields.js +2 -2
  901. package/utils/renderGetFilterFields.js.map +1 -1
  902. package/utils/renderInputFields.d.ts +4 -3
  903. package/utils/renderInputFields.js +5 -11
  904. package/utils/renderInputFields.js.map +1 -1
  905. package/utils/renderListFilterFields.d.ts +3 -2
  906. package/utils/renderListFilterFields.js +5 -3
  907. package/utils/renderListFilterFields.js.map +1 -1
  908. package/utils/renderSortEnum.d.ts +4 -4
  909. package/utils/renderSortEnum.js +11 -11
  910. package/utils/renderSortEnum.js.map +1 -1
  911. package/utils/toSlug.js +1 -1
  912. package/utils/toSlug.js.map +1 -1
  913. package/crud/contentEntry/entryDataFactories/state.d.ts +0 -10
  914. package/crud/contentEntry/entryDataFactories/state.js +0 -16
  915. package/crud/contentEntry/entryDataFactories/state.js.map +0 -1
  916. package/crud/contentModel/validateModel.d.ts +0 -9
  917. package/crud/contentModel/validateModel.js +0 -21
  918. package/crud/contentModel/validateModel.js.map +0 -1
  919. package/crud/contentModel/validateModelFields.d.ts +0 -9
  920. package/crud/contentModel/validateModelFields.js +0 -267
  921. package/crud/contentModel/validateModelFields.js.map +0 -1
  922. package/features/modelBuilder/fields/validators.js +0 -3
  923. package/features/modelBuilder/fields/validators.js.map +0 -1
  924. package/graphql/schema/createFieldTypePluginRecords.d.ts +0 -3
  925. package/graphql/schema/createFieldTypePluginRecords.js +0 -8
  926. package/graphql/schema/createFieldTypePluginRecords.js.map +0 -1
  927. package/graphqlFields/boolean.d.ts +0 -2
  928. package/graphqlFields/boolean.js +0 -52
  929. package/graphqlFields/boolean.js.map +0 -1
  930. package/graphqlFields/datetime.d.ts +0 -2
  931. package/graphqlFields/datetime.js +0 -71
  932. package/graphqlFields/datetime.js.map +0 -1
  933. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +0 -2
  934. package/graphqlFields/dynamicZone/dynamicZoneField.js +0 -313
  935. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +0 -1
  936. package/graphqlFields/dynamicZone/index.d.ts +0 -1
  937. package/graphqlFields/dynamicZone/index.js +0 -3
  938. package/graphqlFields/dynamicZone/index.js.map +0 -1
  939. package/graphqlFields/file.d.ts +0 -2
  940. package/graphqlFields/file.js +0 -37
  941. package/graphqlFields/file.js.map +0 -1
  942. package/graphqlFields/helpers.js +0 -20
  943. package/graphqlFields/helpers.js.map +0 -1
  944. package/graphqlFields/index.d.ts +0 -2
  945. package/graphqlFields/index.js +0 -15
  946. package/graphqlFields/index.js.map +0 -1
  947. package/graphqlFields/json.d.ts +0 -2
  948. package/graphqlFields/json.js +0 -42
  949. package/graphqlFields/json.js.map +0 -1
  950. package/graphqlFields/longText.d.ts +0 -2
  951. package/graphqlFields/longText.js +0 -57
  952. package/graphqlFields/longText.js.map +0 -1
  953. package/graphqlFields/number.d.ts +0 -2
  954. package/graphqlFields/number.js +0 -63
  955. package/graphqlFields/number.js.map +0 -1
  956. package/graphqlFields/object.d.ts +0 -2
  957. package/graphqlFields/object.js +0 -245
  958. package/graphqlFields/object.js.map +0 -1
  959. package/graphqlFields/ref.d.ts +0 -2
  960. package/graphqlFields/ref.js +0 -286
  961. package/graphqlFields/ref.js.map +0 -1
  962. package/graphqlFields/richText/richTextResolver.js.map +0 -1
  963. package/graphqlFields/richText.d.ts +0 -2
  964. package/graphqlFields/richText.js +0 -48
  965. package/graphqlFields/richText.js.map +0 -1
  966. package/graphqlFields/searchableJson.d.ts +0 -2
  967. package/graphqlFields/searchableJson.js +0 -53
  968. package/graphqlFields/searchableJson.js.map +0 -1
  969. package/graphqlFields/text.d.ts +0 -2
  970. package/graphqlFields/text.js +0 -59
  971. package/graphqlFields/text.js.map +0 -1
  972. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +0 -20
  973. package/plugins/CmsGraphQLSchemaSorterPlugin.js +0 -19
  974. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +0 -1
  975. package/plugins/StorageTransformPlugin.d.ts +0 -35
  976. package/plugins/StorageTransformPlugin.js +0 -26
  977. package/plugins/StorageTransformPlugin.js.map +0 -1
  978. package/storage/date.d.ts +0 -3
  979. package/storage/date.js +0 -110
  980. package/storage/date.js.map +0 -1
  981. package/storage/default.d.ts +0 -2
  982. package/storage/default.js +0 -19
  983. package/storage/default.js.map +0 -1
  984. package/storage/dynamicZone.d.ts +0 -2
  985. package/storage/dynamicZone.js +0 -149
  986. package/storage/dynamicZone.js.map +0 -1
  987. package/storage/index.d.ts +0 -1
  988. package/storage/index.js +0 -13
  989. package/storage/index.js.map +0 -1
  990. package/storage/json.d.ts +0 -2
  991. package/storage/json.js +0 -49
  992. package/storage/json.js.map +0 -1
  993. package/storage/object.d.ts +0 -2
  994. package/storage/object.js +0 -104
  995. package/storage/object.js.map +0 -1
  996. package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +0 -1
  997. package/validators/dateGte.d.ts +0 -2
  998. package/validators/dateGte.js +0 -25
  999. package/validators/dateGte.js.map +0 -1
  1000. package/validators/dateLte.d.ts +0 -2
  1001. package/validators/dateLte.js +0 -25
  1002. package/validators/dateLte.js.map +0 -1
  1003. package/validators/gte.d.ts +0 -2
  1004. package/validators/gte.js +0 -22
  1005. package/validators/gte.js.map +0 -1
  1006. package/validators/in.d.ts +0 -2
  1007. package/validators/in.js +0 -22
  1008. package/validators/in.js.map +0 -1
  1009. package/validators/index.d.ts +0 -1
  1010. package/validators/index.js +0 -16
  1011. package/validators/index.js.map +0 -1
  1012. package/validators/lte.d.ts +0 -2
  1013. package/validators/lte.js +0 -22
  1014. package/validators/lte.js.map +0 -1
  1015. package/validators/maxLength.d.ts +0 -2
  1016. package/validators/maxLength.js +0 -22
  1017. package/validators/maxLength.js.map +0 -1
  1018. package/validators/minLength.d.ts +0 -2
  1019. package/validators/minLength.js +0 -22
  1020. package/validators/minLength.js.map +0 -1
  1021. package/validators/pattern.d.ts +0 -2
  1022. package/validators/pattern.js +0 -36
  1023. package/validators/pattern.js.map +0 -1
  1024. package/validators/patternPlugins/email.d.ts +0 -2
  1025. package/validators/patternPlugins/email.js +0 -13
  1026. package/validators/patternPlugins/email.js.map +0 -1
  1027. package/validators/patternPlugins/index.d.ts +0 -2
  1028. package/validators/patternPlugins/index.js +0 -11
  1029. package/validators/patternPlugins/index.js.map +0 -1
  1030. package/validators/patternPlugins/lowerCase.d.ts +0 -2
  1031. package/validators/patternPlugins/lowerCase.js +0 -13
  1032. package/validators/patternPlugins/lowerCase.js.map +0 -1
  1033. package/validators/patternPlugins/lowerCaseSpace.d.ts +0 -2
  1034. package/validators/patternPlugins/lowerCaseSpace.js +0 -13
  1035. package/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
  1036. package/validators/patternPlugins/upperCase.d.ts +0 -2
  1037. package/validators/patternPlugins/upperCase.js +0 -13
  1038. package/validators/patternPlugins/upperCase.js.map +0 -1
  1039. package/validators/patternPlugins/upperCaseSpace.d.ts +0 -2
  1040. package/validators/patternPlugins/upperCaseSpace.js +0 -13
  1041. package/validators/patternPlugins/upperCaseSpace.js.map +0 -1
  1042. package/validators/patternPlugins/url.d.ts +0 -2
  1043. package/validators/patternPlugins/url.js +0 -13
  1044. package/validators/patternPlugins/url.js.map +0 -1
  1045. package/validators/required.d.ts +0 -2
  1046. package/validators/required.js +0 -17
  1047. package/validators/required.js.map +0 -1
  1048. package/validators/timeGte.d.ts +0 -2
  1049. package/validators/timeGte.js +0 -20
  1050. package/validators/timeGte.js.map +0 -1
  1051. package/validators/timeLte.d.ts +0 -2
  1052. package/validators/timeLte.js +0 -20
  1053. package/validators/timeLte.js.map +0 -1
  1054. package/validators/unique.d.ts +0 -6
  1055. package/validators/unique.js +0 -57
  1056. package/validators/unique.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["getDate","ROOT_FOLDER","WebinyError","validateModelEntryDataOrThrow","referenceFieldsMapping","createIdentifier","mdbid","STATUS_DRAFT","STATUS_PUBLISHED","STATUS_UNPUBLISHED","getIdentity","getState","convertDefaultValue","field","value","type","Boolean","Number","getDefaultValue","settings","multipleValues","defaultValue","undefined","predefinedValues","enabled","Array","isArray","values","selectedValue","find","selected","filter","map","createEntryId","input","entryId","id","match","version","cleanInputValues","model","fields","reduce","acc","fieldId","key","createEntryData","rawInput","options","context","getSecurityIdentity","getTenant","accessControl","initialValues","skipValidators","validateEntries","currentIdentity","currentDateTime","Date","status","ensureCanAccessEntry","pw","locked","revisionLevelPublishingMetaFields","revisionFirstPublishedOn","revisionLastPublishedOn","revisionFirstPublishedBy","revisionLastPublishedBy","entryLevelPublishingMetaFields","firstPublishedOn","lastPublishedOn","firstPublishedBy","lastPublishedBy","entry","tenant","modelId","createdOn","modifiedOn","savedOn","deletedOn","restoredOn","createdBy","modifiedBy","savedBy","deletedBy","restoredBy","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","revisionDeletedOn","revisionRestoredOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","revisionDeletedBy","revisionRestoredBy","location","folderId","wbyAco_location","state","structuredClone"],"sources":["createEntryData.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CmsModelField,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport WebinyError from \"@webiny/error\";\nimport { validateModelEntryDataOrThrow } from \"~/crud/contentEntry/entryDataValidation.js\";\nimport { referenceFieldsMapping } from \"~/crud/contentEntry/referenceFieldsMapping.js\";\nimport { createIdentifier, mdbid } from \"@webiny/utils\";\nimport { STATUS_DRAFT, STATUS_PUBLISHED, STATUS_UNPUBLISHED } from \"./statuses.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport type { AccessControl } from \"~/crud/AccessControl/AccessControl.js\";\nimport { getState } from \"./state.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\n\ntype DefaultValue = boolean | number | string | null;\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\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\n/**\n * Cleans and adds default values to create input data.\n */\nconst cleanInputValues = <TValues extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: TValues\n) => {\n return model.fields.reduce<TValues>((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 key = field.fieldId as keyof TValues;\n const value = input[key] as TValues[keyof TValues];\n /**\n * We set the default value on create input if value is not defined.\n */\n acc[key] = value === undefined ? (getDefaultValue(field) as TValues[keyof TValues]) : value;\n return acc;\n }, {} as TValues);\n};\n\ninterface CreateEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n model: CmsModel;\n rawInput: CreateCmsEntryInput<TValues>;\n options?: CreateCmsEntryOptionsInput;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n getTenant: () => Tenant;\n accessControl: AccessControl;\n}\n\ninterface ICreateEntryDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<TValues>;\n input: CreateCmsEntryInput<TValues>;\n}\n\nexport const createEntryData = async <TValues extends CmsEntryValues = CmsEntryValues>({\n model,\n rawInput,\n options,\n context,\n getIdentity: getSecurityIdentity,\n getTenant,\n accessControl\n}: CreateEntryDataParams<TValues>): Promise<ICreateEntryDataResponse<TValues>> => {\n const initialValues = cleanInputValues<TValues>(model, rawInput.values || ({} as TValues));\n\n await validateModelEntryDataOrThrow({\n context,\n model,\n values: initialValues,\n skipValidators: options?.skipValidators\n });\n\n const values = await referenceFieldsMapping<TValues>({\n context,\n model,\n values: initialValues,\n validateEntries: true\n });\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<TValues> = {\n tenant: getTenant().id,\n entryId,\n id,\n modelId: model.modelId,\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,\n location: {\n folderId:\n rawInput.location?.folderId || rawInput.wbyAco_location?.folderId || ROOT_FOLDER\n },\n state: getState({\n input: rawInput\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 {\n entry,\n input: {\n ...rawInput,\n values: structuredClone(values)\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getDate","ROOT_FOLDER","WebinyError","validateModelEntryDataOrThrow","referenceFieldsMapping","createIdentifier","mdbid","STATUS_DRAFT","STATUS_PUBLISHED","STATUS_UNPUBLISHED","getIdentity","NotAuthorizedError","getSystem","convertDefaultValue","field","value","type","Boolean","Number","getDefaultValue","settings","list","defaultValue","undefined","predefinedValues","enabled","Array","isArray","values","selectedValue","find","selected","filter","map","createEntryId","input","entryId","id","match","version","cleanInputValues","model","fields","reduce","acc","fieldId","key","createEntryData","rawInput","options","context","getSecurityIdentity","getTenant","accessControl","initialValues","skipValidators","validateEntries","currentIdentity","currentDateTime","Date","status","canPublish","canAccessEntry","pw","modelId","canUnpublish","locked","revisionLevelPublishingMetaFields","revisionFirstPublishedOn","revisionLastPublishedOn","revisionFirstPublishedBy","revisionLastPublishedBy","entryLevelPublishingMetaFields","firstPublishedOn","lastPublishedOn","firstPublishedBy","lastPublishedBy","entry","tenant","createdOn","modifiedOn","savedOn","deletedOn","restoredOn","createdBy","modifiedBy","savedBy","deletedBy","restoredBy","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","revisionDeletedOn","revisionRestoredOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","revisionDeletedBy","revisionRestoredBy","location","folderId","wbyAco_location","system","live","revisionDescription","structuredClone"],"sources":["createEntryData.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CmsModelField,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport WebinyError from \"@webiny/error\";\nimport { validateModelEntryDataOrThrow } from \"~/crud/contentEntry/entryDataValidation.js\";\nimport { referenceFieldsMapping } from \"~/crud/contentEntry/referenceFieldsMapping.js\";\nimport { createIdentifier, mdbid } from \"@webiny/utils\";\nimport { STATUS_DRAFT, STATUS_PUBLISHED, STATUS_UNPUBLISHED } from \"./statuses.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport type { AccessControl } from \"~/crud/AccessControl/AccessControl.js\";\nimport { NotAuthorizedError } from \"~/utils/errors.js\";\nimport { getSystem } from \"./system.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\n\ntype DefaultValue = boolean | number | string | null;\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, list } = 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 (!list) {\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\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\n/**\n * Cleans and adds default values to create input data.\n */\nconst cleanInputValues = <TValues extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: TValues\n) => {\n return model.fields.reduce<TValues>((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 key = field.fieldId as keyof TValues;\n const value = input[key] as TValues[keyof TValues];\n /**\n * We set the default value on create input if value is not defined.\n */\n acc[key] = value === undefined ? (getDefaultValue(field) as TValues[keyof TValues]) : value;\n return acc;\n }, {} as TValues);\n};\n\ninterface CreateEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n model: CmsModel;\n rawInput: CreateCmsEntryInput<TValues>;\n options?: CreateCmsEntryOptionsInput;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n getTenant: () => Tenant;\n accessControl: AccessControl;\n}\n\ninterface ICreateEntryDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<TValues>;\n input: CreateCmsEntryInput<TValues>;\n}\n\nexport const createEntryData = async <TValues extends CmsEntryValues = CmsEntryValues>({\n model,\n rawInput,\n options,\n context,\n getIdentity: getSecurityIdentity,\n getTenant,\n accessControl\n}: CreateEntryDataParams<TValues>): Promise<ICreateEntryDataResponse<TValues>> => {\n const initialValues = cleanInputValues<TValues>(model, rawInput.values || ({} as TValues));\n\n await validateModelEntryDataOrThrow({\n context,\n model,\n values: initialValues,\n skipValidators: options?.skipValidators\n });\n\n const values = await referenceFieldsMapping<TValues>({\n context,\n model,\n values: initialValues,\n validateEntries: true\n });\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 const canPublish = await accessControl.canAccessEntry({ model, pw: \"p\" });\n if (!canPublish) {\n throw new NotAuthorizedError(`Not allowed to access \"${model.modelId}\" entries.`);\n }\n } else if (status === STATUS_UNPUBLISHED) {\n const canUnpublish = await accessControl.canAccessEntry({ model, pw: \"u\" });\n if (!canUnpublish) {\n throw new NotAuthorizedError(`Not allowed to access \"${model.modelId}\" entries.`);\n }\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<TValues> = {\n tenant: getTenant().id,\n entryId,\n id,\n modelId: model.modelId,\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,\n location: {\n folderId:\n rawInput.location?.folderId || rawInput.wbyAco_location?.folderId || ROOT_FOLDER\n },\n system: getSystem({\n input: rawInput\n }),\n live:\n status === STATUS_PUBLISHED\n ? {\n version\n }\n : null,\n revisionDescription: \"\"\n };\n\n if (status !== STATUS_DRAFT) {\n if (status === STATUS_PUBLISHED) {\n const canPublish = await accessControl.canAccessEntry({ model, entry, pw: \"p\" });\n if (!canPublish) {\n throw new NotAuthorizedError(`Not allowed to access entry \"${entry.entryId}\".`);\n }\n } else if (status === STATUS_UNPUBLISHED) {\n const canUnpublish = await accessControl.canAccessEntry({ model, entry, pw: \"u\" });\n if (!canUnpublish) {\n throw new NotAuthorizedError(`Not allowed to access entry \"${entry.entryId}\".`);\n }\n }\n }\n\n return {\n entry,\n input: {\n ...rawInput,\n values: structuredClone(values)\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,8 @@ import { referenceFieldsMapping } from "../referenceFieldsMapping.js";
6
6
  import { createIdentifier, parseIdentifier } from "@webiny/utils";
7
7
  import WebinyError from "@webiny/error";
8
8
  import { STATUS_DRAFT, STATUS_PUBLISHED, STATUS_UNPUBLISHED } from "./statuses.js";
9
- import { getState } from "./state.js";
9
+ import { NotAuthorizedError } from "../../../utils/errors.js";
10
+ import { getSystem } from "./system.js";
10
11
  export const createEntryRevisionFromData = async ({
11
12
  sourceId,
12
13
  model,
@@ -56,16 +57,21 @@ export const createEntryRevisionFromData = async ({
56
57
  const status = rawInput.status || STATUS_DRAFT;
57
58
  if (status !== STATUS_DRAFT) {
58
59
  if (status === STATUS_PUBLISHED) {
59
- await accessControl.ensureCanAccessEntry({
60
+ const canPublish = await accessControl.canAccessEntry({
60
61
  model,
61
62
  pw: "p"
62
63
  });
64
+ if (!canPublish) {
65
+ throw new NotAuthorizedError(`Not allowed to access "${model.modelId}" entries.`);
66
+ }
63
67
  } else if (status === STATUS_UNPUBLISHED) {
64
- // If setting the status other than draft, we have to check if the user has permissions to publish.
65
- await accessControl.ensureCanAccessEntry({
68
+ const canUnpublish = await accessControl.canAccessEntry({
66
69
  model,
67
70
  pw: "u"
68
71
  });
72
+ if (!canUnpublish) {
73
+ throw new NotAuthorizedError(`Not allowed to access "${model.modelId}" entries.`);
74
+ }
69
75
  }
70
76
  }
71
77
  const locked = status !== STATUS_DRAFT;
@@ -122,10 +128,11 @@ export const createEntryRevisionFromData = async ({
122
128
  locked,
123
129
  status,
124
130
  values,
125
- state: getState({
131
+ system: getSystem({
126
132
  input: rawInput,
127
133
  original: originalEntry
128
- })
134
+ }),
135
+ live: originalEntry.live
129
136
  };
130
137
  return {
131
138
  entry,
@@ -1 +1 @@
1
- {"version":3,"names":["getDate","getIdentity","mapAndCleanUpdatedInputData","validateModelEntryDataOrThrow","referenceFieldsMapping","createIdentifier","parseIdentifier","WebinyError","STATUS_DRAFT","STATUS_PUBLISHED","STATUS_UNPUBLISHED","getState","createEntryRevisionFromData","sourceId","model","rawInput","options","context","getSecurityIdentity","originalEntry","latestStorageEntry","accessControl","initialValues","values","entry","skipValidators","validateEntries","latestId","id","version","nextVersion","increaseEntryIdVersion","currentIdentity","currentDateTime","Date","status","ensureCanAccessEntry","pw","locked","revisionLevelPublishingMetaFields","revisionFirstPublishedOn","revisionLastPublishedOn","revisionFirstPublishedBy","revisionLastPublishedBy","entryLevelPublishingMetaFields","firstPublishedOn","lastPublishedOn","firstPublishedBy","lastPublishedBy","createdOn","savedOn","modifiedOn","createdBy","savedBy","modifiedBy","revisionCreatedOn","revisionSavedOn","revisionModifiedOn","revisionCreatedBy","revisionSavedBy","revisionModifiedBy","state","input","original","structuredClone","entryId"],"sources":["createEntryRevisionFromData.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport { mapAndCleanUpdatedInputData } from \".//mapAndCleanUpdatedInputData.js\";\nimport { validateModelEntryDataOrThrow } from \"../entryDataValidation.js\";\nimport { referenceFieldsMapping } from \"../referenceFieldsMapping.js\";\nimport { createIdentifier, parseIdentifier } from \"@webiny/utils\";\nimport WebinyError from \"@webiny/error\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\nimport { STATUS_DRAFT, STATUS_PUBLISHED, STATUS_UNPUBLISHED } from \"./statuses.js\";\nimport type { AccessControl } from \"~/crud/AccessControl/AccessControl.js\";\nimport { getState } from \"./state.js\";\n\ninterface CreateEntryRevisionFromDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n sourceId: string;\n model: CmsModel;\n rawInput: CreateCmsEntryInput<TValues>;\n options?: CreateCmsEntryOptionsInput;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n getTenant: () => Tenant;\n originalEntry: CmsEntry<TValues>;\n latestStorageEntry: CmsEntry<TValues>;\n accessControl: AccessControl;\n}\n\ninterface ICreateEntryRevisionFromDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<TValues>;\n input: CreateCmsEntryInput<TValues>;\n}\n\nexport const createEntryRevisionFromData = async <TValues extends CmsEntryValues = CmsEntryValues>({\n sourceId,\n model,\n rawInput,\n options,\n context,\n getIdentity: getSecurityIdentity,\n originalEntry,\n latestStorageEntry,\n accessControl\n}: CreateEntryRevisionFromDataParams<TValues>): Promise<\n ICreateEntryRevisionFromDataResponse<TValues>\n> => {\n /**\n * Make sure we only work with fields that are defined in the model.\n *\n * Also, we can be certain to cast as TValues because originalValues and new ones are being merged.\n */\n const initialValues = {\n ...originalEntry.values,\n ...mapAndCleanUpdatedInputData<TValues>(model, rawInput.values)\n };\n\n await validateModelEntryDataOrThrow({\n context,\n model,\n values: initialValues,\n entry: originalEntry,\n skipValidators: options?.skipValidators\n });\n\n const values = await referenceFieldsMapping<TValues>({\n context,\n model,\n values: 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<TValues> = {\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 state: getState({\n input: rawInput,\n original: originalEntry\n })\n };\n\n return {\n entry,\n input: {\n ...rawInput,\n values: structuredClone(values)\n }\n };\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
+ {"version":3,"names":["getDate","getIdentity","mapAndCleanUpdatedInputData","validateModelEntryDataOrThrow","referenceFieldsMapping","createIdentifier","parseIdentifier","WebinyError","STATUS_DRAFT","STATUS_PUBLISHED","STATUS_UNPUBLISHED","NotAuthorizedError","getSystem","createEntryRevisionFromData","sourceId","model","rawInput","options","context","getSecurityIdentity","originalEntry","latestStorageEntry","accessControl","initialValues","values","entry","skipValidators","validateEntries","latestId","id","version","nextVersion","increaseEntryIdVersion","currentIdentity","currentDateTime","Date","status","canPublish","canAccessEntry","pw","modelId","canUnpublish","locked","revisionLevelPublishingMetaFields","revisionFirstPublishedOn","revisionLastPublishedOn","revisionFirstPublishedBy","revisionLastPublishedBy","entryLevelPublishingMetaFields","firstPublishedOn","lastPublishedOn","firstPublishedBy","lastPublishedBy","createdOn","savedOn","modifiedOn","createdBy","savedBy","modifiedBy","revisionCreatedOn","revisionSavedOn","revisionModifiedOn","revisionCreatedBy","revisionSavedBy","revisionModifiedBy","system","input","original","live","structuredClone","entryId"],"sources":["createEntryRevisionFromData.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport { mapAndCleanUpdatedInputData } from \".//mapAndCleanUpdatedInputData.js\";\nimport { validateModelEntryDataOrThrow } from \"../entryDataValidation.js\";\nimport { referenceFieldsMapping } from \"../referenceFieldsMapping.js\";\nimport { createIdentifier, parseIdentifier } from \"@webiny/utils\";\nimport WebinyError from \"@webiny/error\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\nimport { STATUS_DRAFT, STATUS_PUBLISHED, STATUS_UNPUBLISHED } from \"./statuses.js\";\nimport type { AccessControl } from \"~/crud/AccessControl/AccessControl.js\";\nimport { NotAuthorizedError } from \"~/utils/errors.js\";\nimport { getSystem } from \"./system.js\";\n\ninterface CreateEntryRevisionFromDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n sourceId: string;\n model: CmsModel;\n rawInput: CreateCmsEntryInput<TValues>;\n options?: CreateCmsEntryOptionsInput;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n getTenant: () => Tenant;\n originalEntry: CmsEntry<TValues>;\n latestStorageEntry: CmsEntry<TValues>;\n accessControl: AccessControl;\n}\n\ninterface ICreateEntryRevisionFromDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<TValues>;\n input: CreateCmsEntryInput<TValues>;\n}\n\nexport const createEntryRevisionFromData = async <TValues extends CmsEntryValues = CmsEntryValues>({\n sourceId,\n model,\n rawInput,\n options,\n context,\n getIdentity: getSecurityIdentity,\n originalEntry,\n latestStorageEntry,\n accessControl\n}: CreateEntryRevisionFromDataParams<TValues>): Promise<\n ICreateEntryRevisionFromDataResponse<TValues>\n> => {\n /**\n * Make sure we only work with fields that are defined in the model.\n *\n * Also, we can be certain to cast as TValues because originalValues and new ones are being merged.\n */\n const initialValues = {\n ...originalEntry.values,\n ...mapAndCleanUpdatedInputData<TValues>(model, rawInput.values)\n };\n\n await validateModelEntryDataOrThrow({\n context,\n model,\n values: initialValues,\n entry: originalEntry,\n skipValidators: options?.skipValidators\n });\n\n const values = await referenceFieldsMapping<TValues>({\n context,\n model,\n values: 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 const canPublish = await accessControl.canAccessEntry({ model, pw: \"p\" });\n if (!canPublish) {\n throw new NotAuthorizedError(`Not allowed to access \"${model.modelId}\" entries.`);\n }\n } else if (status === STATUS_UNPUBLISHED) {\n const canUnpublish = await accessControl.canAccessEntry({ model, pw: \"u\" });\n if (!canUnpublish) {\n throw new NotAuthorizedError(`Not allowed to access \"${model.modelId}\" entries.`);\n }\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<TValues> = {\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 system: getSystem({\n input: rawInput,\n original: originalEntry\n }),\n live: originalEntry.live\n };\n\n return {\n entry,\n input: {\n ...rawInput,\n values: structuredClone(values)\n }\n };\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":"AAQA,SAASA,OAAO;AAChB,SAASC,WAAW;AACpB,SAASC,2BAA2B;AACpC,SAASC,6BAA6B;AACtC,SAASC,sBAAsB;AAC/B,SAASC,gBAAgB,EAAEC,eAAe,QAAQ,eAAe;AACjE,OAAOC,WAAW,MAAM,eAAe;AAGvC,SAASC,YAAY,EAAEC,gBAAgB,EAAEC,kBAAkB;AAE3D,SAASC,kBAAkB;AAC3B,SAASC,SAAS;AAoBlB,OAAO,MAAMC,2BAA2B,GAAG,MAAAA,CAAwD;EAC/FC,QAAQ;EACRC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,OAAO;EACPjB,WAAW,EAAEkB,mBAAmB;EAChCC,aAAa;EACbC,kBAAkB;EAClBC;AACwC,CAAC,KAExC;EACD;AACJ;AACA;AACA;AACA;EACI,MAAMC,aAAa,GAAG;IAClB,GAAGH,aAAa,CAACI,MAAM;IACvB,GAAGtB,2BAA2B,CAAUa,KAAK,EAAEC,QAAQ,CAACQ,MAAM;EAClE,CAAC;EAED,MAAMrB,6BAA6B,CAAC;IAChCe,OAAO;IACPH,KAAK;IACLS,MAAM,EAAED,aAAa;IACrBE,KAAK,EAAEL,aAAa;IACpBM,cAAc,EAAET,OAAO,EAAES;EAC7B,CAAC,CAAC;EAEF,MAAMF,MAAM,GAAG,MAAMpB,sBAAsB,CAAU;IACjDc,OAAO;IACPH,KAAK;IACLS,MAAM,EAAED,aAAa;IACrBI,eAAe,EAAE;EACrB,CAAC,CAAC;EAEF,MAAMC,QAAQ,GAAGP,kBAAkB,GAAGA,kBAAkB,CAACQ,EAAE,GAAGf,QAAQ;EACtE,MAAM;IAAEe,EAAE;IAAEC,OAAO,EAAEC;EAAY,CAAC,GAAGC,sBAAsB,CAACJ,QAAQ,CAAC;EAErE,MAAMK,eAAe,GAAGd,mBAAmB,CAAC,CAAC;EAC7C,MAAMe,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC;;EAElC;AACJ;AACA;AACA;AACA;EACI,MAAMC,MAAM,GAAGpB,QAAQ,CAACoB,MAAM,IAAI5B,YAAY;EAC9C,IAAI4B,MAAM,KAAK5B,YAAY,EAAE;IACzB,IAAI4B,MAAM,KAAK3B,gBAAgB,EAAE;MAC7B,MAAM4B,UAAU,GAAG,MAAMf,aAAa,CAACgB,cAAc,CAAC;QAAEvB,KAAK;QAAEwB,EAAE,EAAE;MAAI,CAAC,CAAC;MACzE,IAAI,CAACF,UAAU,EAAE;QACb,MAAM,IAAI1B,kBAAkB,CAAC,0BAA0BI,KAAK,CAACyB,OAAO,YAAY,CAAC;MACrF;IACJ,CAAC,MAAM,IAAIJ,MAAM,KAAK1B,kBAAkB,EAAE;MACtC,MAAM+B,YAAY,GAAG,MAAMnB,aAAa,CAACgB,cAAc,CAAC;QAAEvB,KAAK;QAAEwB,EAAE,EAAE;MAAI,CAAC,CAAC;MAC3E,IAAI,CAACE,YAAY,EAAE;QACf,MAAM,IAAI9B,kBAAkB,CAAC,0BAA0BI,KAAK,CAACyB,OAAO,YAAY,CAAC;MACrF;IACJ;EACJ;EAEA,MAAME,MAAM,GAAGN,MAAM,KAAK5B,YAAY;EAEtC,IAAImC,iCAMH,GAAG;IACAC,wBAAwB,EAAE5C,OAAO,CAACgB,QAAQ,CAAC4B,wBAAwB,EAAE,IAAI,CAAC;IAC1EC,uBAAuB,EAAE7C,OAAO,CAACgB,QAAQ,CAAC6B,uBAAuB,EAAE,IAAI,CAAC;IACxEC,wBAAwB,EAAE7C,WAAW,CAACe,QAAQ,CAAC8B,wBAAwB,EAAE,IAAI,CAAC;IAC9EC,uBAAuB,EAAE9C,WAAW,CAACe,QAAQ,CAAC+B,uBAAuB,EAAE,IAAI;EAC/E,CAAC;EAED,IAAIC,8BAGH,GAAG;IACAC,gBAAgB,EAAEjD,OAAO,CAACgB,QAAQ,CAACiC,gBAAgB,EAAE5B,kBAAkB,CAAC4B,gBAAgB,CAAC;IACzFC,eAAe,EAAElD,OAAO,CAACgB,QAAQ,CAACkC,eAAe,EAAE7B,kBAAkB,CAAC6B,eAAe,CAAC;IACtFC,gBAAgB,EAAElD,WAAW,CACzBe,QAAQ,CAACmC,gBAAgB,EACzB9B,kBAAkB,CAAC8B,gBACvB,CAAC;IACDC,eAAe,EAAEnD,WAAW,CAACe,QAAQ,CAACoC,eAAe,EAAE/B,kBAAkB,CAAC+B,eAAe;EAC7F,CAAC;EAED,IAAIhB,MAAM,KAAK3B,gBAAgB,EAAE;IAC7BkC,iCAAiC,GAAG;MAChCC,wBAAwB,EAAE5C,OAAO,CAACgB,QAAQ,CAAC4B,wBAAwB,EAAEV,eAAe,CAAC;MACrFW,uBAAuB,EAAE7C,OAAO,CAACgB,QAAQ,CAAC6B,uBAAuB,EAAEX,eAAe,CAAC;MACnFY,wBAAwB,EAAE7C,WAAW,CACjCe,QAAQ,CAAC8B,wBAAwB,EACjCb,eACJ,CAAC;MACDc,uBAAuB,EAAE9C,WAAW,CAACe,QAAQ,CAAC+B,uBAAuB,EAAEd,eAAe;IAC1F,CAAC;IAEDe,8BAA8B,GAAG;MAC7BC,gBAAgB,EAAEjD,OAAO,CACrBgB,QAAQ,CAACiC,gBAAgB,EACzB5B,kBAAkB,CAAC4B,gBACvB,CAAC;MACDC,eAAe,EAAElD,OAAO,CAACgB,QAAQ,CAACkC,eAAe,EAAEhB,eAAe,CAAC;MACnEiB,gBAAgB,EAAElD,WAAW,CACzBe,QAAQ,CAACmC,gBAAgB,EACzB9B,kBAAkB,CAAC8B,gBACvB,CAAC;MACDC,eAAe,EAAEnD,WAAW,CAACe,QAAQ,CAACoC,eAAe,EAAEnB,eAAe;IAC1E,CAAC;EACL;EAEA,MAAMR,KAAwB,GAAG;IAC7B,GAAGL,aAAa;IAChBS,EAAE;IACFC,OAAO,EAAEC,WAAW;IAEpB;AACR;AACA;IACQsB,SAAS,EAAErD,OAAO,CAACgB,QAAQ,CAACqC,SAAS,EAAEhC,kBAAkB,CAACgC,SAAS,CAAC;IACpEC,OAAO,EAAEtD,OAAO,CAACgB,QAAQ,CAACsC,OAAO,EAAEpB,eAAe,CAAC;IACnDqB,UAAU,EAAEvD,OAAO,CAACgB,QAAQ,CAACuC,UAAU,EAAErB,eAAe,CAAC;IACzDsB,SAAS,EAAEvD,WAAW,CAACe,QAAQ,CAACwC,SAAS,EAAEnC,kBAAkB,CAACmC,SAAS,CAAE;IACzEC,OAAO,EAAExD,WAAW,CAACe,QAAQ,CAACyC,OAAO,EAAExB,eAAe,CAAE;IACxDyB,UAAU,EAAEzD,WAAW,CAACe,QAAQ,CAAC0C,UAAU,EAAEzB,eAAe,CAAC;IAC7D,GAAGe,8BAA8B;IAEjC;AACR;AACA;IACQW,iBAAiB,EAAE3D,OAAO,CAACgB,QAAQ,CAAC2C,iBAAiB,EAAEzB,eAAe,CAAC;IACvE0B,eAAe,EAAE5D,OAAO,CAACgB,QAAQ,CAAC4C,eAAe,EAAE1B,eAAe,CAAC;IACnE2B,kBAAkB,EAAE7D,OAAO,CAACgB,QAAQ,CAAC6C,kBAAkB,EAAE,IAAI,CAAC;IAC9DC,iBAAiB,EAAE7D,WAAW,CAACe,QAAQ,CAAC8C,iBAAiB,EAAE7B,eAAe,CAAE;IAC5E8B,eAAe,EAAE9D,WAAW,CAACe,QAAQ,CAAC+C,eAAe,EAAE9B,eAAe,CAAE;IACxE+B,kBAAkB,EAAE/D,WAAW,CAACe,QAAQ,CAACgD,kBAAkB,EAAE,IAAI,CAAC;IAClE,GAAGrB,iCAAiC;IAEpCD,MAAM;IACNN,MAAM;IACNZ,MAAM;IACNyC,MAAM,EAAErD,SAAS,CAAC;MACdsD,KAAK,EAAElD,QAAQ;MACfmD,QAAQ,EAAE/C;IACd,CAAC,CAAC;IACFgD,IAAI,EAAEhD,aAAa,CAACgD;EACxB,CAAC;EAED,OAAO;IACH3C,KAAK;IACLyC,KAAK,EAAE;MACH,GAAGlD,QAAQ;MACXQ,MAAM,EAAE6C,eAAe,CAAC7C,MAAM;IAClC;EACJ,CAAC;AACL,CAAC;AAED,MAAMQ,sBAAsB,GAAIH,EAAU,IAAK;EAC3C,MAAM;IAAEA,EAAE,EAAEyC,OAAO;IAAExC;EAAQ,CAAC,GAAGxB,eAAe,CAACuB,EAAE,CAAC;EACpD,IAAI,CAACC,OAAO,EAAE;IACV,MAAM,IAAIvB,WAAW,CACjB,6DAA6D,EAC7D,UAAU,EACV;MACIsB;IACJ,CACJ,CAAC;EACL;EACA,OAAO;IACHyC,OAAO;IACPxC,OAAO,EAAEA,OAAO,GAAG,CAAC;IACpBD,EAAE,EAAExB,gBAAgB,CAAC;MACjBwB,EAAE,EAAEyC,OAAO;MACXxC,OAAO,EAAEA,OAAO,GAAG;IACvB,CAAC;EACL,CAAC;AACL,CAAC","ignoreList":[]}
@@ -46,7 +46,10 @@ export const createPublishEntryData = async ({
46
46
  revisionSavedBy: getIdentity(currentIdentity),
47
47
  revisionModifiedBy: getIdentity(currentIdentity),
48
48
  revisionFirstPublishedBy: getIdentity(originalEntry.revisionFirstPublishedBy, currentIdentity),
49
- revisionLastPublishedBy: getIdentity(currentIdentity)
49
+ revisionLastPublishedBy: getIdentity(currentIdentity),
50
+ live: {
51
+ version: originalEntry.version
52
+ }
50
53
  };
51
54
  return {
52
55
  entry
@@ -1 +1 @@
1
- {"version":3,"names":["STATUS_PUBLISHED","validateModelEntryDataOrThrow","getIdentity","getDate","createPublishEntryData","model","context","getSecurityIdentity","originalEntry","latestEntry","values","entry","currentDateTime","Date","toISOString","currentIdentity","status","locked","createdOn","modifiedOn","savedOn","firstPublishedOn","lastPublishedOn","createdBy","modifiedBy","savedBy","firstPublishedBy","lastPublishedBy","revisionCreatedOn","revisionSavedOn","revisionModifiedOn","revisionFirstPublishedOn","revisionLastPublishedOn","revisionCreatedBy","revisionSavedBy","revisionModifiedBy","revisionFirstPublishedBy","revisionLastPublishedBy"],"sources":["createPublishEntryData.ts"],"sourcesContent":["import type { CmsContext, CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { STATUS_PUBLISHED } from \"./statuses.js\";\nimport { validateModelEntryDataOrThrow } from \"~/crud/contentEntry/entryDataValidation.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\n\ninterface ICreatePublishEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n model: CmsModel;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n originalEntry: CmsEntry<TValues>;\n latestEntry: CmsEntry<TValues>;\n}\n\ninterface ICreatePublishEntryDataResponse<T extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<T>;\n}\n\nexport const createPublishEntryData = async <T extends CmsEntryValues = CmsEntryValues>({\n model,\n context,\n getIdentity: getSecurityIdentity,\n originalEntry,\n latestEntry\n}: ICreatePublishEntryDataParams<T>): Promise<ICreatePublishEntryDataResponse<T>> => {\n await validateModelEntryDataOrThrow({\n context,\n model,\n values: 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 };\n\n return { entry };\n};\n"],"mappings":"AACA,SAASA,gBAAgB;AACzB,SAASC,6BAA6B;AACtC,SAASC,WAAW;AACpB,SAASC,OAAO;AAehB,OAAO,MAAMC,sBAAsB,GAAG,MAAAA,CAAkD;EACpFC,KAAK;EACLC,OAAO;EACPJ,WAAW,EAAEK,mBAAmB;EAChCC,aAAa;EACbC;AAC8B,CAAC,KAAkD;EACjF,MAAMR,6BAA6B,CAAC;IAChCK,OAAO;IACPD,KAAK;IACLK,MAAM,EAAEF,aAAa,CAACE,MAAM;IAC5BC,KAAK,EAAEH;EACX,CAAC,CAAC;EAEF,MAAMI,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EAChD,MAAMC,eAAe,GAAGR,mBAAmB,CAAC,CAAC;EAE7C,MAAMI,KAAkB,GAAG;IACvB,GAAGH,aAAa;IAChBQ,MAAM,EAAEhB,gBAAgB;IACxBiB,MAAM,EAAE,IAAI;IAEZ;AACR;AACA;IACQC,SAAS,EAAEf,OAAO,CAACM,WAAW,CAACS,SAAS,CAAC;IACzCC,UAAU,EAAEhB,OAAO,CAACS,eAAe,CAAC;IACpCQ,OAAO,EAAEjB,OAAO,CAACS,eAAe,CAAC;IACjCS,gBAAgB,EAAElB,OAAO,CAACM,WAAW,CAACY,gBAAgB,EAAET,eAAe,CAAC;IACxEU,eAAe,EAAEnB,OAAO,CAACS,eAAe,CAAC;IACzCW,SAAS,EAAErB,WAAW,CAACO,WAAW,CAACc,SAAS,CAAC;IAC7CC,UAAU,EAAEtB,WAAW,CAACa,eAAe,CAAC;IACxCU,OAAO,EAAEvB,WAAW,CAACa,eAAe,CAAC;IACrCW,gBAAgB,EAAExB,WAAW,CAACO,WAAW,CAACiB,gBAAgB,EAAEX,eAAe,CAAC;IAC5EY,eAAe,EAAEzB,WAAW,CAACa,eAAe,CAAC;IAE7C;AACR;AACA;IACQa,iBAAiB,EAAEzB,OAAO,CAACK,aAAa,CAACoB,iBAAiB,CAAC;IAC3DC,eAAe,EAAE1B,OAAO,CAACS,eAAe,CAAC;IACzCkB,kBAAkB,EAAE3B,OAAO,CAACS,eAAe,CAAC;IAC5CmB,wBAAwB,EAAE5B,OAAO,CAACK,aAAa,CAACuB,wBAAwB,EAAEnB,eAAe,CAAC;IAC1FoB,uBAAuB,EAAE7B,OAAO,CAACS,eAAe,CAAC;IACjDqB,iBAAiB,EAAE/B,WAAW,CAACM,aAAa,CAACyB,iBAAiB,CAAC;IAC/DC,eAAe,EAAEhC,WAAW,CAACa,eAAe,CAAC;IAC7CoB,kBAAkB,EAAEjC,WAAW,CAACa,eAAe,CAAC;IAChDqB,wBAAwB,EAAElC,WAAW,CACjCM,aAAa,CAAC4B,wBAAwB,EACtCrB,eACJ,CAAC;IACDsB,uBAAuB,EAAEnC,WAAW,CAACa,eAAe;EACxD,CAAC;EAED,OAAO;IAAEJ;EAAM,CAAC;AACpB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["STATUS_PUBLISHED","validateModelEntryDataOrThrow","getIdentity","getDate","createPublishEntryData","model","context","getSecurityIdentity","originalEntry","latestEntry","values","entry","currentDateTime","Date","toISOString","currentIdentity","status","locked","createdOn","modifiedOn","savedOn","firstPublishedOn","lastPublishedOn","createdBy","modifiedBy","savedBy","firstPublishedBy","lastPublishedBy","revisionCreatedOn","revisionSavedOn","revisionModifiedOn","revisionFirstPublishedOn","revisionLastPublishedOn","revisionCreatedBy","revisionSavedBy","revisionModifiedBy","revisionFirstPublishedBy","revisionLastPublishedBy","live","version"],"sources":["createPublishEntryData.ts"],"sourcesContent":["import type { CmsContext, CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { STATUS_PUBLISHED } from \"./statuses.js\";\nimport { validateModelEntryDataOrThrow } from \"~/crud/contentEntry/entryDataValidation.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\n\ninterface ICreatePublishEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n model: CmsModel;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n originalEntry: CmsEntry<TValues>;\n latestEntry: CmsEntry<TValues>;\n}\n\ninterface ICreatePublishEntryDataResponse<T extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<T>;\n}\n\nexport const createPublishEntryData = async <T extends CmsEntryValues = CmsEntryValues>({\n model,\n context,\n getIdentity: getSecurityIdentity,\n originalEntry,\n latestEntry\n}: ICreatePublishEntryDataParams<T>): Promise<ICreatePublishEntryDataResponse<T>> => {\n await validateModelEntryDataOrThrow({\n context,\n model,\n values: 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\n live: {\n version: originalEntry.version\n }\n };\n\n return { entry };\n};\n"],"mappings":"AACA,SAASA,gBAAgB;AACzB,SAASC,6BAA6B;AACtC,SAASC,WAAW;AACpB,SAASC,OAAO;AAehB,OAAO,MAAMC,sBAAsB,GAAG,MAAAA,CAAkD;EACpFC,KAAK;EACLC,OAAO;EACPJ,WAAW,EAAEK,mBAAmB;EAChCC,aAAa;EACbC;AAC8B,CAAC,KAAkD;EACjF,MAAMR,6BAA6B,CAAC;IAChCK,OAAO;IACPD,KAAK;IACLK,MAAM,EAAEF,aAAa,CAACE,MAAM;IAC5BC,KAAK,EAAEH;EACX,CAAC,CAAC;EAEF,MAAMI,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EAChD,MAAMC,eAAe,GAAGR,mBAAmB,CAAC,CAAC;EAE7C,MAAMI,KAAkB,GAAG;IACvB,GAAGH,aAAa;IAChBQ,MAAM,EAAEhB,gBAAgB;IACxBiB,MAAM,EAAE,IAAI;IAEZ;AACR;AACA;IACQC,SAAS,EAAEf,OAAO,CAACM,WAAW,CAACS,SAAS,CAAC;IACzCC,UAAU,EAAEhB,OAAO,CAACS,eAAe,CAAC;IACpCQ,OAAO,EAAEjB,OAAO,CAACS,eAAe,CAAC;IACjCS,gBAAgB,EAAElB,OAAO,CAACM,WAAW,CAACY,gBAAgB,EAAET,eAAe,CAAC;IACxEU,eAAe,EAAEnB,OAAO,CAACS,eAAe,CAAC;IACzCW,SAAS,EAAErB,WAAW,CAACO,WAAW,CAACc,SAAS,CAAC;IAC7CC,UAAU,EAAEtB,WAAW,CAACa,eAAe,CAAC;IACxCU,OAAO,EAAEvB,WAAW,CAACa,eAAe,CAAC;IACrCW,gBAAgB,EAAExB,WAAW,CAACO,WAAW,CAACiB,gBAAgB,EAAEX,eAAe,CAAC;IAC5EY,eAAe,EAAEzB,WAAW,CAACa,eAAe,CAAC;IAE7C;AACR;AACA;IACQa,iBAAiB,EAAEzB,OAAO,CAACK,aAAa,CAACoB,iBAAiB,CAAC;IAC3DC,eAAe,EAAE1B,OAAO,CAACS,eAAe,CAAC;IACzCkB,kBAAkB,EAAE3B,OAAO,CAACS,eAAe,CAAC;IAC5CmB,wBAAwB,EAAE5B,OAAO,CAACK,aAAa,CAACuB,wBAAwB,EAAEnB,eAAe,CAAC;IAC1FoB,uBAAuB,EAAE7B,OAAO,CAACS,eAAe,CAAC;IACjDqB,iBAAiB,EAAE/B,WAAW,CAACM,aAAa,CAACyB,iBAAiB,CAAC;IAC/DC,eAAe,EAAEhC,WAAW,CAACa,eAAe,CAAC;IAC7CoB,kBAAkB,EAAEjC,WAAW,CAACa,eAAe,CAAC;IAChDqB,wBAAwB,EAAElC,WAAW,CACjCM,aAAa,CAAC4B,wBAAwB,EACtCrB,eACJ,CAAC;IACDsB,uBAAuB,EAAEnC,WAAW,CAACa,eAAe,CAAC;IAErDuB,IAAI,EAAE;MACFC,OAAO,EAAE/B,aAAa,CAAC+B;IAC3B;EACJ,CAAC;EAED,OAAO;IAAE5B;EAAM,CAAC;AACpB,CAAC","ignoreList":[]}
@@ -41,7 +41,10 @@ export const createRepublishEntryData = async ({
41
41
  revisionFirstPublishedBy: getIdentity(originalEntry.revisionFirstPublishedBy, currentIdentity),
42
42
  revisionLastPublishedOn: getDate(currentDateTime),
43
43
  revisionLastPublishedBy: getIdentity(currentIdentity),
44
- values
44
+ values,
45
+ live: {
46
+ version: originalEntry.version
47
+ }
45
48
  };
46
49
  return {
47
50
  entry
@@ -1 +1 @@
1
- {"version":3,"names":["referenceFieldsMapping","STATUS_PUBLISHED","getIdentity","getDate","createRepublishEntryData","model","context","getSecurityIdentity","originalEntry","values","validateEntries","currentDateTime","Date","toISOString","currentIdentity","entry","status","savedOn","modifiedOn","savedBy","modifiedBy","firstPublishedOn","firstPublishedBy","lastPublishedOn","lastPublishedBy","revisionSavedOn","revisionModifiedOn","revisionSavedBy","revisionModifiedBy","revisionFirstPublishedOn","revisionFirstPublishedBy","revisionLastPublishedOn","revisionLastPublishedBy"],"sources":["createRepublishEntryData.ts"],"sourcesContent":["import type { CmsContext, CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { referenceFieldsMapping } from \"~/crud/contentEntry/referenceFieldsMapping.js\";\nimport { STATUS_PUBLISHED } from \"./statuses.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\n\ntype CreateRepublishEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> = {\n model: CmsModel;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n originalEntry: CmsEntry<TValues>;\n};\n\ninterface ICreateRepublishEntryDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<TValues>;\n}\n\nexport const createRepublishEntryData = async <TValues extends CmsEntryValues = CmsEntryValues>({\n model,\n context,\n getIdentity: getSecurityIdentity,\n originalEntry\n}: CreateRepublishEntryDataParams<TValues>): Promise<\n ICreateRepublishEntryDataResponse<TValues>\n> => {\n const values = await referenceFieldsMapping<TValues>({\n context,\n model,\n values: originalEntry.values,\n validateEntries: false\n });\n\n const currentDateTime = new Date().toISOString();\n const currentIdentity = getSecurityIdentity();\n\n const entry: CmsEntry<TValues> = {\n ...originalEntry,\n status: STATUS_PUBLISHED,\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 values\n };\n\n return {\n entry\n };\n};\n"],"mappings":"AACA,SAASA,sBAAsB;AAC/B,SAASC,gBAAgB;AACzB,SAASC,WAAW;AACpB,SAASC,OAAO;AAchB,OAAO,MAAMC,wBAAwB,GAAG,MAAAA,CAAwD;EAC5FC,KAAK;EACLC,OAAO;EACPJ,WAAW,EAAEK,mBAAmB;EAChCC;AACqC,CAAC,KAErC;EACD,MAAMC,MAAM,GAAG,MAAMT,sBAAsB,CAAU;IACjDM,OAAO;IACPD,KAAK;IACLI,MAAM,EAAED,aAAa,CAACC,MAAM;IAC5BC,eAAe,EAAE;EACrB,CAAC,CAAC;EAEF,MAAMC,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EAChD,MAAMC,eAAe,GAAGP,mBAAmB,CAAC,CAAC;EAE7C,MAAMQ,KAAwB,GAAG;IAC7B,GAAGP,aAAa;IAChBQ,MAAM,EAAEf,gBAAgB;IACxB;AACR;AACA;IACQgB,OAAO,EAAEd,OAAO,CAACQ,eAAe,CAAC;IACjCO,UAAU,EAAEf,OAAO,CAACQ,eAAe,CAAC;IACpCQ,OAAO,EAAEjB,WAAW,CAACY,eAAe,CAAE;IACtCM,UAAU,EAAElB,WAAW,CAACY,eAAe,CAAC;IACxCO,gBAAgB,EAAElB,OAAO,CAACK,aAAa,CAACa,gBAAgB,EAAEV,eAAe,CAAC;IAC1EW,gBAAgB,EAAEpB,WAAW,CAACM,aAAa,CAACc,gBAAgB,EAAER,eAAe,CAAC;IAC9ES,eAAe,EAAEpB,OAAO,CAACQ,eAAe,CAAC;IACzCa,eAAe,EAAEtB,WAAW,CAACY,eAAe,CAAC;IAE7C;AACR;AACA;IACQW,eAAe,EAAEtB,OAAO,CAACQ,eAAe,CAAC;IACzCe,kBAAkB,EAAEvB,OAAO,CAACQ,eAAe,CAAC;IAC5CgB,eAAe,EAAEzB,WAAW,CAACY,eAAe,CAAE;IAC9Cc,kBAAkB,EAAE1B,WAAW,CAACY,eAAe,CAAC;IAChDe,wBAAwB,EAAE1B,OAAO,CAACK,aAAa,CAACqB,wBAAwB,EAAElB,eAAe,CAAC;IAC1FmB,wBAAwB,EAAE5B,WAAW,CACjCM,aAAa,CAACsB,wBAAwB,EACtChB,eACJ,CAAC;IACDiB,uBAAuB,EAAE5B,OAAO,CAACQ,eAAe,CAAC;IACjDqB,uBAAuB,EAAE9B,WAAW,CAACY,eAAe,CAAC;IACrDL;EACJ,CAAC;EAED,OAAO;IACHM;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["referenceFieldsMapping","STATUS_PUBLISHED","getIdentity","getDate","createRepublishEntryData","model","context","getSecurityIdentity","originalEntry","values","validateEntries","currentDateTime","Date","toISOString","currentIdentity","entry","status","savedOn","modifiedOn","savedBy","modifiedBy","firstPublishedOn","firstPublishedBy","lastPublishedOn","lastPublishedBy","revisionSavedOn","revisionModifiedOn","revisionSavedBy","revisionModifiedBy","revisionFirstPublishedOn","revisionFirstPublishedBy","revisionLastPublishedOn","revisionLastPublishedBy","live","version"],"sources":["createRepublishEntryData.ts"],"sourcesContent":["import type { CmsContext, CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { referenceFieldsMapping } from \"~/crud/contentEntry/referenceFieldsMapping.js\";\nimport { STATUS_PUBLISHED } from \"./statuses.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\n\ntype CreateRepublishEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> = {\n model: CmsModel;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n originalEntry: CmsEntry<TValues>;\n};\n\ninterface ICreateRepublishEntryDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<TValues>;\n}\n\nexport const createRepublishEntryData = async <TValues extends CmsEntryValues = CmsEntryValues>({\n model,\n context,\n getIdentity: getSecurityIdentity,\n originalEntry\n}: CreateRepublishEntryDataParams<TValues>): Promise<\n ICreateRepublishEntryDataResponse<TValues>\n> => {\n const values = await referenceFieldsMapping<TValues>({\n context,\n model,\n values: originalEntry.values,\n validateEntries: false\n });\n\n const currentDateTime = new Date().toISOString();\n const currentIdentity = getSecurityIdentity();\n\n const entry: CmsEntry<TValues> = {\n ...originalEntry,\n status: STATUS_PUBLISHED,\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 values,\n\n live: {\n version: originalEntry.version\n }\n };\n\n return {\n entry\n };\n};\n"],"mappings":"AACA,SAASA,sBAAsB;AAC/B,SAASC,gBAAgB;AACzB,SAASC,WAAW;AACpB,SAASC,OAAO;AAchB,OAAO,MAAMC,wBAAwB,GAAG,MAAAA,CAAwD;EAC5FC,KAAK;EACLC,OAAO;EACPJ,WAAW,EAAEK,mBAAmB;EAChCC;AACqC,CAAC,KAErC;EACD,MAAMC,MAAM,GAAG,MAAMT,sBAAsB,CAAU;IACjDM,OAAO;IACPD,KAAK;IACLI,MAAM,EAAED,aAAa,CAACC,MAAM;IAC5BC,eAAe,EAAE;EACrB,CAAC,CAAC;EAEF,MAAMC,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EAChD,MAAMC,eAAe,GAAGP,mBAAmB,CAAC,CAAC;EAE7C,MAAMQ,KAAwB,GAAG;IAC7B,GAAGP,aAAa;IAChBQ,MAAM,EAAEf,gBAAgB;IACxB;AACR;AACA;IACQgB,OAAO,EAAEd,OAAO,CAACQ,eAAe,CAAC;IACjCO,UAAU,EAAEf,OAAO,CAACQ,eAAe,CAAC;IACpCQ,OAAO,EAAEjB,WAAW,CAACY,eAAe,CAAE;IACtCM,UAAU,EAAElB,WAAW,CAACY,eAAe,CAAC;IACxCO,gBAAgB,EAAElB,OAAO,CAACK,aAAa,CAACa,gBAAgB,EAAEV,eAAe,CAAC;IAC1EW,gBAAgB,EAAEpB,WAAW,CAACM,aAAa,CAACc,gBAAgB,EAAER,eAAe,CAAC;IAC9ES,eAAe,EAAEpB,OAAO,CAACQ,eAAe,CAAC;IACzCa,eAAe,EAAEtB,WAAW,CAACY,eAAe,CAAC;IAE7C;AACR;AACA;IACQW,eAAe,EAAEtB,OAAO,CAACQ,eAAe,CAAC;IACzCe,kBAAkB,EAAEvB,OAAO,CAACQ,eAAe,CAAC;IAC5CgB,eAAe,EAAEzB,WAAW,CAACY,eAAe,CAAE;IAC9Cc,kBAAkB,EAAE1B,WAAW,CAACY,eAAe,CAAC;IAChDe,wBAAwB,EAAE1B,OAAO,CAACK,aAAa,CAACqB,wBAAwB,EAAElB,eAAe,CAAC;IAC1FmB,wBAAwB,EAAE5B,WAAW,CACjCM,aAAa,CAACsB,wBAAwB,EACtChB,eACJ,CAAC;IACDiB,uBAAuB,EAAE5B,OAAO,CAACQ,eAAe,CAAC;IACjDqB,uBAAuB,EAAE9B,WAAW,CAACY,eAAe,CAAC;IACrDL,MAAM;IAENwB,IAAI,EAAE;MACFC,OAAO,EAAE1B,aAAa,CAAC0B;IAC3B;EACJ,CAAC;EAED,OAAO;IACHnB;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -23,7 +23,8 @@ export const createUnpublishEntryData = async ({
23
23
  revisionSavedOn: getDate(currentDateTime),
24
24
  revisionModifiedOn: getDate(currentDateTime),
25
25
  revisionSavedBy: getIdentity(currentIdentity),
26
- revisionModifiedBy: getIdentity(currentIdentity)
26
+ revisionModifiedBy: getIdentity(currentIdentity),
27
+ live: null
27
28
  };
28
29
  return {
29
30
  entry
@@ -1 +1 @@
1
- {"version":3,"names":["STATUS_UNPUBLISHED","getIdentity","getDate","createUnpublishEntryData","getSecurityIdentity","originalEntry","currentDateTime","Date","toISOString","currentIdentity","entry","status","savedOn","modifiedOn","savedBy","modifiedBy","revisionSavedOn","revisionModifiedOn","revisionSavedBy","revisionModifiedBy"],"sources":["createUnpublishEntryData.ts"],"sourcesContent":["import type { CmsEntry, CmsEntryValues } from \"~/types/index.js\";\nimport { STATUS_UNPUBLISHED } from \"./statuses.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\n\ninterface CreateRepublishEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n getIdentity: () => SecurityIdentity;\n originalEntry: CmsEntry<TValues>;\n}\n\ninterface ICreateUnpublishEntryDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<TValues>;\n}\n\nexport const createUnpublishEntryData = async <TValues extends CmsEntryValues = CmsEntryValues>({\n getIdentity: getSecurityIdentity,\n originalEntry\n}: CreateRepublishEntryDataParams<TValues>): Promise<\n ICreateUnpublishEntryDataResponse<TValues>\n> => {\n const currentDateTime = new Date().toISOString();\n const currentIdentity = getSecurityIdentity();\n\n const entry: CmsEntry<TValues> = {\n ...originalEntry,\n status: STATUS_UNPUBLISHED,\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\n /**\n * Revision-level meta fields. 👇\n */\n revisionSavedOn: getDate(currentDateTime),\n revisionModifiedOn: getDate(currentDateTime),\n revisionSavedBy: getIdentity(currentIdentity),\n revisionModifiedBy: getIdentity(currentIdentity)\n };\n\n return {\n entry\n };\n};\n"],"mappings":"AACA,SAASA,kBAAkB;AAC3B,SAASC,WAAW;AACpB,SAASC,OAAO;AAYhB,OAAO,MAAMC,wBAAwB,GAAG,MAAAA,CAAwD;EAC5FF,WAAW,EAAEG,mBAAmB;EAChCC;AACqC,CAAC,KAErC;EACD,MAAMC,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EAChD,MAAMC,eAAe,GAAGL,mBAAmB,CAAC,CAAC;EAE7C,MAAMM,KAAwB,GAAG;IAC7B,GAAGL,aAAa;IAChBM,MAAM,EAAEX,kBAAkB;IAE1B;AACR;AACA;IACQY,OAAO,EAAEV,OAAO,CAACI,eAAe,CAAC;IACjCO,UAAU,EAAEX,OAAO,CAACI,eAAe,CAAC;IACpCQ,OAAO,EAAEb,WAAW,CAACQ,eAAe,CAAC;IACrCM,UAAU,EAAEd,WAAW,CAACQ,eAAe,CAAC;IAExC;AACR;AACA;IACQO,eAAe,EAAEd,OAAO,CAACI,eAAe,CAAC;IACzCW,kBAAkB,EAAEf,OAAO,CAACI,eAAe,CAAC;IAC5CY,eAAe,EAAEjB,WAAW,CAACQ,eAAe,CAAC;IAC7CU,kBAAkB,EAAElB,WAAW,CAACQ,eAAe;EACnD,CAAC;EAED,OAAO;IACHC;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["STATUS_UNPUBLISHED","getIdentity","getDate","createUnpublishEntryData","getSecurityIdentity","originalEntry","currentDateTime","Date","toISOString","currentIdentity","entry","status","savedOn","modifiedOn","savedBy","modifiedBy","revisionSavedOn","revisionModifiedOn","revisionSavedBy","revisionModifiedBy","live"],"sources":["createUnpublishEntryData.ts"],"sourcesContent":["import type { CmsEntry, CmsEntryValues } from \"~/types/index.js\";\nimport { STATUS_UNPUBLISHED } from \"./statuses.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\n\ninterface CreateRepublishEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n getIdentity: () => SecurityIdentity;\n originalEntry: CmsEntry<TValues>;\n}\n\ninterface ICreateUnpublishEntryDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<TValues>;\n}\n\nexport const createUnpublishEntryData = async <TValues extends CmsEntryValues = CmsEntryValues>({\n getIdentity: getSecurityIdentity,\n originalEntry\n}: CreateRepublishEntryDataParams<TValues>): Promise<\n ICreateUnpublishEntryDataResponse<TValues>\n> => {\n const currentDateTime = new Date().toISOString();\n const currentIdentity = getSecurityIdentity();\n\n const entry: CmsEntry<TValues> = {\n ...originalEntry,\n status: STATUS_UNPUBLISHED,\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\n /**\n * Revision-level meta fields. 👇\n */\n revisionSavedOn: getDate(currentDateTime),\n revisionModifiedOn: getDate(currentDateTime),\n revisionSavedBy: getIdentity(currentIdentity),\n revisionModifiedBy: getIdentity(currentIdentity),\n live: null\n };\n\n return {\n entry\n };\n};\n"],"mappings":"AACA,SAASA,kBAAkB;AAC3B,SAASC,WAAW;AACpB,SAASC,OAAO;AAYhB,OAAO,MAAMC,wBAAwB,GAAG,MAAAA,CAAwD;EAC5FF,WAAW,EAAEG,mBAAmB;EAChCC;AACqC,CAAC,KAErC;EACD,MAAMC,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EAChD,MAAMC,eAAe,GAAGL,mBAAmB,CAAC,CAAC;EAE7C,MAAMM,KAAwB,GAAG;IAC7B,GAAGL,aAAa;IAChBM,MAAM,EAAEX,kBAAkB;IAE1B;AACR;AACA;IACQY,OAAO,EAAEV,OAAO,CAACI,eAAe,CAAC;IACjCO,UAAU,EAAEX,OAAO,CAACI,eAAe,CAAC;IACpCQ,OAAO,EAAEb,WAAW,CAACQ,eAAe,CAAC;IACrCM,UAAU,EAAEd,WAAW,CAACQ,eAAe,CAAC;IAExC;AACR;AACA;IACQO,eAAe,EAAEd,OAAO,CAACI,eAAe,CAAC;IACzCW,kBAAkB,EAAEf,OAAO,CAACI,eAAe,CAAC;IAC5CY,eAAe,EAAEjB,WAAW,CAACQ,eAAe,CAAC;IAC7CU,kBAAkB,EAAElB,WAAW,CAACQ,eAAe,CAAC;IAChDW,IAAI,EAAE;EACV,CAAC;EAED,OAAO;IACHV;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -5,7 +5,7 @@ import { referenceFieldsMapping } from "../referenceFieldsMapping.js";
5
5
  import { mapAndCleanUpdatedInputData } from "./mapAndCleanUpdatedInputData.js";
6
6
  import lodashMerge from "lodash/merge.js";
7
7
  import { removeNullValues, removeUndefinedValues } from "@webiny/utils";
8
- import { getState } from "./state.js";
8
+ import { getSystem } from "./system.js";
9
9
  export const createUpdateEntryData = async ({
10
10
  model,
11
11
  rawInput,
@@ -94,10 +94,11 @@ export const createUpdateEntryData = async ({
94
94
  values,
95
95
  meta,
96
96
  status: transformEntryStatus(originalEntry.status),
97
- state: getState({
97
+ system: getSystem({
98
98
  input: rawInput,
99
99
  original: originalEntry
100
- })
100
+ }),
101
+ live: originalEntry.live
101
102
  };
102
103
  const folderId = rawInput.wbyAco_location?.folderId;
103
104
  if (folderId) {
@@ -1 +1 @@
1
- {"version":3,"names":["getDate","getIdentity","validateModelEntryDataOrThrow","referenceFieldsMapping","mapAndCleanUpdatedInputData","lodashMerge","removeNullValues","removeUndefinedValues","getState","createUpdateEntryData","model","rawInput","options","context","metaInput","getSecurityIdentity","originalEntry","cleanedValues","values","entry","skipValidators","mergedValues","validateEntries","meta","createEntryMeta","currentIdentity","currentDateTime","Date","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","revisionDeletedOn","revisionRestoredOn","revisionFirstPublishedOn","revisionLastPublishedOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","revisionDeletedBy","revisionRestoredBy","revisionFirstPublishedBy","revisionLastPublishedBy","createdOn","savedOn","modifiedOn","deletedOn","restoredOn","firstPublishedOn","lastPublishedOn","createdBy","savedBy","modifiedBy","deletedBy","restoredBy","firstPublishedBy","lastPublishedBy","status","transformEntryStatus","state","input","original","folderId","wbyAco_location","location","structuredClone","allowedEntryStatus","includes"],"sources":["createUpdateEntryData.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntry,\n CmsEntryStatus,\n CmsEntryValues,\n CmsModel,\n UpdateCmsEntryInput,\n UpdateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport { validateModelEntryDataOrThrow } from \"../entryDataValidation.js\";\nimport { referenceFieldsMapping } from \"../referenceFieldsMapping.js\";\nimport { mapAndCleanUpdatedInputData } from \"./mapAndCleanUpdatedInputData.js\";\nimport lodashMerge from \"lodash/merge.js\";\nimport { removeNullValues, removeUndefinedValues } from \"@webiny/utils\";\nimport { getState } from \"./state.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\n\ninterface UpdateEntryFromDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n metaInput?: Record<string, any>;\n model: CmsModel;\n rawInput: UpdateCmsEntryInput<TValues>;\n options?: UpdateCmsEntryOptionsInput;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n getTenant: () => Tenant;\n originalEntry: CmsEntry<TValues>;\n}\n\ninterface UpdateEntryDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<TValues>;\n input: UpdateCmsEntryInput<TValues>;\n}\n\nexport const createUpdateEntryData = async <TValues extends CmsEntryValues = CmsEntryValues>({\n model,\n rawInput,\n options,\n context,\n metaInput,\n getIdentity: getSecurityIdentity,\n originalEntry\n}: UpdateEntryFromDataParams<TValues>): Promise<UpdateEntryDataResponse<TValues>> => {\n /**\n * Make sure we only work with fields that are defined in the model.\n */\n const cleanedValues = mapAndCleanUpdatedInputData<TValues>(\n model,\n rawInput?.values || ({} as TValues)\n );\n\n await validateModelEntryDataOrThrow({\n context,\n model,\n values: cleanedValues,\n entry: originalEntry,\n skipValidators: options?.skipValidators\n });\n\n const mergedValues: TValues = {\n /**\n * Existing values from the database, transformed back to original, of course.\n */\n ...originalEntry.values,\n /**\n * Add new values.\n */\n ...cleanedValues\n };\n\n const values = await referenceFieldsMapping<TValues>({\n context,\n model,\n values: mergedValues,\n validateEntries: false\n });\n\n /**\n * If users wants to remove a key from meta values, they need to send meta key with the null value.\n */\n const meta = createEntryMeta(metaInput, originalEntry.meta);\n\n const currentIdentity = getSecurityIdentity();\n const currentDateTime = new Date();\n\n /**\n * We always send the full entry to the hooks and storage operations update.\n */\n const entry: CmsEntry<TValues> = {\n ...originalEntry,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: getDate(rawInput.revisionCreatedOn, originalEntry.revisionCreatedOn),\n revisionModifiedOn: getDate(rawInput.revisionModifiedOn, currentDateTime),\n revisionSavedOn: getDate(rawInput.revisionSavedOn, currentDateTime),\n revisionDeletedOn: getDate(rawInput.revisionDeletedOn, null),\n revisionRestoredOn: getDate(rawInput.revisionRestoredOn, null),\n revisionFirstPublishedOn: getDate(\n rawInput.revisionFirstPublishedOn,\n originalEntry.revisionFirstPublishedOn\n ),\n revisionLastPublishedOn: getDate(\n rawInput.revisionLastPublishedOn,\n originalEntry.revisionLastPublishedOn\n ),\n revisionCreatedBy: getIdentity(\n rawInput.revisionCreatedBy,\n originalEntry.revisionCreatedBy\n )!,\n revisionModifiedBy: getIdentity(rawInput.revisionModifiedBy, currentIdentity),\n revisionSavedBy: getIdentity(rawInput.revisionSavedBy, currentIdentity)!,\n revisionDeletedBy: getIdentity(rawInput.revisionSavedBy, null),\n revisionRestoredBy: getIdentity(rawInput.revisionRestoredBy, null),\n revisionFirstPublishedBy: getIdentity(\n rawInput.revisionFirstPublishedBy,\n originalEntry.revisionFirstPublishedBy\n ),\n revisionLastPublishedBy: getIdentity(\n rawInput.revisionLastPublishedBy,\n originalEntry.revisionLastPublishedBy\n ),\n\n /**\n * Entry-level meta fields. 👇\n * If required, within storage operations, these entry-level updates\n * will be propagated to the latest revision too.\n */\n createdOn: getDate(rawInput.createdOn, originalEntry.createdOn),\n savedOn: getDate(rawInput.savedOn, currentDateTime),\n modifiedOn: getDate(rawInput.modifiedOn, currentDateTime),\n deletedOn: getDate(rawInput.deletedOn, null),\n restoredOn: getDate(rawInput.restoredOn, null),\n firstPublishedOn: getDate(rawInput.firstPublishedOn, originalEntry.firstPublishedOn),\n lastPublishedOn: getDate(rawInput.lastPublishedOn, originalEntry.lastPublishedOn),\n createdBy: getIdentity(rawInput.createdBy, originalEntry.createdBy)!,\n savedBy: getIdentity(rawInput.savedBy, currentIdentity)!,\n modifiedBy: getIdentity(rawInput.modifiedBy, currentIdentity),\n deletedBy: getIdentity(rawInput.deletedBy, null),\n restoredBy: getIdentity(rawInput.restoredBy, null),\n firstPublishedBy: getIdentity(rawInput.firstPublishedBy, originalEntry.firstPublishedBy),\n lastPublishedBy: getIdentity(rawInput.lastPublishedBy, originalEntry.lastPublishedBy),\n\n values,\n meta,\n status: transformEntryStatus(originalEntry.status),\n state: getState({\n input: rawInput,\n original: originalEntry\n })\n };\n\n const folderId = rawInput.wbyAco_location?.folderId;\n if (folderId) {\n entry.location = {\n folderId\n };\n }\n\n return {\n entry,\n input: {\n ...rawInput,\n values: structuredClone(values)\n }\n };\n};\n\n/**\n * This method takes original entry meta and new input.\n * When new meta is merged onto the existing one, everything that has undefined or null value is removed.\n */\nconst createEntryMeta = (input?: Record<string, any>, original?: Record<string, any>) => {\n const meta = lodashMerge(original || {}, input || {});\n return removeUndefinedValues(removeNullValues(meta));\n};\n\nconst allowedEntryStatus: string[] = [\"draft\", \"published\", \"unpublished\"];\n\nconst transformEntryStatus = (status: CmsEntryStatus | string): CmsEntryStatus => {\n return allowedEntryStatus.includes(status) ? (status as CmsEntryStatus) : \"draft\";\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getDate","getIdentity","validateModelEntryDataOrThrow","referenceFieldsMapping","mapAndCleanUpdatedInputData","lodashMerge","removeNullValues","removeUndefinedValues","getSystem","createUpdateEntryData","model","rawInput","options","context","metaInput","getSecurityIdentity","originalEntry","cleanedValues","values","entry","skipValidators","mergedValues","validateEntries","meta","createEntryMeta","currentIdentity","currentDateTime","Date","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","revisionDeletedOn","revisionRestoredOn","revisionFirstPublishedOn","revisionLastPublishedOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","revisionDeletedBy","revisionRestoredBy","revisionFirstPublishedBy","revisionLastPublishedBy","createdOn","savedOn","modifiedOn","deletedOn","restoredOn","firstPublishedOn","lastPublishedOn","createdBy","savedBy","modifiedBy","deletedBy","restoredBy","firstPublishedBy","lastPublishedBy","status","transformEntryStatus","system","input","original","live","folderId","wbyAco_location","location","structuredClone","allowedEntryStatus","includes"],"sources":["createUpdateEntryData.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntry,\n CmsEntryStatus,\n CmsEntryValues,\n CmsModel,\n UpdateCmsEntryInput,\n UpdateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport { validateModelEntryDataOrThrow } from \"../entryDataValidation.js\";\nimport { referenceFieldsMapping } from \"../referenceFieldsMapping.js\";\nimport { mapAndCleanUpdatedInputData } from \"./mapAndCleanUpdatedInputData.js\";\nimport lodashMerge from \"lodash/merge.js\";\nimport { removeNullValues, removeUndefinedValues } from \"@webiny/utils\";\nimport { getSystem } from \"./system.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\n\ninterface UpdateEntryFromDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n metaInput?: Record<string, any>;\n model: CmsModel;\n rawInput: UpdateCmsEntryInput<TValues>;\n options?: UpdateCmsEntryOptionsInput;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n getTenant: () => Tenant;\n originalEntry: CmsEntry<TValues>;\n}\n\ninterface UpdateEntryDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<TValues>;\n input: UpdateCmsEntryInput<TValues>;\n}\n\nexport const createUpdateEntryData = async <TValues extends CmsEntryValues = CmsEntryValues>({\n model,\n rawInput,\n options,\n context,\n metaInput,\n getIdentity: getSecurityIdentity,\n originalEntry\n}: UpdateEntryFromDataParams<TValues>): Promise<UpdateEntryDataResponse<TValues>> => {\n /**\n * Make sure we only work with fields that are defined in the model.\n */\n const cleanedValues = mapAndCleanUpdatedInputData<TValues>(\n model,\n rawInput?.values || ({} as TValues)\n );\n\n await validateModelEntryDataOrThrow({\n context,\n model,\n values: cleanedValues,\n entry: originalEntry,\n skipValidators: options?.skipValidators\n });\n\n const mergedValues: TValues = {\n /**\n * Existing values from the database, transformed back to original, of course.\n */\n ...originalEntry.values,\n /**\n * Add new values.\n */\n ...cleanedValues\n };\n\n const values = await referenceFieldsMapping<TValues>({\n context,\n model,\n values: mergedValues,\n validateEntries: false\n });\n\n /**\n * If users wants to remove a key from meta values, they need to send meta key with the null value.\n */\n const meta = createEntryMeta(metaInput, originalEntry.meta);\n\n const currentIdentity = getSecurityIdentity();\n const currentDateTime = new Date();\n\n /**\n * We always send the full entry to the hooks and storage operations update.\n */\n const entry: CmsEntry<TValues> = {\n ...originalEntry,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: getDate(rawInput.revisionCreatedOn, originalEntry.revisionCreatedOn),\n revisionModifiedOn: getDate(rawInput.revisionModifiedOn, currentDateTime),\n revisionSavedOn: getDate(rawInput.revisionSavedOn, currentDateTime),\n revisionDeletedOn: getDate(rawInput.revisionDeletedOn, null),\n revisionRestoredOn: getDate(rawInput.revisionRestoredOn, null),\n revisionFirstPublishedOn: getDate(\n rawInput.revisionFirstPublishedOn,\n originalEntry.revisionFirstPublishedOn\n ),\n revisionLastPublishedOn: getDate(\n rawInput.revisionLastPublishedOn,\n originalEntry.revisionLastPublishedOn\n ),\n revisionCreatedBy: getIdentity(\n rawInput.revisionCreatedBy,\n originalEntry.revisionCreatedBy\n )!,\n revisionModifiedBy: getIdentity(rawInput.revisionModifiedBy, currentIdentity),\n revisionSavedBy: getIdentity(rawInput.revisionSavedBy, currentIdentity)!,\n revisionDeletedBy: getIdentity(rawInput.revisionSavedBy, null),\n revisionRestoredBy: getIdentity(rawInput.revisionRestoredBy, null),\n revisionFirstPublishedBy: getIdentity(\n rawInput.revisionFirstPublishedBy,\n originalEntry.revisionFirstPublishedBy\n ),\n revisionLastPublishedBy: getIdentity(\n rawInput.revisionLastPublishedBy,\n originalEntry.revisionLastPublishedBy\n ),\n\n /**\n * Entry-level meta fields. 👇\n * If required, within storage operations, these entry-level updates\n * will be propagated to the latest revision too.\n */\n createdOn: getDate(rawInput.createdOn, originalEntry.createdOn),\n savedOn: getDate(rawInput.savedOn, currentDateTime),\n modifiedOn: getDate(rawInput.modifiedOn, currentDateTime),\n deletedOn: getDate(rawInput.deletedOn, null),\n restoredOn: getDate(rawInput.restoredOn, null),\n firstPublishedOn: getDate(rawInput.firstPublishedOn, originalEntry.firstPublishedOn),\n lastPublishedOn: getDate(rawInput.lastPublishedOn, originalEntry.lastPublishedOn),\n createdBy: getIdentity(rawInput.createdBy, originalEntry.createdBy)!,\n savedBy: getIdentity(rawInput.savedBy, currentIdentity)!,\n modifiedBy: getIdentity(rawInput.modifiedBy, currentIdentity),\n deletedBy: getIdentity(rawInput.deletedBy, null),\n restoredBy: getIdentity(rawInput.restoredBy, null),\n firstPublishedBy: getIdentity(rawInput.firstPublishedBy, originalEntry.firstPublishedBy),\n lastPublishedBy: getIdentity(rawInput.lastPublishedBy, originalEntry.lastPublishedBy),\n\n values,\n meta,\n status: transformEntryStatus(originalEntry.status),\n system: getSystem({\n input: rawInput,\n original: originalEntry\n }),\n live: originalEntry.live\n };\n\n const folderId = rawInput.wbyAco_location?.folderId;\n if (folderId) {\n entry.location = {\n folderId\n };\n }\n\n return {\n entry,\n input: {\n ...rawInput,\n values: structuredClone(values)\n }\n };\n};\n\n/**\n * This method takes original entry meta and new input.\n * When new meta is merged onto the existing one, everything that has undefined or null value is removed.\n */\nconst createEntryMeta = (input?: Record<string, any>, original?: Record<string, any>) => {\n const meta = lodashMerge(original || {}, input || {});\n return removeUndefinedValues(removeNullValues(meta));\n};\n\nconst allowedEntryStatus: string[] = [\"draft\", \"published\", \"unpublished\"];\n\nconst transformEntryStatus = (status: CmsEntryStatus | string): CmsEntryStatus => {\n return allowedEntryStatus.includes(status) ? (status as CmsEntryStatus) : \"draft\";\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { CmsEntry, ICmsEntrySystem } from "../../../types/index.js";
2
+ interface IInputWithPossibleSystem {
3
+ system: Partial<ICmsEntrySystem>;
4
+ }
5
+ interface IParams {
6
+ input: Partial<IInputWithPossibleSystem>;
7
+ original?: CmsEntry | null;
8
+ }
9
+ export declare const getSystem: ({ input, original }: IParams) => ICmsEntrySystem | undefined;
10
+ export {};
@@ -0,0 +1,14 @@
1
+ export const getSystem = ({
2
+ input,
3
+ original
4
+ }) => {
5
+ if (!input.system) {
6
+ return original?.system;
7
+ }
8
+ return {
9
+ ...original?.system,
10
+ ...input.system
11
+ };
12
+ };
13
+
14
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getSystem","input","original","system"],"sources":["system.ts"],"sourcesContent":["import type { CmsEntry, ICmsEntrySystem } from \"~/types/index.js\";\n\ninterface IInputWithPossibleSystem {\n system: Partial<ICmsEntrySystem>;\n}\ninterface IParams {\n input: Partial<IInputWithPossibleSystem>;\n original?: CmsEntry | null;\n}\n\nexport const getSystem = ({ input, original }: IParams): ICmsEntrySystem | undefined => {\n if (!input.system) {\n return original?.system;\n }\n return {\n ...original?.system,\n ...input.system\n };\n};\n"],"mappings":"AAUA,OAAO,MAAMA,SAAS,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAkB,CAAC,KAAkC;EACpF,IAAI,CAACD,KAAK,CAACE,MAAM,EAAE;IACf,OAAOD,QAAQ,EAAEC,MAAM;EAC3B;EACA,OAAO;IACH,GAAGD,QAAQ,EAAEC,MAAM;IACnB,GAAGF,KAAK,CAACE;EACb,CAAC;AACL,CAAC","ignoreList":[]}
@@ -6,7 +6,7 @@ interface IValidateModelEntryDataParams<TValues extends CmsEntryValues = CmsEntr
6
6
  entry?: CmsEntry<TValues>;
7
7
  skipValidators?: string[];
8
8
  }
9
- export declare const validateModelEntryData: <TValues extends CmsEntryValues = CmsEntryValues>(params: IValidateModelEntryDataParams) => Promise<FieldError[]>;
9
+ export declare const validateModelEntryData: <TValues extends CmsEntryValues = CmsEntryValues>(params: IValidateModelEntryDataParams<TValues>) => Promise<FieldError[]>;
10
10
  export declare const validateModelEntryDataOrThrow: <TValues extends CmsEntryValues = CmsEntryValues>(params: IValidateModelEntryDataParams<TValues>) => Promise<void>;
11
11
  /**
12
12
  *
@@ -1,5 +1,6 @@
1
1
  import camelCase from "lodash/camelCase.js";
2
2
  import { EntryValidationError } from "../../domain/contentEntry/errors.js";
3
+ import { CmsModelFieldValidatorRegistry } from "../../features/validation/index.js";
3
4
  const validateValue = async (params, fieldValidators, value) => {
4
5
  if (!fieldValidators) {
5
6
  return null;
@@ -114,7 +115,7 @@ const execValidation = async params => {
114
115
  const {
115
116
  field
116
117
  } = params;
117
- if (field.multipleValues) {
118
+ if (field.list) {
118
119
  return await runFieldMultipleValuesValidations(params);
119
120
  }
120
121
  return await runFieldValueValidations(params);
@@ -127,30 +128,32 @@ export const validateModelEntryData = async params => {
127
128
  values,
128
129
  skipValidators
129
130
  } = params;
130
- const isValidatorSkipped = plugin => {
131
+ const isValidatorSkipped = validator => {
131
132
  if (!skipValidators) {
132
133
  return false;
133
134
  }
134
- return skipValidators.includes(camelCase(plugin.validator.name));
135
+ return skipValidators.includes(camelCase(validator.name));
135
136
  };
136
137
  const skippedValidators = new Set();
137
-
138
- /**
139
- * To later simplify searching for the validations we map them to a name.
140
- * @see CmsModelFieldValidatorPlugin.validator.validate
141
- */
142
138
  const validatorList = {};
143
- const validators = context.plugins.byType("cms-model-field-validator");
144
- for (const plugin of validators) {
145
- const name = plugin.validator.name;
139
+ const registry = context.container.resolve(CmsModelFieldValidatorRegistry);
140
+ const validators = registry.getAll();
141
+ for (const validator of validators) {
142
+ const name = validator.name;
146
143
  if (!validatorList[name]) {
147
144
  validatorList[name] = [];
148
145
  }
149
- const isSkipped = isValidatorSkipped(plugin);
146
+ const isSkipped = isValidatorSkipped(validator);
150
147
  if (isSkipped) {
151
148
  skippedValidators.add(name);
149
+ validatorList[name].push(async () => {
150
+ return true;
151
+ });
152
+ continue;
152
153
  }
153
- validatorList[name].push(isSkipped ? async () => true : plugin.validator.validate);
154
+ validatorList[name].push(params => {
155
+ return validator.validate(params);
156
+ });
154
157
  }
155
158
  /**
156
159
  * No point in continuing if all validators are skipped.
@@ -163,7 +166,7 @@ export const validateModelEntryData = async params => {
163
166
  validatorList,
164
167
  context,
165
168
  model,
166
- entry: entry,
169
+ entry,
167
170
  parents: [],
168
171
  fields: model.fields,
169
172
  values: {
@@ -220,7 +223,7 @@ const executeFieldValidation = async params => {
220
223
  }
221
224
  const values = Array.isArray(objectValue) ? objectValue : [objectValue];
222
225
  for (const index in values) {
223
- const parents = field.multipleValues ? [field.fieldId, index] : [field.fieldId];
226
+ const parents = field.list ? [field.fieldId, index] : [field.fieldId];
224
227
  const value = values[index];
225
228
  for (const childField of fields) {
226
229
  const errors = await executeFieldValidation({
@@ -276,7 +279,7 @@ const executeFieldValidation = async params => {
276
279
  * - gqlTypeName
277
280
  */
278
281
  const parents = [field.fieldId];
279
- if (field.multipleValues) {
282
+ if (field.list) {
280
283
  parents.push(index);
281
284
  }
282
285
  parents.push(template.gqlTypeName);