@webiny/api-headless-cms 6.3.0 → 6.4.0-beta.0

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 (1241) hide show
  1. package/abstractions/entryHooks/OnEntryBeforeCreate.js +2 -1
  2. package/abstractions/entryHooks/OnEntryBeforeCreate.js.map +1 -1
  3. package/abstractions/entryHooks/index.js +0 -2
  4. package/abstractions/index.js +0 -2
  5. package/constants.js +56 -56
  6. package/constants.js.map +1 -1
  7. package/context.js +97 -127
  8. package/context.js.map +1 -1
  9. package/crud/AccessControl/AccessControl.js +315 -470
  10. package/crud/AccessControl/AccessControl.js.map +1 -1
  11. package/crud/contentEntry/entryDataValidation.js +191 -309
  12. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  13. package/crud/contentEntry/referenceFieldsMapping.js +29 -59
  14. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  15. package/crud/contentEntry/references/buildPaths.js +105 -130
  16. package/crud/contentEntry/references/buildPaths.js.map +1 -1
  17. package/crud/contentEntry/references/validateEntries.js +36 -74
  18. package/crud/contentEntry/references/validateEntries.js.map +1 -1
  19. package/crud/contentEntry/searchableFields.js +42 -57
  20. package/crud/contentEntry/searchableFields.js.map +1 -1
  21. package/crud/contentEntry.crud.js +287 -348
  22. package/crud/contentEntry.crud.js.map +1 -1
  23. package/crud/contentModel/compatibility/modelApiName.js +7 -10
  24. package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
  25. package/crud/contentModel/createFieldStorageId.js +6 -8
  26. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  27. package/crud/contentModel/defaultFields.js +56 -49
  28. package/crud/contentModel/defaultFields.js.map +1 -1
  29. package/crud/contentModel/fields/descriptionField.js +8 -18
  30. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  31. package/crud/contentModel/fields/getApplicableFieldById.js +4 -5
  32. package/crud/contentModel/fields/getApplicableFieldById.js.map +1 -1
  33. package/crud/contentModel/fields/imageField.js +8 -13
  34. package/crud/contentModel/fields/imageField.js.map +1 -1
  35. package/crud/contentModel/fields/titleField.js +8 -18
  36. package/crud/contentModel/fields/titleField.js.map +1 -1
  37. package/crud/contentModel/validate/endingAllowed.js +10 -14
  38. package/crud/contentModel/validate/endingAllowed.js.map +1 -1
  39. package/crud/contentModel/validate/isModelEndingAllowed.js +15 -14
  40. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
  41. package/crud/contentModel/validate/modelId.js +19 -24
  42. package/crud/contentModel/validate/modelId.js.map +1 -1
  43. package/crud/contentModel/validate/pluralApiName.js +8 -13
  44. package/crud/contentModel/validate/pluralApiName.js.map +1 -1
  45. package/crud/contentModel/validate/singularApiName.js +8 -13
  46. package/crud/contentModel/validate/singularApiName.js.map +1 -1
  47. package/crud/contentModel/validateStorageId.js +10 -8
  48. package/crud/contentModel/validateStorageId.js.map +1 -1
  49. package/crud/contentModel/validation.js +190 -209
  50. package/crud/contentModel/validation.js.map +1 -1
  51. package/crud/contentModel.crud.js +65 -109
  52. package/crud/contentModel.crud.js.map +1 -1
  53. package/crud/contentModelGroup.crud.js +65 -90
  54. package/crud/contentModelGroup.crud.js.map +1 -1
  55. package/domain/contentEntry/EntryId.js +37 -45
  56. package/domain/contentEntry/EntryId.js.map +1 -1
  57. package/domain/contentEntry/errors.js +38 -42
  58. package/domain/contentEntry/errors.js.map +1 -1
  59. package/domain/contentModel/createFieldStorageId.js +6 -8
  60. package/domain/contentModel/createFieldStorageId.js.map +1 -1
  61. package/domain/contentModel/ensureTypeTag.js +5 -11
  62. package/domain/contentModel/ensureTypeTag.js.map +1 -1
  63. package/domain/contentModel/errors.js +82 -91
  64. package/domain/contentModel/errors.js.map +1 -1
  65. package/domain/contentModel/schemas.js +130 -161
  66. package/domain/contentModel/schemas.js.map +1 -1
  67. package/domain/contentModel/validation/endingAllowed.js +10 -14
  68. package/domain/contentModel/validation/endingAllowed.js.map +1 -1
  69. package/domain/contentModel/validation/fields/descriptionField.js +8 -18
  70. package/domain/contentModel/validation/fields/descriptionField.js.map +1 -1
  71. package/domain/contentModel/validation/fields/getApplicableFieldById.js +4 -5
  72. package/domain/contentModel/validation/fields/getApplicableFieldById.js.map +1 -1
  73. package/domain/contentModel/validation/fields/imageField.js +8 -13
  74. package/domain/contentModel/validation/fields/imageField.js.map +1 -1
  75. package/domain/contentModel/validation/fields/titleField.js +8 -18
  76. package/domain/contentModel/validation/fields/titleField.js.map +1 -1
  77. package/domain/contentModel/validation/isModelEndingAllowed.js +15 -14
  78. package/domain/contentModel/validation/isModelEndingAllowed.js.map +1 -1
  79. package/domain/contentModel/validation/modelFields.js +140 -242
  80. package/domain/contentModel/validation/modelFields.js.map +1 -1
  81. package/domain/contentModel/validation/modelId.js +19 -24
  82. package/domain/contentModel/validation/modelId.js.map +1 -1
  83. package/domain/contentModel/validation/pluralApiName.js +8 -13
  84. package/domain/contentModel/validation/pluralApiName.js.map +1 -1
  85. package/domain/contentModel/validation/singularApiName.js +8 -13
  86. package/domain/contentModel/validation/singularApiName.js.map +1 -1
  87. package/domain/contentModelGroup/errors.js +60 -67
  88. package/domain/contentModelGroup/errors.js.map +1 -1
  89. package/domain/contentModelGroup/validation.js +22 -31
  90. package/domain/contentModelGroup/validation.js.map +1 -1
  91. package/export/crud/exporting.js +18 -38
  92. package/export/crud/exporting.js.map +1 -1
  93. package/export/crud/importing.js +48 -67
  94. package/export/crud/importing.js.map +1 -1
  95. package/export/crud/imports/importData.js +28 -39
  96. package/export/crud/imports/importData.js.map +1 -1
  97. package/export/crud/imports/importGroups.js +75 -90
  98. package/export/crud/imports/importGroups.js.map +1 -1
  99. package/export/crud/imports/importModels.js +99 -120
  100. package/export/crud/imports/importModels.js.map +1 -1
  101. package/export/crud/imports/remapIcon.js +7 -10
  102. package/export/crud/imports/remapIcon.js.map +1 -1
  103. package/export/crud/imports/validateGroups.js +75 -99
  104. package/export/crud/imports/validateGroups.js.map +1 -1
  105. package/export/crud/imports/validateInput.js +42 -60
  106. package/export/crud/imports/validateInput.js.map +1 -1
  107. package/export/crud/imports/validateModels.js +117 -175
  108. package/export/crud/imports/validateModels.js.map +1 -1
  109. package/export/crud/index.js +4 -5
  110. package/export/crud/index.js.map +1 -1
  111. package/export/crud/sanitize.js +23 -26
  112. package/export/crud/sanitize.js.map +1 -1
  113. package/export/graphql/index.js +43 -46
  114. package/export/graphql/index.js.map +1 -1
  115. package/export/index.js +0 -2
  116. package/export/types.js +7 -13
  117. package/export/types.js.map +1 -1
  118. package/exports/api/cms/entry.d.ts +2 -0
  119. package/exports/api/cms/entry.js +15 -69
  120. package/exports/api/cms/graphql.js +1 -3
  121. package/exports/api/cms/group.js +3 -14
  122. package/exports/api/cms/model.js +5 -21
  123. package/exports/api/cms/storage.js +0 -2
  124. package/exports/api/cms/validation.js +0 -2
  125. package/extensions/entryHooks/OnEntryBeforeCreate.js +16 -19
  126. package/extensions/entryHooks/OnEntryBeforeCreate.js.map +1 -1
  127. package/extensions/entryHooks/index.js +0 -2
  128. package/extensions/index.js +4 -2
  129. package/extensions/index.js.map +1 -1
  130. package/features/contentEntry/ContentEntriesFeature.js +36 -36
  131. package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
  132. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js +61 -81
  133. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js.map +1 -1
  134. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js +18 -16
  135. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js.map +1 -1
  136. package/features/contentEntry/ContentEntryTraverser/abstractions.js +2 -4
  137. package/features/contentEntry/ContentEntryTraverser/abstractions.js.map +1 -1
  138. package/features/contentEntry/ContentEntryTraverser/feature.js +6 -5
  139. package/features/contentEntry/ContentEntryTraverser/feature.js.map +1 -1
  140. package/features/contentEntry/ContentEntryTraverser/index.js +0 -2
  141. package/features/contentEntry/CreateEntry/CreateEntryRepository.js +25 -30
  142. package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -1
  143. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +4 -16
  144. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +50 -88
  145. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  146. package/features/contentEntry/CreateEntry/abstractions.js +3 -14
  147. package/features/contentEntry/CreateEntry/abstractions.js.map +1 -1
  148. package/features/contentEntry/CreateEntry/events.js +17 -27
  149. package/features/contentEntry/CreateEntry/events.js.map +1 -1
  150. package/features/contentEntry/CreateEntry/feature.js +7 -18
  151. package/features/contentEntry/CreateEntry/feature.js.map +1 -1
  152. package/features/contentEntry/CreateEntry/index.js +1 -3
  153. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +29 -41
  154. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -1
  155. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +4 -20
  156. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +81 -129
  157. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  158. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js +3 -25
  159. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -1
  160. package/features/contentEntry/CreateEntryRevisionFrom/events.js +25 -31
  161. package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
  162. package/features/contentEntry/CreateEntryRevisionFrom/feature.js +7 -9
  163. package/features/contentEntry/CreateEntryRevisionFrom/feature.js.map +1 -1
  164. package/features/contentEntry/CreateEntryRevisionFrom/index.js +0 -2
  165. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +21 -23
  166. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -1
  167. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +70 -96
  168. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  169. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +26 -30
  170. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -1
  171. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +86 -115
  172. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  173. package/features/contentEntry/DeleteEntry/abstractions.js +5 -40
  174. package/features/contentEntry/DeleteEntry/abstractions.js.map +1 -1
  175. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js +30 -41
  176. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js.map +1 -1
  177. package/features/contentEntry/DeleteEntry/events.js +25 -31
  178. package/features/contentEntry/DeleteEntry/events.js.map +1 -1
  179. package/features/contentEntry/DeleteEntry/feature.js +10 -14
  180. package/features/contentEntry/DeleteEntry/feature.js.map +1 -1
  181. package/features/contentEntry/DeleteEntry/index.js +2 -4
  182. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +37 -43
  183. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
  184. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +85 -126
  185. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  186. package/features/contentEntry/DeleteEntryRevision/abstractions.js +3 -26
  187. package/features/contentEntry/DeleteEntryRevision/abstractions.js.map +1 -1
  188. package/features/contentEntry/DeleteEntryRevision/events.js +25 -31
  189. package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
  190. package/features/contentEntry/DeleteEntryRevision/feature.js +7 -9
  191. package/features/contentEntry/DeleteEntryRevision/feature.js.map +1 -1
  192. package/features/contentEntry/DeleteEntryRevision/index.js +2 -4
  193. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +21 -27
  194. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -1
  195. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +82 -122
  196. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  197. package/features/contentEntry/DeleteMultipleEntries/abstractions.js +3 -25
  198. package/features/contentEntry/DeleteMultipleEntries/abstractions.js.map +1 -1
  199. package/features/contentEntry/DeleteMultipleEntries/events.js +25 -31
  200. package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
  201. package/features/contentEntry/DeleteMultipleEntries/feature.js +7 -9
  202. package/features/contentEntry/DeleteMultipleEntries/feature.js.map +1 -1
  203. package/features/contentEntry/DeleteMultipleEntries/index.js +0 -2
  204. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +30 -35
  205. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -1
  206. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js +21 -34
  207. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js.map +1 -1
  208. package/features/contentEntry/GetEntriesByIds/abstractions.js +3 -14
  209. package/features/contentEntry/GetEntriesByIds/abstractions.js.map +1 -1
  210. package/features/contentEntry/GetEntriesByIds/decorators/GetEntriesByIdsNotDeletedDecorator.js +15 -25
  211. package/features/contentEntry/GetEntriesByIds/decorators/GetEntriesByIdsNotDeletedDecorator.js.map +1 -1
  212. package/features/contentEntry/GetEntriesByIds/feature.js +8 -7
  213. package/features/contentEntry/GetEntriesByIds/feature.js.map +1 -1
  214. package/features/contentEntry/GetEntriesByIds/index.js +1 -3
  215. package/features/contentEntry/GetEntry/GetEntryUseCase.js +22 -31
  216. package/features/contentEntry/GetEntry/GetEntryUseCase.js.map +1 -1
  217. package/features/contentEntry/GetEntry/abstractions.js +2 -8
  218. package/features/contentEntry/GetEntry/abstractions.js.map +1 -1
  219. package/features/contentEntry/GetEntry/feature.js +6 -5
  220. package/features/contentEntry/GetEntry/feature.js.map +1 -1
  221. package/features/contentEntry/GetEntry/index.js +0 -2
  222. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js +20 -25
  223. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js.map +1 -1
  224. package/features/contentEntry/GetEntryById/abstractions.js +2 -8
  225. package/features/contentEntry/GetEntryById/abstractions.js.map +1 -1
  226. package/features/contentEntry/GetEntryById/feature.js +6 -5
  227. package/features/contentEntry/GetEntryById/feature.js.map +1 -1
  228. package/features/contentEntry/GetEntryById/index.js +0 -2
  229. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +24 -30
  230. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -1
  231. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js +21 -34
  232. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js.map +1 -1
  233. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js +3 -14
  234. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js.map +1 -1
  235. package/features/contentEntry/GetLatestEntriesByIds/decorators/GetLatestEntriesByIdsNotDeletedDecorator.js +15 -25
  236. package/features/contentEntry/GetLatestEntriesByIds/decorators/GetLatestEntriesByIdsNotDeletedDecorator.js.map +1 -1
  237. package/features/contentEntry/GetLatestEntriesByIds/feature.js +8 -7
  238. package/features/contentEntry/GetLatestEntriesByIds/feature.js.map +1 -1
  239. package/features/contentEntry/GetLatestEntriesByIds/index.js +1 -3
  240. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js +21 -35
  241. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js.map +1 -1
  242. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +23 -29
  243. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -1
  244. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js +6 -21
  245. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js.map +1 -1
  246. package/features/contentEntry/GetLatestRevisionByEntryId/feature.js +10 -19
  247. package/features/contentEntry/GetLatestRevisionByEntryId/feature.js.map +1 -1
  248. package/features/contentEntry/GetLatestRevisionByEntryId/index.js +1 -3
  249. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js +17 -29
  250. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js.map +1 -1
  251. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js +14 -16
  252. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js.map +1 -1
  253. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js +17 -27
  254. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js.map +1 -1
  255. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js +21 -35
  256. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js.map +1 -1
  257. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +23 -29
  258. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -1
  259. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js +17 -28
  260. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js.map +1 -1
  261. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js +4 -16
  262. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js.map +1 -1
  263. package/features/contentEntry/GetPreviousRevisionByEntryId/feature.js +8 -12
  264. package/features/contentEntry/GetPreviousRevisionByEntryId/feature.js.map +1 -1
  265. package/features/contentEntry/GetPreviousRevisionByEntryId/index.js +1 -3
  266. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +24 -29
  267. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -1
  268. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js +21 -34
  269. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js.map +1 -1
  270. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js +3 -14
  271. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js.map +1 -1
  272. package/features/contentEntry/GetPublishedEntriesByIds/decorators/GetPublishedEntriesByIdsNotDeletedDecorator.js +15 -25
  273. package/features/contentEntry/GetPublishedEntriesByIds/decorators/GetPublishedEntriesByIdsNotDeletedDecorator.js.map +1 -1
  274. package/features/contentEntry/GetPublishedEntriesByIds/feature.js +8 -7
  275. package/features/contentEntry/GetPublishedEntriesByIds/feature.js.map +1 -1
  276. package/features/contentEntry/GetPublishedEntriesByIds/index.js +1 -3
  277. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +25 -31
  278. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -1
  279. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js +16 -23
  280. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js.map +1 -1
  281. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js +3 -13
  282. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js.map +1 -1
  283. package/features/contentEntry/GetPublishedRevisionByEntryId/feature.js +7 -17
  284. package/features/contentEntry/GetPublishedRevisionByEntryId/feature.js.map +1 -1
  285. package/features/contentEntry/GetPublishedRevisionByEntryId/index.js +1 -3
  286. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +26 -33
  287. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -1
  288. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js +14 -17
  289. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js.map +1 -1
  290. package/features/contentEntry/GetRevisionById/abstractions.js +3 -15
  291. package/features/contentEntry/GetRevisionById/abstractions.js.map +1 -1
  292. package/features/contentEntry/GetRevisionById/decorators/GetRevisionByIdNotDeletedDecorator.js +14 -26
  293. package/features/contentEntry/GetRevisionById/decorators/GetRevisionByIdNotDeletedDecorator.js.map +1 -1
  294. package/features/contentEntry/GetRevisionById/feature.js +8 -21
  295. package/features/contentEntry/GetRevisionById/feature.js.map +1 -1
  296. package/features/contentEntry/GetRevisionById/index.js +1 -3
  297. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +24 -30
  298. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -1
  299. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js +21 -34
  300. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js.map +1 -1
  301. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js +3 -14
  302. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js.map +1 -1
  303. package/features/contentEntry/GetRevisionsByEntryId/feature.js +7 -6
  304. package/features/contentEntry/GetRevisionsByEntryId/feature.js.map +1 -1
  305. package/features/contentEntry/GetRevisionsByEntryId/index.js +1 -3
  306. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js +25 -43
  307. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js.map +1 -1
  308. package/features/contentEntry/GetSingletonEntry/abstractions.js +2 -9
  309. package/features/contentEntry/GetSingletonEntry/abstractions.js.map +1 -1
  310. package/features/contentEntry/GetSingletonEntry/feature.js +6 -13
  311. package/features/contentEntry/GetSingletonEntry/feature.js.map +1 -1
  312. package/features/contentEntry/GetSingletonEntry/index.js +0 -2
  313. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +23 -24
  314. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -1
  315. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +45 -61
  316. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  317. package/features/contentEntry/GetUniqueFieldValues/abstractions.js +3 -13
  318. package/features/contentEntry/GetUniqueFieldValues/abstractions.js.map +1 -1
  319. package/features/contentEntry/GetUniqueFieldValues/errors.js +19 -20
  320. package/features/contentEntry/GetUniqueFieldValues/errors.js.map +1 -1
  321. package/features/contentEntry/GetUniqueFieldValues/feature.js +7 -6
  322. package/features/contentEntry/GetUniqueFieldValues/feature.js.map +1 -1
  323. package/features/contentEntry/GetUniqueFieldValues/index.js +1 -3
  324. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js +22 -29
  325. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js.map +1 -1
  326. package/features/contentEntry/ListEntries/ListEntriesRepository.js +55 -57
  327. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  328. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +33 -53
  329. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  330. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js +25 -27
  331. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js.map +1 -1
  332. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js +22 -29
  333. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js.map +1 -1
  334. package/features/contentEntry/ListEntries/abstractions.js +6 -35
  335. package/features/contentEntry/ListEntries/abstractions.js.map +1 -1
  336. package/features/contentEntry/ListEntries/feature.js +10 -12
  337. package/features/contentEntry/ListEntries/feature.js.map +1 -1
  338. package/features/contentEntry/ListEntries/index.js +1 -3
  339. package/features/contentEntry/MoveEntry/MoveEntryRepository.js +19 -25
  340. package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -1
  341. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +66 -94
  342. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  343. package/features/contentEntry/MoveEntry/abstractions.js +3 -25
  344. package/features/contentEntry/MoveEntry/abstractions.js.map +1 -1
  345. package/features/contentEntry/MoveEntry/events.js +25 -31
  346. package/features/contentEntry/MoveEntry/events.js.map +1 -1
  347. package/features/contentEntry/MoveEntry/feature.js +7 -9
  348. package/features/contentEntry/MoveEntry/feature.js.map +1 -1
  349. package/features/contentEntry/MoveEntry/index.js +1 -3
  350. package/features/contentEntry/PublishEntry/PublishEntryRepository.js +28 -38
  351. package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -1
  352. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +3 -17
  353. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +77 -118
  354. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  355. package/features/contentEntry/PublishEntry/abstractions.js +3 -25
  356. package/features/contentEntry/PublishEntry/abstractions.js.map +1 -1
  357. package/features/contentEntry/PublishEntry/events.js +25 -31
  358. package/features/contentEntry/PublishEntry/events.js.map +1 -1
  359. package/features/contentEntry/PublishEntry/feature.js +7 -9
  360. package/features/contentEntry/PublishEntry/feature.js.map +1 -1
  361. package/features/contentEntry/PublishEntry/index.js +1 -3
  362. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +33 -48
  363. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -1
  364. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +3 -15
  365. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +68 -103
  366. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  367. package/features/contentEntry/RepublishEntry/abstractions.js +3 -26
  368. package/features/contentEntry/RepublishEntry/abstractions.js.map +1 -1
  369. package/features/contentEntry/RepublishEntry/events.js +25 -31
  370. package/features/contentEntry/RepublishEntry/events.js.map +1 -1
  371. package/features/contentEntry/RepublishEntry/feature.js +7 -9
  372. package/features/contentEntry/RepublishEntry/feature.js.map +1 -1
  373. package/features/contentEntry/RepublishEntry/index.js +0 -2
  374. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +28 -38
  375. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -1
  376. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +80 -110
  377. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  378. package/features/contentEntry/RestoreEntryFromBin/abstractions.js +3 -26
  379. package/features/contentEntry/RestoreEntryFromBin/abstractions.js.map +1 -1
  380. package/features/contentEntry/RestoreEntryFromBin/events.js +25 -31
  381. package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
  382. package/features/contentEntry/RestoreEntryFromBin/feature.js +7 -9
  383. package/features/contentEntry/RestoreEntryFromBin/feature.js.map +1 -1
  384. package/features/contentEntry/RestoreEntryFromBin/index.js +0 -2
  385. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +25 -30
  386. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -1
  387. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +3 -14
  388. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +70 -115
  389. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  390. package/features/contentEntry/UnpublishEntry/abstractions.js +3 -14
  391. package/features/contentEntry/UnpublishEntry/abstractions.js.map +1 -1
  392. package/features/contentEntry/UnpublishEntry/events.js +25 -36
  393. package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
  394. package/features/contentEntry/UnpublishEntry/feature.js +7 -18
  395. package/features/contentEntry/UnpublishEntry/feature.js.map +1 -1
  396. package/features/contentEntry/UnpublishEntry/index.js +1 -3
  397. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +25 -30
  398. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -1
  399. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +5 -22
  400. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +58 -107
  401. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  402. package/features/contentEntry/UpdateEntry/abstractions.d.ts +1 -3
  403. package/features/contentEntry/UpdateEntry/abstractions.js +3 -14
  404. package/features/contentEntry/UpdateEntry/abstractions.js.map +1 -1
  405. package/features/contentEntry/UpdateEntry/events.js +17 -27
  406. package/features/contentEntry/UpdateEntry/events.js.map +1 -1
  407. package/features/contentEntry/UpdateEntry/feature.js +7 -18
  408. package/features/contentEntry/UpdateEntry/feature.js.map +1 -1
  409. package/features/contentEntry/UpdateEntry/index.js +1 -3
  410. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +22 -0
  411. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +77 -0
  412. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -0
  413. package/features/contentEntry/UpdateRevisionDescription/abstractions.d.ts +25 -0
  414. package/features/contentEntry/UpdateRevisionDescription/abstractions.js +5 -0
  415. package/features/contentEntry/UpdateRevisionDescription/abstractions.js.map +1 -0
  416. package/features/contentEntry/UpdateRevisionDescription/events.d.ts +44 -0
  417. package/features/contentEntry/UpdateRevisionDescription/events.js +23 -0
  418. package/features/contentEntry/UpdateRevisionDescription/events.js.map +1 -0
  419. package/features/contentEntry/UpdateRevisionDescription/feature.d.ts +12 -0
  420. package/features/contentEntry/UpdateRevisionDescription/feature.js +11 -0
  421. package/features/contentEntry/UpdateRevisionDescription/feature.js.map +1 -0
  422. package/features/contentEntry/UpdateRevisionDescription/index.d.ts +2 -0
  423. package/features/contentEntry/UpdateRevisionDescription/index.js +2 -0
  424. package/features/contentEntry/UpdateSingletonEntry/UpdateSingletonEntryUseCase.js +17 -26
  425. package/features/contentEntry/UpdateSingletonEntry/UpdateSingletonEntryUseCase.js.map +1 -1
  426. package/features/contentEntry/UpdateSingletonEntry/abstractions.js +2 -9
  427. package/features/contentEntry/UpdateSingletonEntry/abstractions.js.map +1 -1
  428. package/features/contentEntry/UpdateSingletonEntry/feature.js +6 -13
  429. package/features/contentEntry/UpdateSingletonEntry/feature.js.map +1 -1
  430. package/features/contentEntry/UpdateSingletonEntry/index.js +0 -2
  431. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js +42 -63
  432. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js.map +1 -1
  433. package/features/contentEntry/ValidateEntry/abstractions.js +2 -8
  434. package/features/contentEntry/ValidateEntry/abstractions.js.map +1 -1
  435. package/features/contentEntry/ValidateEntry/feature.js +6 -6
  436. package/features/contentEntry/ValidateEntry/feature.js.map +1 -1
  437. package/features/contentEntry/ValidateEntry/index.js +0 -2
  438. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +15 -0
  439. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +212 -0
  440. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -0
  441. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/abstractions.d.ts +13 -0
  442. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/abstractions.js +5 -0
  443. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/abstractions.js.map +1 -0
  444. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/feature.d.ts +4 -0
  445. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/feature.js +11 -0
  446. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/feature.js.map +1 -0
  447. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/index.d.ts +2 -0
  448. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/index.js +2 -0
  449. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +15 -0
  450. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +150 -0
  451. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -0
  452. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/abstractions.d.ts +13 -0
  453. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/abstractions.js +5 -0
  454. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/abstractions.js.map +1 -0
  455. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/feature.d.ts +4 -0
  456. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/feature.js +11 -0
  457. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/feature.js.map +1 -0
  458. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/index.d.ts +2 -0
  459. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/index.js +2 -0
  460. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.d.ts +12 -0
  461. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js +66 -0
  462. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js.map +1 -0
  463. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/abstractions.d.ts +12 -0
  464. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/abstractions.js +5 -0
  465. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/abstractions.js.map +1 -0
  466. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/feature.d.ts +4 -0
  467. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/feature.js +11 -0
  468. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/feature.js.map +1 -0
  469. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/index.d.ts +2 -0
  470. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/index.js +2 -0
  471. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.d.ts +12 -0
  472. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js +62 -0
  473. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js.map +1 -0
  474. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/abstractions.d.ts +12 -0
  475. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/abstractions.js +5 -0
  476. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/abstractions.js.map +1 -0
  477. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/feature.d.ts +4 -0
  478. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/feature.js +11 -0
  479. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/feature.js.map +1 -0
  480. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/index.d.ts +2 -0
  481. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/index.js +2 -0
  482. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.d.ts +10 -0
  483. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js +41 -0
  484. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js.map +1 -0
  485. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/abstractions.d.ts +12 -0
  486. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/abstractions.js +5 -0
  487. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/abstractions.js.map +1 -0
  488. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/feature.d.ts +4 -0
  489. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/feature.js +11 -0
  490. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/feature.js.map +1 -0
  491. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/index.d.ts +2 -0
  492. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/index.js +2 -0
  493. package/features/contentEntry/entryDataFactories/EntryDataFactoriesFeature.d.ts +4 -0
  494. package/features/contentEntry/entryDataFactories/EntryDataFactoriesFeature.js +21 -0
  495. package/features/contentEntry/entryDataFactories/EntryDataFactoriesFeature.js.map +1 -0
  496. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +12 -0
  497. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +104 -0
  498. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -0
  499. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/abstractions.d.ts +13 -0
  500. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/abstractions.js +5 -0
  501. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/abstractions.js.map +1 -0
  502. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/feature.d.ts +4 -0
  503. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/feature.js +11 -0
  504. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/feature.js.map +1 -0
  505. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/index.d.ts +2 -0
  506. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/index.js +2 -0
  507. package/{crud → features}/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +0 -3
  508. package/features/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +17 -0
  509. package/features/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -0
  510. package/features/contentEntry/entryDataFactories/statuses.js +7 -0
  511. package/features/contentEntry/entryDataFactories/statuses.js.map +1 -0
  512. package/features/contentEntry/entryDataFactories/system.js +10 -0
  513. package/features/contentEntry/entryDataFactories/system.js.map +1 -0
  514. package/features/contentModel/ContentModelFeature.js +16 -19
  515. package/features/contentModel/ContentModelFeature.js.map +1 -1
  516. package/features/contentModel/CreateModel/CreateModelRepository.js +104 -148
  517. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  518. package/features/contentModel/CreateModel/CreateModelUseCase.js +74 -119
  519. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
  520. package/features/contentModel/CreateModel/abstractions.js +3 -13
  521. package/features/contentModel/CreateModel/abstractions.js.map +1 -1
  522. package/features/contentModel/CreateModel/events.js +25 -36
  523. package/features/contentModel/CreateModel/events.js.map +1 -1
  524. package/features/contentModel/CreateModel/feature.js +7 -16
  525. package/features/contentModel/CreateModel/feature.js.map +1 -1
  526. package/features/contentModel/CreateModel/index.js +1 -3
  527. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +107 -150
  528. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  529. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +84 -119
  530. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
  531. package/features/contentModel/CreateModelFrom/abstractions.js +3 -13
  532. package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
  533. package/features/contentModel/CreateModelFrom/events.js +25 -36
  534. package/features/contentModel/CreateModelFrom/events.js.map +1 -1
  535. package/features/contentModel/CreateModelFrom/feature.js +7 -16
  536. package/features/contentModel/CreateModelFrom/feature.js.map +1 -1
  537. package/features/contentModel/CreateModelFrom/index.js +1 -3
  538. package/features/contentModel/DeleteModel/DeleteModelRepository.js +27 -41
  539. package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -1
  540. package/features/contentModel/DeleteModel/DeleteModelUseCase.js +44 -72
  541. package/features/contentModel/DeleteModel/DeleteModelUseCase.js.map +1 -1
  542. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js +50 -83
  543. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js.map +1 -1
  544. package/features/contentModel/DeleteModel/abstractions.js +3 -13
  545. package/features/contentModel/DeleteModel/abstractions.js.map +1 -1
  546. package/features/contentModel/DeleteModel/events.js +25 -36
  547. package/features/contentModel/DeleteModel/events.js.map +1 -1
  548. package/features/contentModel/DeleteModel/feature.js +8 -19
  549. package/features/contentModel/DeleteModel/feature.js.map +1 -1
  550. package/features/contentModel/DeleteModel/index.js +1 -3
  551. package/features/contentModel/GetModel/GetModelRepository.js +15 -23
  552. package/features/contentModel/GetModel/GetModelRepository.js.map +1 -1
  553. package/features/contentModel/GetModel/GetModelUseCase.js +21 -34
  554. package/features/contentModel/GetModel/GetModelUseCase.js.map +1 -1
  555. package/features/contentModel/GetModel/abstractions.js +3 -13
  556. package/features/contentModel/GetModel/abstractions.js.map +1 -1
  557. package/features/contentModel/GetModel/feature.js +7 -16
  558. package/features/contentModel/GetModel/feature.js.map +1 -1
  559. package/features/contentModel/GetModel/index.js +0 -2
  560. package/features/contentModel/ListModels/ListModelsRepository.js +18 -36
  561. package/features/contentModel/ListModels/ListModelsRepository.js.map +1 -1
  562. package/features/contentModel/ListModels/ListModelsUseCase.js +23 -41
  563. package/features/contentModel/ListModels/ListModelsUseCase.js.map +1 -1
  564. package/features/contentModel/ListModels/abstractions.js +3 -13
  565. package/features/contentModel/ListModels/abstractions.js.map +1 -1
  566. package/features/contentModel/ListModels/feature.js +7 -17
  567. package/features/contentModel/ListModels/feature.js.map +1 -1
  568. package/features/contentModel/ListModels/index.js +0 -2
  569. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js +18 -18
  570. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js.map +1 -1
  571. package/features/contentModel/ModelFieldCompression/abstractions.js +2 -1
  572. package/features/contentModel/ModelFieldCompression/abstractions.js.map +1 -1
  573. package/features/contentModel/ModelFieldCompression/feature.js +6 -5
  574. package/features/contentModel/ModelFieldCompression/feature.js.map +1 -1
  575. package/features/contentModel/ModelFieldCompression/index.js +0 -2
  576. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js +15 -19
  577. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js.map +1 -1
  578. package/features/contentModel/ModelToAstConverter/abstractions.js +2 -6
  579. package/features/contentModel/ModelToAstConverter/abstractions.js.map +1 -1
  580. package/features/contentModel/ModelToAstConverter/feature.js +6 -5
  581. package/features/contentModel/ModelToAstConverter/feature.js.map +1 -1
  582. package/features/contentModel/ModelToAstConverter/index.js +0 -2
  583. package/features/contentModel/UpdateModel/UpdateModelRepository.js +71 -97
  584. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  585. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +75 -118
  586. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  587. package/features/contentModel/UpdateModel/abstractions.js +3 -13
  588. package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
  589. package/features/contentModel/UpdateModel/events.js +25 -36
  590. package/features/contentModel/UpdateModel/events.js.map +1 -1
  591. package/features/contentModel/UpdateModel/feature.js +7 -16
  592. package/features/contentModel/UpdateModel/feature.js.map +1 -1
  593. package/features/contentModel/UpdateModel/index.js +1 -3
  594. package/features/contentModel/shared/ModelsFetcher.js +66 -81
  595. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  596. package/features/contentModel/shared/PluginModelsProvider.js +38 -54
  597. package/features/contentModel/shared/PluginModelsProvider.js.map +1 -1
  598. package/features/contentModel/shared/abstractions.js +4 -16
  599. package/features/contentModel/shared/abstractions.js.map +1 -1
  600. package/features/contentModelGroup/ContentModelGroupFeature.js +12 -16
  601. package/features/contentModelGroup/ContentModelGroupFeature.js.map +1 -1
  602. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +63 -94
  603. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  604. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +80 -107
  605. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  606. package/features/contentModelGroup/CreateGroup/abstractions.js +3 -13
  607. package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
  608. package/features/contentModelGroup/CreateGroup/events.js +25 -36
  609. package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
  610. package/features/contentModelGroup/CreateGroup/feature.js +7 -16
  611. package/features/contentModelGroup/CreateGroup/feature.js.map +1 -1
  612. package/features/contentModelGroup/CreateGroup/index.js +0 -2
  613. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +37 -56
  614. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -1
  615. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +53 -80
  616. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  617. package/features/contentModelGroup/DeleteGroup/abstractions.js +3 -13
  618. package/features/contentModelGroup/DeleteGroup/abstractions.js.map +1 -1
  619. package/features/contentModelGroup/DeleteGroup/events.js +25 -36
  620. package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
  621. package/features/contentModelGroup/DeleteGroup/feature.js +7 -16
  622. package/features/contentModelGroup/DeleteGroup/feature.js.map +1 -1
  623. package/features/contentModelGroup/DeleteGroup/index.js +0 -2
  624. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +60 -80
  625. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  626. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js +19 -34
  627. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js.map +1 -1
  628. package/features/contentModelGroup/GetGroup/abstractions.js +3 -13
  629. package/features/contentModelGroup/GetGroup/abstractions.js.map +1 -1
  630. package/features/contentModelGroup/GetGroup/feature.js +7 -16
  631. package/features/contentModelGroup/GetGroup/feature.js.map +1 -1
  632. package/features/contentModelGroup/GetGroup/index.js +0 -2
  633. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +57 -74
  634. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  635. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js +19 -34
  636. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js.map +1 -1
  637. package/features/contentModelGroup/ListGroups/abstractions.js +3 -13
  638. package/features/contentModelGroup/ListGroups/abstractions.js.map +1 -1
  639. package/features/contentModelGroup/ListGroups/feature.js +7 -16
  640. package/features/contentModelGroup/ListGroups/feature.js.map +1 -1
  641. package/features/contentModelGroup/ListGroups/index.js +0 -2
  642. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +31 -44
  643. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
  644. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +75 -111
  645. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  646. package/features/contentModelGroup/UpdateGroup/abstractions.js +3 -13
  647. package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
  648. package/features/contentModelGroup/UpdateGroup/events.js +25 -36
  649. package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
  650. package/features/contentModelGroup/UpdateGroup/feature.js +7 -16
  651. package/features/contentModelGroup/UpdateGroup/feature.js.map +1 -1
  652. package/features/contentModelGroup/UpdateGroup/index.js +0 -2
  653. package/features/contentModelGroup/shared/PluginGroupsProvider.js +61 -78
  654. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  655. package/features/contentModelGroup/shared/abstractions.js +4 -9
  656. package/features/contentModelGroup/shared/abstractions.js.map +1 -1
  657. package/features/contentModelGroup/shared/index.js +1 -3
  658. package/features/graphql/feature.js +18 -17
  659. package/features/graphql/feature.js.map +1 -1
  660. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js +24 -20
  661. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js.map +1 -1
  662. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js +2 -1
  663. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -1
  664. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js +2 -1
  665. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js.map +1 -1
  666. package/features/graphql/fields/base/BooleanToGraphQL.js +37 -52
  667. package/features/graphql/fields/base/BooleanToGraphQL.js.map +1 -1
  668. package/features/graphql/fields/base/DateTimeToGraphQL.js +48 -63
  669. package/features/graphql/fields/base/DateTimeToGraphQL.js.map +1 -1
  670. package/features/graphql/fields/base/DynamicZoneToGraphQL.js +168 -252
  671. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
  672. package/features/graphql/fields/base/FileToGraphQL.js +24 -27
  673. package/features/graphql/fields/base/FileToGraphQL.js.map +1 -1
  674. package/features/graphql/fields/base/JsonToGraphQL.js +30 -39
  675. package/features/graphql/fields/base/JsonToGraphQL.js.map +1 -1
  676. package/features/graphql/fields/base/LongTextToGraphQL.js +31 -42
  677. package/features/graphql/fields/base/LongTextToGraphQL.js.map +1 -1
  678. package/features/graphql/fields/base/NumberToGraphQL.js +37 -52
  679. package/features/graphql/fields/base/NumberToGraphQL.js.map +1 -1
  680. package/features/graphql/fields/base/ObjectToGraphQL.js +180 -239
  681. package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -1
  682. package/features/graphql/fields/base/RefToGraphQL.js +150 -210
  683. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -1
  684. package/features/graphql/fields/base/RichTextToGraphQL.js +35 -46
  685. package/features/graphql/fields/base/RichTextToGraphQL.js.map +1 -1
  686. package/features/graphql/fields/base/SearchableJsonToGraphQL.js +38 -51
  687. package/features/graphql/fields/base/SearchableJsonToGraphQL.js.map +1 -1
  688. package/features/graphql/fields/base/TextToGraphQL.js +37 -52
  689. package/features/graphql/fields/base/TextToGraphQL.js.map +1 -1
  690. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js +26 -31
  691. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js.map +1 -1
  692. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js +7 -10
  693. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js.map +1 -1
  694. package/features/graphql/fields/base/richText/richTextResolver.js +11 -20
  695. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -1
  696. package/features/graphql/fields/base/utils/createGraphQLInputField.js +6 -13
  697. package/features/graphql/fields/base/utils/createGraphQLInputField.js.map +1 -1
  698. package/features/graphql/index.js +0 -2
  699. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js +2 -1
  700. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js.map +1 -1
  701. package/features/installer/CmsInstaller.js +31 -32
  702. package/features/installer/CmsInstaller.js.map +1 -1
  703. package/features/installer/feature.js +6 -5
  704. package/features/installer/feature.js.map +1 -1
  705. package/features/modelBuilder/LayoutBuilder.js +66 -122
  706. package/features/modelBuilder/LayoutBuilder.js.map +1 -1
  707. package/features/modelBuilder/abstractions.js +3 -17
  708. package/features/modelBuilder/abstractions.js.map +1 -1
  709. package/features/modelBuilder/feature.js +31 -42
  710. package/features/modelBuilder/feature.js.map +1 -1
  711. package/features/modelBuilder/fields/BaseFieldBuilder.js +31 -38
  712. package/features/modelBuilder/fields/BaseFieldBuilder.js.map +1 -1
  713. package/features/modelBuilder/fields/BooleanFieldType.js +18 -17
  714. package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -1
  715. package/features/modelBuilder/fields/DataFieldBuilder.js +157 -201
  716. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
  717. package/features/modelBuilder/fields/DateTimeFieldType.js +59 -78
  718. package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
  719. package/features/modelBuilder/fields/DynamicZoneFieldType.js +51 -54
  720. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  721. package/features/modelBuilder/fields/FieldBuilder.js +0 -2
  722. package/features/modelBuilder/fields/FieldBuilderRegistry.js +38 -62
  723. package/features/modelBuilder/fields/FieldBuilderRegistry.js.map +1 -1
  724. package/features/modelBuilder/fields/FileFieldType.js +25 -24
  725. package/features/modelBuilder/fields/FileFieldType.js.map +1 -1
  726. package/features/modelBuilder/fields/JsonFieldType.js +13 -12
  727. package/features/modelBuilder/fields/JsonFieldType.js.map +1 -1
  728. package/features/modelBuilder/fields/LayoutFieldBuilder.js +3 -6
  729. package/features/modelBuilder/fields/LayoutFieldBuilder.js.map +1 -1
  730. package/features/modelBuilder/fields/LocationFieldType.js +15 -14
  731. package/features/modelBuilder/fields/LocationFieldType.js.map +1 -1
  732. package/features/modelBuilder/fields/LongTextFieldType.js +115 -114
  733. package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -1
  734. package/features/modelBuilder/fields/NumberFieldType.js +38 -37
  735. package/features/modelBuilder/fields/NumberFieldType.js.map +1 -1
  736. package/features/modelBuilder/fields/ObjectFieldType.js +50 -67
  737. package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -1
  738. package/features/modelBuilder/fields/RefFieldType.js +25 -24
  739. package/features/modelBuilder/fields/RefFieldType.js.map +1 -1
  740. package/features/modelBuilder/fields/RichTextFieldType.js +20 -19
  741. package/features/modelBuilder/fields/RichTextFieldType.js.map +1 -1
  742. package/features/modelBuilder/fields/SearchableJsonFieldType.js +13 -12
  743. package/features/modelBuilder/fields/SearchableJsonFieldType.js.map +1 -1
  744. package/features/modelBuilder/fields/TextFieldType.js +123 -123
  745. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  746. package/features/modelBuilder/fields/UiAlertFieldType.js +27 -27
  747. package/features/modelBuilder/fields/UiAlertFieldType.js.map +1 -1
  748. package/features/modelBuilder/fields/UiSeparatorFieldType.js +23 -22
  749. package/features/modelBuilder/fields/UiSeparatorFieldType.js.map +1 -1
  750. package/features/modelBuilder/fields/UiTabsFieldType.js +58 -63
  751. package/features/modelBuilder/fields/UiTabsFieldType.js.map +1 -1
  752. package/features/modelBuilder/fields/abstractions.js +2 -9
  753. package/features/modelBuilder/fields/abstractions.js.map +1 -1
  754. package/features/modelBuilder/fields/fieldTypeValidator.js +0 -31
  755. package/features/modelBuilder/index.js +10 -16
  756. package/features/modelBuilder/models/BaseModelBuilder.js +70 -130
  757. package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
  758. package/features/modelBuilder/models/ModelBuilder.js +18 -33
  759. package/features/modelBuilder/models/ModelBuilder.js.map +1 -1
  760. package/features/modelBuilder/models/ModelsProvider.js +24 -33
  761. package/features/modelBuilder/models/ModelsProvider.js.map +1 -1
  762. package/features/modelBuilder/models/PrivateModelBuilder.js +15 -24
  763. package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
  764. package/features/modelBuilder/models/PublicModelBuilder.js +89 -114
  765. package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
  766. package/features/modelBuilder/models/abstractions.js +2 -6
  767. package/features/modelBuilder/models/abstractions.js.map +1 -1
  768. package/features/shared/abstractions.js +5 -16
  769. package/features/shared/abstractions.js.map +1 -1
  770. package/features/sortMapper/SortMapper.js +27 -46
  771. package/features/sortMapper/SortMapper.js.map +1 -1
  772. package/features/sortMapper/abstractions.js +2 -2
  773. package/features/sortMapper/abstractions.js.map +1 -1
  774. package/features/sortMapper/feature.js +7 -6
  775. package/features/sortMapper/feature.js.map +1 -1
  776. package/features/storage/StorageTransformRegistry.js +24 -20
  777. package/features/storage/StorageTransformRegistry.js.map +1 -1
  778. package/features/storage/abstractions/StorageTransform.js +2 -1
  779. package/features/storage/abstractions/StorageTransform.js.map +1 -1
  780. package/features/storage/abstractions/StorageTransformRegistry.js +2 -1
  781. package/features/storage/abstractions/StorageTransformRegistry.js.map +1 -1
  782. package/features/storage/feature.js +13 -12
  783. package/features/storage/feature.js.map +1 -1
  784. package/features/storage/fields/DateStorageTransform.js +67 -96
  785. package/features/storage/fields/DateStorageTransform.js.map +1 -1
  786. package/features/storage/fields/DefaultStorageTransform.js +13 -14
  787. package/features/storage/fields/DefaultStorageTransform.js.map +1 -1
  788. package/features/storage/fields/DynamicZoneStorageTransform.js +91 -128
  789. package/features/storage/fields/DynamicZoneStorageTransform.js.map +1 -1
  790. package/features/storage/fields/JsonStorageTransform.js +17 -22
  791. package/features/storage/fields/JsonStorageTransform.js.map +1 -1
  792. package/features/storage/fields/LongTextStorageTransform.js +33 -44
  793. package/features/storage/fields/LongTextStorageTransform.js.map +1 -1
  794. package/features/storage/fields/ObjectStorageTransform.js +64 -87
  795. package/features/storage/fields/ObjectStorageTransform.js.map +1 -1
  796. package/features/storage/fields/RichTextStorageTransform.js +23 -28
  797. package/features/storage/fields/RichTextStorageTransform.js.map +1 -1
  798. package/features/storage/index.js +0 -2
  799. package/features/validation/CmsModelFieldPatternValidatorRegistry.js +21 -15
  800. package/features/validation/CmsModelFieldPatternValidatorRegistry.js.map +1 -1
  801. package/features/validation/CmsModelFieldValidatorRegistry.js +21 -17
  802. package/features/validation/CmsModelFieldValidatorRegistry.js.map +1 -1
  803. package/features/validation/abstractions/CmsModelFieldPatternValidator.js +2 -1
  804. package/features/validation/abstractions/CmsModelFieldPatternValidator.js.map +1 -1
  805. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js +2 -1
  806. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js.map +1 -1
  807. package/features/validation/abstractions/CmsModelFieldValidator.js +2 -1
  808. package/features/validation/abstractions/CmsModelFieldValidator.js.map +1 -1
  809. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js +2 -1
  810. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js.map +1 -1
  811. package/features/validation/feature.js +25 -24
  812. package/features/validation/feature.js.map +1 -1
  813. package/features/validation/index.js +0 -2
  814. package/features/validation/validators/DateGteValidator.js +12 -18
  815. package/features/validation/validators/DateGteValidator.js.map +1 -1
  816. package/features/validation/validators/DateLteValidator.js +12 -18
  817. package/features/validation/validators/DateLteValidator.js.map +1 -1
  818. package/features/validation/validators/GteValidator.js +11 -13
  819. package/features/validation/validators/GteValidator.js.map +1 -1
  820. package/features/validation/validators/InValidator.js +11 -13
  821. package/features/validation/validators/InValidator.js.map +1 -1
  822. package/features/validation/validators/LteValidator.js +11 -13
  823. package/features/validation/validators/LteValidator.js.map +1 -1
  824. package/features/validation/validators/MaxLengthValidator.js +11 -13
  825. package/features/validation/validators/MaxLengthValidator.js.map +1 -1
  826. package/features/validation/validators/MinLengthValidator.js +11 -13
  827. package/features/validation/validators/MinLengthValidator.js.map +1 -1
  828. package/features/validation/validators/PatternValidator.js +20 -29
  829. package/features/validation/validators/PatternValidator.js.map +1 -1
  830. package/features/validation/validators/RequiredValidator.js +10 -9
  831. package/features/validation/validators/RequiredValidator.js.map +1 -1
  832. package/features/validation/validators/TimeGteValidator.js +11 -13
  833. package/features/validation/validators/TimeGteValidator.js.map +1 -1
  834. package/features/validation/validators/TimeLteValidator.js +11 -13
  835. package/features/validation/validators/TimeLteValidator.js.map +1 -1
  836. package/features/validation/validators/UniqueValidator.js +31 -38
  837. package/features/validation/validators/UniqueValidator.js.map +1 -1
  838. package/features/validation/validators/patterns/EmailPattern.js +11 -8
  839. package/features/validation/validators/patterns/EmailPattern.js.map +1 -1
  840. package/features/validation/validators/patterns/LowerCasePattern.js +11 -8
  841. package/features/validation/validators/patterns/LowerCasePattern.js.map +1 -1
  842. package/features/validation/validators/patterns/LowerCaseSpacePattern.js +11 -8
  843. package/features/validation/validators/patterns/LowerCaseSpacePattern.js.map +1 -1
  844. package/features/validation/validators/patterns/UpperCasePattern.js +11 -8
  845. package/features/validation/validators/patterns/UpperCasePattern.js.map +1 -1
  846. package/features/validation/validators/patterns/UpperCaseSpacePattern.js +11 -8
  847. package/features/validation/validators/patterns/UpperCaseSpacePattern.js.map +1 -1
  848. package/features/validation/validators/patterns/UrlPattern.js +11 -8
  849. package/features/validation/validators/patterns/UrlPattern.js.map +1 -1
  850. package/features/whereMapper/WhereMapper.js +42 -69
  851. package/features/whereMapper/WhereMapper.js.map +1 -1
  852. package/features/whereMapper/abstractions.js +2 -2
  853. package/features/whereMapper/abstractions.js.map +1 -1
  854. package/features/whereMapper/feature.js +7 -6
  855. package/features/whereMapper/feature.js.map +1 -1
  856. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +18 -37
  857. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  858. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +92 -136
  859. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  860. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +103 -152
  861. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  862. package/fieldConverters/index.js +6 -6
  863. package/fieldConverters/index.js.map +1 -1
  864. package/graphql/buildSchemaPlugins.js +16 -20
  865. package/graphql/buildSchemaPlugins.js.map +1 -1
  866. package/graphql/checkEndpointAccess.js +4 -5
  867. package/graphql/checkEndpointAccess.js.map +1 -1
  868. package/graphql/createExecutableSchema.js +30 -41
  869. package/graphql/createExecutableSchema.js.map +1 -1
  870. package/graphql/formatErrorPayload.js +13 -14
  871. package/graphql/formatErrorPayload.js.map +1 -1
  872. package/graphql/generateSchema.js +20 -24
  873. package/graphql/generateSchema.js.map +1 -1
  874. package/graphql/getSchema/generateCacheId.js +7 -6
  875. package/graphql/getSchema/generateCacheId.js.map +1 -1
  876. package/graphql/getSchema/generateCacheKey.js +23 -23
  877. package/graphql/getSchema/generateCacheKey.js.map +1 -1
  878. package/graphql/getSchema.js +46 -63
  879. package/graphql/getSchema.js.map +1 -1
  880. package/graphql/graphQLHandlerFactory.js +15 -23
  881. package/graphql/graphQLHandlerFactory.js.map +1 -1
  882. package/graphql/handleRequest.js +50 -63
  883. package/graphql/handleRequest.js.map +1 -1
  884. package/graphql/index.js +6 -3
  885. package/graphql/index.js.map +1 -1
  886. package/graphql/scalars/RevisionId.js +10 -14
  887. package/graphql/scalars/RevisionId.js.map +1 -1
  888. package/graphql/scalars/RevisionIdScalarPlugin.js +10 -7
  889. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
  890. package/graphql/schema/baseContentSchema.js +29 -30
  891. package/graphql/schema/baseContentSchema.js.map +1 -1
  892. package/graphql/schema/baseSchema.js +33 -36
  893. package/graphql/schema/baseSchema.js.map +1 -1
  894. package/graphql/schema/cms/createEntryResolver.js +37 -49
  895. package/graphql/schema/cms/createEntryResolver.js.map +1 -1
  896. package/graphql/schema/cms/deleteEntryResolver.js +39 -51
  897. package/graphql/schema/cms/deleteEntryResolver.js.map +1 -1
  898. package/graphql/schema/cms/getEntryResolver.js +37 -51
  899. package/graphql/schema/cms/getEntryResolver.js.map +1 -1
  900. package/graphql/schema/cms/helpers/buildFieldsSelection.js +26 -71
  901. package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -1
  902. package/graphql/schema/cms/helpers/getErrorMessage.js +5 -11
  903. package/graphql/schema/cms/helpers/getErrorMessage.js.map +1 -1
  904. package/graphql/schema/cms/helpers/getModel.js +5 -9
  905. package/graphql/schema/cms/helpers/getModel.js.map +1 -1
  906. package/graphql/schema/cms/helpers/index.js +0 -2
  907. package/graphql/schema/cms/helpers/transformSortToArray.js +7 -34
  908. package/graphql/schema/cms/helpers/transformSortToArray.js.map +1 -1
  909. package/graphql/schema/cms/helpers/transformWhereToNested.js +23 -50
  910. package/graphql/schema/cms/helpers/transformWhereToNested.js.map +1 -1
  911. package/graphql/schema/cms/helpers.js +0 -2
  912. package/graphql/schema/cms/index.js +20 -22
  913. package/graphql/schema/cms/index.js.map +1 -1
  914. package/graphql/schema/cms/listEntriesResolver.js +58 -82
  915. package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
  916. package/graphql/schema/cms/publishEntryResolver.js +37 -49
  917. package/graphql/schema/cms/publishEntryResolver.js.map +1 -1
  918. package/graphql/schema/cms/resolvers/createEntry.js +11 -10
  919. package/graphql/schema/cms/resolvers/createEntry.js.map +1 -1
  920. package/graphql/schema/cms/resolvers/deleteEntryRevision.js +11 -10
  921. package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -1
  922. package/graphql/schema/cms/resolvers/getEntry.js +11 -10
  923. package/graphql/schema/cms/resolvers/getEntry.js.map +1 -1
  924. package/graphql/schema/cms/resolvers/index.js +0 -2
  925. package/graphql/schema/cms/resolvers/listEntries.js +11 -10
  926. package/graphql/schema/cms/resolvers/listEntries.js.map +1 -1
  927. package/graphql/schema/cms/resolvers/mutationCms.js +13 -18
  928. package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -1
  929. package/graphql/schema/cms/resolvers/publishEntryRevision.js +11 -10
  930. package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -1
  931. package/graphql/schema/cms/resolvers/queryCms.js +13 -17
  932. package/graphql/schema/cms/resolvers/queryCms.js.map +1 -1
  933. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +11 -10
  934. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -1
  935. package/graphql/schema/cms/resolvers/updateEntryRevision.js +11 -10
  936. package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -1
  937. package/graphql/schema/cms/typeDefs/index.js +0 -2
  938. package/graphql/schema/cms/typeDefs/mutation.js +8 -7
  939. package/graphql/schema/cms/typeDefs/mutation.js.map +1 -1
  940. package/graphql/schema/cms/typeDefs/query.js +8 -7
  941. package/graphql/schema/cms/typeDefs/query.js.map +1 -1
  942. package/graphql/schema/cms/typeDefs/responses.js +8 -7
  943. package/graphql/schema/cms/typeDefs/responses.js.map +1 -1
  944. package/graphql/schema/cms/unpublishEntryResolver.js +37 -49
  945. package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -1
  946. package/graphql/schema/cms/updateEntryResolver.js +38 -51
  947. package/graphql/schema/cms/updateEntryResolver.js.map +1 -1
  948. package/graphql/schema/contentEntries.js +218 -305
  949. package/graphql/schema/contentEntries.js.map +1 -1
  950. package/graphql/schema/contentModelGroups.js +70 -89
  951. package/graphql/schema/contentModelGroups.js.map +1 -1
  952. package/graphql/schema/contentModels.js +92 -105
  953. package/graphql/schema/contentModels.js.map +1 -1
  954. package/graphql/schema/createFieldResolvers.js +67 -121
  955. package/graphql/schema/createFieldResolvers.js.map +1 -1
  956. package/graphql/schema/createManageResolvers.js +70 -86
  957. package/graphql/schema/createManageResolvers.js.map +1 -1
  958. package/graphql/schema/createManageSDL.js +48 -58
  959. package/graphql/schema/createManageSDL.js.map +1 -1
  960. package/graphql/schema/createPreviewResolvers.js +24 -27
  961. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  962. package/graphql/schema/createReadResolvers.js +26 -35
  963. package/graphql/schema/createReadResolvers.js.map +1 -1
  964. package/graphql/schema/createReadSDL.js +35 -42
  965. package/graphql/schema/createReadSDL.js.map +1 -1
  966. package/graphql/schema/createSingularResolvers.js +32 -40
  967. package/graphql/schema/createSingularResolvers.js.map +1 -1
  968. package/graphql/schema/createSingularSDL.js +32 -44
  969. package/graphql/schema/createSingularSDL.js.map +1 -1
  970. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +36 -48
  971. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
  972. package/graphql/schema/resolvers/manage/resolveCreate.js +9 -10
  973. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  974. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +9 -10
  975. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  976. package/graphql/schema/resolvers/manage/resolveDelete.js +18 -28
  977. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  978. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +11 -12
  979. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  980. package/graphql/schema/resolvers/manage/resolveGet.js +41 -53
  981. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  982. package/graphql/schema/resolvers/manage/resolveGetByIds.js +9 -10
  983. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  984. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +9 -10
  985. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  986. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +9 -10
  987. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  988. package/graphql/schema/resolvers/manage/resolveList.js +10 -11
  989. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  990. package/graphql/schema/resolvers/manage/resolveListDeleted.js +10 -11
  991. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
  992. package/graphql/schema/resolvers/manage/resolveMove.js +11 -17
  993. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  994. package/graphql/schema/resolvers/manage/resolvePublish.js +9 -10
  995. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  996. package/graphql/schema/resolvers/manage/resolveRepublish.js +10 -11
  997. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  998. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +9 -10
  999. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
  1000. package/graphql/schema/resolvers/manage/resolveUnpublish.js +10 -11
  1001. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  1002. package/graphql/schema/resolvers/manage/resolveUpdate.js +9 -10
  1003. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  1004. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.d.ts +8 -0
  1005. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +12 -0
  1006. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -0
  1007. package/graphql/schema/resolvers/manage/resolveValidate.js +10 -11
  1008. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
  1009. package/graphql/schema/resolvers/preview/resolveGet.js +13 -16
  1010. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  1011. package/graphql/schema/resolvers/preview/resolveList.js +10 -11
  1012. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  1013. package/graphql/schema/resolvers/read/resolveGet.js +13 -16
  1014. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  1015. package/graphql/schema/resolvers/read/resolveList.js +10 -11
  1016. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  1017. package/graphql/schema/resolvers/singular/resolveGet.js +7 -10
  1018. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
  1019. package/graphql/schema/resolvers/singular/resolveUpdate.js +7 -10
  1020. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
  1021. package/graphql/schema/schemaPlugins.js +81 -97
  1022. package/graphql/schema/schemaPlugins.js.map +1 -1
  1023. package/index.js +17 -23
  1024. package/index.js.map +1 -1
  1025. package/legacy/abstractions.js +5 -22
  1026. package/legacy/abstractions.js.map +1 -1
  1027. package/package.json +25 -25
  1028. package/parameters/context.js +4 -7
  1029. package/parameters/context.js.map +1 -1
  1030. package/parameters/header.js +10 -22
  1031. package/parameters/header.js.map +1 -1
  1032. package/parameters/index.js +0 -2
  1033. package/parameters/path.js +9 -19
  1034. package/parameters/path.js.map +1 -1
  1035. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +6 -5
  1036. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
  1037. package/plugins/CmsGraphQLSchemaPlugin/index.js +0 -2
  1038. package/plugins/CmsGroupPlugin.js +15 -26
  1039. package/plugins/CmsGroupPlugin.js.map +1 -1
  1040. package/plugins/CmsModelFieldConverterPlugin.js +5 -5
  1041. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  1042. package/plugins/CmsModelPlugin.js +135 -213
  1043. package/plugins/CmsModelPlugin.js.map +1 -1
  1044. package/plugins/CmsParametersPlugin.js +12 -14
  1045. package/plugins/CmsParametersPlugin.js.map +1 -1
  1046. package/plugins/StorageOperationsCmsModelPlugin.js +22 -29
  1047. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -1
  1048. package/plugins/index.js +0 -2
  1049. package/types/context.d.ts +6 -2
  1050. package/types/context.js +0 -3
  1051. package/types/fields/dynamicZoneField.js +0 -3
  1052. package/types/fields/objectField.js +0 -3
  1053. package/types/identity.js +0 -3
  1054. package/types/index.js +0 -2
  1055. package/types/model.js +0 -3
  1056. package/types/modelAst.js +0 -3
  1057. package/types/modelField.js +0 -3
  1058. package/types/modelGroup.js +0 -3
  1059. package/types/plugins.js +0 -3
  1060. package/types/types.d.ts +4 -9
  1061. package/types/types.js +6 -218
  1062. package/types/types.js.map +1 -1
  1063. package/utils/caching/Cache.js +28 -35
  1064. package/utils/caching/Cache.js.map +1 -1
  1065. package/utils/caching/CacheKey.js +13 -14
  1066. package/utils/caching/CacheKey.js.map +1 -1
  1067. package/utils/caching/index.js +0 -2
  1068. package/utils/caching/types.js +0 -3
  1069. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +12 -15
  1070. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
  1071. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +13 -12
  1072. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
  1073. package/utils/contentModelAst/CmsModelToAstConverter.js +14 -18
  1074. package/utils/contentModelAst/CmsModelToAstConverter.js.map +1 -1
  1075. package/utils/contentModelAst/index.js +0 -2
  1076. package/utils/converters/Converter.js +35 -44
  1077. package/utils/converters/Converter.js.map +1 -1
  1078. package/utils/converters/ConverterCollection.js +70 -107
  1079. package/utils/converters/ConverterCollection.js.map +1 -1
  1080. package/utils/converters/types.js +0 -3
  1081. package/utils/converters/valueKeyFromStorageConverter.js +13 -19
  1082. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  1083. package/utils/converters/valueKeyStorageConverter.js +18 -21
  1084. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  1085. package/utils/converters/valueKeyToStorageConverter.js +13 -19
  1086. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  1087. package/utils/createModelField.js +24 -44
  1088. package/utils/createModelField.js.map +1 -1
  1089. package/utils/createTypeFromFields.js +30 -52
  1090. package/utils/createTypeFromFields.js.map +1 -1
  1091. package/utils/createTypeName.js +2 -3
  1092. package/utils/createTypeName.js.map +1 -1
  1093. package/utils/date.js +9 -24
  1094. package/utils/date.js.map +1 -1
  1095. package/utils/entryStorage.js +57 -90
  1096. package/utils/entryStorage.js.map +1 -1
  1097. package/utils/errors.js +7 -7
  1098. package/utils/errors.js.map +1 -1
  1099. package/utils/filterAsync.js +8 -9
  1100. package/utils/filterAsync.js.map +1 -1
  1101. package/utils/getBaseFieldType.js +4 -5
  1102. package/utils/getBaseFieldType.js.map +1 -1
  1103. package/utils/getEntryDescription.js +9 -14
  1104. package/utils/getEntryDescription.js.map +1 -1
  1105. package/utils/getEntryImage.js +9 -14
  1106. package/utils/getEntryImage.js.map +1 -1
  1107. package/utils/getEntryTitle.js +11 -26
  1108. package/utils/getEntryTitle.js.map +1 -1
  1109. package/utils/getSchemaFromFieldPlugins.js +27 -39
  1110. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  1111. package/utils/identity.js +9 -16
  1112. package/utils/identity.js.map +1 -1
  1113. package/utils/incrementEntryIdVersion.js +14 -18
  1114. package/utils/incrementEntryIdVersion.js.map +1 -1
  1115. package/utils/index.js +0 -2
  1116. package/utils/isHeadlessCmsReady.js +5 -14
  1117. package/utils/isHeadlessCmsReady.js.map +1 -1
  1118. package/utils/modelFieldTraverser/ModelFieldTraverser.js +27 -29
  1119. package/utils/modelFieldTraverser/ModelFieldTraverser.js.map +1 -1
  1120. package/utils/modelFieldTraverser/index.js +0 -2
  1121. package/utils/renderFields.js +26 -49
  1122. package/utils/renderFields.js.map +1 -1
  1123. package/utils/renderGetFilterFields.js +31 -37
  1124. package/utils/renderGetFilterFields.js.map +1 -1
  1125. package/utils/renderInputFields.js +23 -40
  1126. package/utils/renderInputFields.js.map +1 -1
  1127. package/utils/renderListFilterFields.js +60 -56
  1128. package/utils/renderListFilterFields.js.map +1 -1
  1129. package/utils/renderSortEnum.js +21 -23
  1130. package/utils/renderSortEnum.js.map +1 -1
  1131. package/utils/toSlug.js +6 -7
  1132. package/utils/toSlug.js.map +1 -1
  1133. package/abstractions/entryHooks/index.js.map +0 -1
  1134. package/abstractions/index.js.map +0 -1
  1135. package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +0 -19
  1136. package/crud/contentEntry/entryDataFactories/createEntryData.js +0 -263
  1137. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +0 -1
  1138. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +0 -22
  1139. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +0 -165
  1140. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +0 -1
  1141. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +0 -14
  1142. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +0 -59
  1143. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +0 -1
  1144. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +0 -13
  1145. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +0 -54
  1146. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +0 -1
  1147. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +0 -11
  1148. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +0 -34
  1149. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +0 -1
  1150. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +0 -19
  1151. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +0 -131
  1152. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +0 -1
  1153. package/crud/contentEntry/entryDataFactories/index.d.ts +0 -8
  1154. package/crud/contentEntry/entryDataFactories/index.js +0 -10
  1155. package/crud/contentEntry/entryDataFactories/index.js.map +0 -1
  1156. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +0 -32
  1157. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +0 -1
  1158. package/crud/contentEntry/entryDataFactories/statuses.js +0 -6
  1159. package/crud/contentEntry/entryDataFactories/statuses.js.map +0 -1
  1160. package/crud/contentEntry/entryDataFactories/system.js +0 -14
  1161. package/crud/contentEntry/entryDataFactories/system.js.map +0 -1
  1162. package/export/index.js.map +0 -1
  1163. package/exports/api/cms/entry.js.map +0 -1
  1164. package/exports/api/cms/graphql.js.map +0 -1
  1165. package/exports/api/cms/group.js.map +0 -1
  1166. package/exports/api/cms/model.js.map +0 -1
  1167. package/exports/api/cms/storage.js.map +0 -1
  1168. package/exports/api/cms/validation.js.map +0 -1
  1169. package/extensions/entryHooks/index.js.map +0 -1
  1170. package/features/contentEntry/ContentEntryTraverser/index.js.map +0 -1
  1171. package/features/contentEntry/CreateEntry/index.js.map +0 -1
  1172. package/features/contentEntry/CreateEntryRevisionFrom/index.js.map +0 -1
  1173. package/features/contentEntry/DeleteEntry/index.js.map +0 -1
  1174. package/features/contentEntry/DeleteEntryRevision/index.js.map +0 -1
  1175. package/features/contentEntry/DeleteMultipleEntries/index.js.map +0 -1
  1176. package/features/contentEntry/GetEntriesByIds/index.js.map +0 -1
  1177. package/features/contentEntry/GetEntry/index.js.map +0 -1
  1178. package/features/contentEntry/GetEntryById/index.js.map +0 -1
  1179. package/features/contentEntry/GetLatestEntriesByIds/index.js.map +0 -1
  1180. package/features/contentEntry/GetLatestRevisionByEntryId/index.js.map +0 -1
  1181. package/features/contentEntry/GetPreviousRevisionByEntryId/index.js.map +0 -1
  1182. package/features/contentEntry/GetPublishedEntriesByIds/index.js.map +0 -1
  1183. package/features/contentEntry/GetPublishedRevisionByEntryId/index.js.map +0 -1
  1184. package/features/contentEntry/GetRevisionById/index.js.map +0 -1
  1185. package/features/contentEntry/GetRevisionsByEntryId/index.js.map +0 -1
  1186. package/features/contentEntry/GetSingletonEntry/index.js.map +0 -1
  1187. package/features/contentEntry/GetUniqueFieldValues/index.js.map +0 -1
  1188. package/features/contentEntry/ListEntries/index.js.map +0 -1
  1189. package/features/contentEntry/MoveEntry/index.js.map +0 -1
  1190. package/features/contentEntry/PublishEntry/index.js.map +0 -1
  1191. package/features/contentEntry/RepublishEntry/index.js.map +0 -1
  1192. package/features/contentEntry/RestoreEntryFromBin/index.js.map +0 -1
  1193. package/features/contentEntry/UnpublishEntry/index.js.map +0 -1
  1194. package/features/contentEntry/UpdateEntry/index.js.map +0 -1
  1195. package/features/contentEntry/UpdateSingletonEntry/index.js.map +0 -1
  1196. package/features/contentEntry/ValidateEntry/index.js.map +0 -1
  1197. package/features/contentModel/CreateModel/index.js.map +0 -1
  1198. package/features/contentModel/CreateModelFrom/index.js.map +0 -1
  1199. package/features/contentModel/DeleteModel/index.js.map +0 -1
  1200. package/features/contentModel/GetModel/index.js.map +0 -1
  1201. package/features/contentModel/ListModels/index.js.map +0 -1
  1202. package/features/contentModel/ModelFieldCompression/index.js.map +0 -1
  1203. package/features/contentModel/ModelToAstConverter/index.js.map +0 -1
  1204. package/features/contentModel/UpdateModel/index.js.map +0 -1
  1205. package/features/contentModelGroup/CreateGroup/index.js.map +0 -1
  1206. package/features/contentModelGroup/DeleteGroup/index.js.map +0 -1
  1207. package/features/contentModelGroup/GetGroup/index.js.map +0 -1
  1208. package/features/contentModelGroup/ListGroups/index.js.map +0 -1
  1209. package/features/contentModelGroup/UpdateGroup/index.js.map +0 -1
  1210. package/features/contentModelGroup/shared/index.js.map +0 -1
  1211. package/features/graphql/index.js.map +0 -1
  1212. package/features/modelBuilder/fields/FieldBuilder.js.map +0 -1
  1213. package/features/modelBuilder/fields/fieldTypeValidator.js.map +0 -1
  1214. package/features/modelBuilder/index.js.map +0 -1
  1215. package/features/storage/index.js.map +0 -1
  1216. package/features/validation/index.js.map +0 -1
  1217. package/graphql/schema/cms/helpers/index.js.map +0 -1
  1218. package/graphql/schema/cms/helpers.js.map +0 -1
  1219. package/graphql/schema/cms/resolvers/index.js.map +0 -1
  1220. package/graphql/schema/cms/typeDefs/index.js.map +0 -1
  1221. package/parameters/index.js.map +0 -1
  1222. package/plugins/CmsGraphQLSchemaPlugin/index.js.map +0 -1
  1223. package/plugins/index.js.map +0 -1
  1224. package/types/context.js.map +0 -1
  1225. package/types/fields/dynamicZoneField.js.map +0 -1
  1226. package/types/fields/objectField.js.map +0 -1
  1227. package/types/identity.js.map +0 -1
  1228. package/types/index.js.map +0 -1
  1229. package/types/model.js.map +0 -1
  1230. package/types/modelAst.js.map +0 -1
  1231. package/types/modelField.js.map +0 -1
  1232. package/types/modelGroup.js.map +0 -1
  1233. package/types/plugins.js.map +0 -1
  1234. package/utils/caching/index.js.map +0 -1
  1235. package/utils/caching/types.js.map +0 -1
  1236. package/utils/contentModelAst/index.js.map +0 -1
  1237. package/utils/converters/types.js.map +0 -1
  1238. package/utils/index.js.map +0 -1
  1239. package/utils/modelFieldTraverser/index.js.map +0 -1
  1240. /package/{crud → features}/contentEntry/entryDataFactories/statuses.d.ts +0 -0
  1241. /package/{crud → features}/contentEntry/entryDataFactories/system.d.ts +0 -0
@@ -1,133 +1,90 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { UpdateModelUseCase as UseCaseAbstraction } from "./abstractions.js";
3
- import { UpdateModelRepository } from "./abstractions.js";
2
+ import { UpdateModelRepository, UpdateModelUseCase } from "./abstractions.js";
4
3
  import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
5
- import { ModelBeforeUpdateEvent } from "./events.js";
6
- import { ModelAfterUpdateEvent } from "./events.js";
7
- import { ModelUpdateErrorEvent } from "./events.js";
4
+ import { ModelAfterUpdateEvent, ModelBeforeUpdateEvent, ModelUpdateErrorEvent } from "./events.js";
8
5
  import { AccessControl } from "../../shared/abstractions.js";
9
6
  import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
10
7
  import { ModelNotAuthorizedError, ModelValidationError } from "../../../domain/contentModel/errors.js";
11
- import { createZodError } from "@webiny/utils";
12
- import { removeUndefinedValues } from "@webiny/utils";
8
+ import { createZodError, removeUndefinedValues } from "@webiny/utils";
13
9
  import { createModelUpdateValidation } from "../../../domain/contentModel/schemas.js";
14
10
  import { ensureTypeTag } from "../../../domain/contentModel/ensureTypeTag.js";
15
11
  import { GetModelUseCase } from "../GetModel/index.js";
16
-
17
- /**
18
- * UpdateModelUseCase - Core model update orchestration.
19
- *
20
- * Responsibilities:
21
- * - Validate input (Zod)
22
- * - Fetch original model
23
- * - Create updated domain model object
24
- * - Handle group changes
25
- * - Handle field ID changes (title, description, image)
26
- * - Access control checks
27
- * - Publish before event
28
- * - Delegate to repository for validation and persistence
29
- * - Publish after event or error event
30
- *
31
- * Note: Repository handles domain validations (API name uniqueness, field validation, etc.)
32
- */
33
12
  class UpdateModelUseCaseImpl {
34
- constructor(getModelUseCase, eventPublisher, repository, accessControl, tenantContext) {
35
- this.getModelUseCase = getModelUseCase;
36
- this.eventPublisher = eventPublisher;
37
- this.repository = repository;
38
- this.accessControl = accessControl;
39
- this.tenantContext = tenantContext;
40
- }
41
- async execute(modelId, input) {
42
- // Initial access control check
43
- const canAccess = await this.accessControl.canAccessModel({
44
- rwd: "w"
45
- });
46
- if (!canAccess) {
47
- return Result.fail(new ModelNotAuthorizedError());
48
- }
49
-
50
- // Get the original model (with access control check)
51
- const getResult = await this.getModelUseCase.execute(modelId);
52
- if (getResult.isFail()) {
53
- return getResult;
54
- }
55
- const original = structuredClone(getResult.value);
56
-
57
- // Validate input
58
- const validationResult = await createModelUpdateValidation().safeParseAsync(input);
59
- if (!validationResult.success) {
60
- const zodError = createZodError(validationResult.error);
61
- return Result.fail(new ModelValidationError({
62
- message: zodError.message,
63
- data: zodError.data
64
- }));
65
- }
66
- const data = removeUndefinedValues(validationResult.data);
67
-
68
- // If no changes, return original
69
- if (Object.keys(data).length === 0) {
70
- return Result.ok(original);
13
+ constructor(getModelUseCase, eventPublisher, repository, accessControl, tenantContext){
14
+ this.getModelUseCase = getModelUseCase;
15
+ this.eventPublisher = eventPublisher;
16
+ this.repository = repository;
17
+ this.accessControl = accessControl;
18
+ this.tenantContext = tenantContext;
71
19
  }
72
-
73
- // Create updated model
74
- const tenant = this.tenantContext.getTenant();
75
- const model = {
76
- ...original,
77
- ...data,
78
- icon: data.icon ?? original.icon,
79
- // Handle optional field IDs explicitly
80
- titleFieldId: data.titleFieldId === undefined ? original.titleFieldId : data.titleFieldId,
81
- descriptionFieldId: data.descriptionFieldId === undefined ? original.descriptionFieldId : data.descriptionFieldId,
82
- imageFieldId: data.imageFieldId === undefined ? original.imageFieldId : data.imageFieldId,
83
- description: data.description || original.description,
84
- tenant: original.tenant || tenant.id,
85
- savedOn: new Date().toISOString()
86
- };
87
-
88
- // Access control check on the updated model
89
- const canAccessModel = await this.accessControl.canAccessModel({
90
- model,
91
- rwd: "w"
92
- });
93
- if (!canAccessModel) {
94
- return Result.fail(ModelNotAuthorizedError.fromModel(model));
20
+ async execute(modelId, input) {
21
+ const canAccess = await this.accessControl.canAccessModel({
22
+ rwd: "w"
23
+ });
24
+ if (!canAccess) return Result.fail(new ModelNotAuthorizedError());
25
+ const getResult = await this.getModelUseCase.execute(modelId);
26
+ if (getResult.isFail()) return getResult;
27
+ const original = structuredClone(getResult.value);
28
+ const validationResult = await createModelUpdateValidation().safeParseAsync(input);
29
+ if (!validationResult.success) {
30
+ const zodError = createZodError(validationResult.error);
31
+ return Result.fail(new ModelValidationError({
32
+ message: zodError.message,
33
+ data: zodError.data
34
+ }));
35
+ }
36
+ const data = removeUndefinedValues(validationResult.data);
37
+ if (0 === Object.keys(data).length) return Result.ok(original);
38
+ const tenant = this.tenantContext.getTenant();
39
+ const model = {
40
+ ...original,
41
+ ...data,
42
+ icon: data.icon ?? original.icon,
43
+ titleFieldId: void 0 === data.titleFieldId ? original.titleFieldId : data.titleFieldId,
44
+ descriptionFieldId: void 0 === data.descriptionFieldId ? original.descriptionFieldId : data.descriptionFieldId,
45
+ imageFieldId: void 0 === data.imageFieldId ? original.imageFieldId : data.imageFieldId,
46
+ description: data.description || original.description,
47
+ tenant: original.tenant || tenant.id,
48
+ savedOn: new Date().toISOString()
49
+ };
50
+ const canAccessModel = await this.accessControl.canAccessModel({
51
+ model,
52
+ rwd: "w"
53
+ });
54
+ if (!canAccessModel) return Result.fail(ModelNotAuthorizedError.fromModel(model));
55
+ model.tags = ensureTypeTag(model);
56
+ await this.eventPublisher.publish(new ModelBeforeUpdateEvent({
57
+ model,
58
+ original,
59
+ input: data
60
+ }));
61
+ const result = await this.repository.execute(model, original);
62
+ if (result.isFail()) {
63
+ await this.eventPublisher.publish(new ModelUpdateErrorEvent({
64
+ input: data,
65
+ model,
66
+ original,
67
+ error: result.error
68
+ }));
69
+ return Result.fail(result.error);
70
+ }
71
+ await this.eventPublisher.publish(new ModelAfterUpdateEvent({
72
+ model,
73
+ original
74
+ }));
75
+ return Result.ok(model);
95
76
  }
96
-
97
- // Ensure type tags
98
- model.tags = ensureTypeTag(model);
99
-
100
- // Publish before event
101
- await this.eventPublisher.publish(new ModelBeforeUpdateEvent({
102
- model,
103
- original,
104
- input: data
105
- }));
106
-
107
- // Persist via repository (repository will validate)
108
- const result = await this.repository.execute(model, original);
109
- if (result.isFail()) {
110
- // Publish error event
111
- await this.eventPublisher.publish(new ModelUpdateErrorEvent({
112
- input: data,
113
- model,
114
- original,
115
- error: result.error
116
- }));
117
- return Result.fail(result.error);
118
- }
119
-
120
- // Publish after event
121
- await this.eventPublisher.publish(new ModelAfterUpdateEvent({
122
- model,
123
- original
124
- }));
125
- return Result.ok(model);
126
- }
127
77
  }
128
- export const UpdateModelUseCase = UseCaseAbstraction.createImplementation({
129
- implementation: UpdateModelUseCaseImpl,
130
- dependencies: [GetModelUseCase, EventPublisher, UpdateModelRepository, AccessControl, TenantContext]
78
+ const UpdateModelUseCase_UpdateModelUseCase = UpdateModelUseCase.createImplementation({
79
+ implementation: UpdateModelUseCaseImpl,
80
+ dependencies: [
81
+ GetModelUseCase,
82
+ EventPublisher,
83
+ UpdateModelRepository,
84
+ AccessControl,
85
+ TenantContext
86
+ ]
131
87
  });
88
+ export { UpdateModelUseCase_UpdateModelUseCase as UpdateModelUseCase };
132
89
 
133
90
  //# sourceMappingURL=UpdateModelUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","UpdateModelUseCase","UseCaseAbstraction","UpdateModelRepository","EventPublisher","ModelBeforeUpdateEvent","ModelAfterUpdateEvent","ModelUpdateErrorEvent","AccessControl","TenantContext","ModelNotAuthorizedError","ModelValidationError","createZodError","removeUndefinedValues","createModelUpdateValidation","ensureTypeTag","GetModelUseCase","UpdateModelUseCaseImpl","constructor","getModelUseCase","eventPublisher","repository","accessControl","tenantContext","execute","modelId","input","canAccess","canAccessModel","rwd","fail","getResult","isFail","original","structuredClone","value","validationResult","safeParseAsync","success","zodError","error","message","data","Object","keys","length","ok","tenant","getTenant","model","icon","titleFieldId","undefined","descriptionFieldId","imageFieldId","description","id","savedOn","Date","toISOString","fromModel","tags","publish","result","createImplementation","implementation","dependencies"],"sources":["UpdateModelUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { UpdateModelUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { UpdateModelRepository } from \"./abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { ModelBeforeUpdateEvent } from \"./events.js\";\nimport { ModelAfterUpdateEvent } from \"./events.js\";\nimport { ModelUpdateErrorEvent } from \"./events.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { ModelNotAuthorizedError, ModelValidationError } from \"~/domain/contentModel/errors.js\";\nimport { createZodError } from \"@webiny/utils\";\nimport { removeUndefinedValues } from \"@webiny/utils\";\nimport { createModelUpdateValidation } from \"~/domain/contentModel/schemas.js\";\nimport { ensureTypeTag } from \"~/domain/contentModel/ensureTypeTag.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport type { CmsModelUpdateInput } from \"~/types/index.js\";\nimport { GetModelUseCase } from \"~/features/contentModel/GetModel/index.js\";\n\n/**\n * UpdateModelUseCase - Core model update orchestration.\n *\n * Responsibilities:\n * - Validate input (Zod)\n * - Fetch original model\n * - Create updated domain model object\n * - Handle group changes\n * - Handle field ID changes (title, description, image)\n * - Access control checks\n * - Publish before event\n * - Delegate to repository for validation and persistence\n * - Publish after event or error event\n *\n * Note: Repository handles domain validations (API name uniqueness, field validation, etc.)\n */\nclass UpdateModelUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private getModelUseCase: GetModelUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: UpdateModelRepository.Interface,\n private accessControl: AccessControl.Interface,\n private tenantContext: TenantContext.Interface\n ) {}\n\n async execute(\n modelId: string,\n input: CmsModelUpdateInput\n ): Promise<Result<CmsModel, UseCaseAbstraction.Error>> {\n // Initial access control check\n const canAccess = await this.accessControl.canAccessModel({ rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(new ModelNotAuthorizedError());\n }\n\n // Get the original model (with access control check)\n const getResult = await this.getModelUseCase.execute(modelId);\n if (getResult.isFail()) {\n return getResult;\n }\n\n const original = structuredClone(getResult.value);\n\n // Validate input\n const validationResult = await createModelUpdateValidation().safeParseAsync(input);\n if (!validationResult.success) {\n const zodError = createZodError(validationResult.error);\n return Result.fail(\n new ModelValidationError({\n message: zodError.message,\n data: zodError.data\n })\n );\n }\n\n const data = removeUndefinedValues(validationResult.data);\n\n // If no changes, return original\n if (Object.keys(data).length === 0) {\n return Result.ok(original);\n }\n\n // Create updated model\n const tenant = this.tenantContext.getTenant();\n\n const model: CmsModel = {\n ...original,\n ...data,\n icon: data.icon ?? original.icon,\n // Handle optional field IDs explicitly\n titleFieldId:\n data.titleFieldId === undefined\n ? original.titleFieldId\n : (data.titleFieldId as string),\n descriptionFieldId:\n data.descriptionFieldId === undefined\n ? original.descriptionFieldId\n : data.descriptionFieldId,\n imageFieldId:\n data.imageFieldId === undefined ? original.imageFieldId : data.imageFieldId,\n description: data.description || original.description,\n tenant: original.tenant || tenant.id,\n savedOn: new Date().toISOString()\n };\n\n // Access control check on the updated model\n const canAccessModel = await this.accessControl.canAccessModel({ model, rwd: \"w\" });\n if (!canAccessModel) {\n return Result.fail(ModelNotAuthorizedError.fromModel(model));\n }\n\n // Ensure type tags\n model.tags = ensureTypeTag(model);\n\n // Publish before event\n await this.eventPublisher.publish(\n new ModelBeforeUpdateEvent({ model, original, input: data })\n );\n\n // Persist via repository (repository will validate)\n const result = await this.repository.execute(model, original);\n if (result.isFail()) {\n // Publish error event\n await this.eventPublisher.publish(\n new ModelUpdateErrorEvent({\n input: data,\n model,\n original,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(new ModelAfterUpdateEvent({ model, original }));\n\n return Result.ok(model);\n }\n}\n\nexport const UpdateModelUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateModelUseCaseImpl,\n dependencies: [\n GetModelUseCase,\n EventPublisher,\n UpdateModelRepository,\n AccessControl,\n TenantContext\n ]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,kBAAkB,IAAIC,kBAAkB;AACjD,SAASC,qBAAqB;AAC9B,SAASC,cAAc,QAAQ,mDAAmD;AAClF,SAASC,sBAAsB;AAC/B,SAASC,qBAAqB;AAC9B,SAASC,qBAAqB;AAC9B,SAASC,aAAa;AACtB,SAASC,aAAa,QAAQ,0DAA0D;AACxF,SAASC,uBAAuB,EAAEC,oBAAoB;AACtD,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,qBAAqB,QAAQ,eAAe;AACrD,SAASC,2BAA2B;AACpC,SAASC,aAAa;AAGtB,SAASC,eAAe;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,CAAyC;EAC1DC,WAAWA,CACNC,eAA0C,EAC1CC,cAAwC,EACxCC,UAA2C,EAC3CC,aAAsC,EACtCC,aAAsC,EAChD;IAAA,KALUJ,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,UAA2C,GAA3CA,UAA2C;IAAA,KAC3CC,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,aAAsC,GAAtCA,aAAsC;EAC/C;EAEH,MAAMC,OAAOA,CACTC,OAAe,EACfC,KAA0B,EACyB;IACnD;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACL,aAAa,CAACM,cAAc,CAAC;MAAEC,GAAG,EAAE;IAAI,CAAC,CAAC;IACvE,IAAI,CAACF,SAAS,EAAE;MACZ,OAAO3B,MAAM,CAAC8B,IAAI,CAAC,IAAIpB,uBAAuB,CAAC,CAAC,CAAC;IACrD;;IAEA;IACA,MAAMqB,SAAS,GAAG,MAAM,IAAI,CAACZ,eAAe,CAACK,OAAO,CAACC,OAAO,CAAC;IAC7D,IAAIM,SAAS,CAACC,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOD,SAAS;IACpB;IAEA,MAAME,QAAQ,GAAGC,eAAe,CAACH,SAAS,CAACI,KAAK,CAAC;;IAEjD;IACA,MAAMC,gBAAgB,GAAG,MAAMtB,2BAA2B,CAAC,CAAC,CAACuB,cAAc,CAACX,KAAK,CAAC;IAClF,IAAI,CAACU,gBAAgB,CAACE,OAAO,EAAE;MAC3B,MAAMC,QAAQ,GAAG3B,cAAc,CAACwB,gBAAgB,CAACI,KAAK,CAAC;MACvD,OAAOxC,MAAM,CAAC8B,IAAI,CACd,IAAInB,oBAAoB,CAAC;QACrB8B,OAAO,EAAEF,QAAQ,CAACE,OAAO;QACzBC,IAAI,EAAEH,QAAQ,CAACG;MACnB,CAAC,CACL,CAAC;IACL;IAEA,MAAMA,IAAI,GAAG7B,qBAAqB,CAACuB,gBAAgB,CAACM,IAAI,CAAC;;IAEzD;IACA,IAAIC,MAAM,CAACC,IAAI,CAACF,IAAI,CAAC,CAACG,MAAM,KAAK,CAAC,EAAE;MAChC,OAAO7C,MAAM,CAAC8C,EAAE,CAACb,QAAQ,CAAC;IAC9B;;IAEA;IACA,MAAMc,MAAM,GAAG,IAAI,CAACxB,aAAa,CAACyB,SAAS,CAAC,CAAC;IAE7C,MAAMC,KAAe,GAAG;MACpB,GAAGhB,QAAQ;MACX,GAAGS,IAAI;MACPQ,IAAI,EAAER,IAAI,CAACQ,IAAI,IAAIjB,QAAQ,CAACiB,IAAI;MAChC;MACAC,YAAY,EACRT,IAAI,CAACS,YAAY,KAAKC,SAAS,GACzBnB,QAAQ,CAACkB,YAAY,GACpBT,IAAI,CAACS,YAAuB;MACvCE,kBAAkB,EACdX,IAAI,CAACW,kBAAkB,KAAKD,SAAS,GAC/BnB,QAAQ,CAACoB,kBAAkB,GAC3BX,IAAI,CAACW,kBAAkB;MACjCC,YAAY,EACRZ,IAAI,CAACY,YAAY,KAAKF,SAAS,GAAGnB,QAAQ,CAACqB,YAAY,GAAGZ,IAAI,CAACY,YAAY;MAC/EC,WAAW,EAAEb,IAAI,CAACa,WAAW,IAAItB,QAAQ,CAACsB,WAAW;MACrDR,MAAM,EAAEd,QAAQ,CAACc,MAAM,IAAIA,MAAM,CAACS,EAAE;MACpCC,OAAO,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC;IACpC,CAAC;;IAED;IACA,MAAM/B,cAAc,GAAG,MAAM,IAAI,CAACN,aAAa,CAACM,cAAc,CAAC;MAAEqB,KAAK;MAAEpB,GAAG,EAAE;IAAI,CAAC,CAAC;IACnF,IAAI,CAACD,cAAc,EAAE;MACjB,OAAO5B,MAAM,CAAC8B,IAAI,CAACpB,uBAAuB,CAACkD,SAAS,CAACX,KAAK,CAAC,CAAC;IAChE;;IAEA;IACAA,KAAK,CAACY,IAAI,GAAG9C,aAAa,CAACkC,KAAK,CAAC;;IAEjC;IACA,MAAM,IAAI,CAAC7B,cAAc,CAAC0C,OAAO,CAC7B,IAAIzD,sBAAsB,CAAC;MAAE4C,KAAK;MAAEhB,QAAQ;MAAEP,KAAK,EAAEgB;IAAK,CAAC,CAC/D,CAAC;;IAED;IACA,MAAMqB,MAAM,GAAG,MAAM,IAAI,CAAC1C,UAAU,CAACG,OAAO,CAACyB,KAAK,EAAEhB,QAAQ,CAAC;IAC7D,IAAI8B,MAAM,CAAC/B,MAAM,CAAC,CAAC,EAAE;MACjB;MACA,MAAM,IAAI,CAACZ,cAAc,CAAC0C,OAAO,CAC7B,IAAIvD,qBAAqB,CAAC;QACtBmB,KAAK,EAAEgB,IAAI;QACXO,KAAK;QACLhB,QAAQ;QACRO,KAAK,EAAEuB,MAAM,CAACvB;MAClB,CAAC,CACL,CAAC;MACD,OAAOxC,MAAM,CAAC8B,IAAI,CAACiC,MAAM,CAACvB,KAAK,CAAC;IACpC;;IAEA;IACA,MAAM,IAAI,CAACpB,cAAc,CAAC0C,OAAO,CAAC,IAAIxD,qBAAqB,CAAC;MAAE2C,KAAK;MAAEhB;IAAS,CAAC,CAAC,CAAC;IAEjF,OAAOjC,MAAM,CAAC8C,EAAE,CAACG,KAAK,CAAC;EAC3B;AACJ;AAEA,OAAO,MAAMhD,kBAAkB,GAAGC,kBAAkB,CAAC8D,oBAAoB,CAAC;EACtEC,cAAc,EAAEhD,sBAAsB;EACtCiD,YAAY,EAAE,CACVlD,eAAe,EACfZ,cAAc,EACdD,qBAAqB,EACrBK,aAAa,EACbC,aAAa;AAErB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/contentModel/UpdateModel/UpdateModelUseCase.js","sources":["../../../../src/features/contentModel/UpdateModel/UpdateModelUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { UpdateModelUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { UpdateModelRepository } from \"./abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { ModelBeforeUpdateEvent } from \"./events.js\";\nimport { ModelAfterUpdateEvent } from \"./events.js\";\nimport { ModelUpdateErrorEvent } from \"./events.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { ModelNotAuthorizedError, ModelValidationError } from \"~/domain/contentModel/errors.js\";\nimport { createZodError } from \"@webiny/utils\";\nimport { removeUndefinedValues } from \"@webiny/utils\";\nimport { createModelUpdateValidation } from \"~/domain/contentModel/schemas.js\";\nimport { ensureTypeTag } from \"~/domain/contentModel/ensureTypeTag.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport type { CmsModelUpdateInput } from \"~/types/index.js\";\nimport { GetModelUseCase } from \"~/features/contentModel/GetModel/index.js\";\n\n/**\n * UpdateModelUseCase - Core model update orchestration.\n *\n * Responsibilities:\n * - Validate input (Zod)\n * - Fetch original model\n * - Create updated domain model object\n * - Handle group changes\n * - Handle field ID changes (title, description, image)\n * - Access control checks\n * - Publish before event\n * - Delegate to repository for validation and persistence\n * - Publish after event or error event\n *\n * Note: Repository handles domain validations (API name uniqueness, field validation, etc.)\n */\nclass UpdateModelUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private getModelUseCase: GetModelUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: UpdateModelRepository.Interface,\n private accessControl: AccessControl.Interface,\n private tenantContext: TenantContext.Interface\n ) {}\n\n async execute(\n modelId: string,\n input: CmsModelUpdateInput\n ): Promise<Result<CmsModel, UseCaseAbstraction.Error>> {\n // Initial access control check\n const canAccess = await this.accessControl.canAccessModel({ rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(new ModelNotAuthorizedError());\n }\n\n // Get the original model (with access control check)\n const getResult = await this.getModelUseCase.execute(modelId);\n if (getResult.isFail()) {\n return getResult;\n }\n\n const original = structuredClone(getResult.value);\n\n // Validate input\n const validationResult = await createModelUpdateValidation().safeParseAsync(input);\n if (!validationResult.success) {\n const zodError = createZodError(validationResult.error);\n return Result.fail(\n new ModelValidationError({\n message: zodError.message,\n data: zodError.data\n })\n );\n }\n\n const data = removeUndefinedValues(validationResult.data);\n\n // If no changes, return original\n if (Object.keys(data).length === 0) {\n return Result.ok(original);\n }\n\n // Create updated model\n const tenant = this.tenantContext.getTenant();\n\n const model: CmsModel = {\n ...original,\n ...data,\n icon: data.icon ?? original.icon,\n // Handle optional field IDs explicitly\n titleFieldId:\n data.titleFieldId === undefined\n ? original.titleFieldId\n : (data.titleFieldId as string),\n descriptionFieldId:\n data.descriptionFieldId === undefined\n ? original.descriptionFieldId\n : data.descriptionFieldId,\n imageFieldId:\n data.imageFieldId === undefined ? original.imageFieldId : data.imageFieldId,\n description: data.description || original.description,\n tenant: original.tenant || tenant.id,\n savedOn: new Date().toISOString()\n };\n\n // Access control check on the updated model\n const canAccessModel = await this.accessControl.canAccessModel({ model, rwd: \"w\" });\n if (!canAccessModel) {\n return Result.fail(ModelNotAuthorizedError.fromModel(model));\n }\n\n // Ensure type tags\n model.tags = ensureTypeTag(model);\n\n // Publish before event\n await this.eventPublisher.publish(\n new ModelBeforeUpdateEvent({ model, original, input: data })\n );\n\n // Persist via repository (repository will validate)\n const result = await this.repository.execute(model, original);\n if (result.isFail()) {\n // Publish error event\n await this.eventPublisher.publish(\n new ModelUpdateErrorEvent({\n input: data,\n model,\n original,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(new ModelAfterUpdateEvent({ model, original }));\n\n return Result.ok(model);\n }\n}\n\nexport const UpdateModelUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateModelUseCaseImpl,\n dependencies: [\n GetModelUseCase,\n EventPublisher,\n UpdateModelRepository,\n AccessControl,\n TenantContext\n ]\n});\n"],"names":["UpdateModelUseCaseImpl","getModelUseCase","eventPublisher","repository","accessControl","tenantContext","modelId","input","canAccess","Result","ModelNotAuthorizedError","getResult","original","structuredClone","validationResult","createModelUpdateValidation","zodError","createZodError","ModelValidationError","data","removeUndefinedValues","Object","tenant","model","undefined","Date","canAccessModel","ensureTypeTag","ModelBeforeUpdateEvent","result","ModelUpdateErrorEvent","ModelAfterUpdateEvent","UpdateModelUseCase","UseCaseAbstraction","GetModelUseCase","EventPublisher","UpdateModelRepository","AccessControl","TenantContext"],"mappings":";;;;;;;;;;;AAkCA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,cAAwC,EACxCC,UAA2C,EAC3CC,aAAsC,EACtCC,aAAsC,CAChD;aALUJ,eAAe,GAAfA;aACAC,cAAc,GAAdA;aACAC,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QACFC,OAAe,EACfC,KAA0B,EACyB;QAEnD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAE,KAAK;QAAI;QACrE,IAAI,CAACA,WACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMC,YAAY,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACL;QACrD,IAAIK,UAAU,MAAM,IAChB,OAAOA;QAGX,MAAMC,WAAWC,gBAAgBF,UAAU,KAAK;QAGhD,MAAMG,mBAAmB,MAAMC,8BAA8B,cAAc,CAACR;QAC5E,IAAI,CAACO,iBAAiB,OAAO,EAAE;YAC3B,MAAME,WAAWC,eAAeH,iBAAiB,KAAK;YACtD,OAAOL,OAAO,IAAI,CACd,IAAIS,qBAAqB;gBACrB,SAASF,SAAS,OAAO;gBACzB,MAAMA,SAAS,IAAI;YACvB;QAER;QAEA,MAAMG,OAAOC,sBAAsBN,iBAAiB,IAAI;QAGxD,IAAIO,AAA6B,MAA7BA,OAAO,IAAI,CAACF,MAAM,MAAM,EACxB,OAAOV,OAAO,EAAE,CAACG;QAIrB,MAAMU,SAAS,IAAI,CAAC,aAAa,CAAC,SAAS;QAE3C,MAAMC,QAAkB;YACpB,GAAGX,QAAQ;YACX,GAAGO,IAAI;YACP,MAAMA,KAAK,IAAI,IAAIP,SAAS,IAAI;YAEhC,cACIO,AAAsBK,WAAtBL,KAAK,YAAY,GACXP,SAAS,YAAY,GACpBO,KAAK,YAAY;YAC5B,oBACIA,AAA4BK,WAA5BL,KAAK,kBAAkB,GACjBP,SAAS,kBAAkB,GAC3BO,KAAK,kBAAkB;YACjC,cACIA,AAAsBK,WAAtBL,KAAK,YAAY,GAAiBP,SAAS,YAAY,GAAGO,KAAK,YAAY;YAC/E,aAAaA,KAAK,WAAW,IAAIP,SAAS,WAAW;YACrD,QAAQA,SAAS,MAAM,IAAIU,OAAO,EAAE;YACpC,SAAS,IAAIG,OAAO,WAAW;QACnC;QAGA,MAAMC,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEH;YAAO,KAAK;QAAI;QACjF,IAAI,CAACG,gBACD,OAAOjB,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACa;QAIzDA,MAAM,IAAI,GAAGI,cAAcJ;QAG3B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIK,uBAAuB;YAAEL;YAAOX;YAAU,OAAOO;QAAK;QAI9D,MAAMU,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACN,OAAOX;QACpD,IAAIiB,OAAO,MAAM,IAAI;YAEjB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,sBAAsB;gBACtB,OAAOX;gBACPI;gBACAX;gBACA,OAAOiB,OAAO,KAAK;YACvB;YAEJ,OAAOpB,OAAO,IAAI,CAACoB,OAAO,KAAK;QACnC;QAGA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIE,sBAAsB;YAAER;YAAOX;QAAS;QAE9E,OAAOH,OAAO,EAAE,CAACc;IACrB;AACJ;AAEO,MAAMS,wCAAqBC,mBAAAA,oBAAuC,CAAC;IACtE,gBAAgBjC;IAChB,cAAc;QACVkC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -1,16 +1,6 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * UpdateModel Use Case
5
- */
6
-
7
- /** Update a content model. */
8
- export const UpdateModelUseCase = createAbstraction("UpdateModelUseCase");
9
-
10
- /**
11
- * UpdateModelRepository - Validates domain rules and persists model updates.
12
- */
13
-
14
- export const UpdateModelRepository = createAbstraction("UpdateModelRepository");
2
+ const UpdateModelUseCase = createAbstraction("UpdateModelUseCase");
3
+ const UpdateModelRepository = createAbstraction("UpdateModelRepository");
4
+ export { UpdateModelRepository, UpdateModelUseCase };
15
5
 
16
6
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","UpdateModelUseCase","UpdateModelRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport type { CmsModelUpdateInput } from \"~/types/index.js\";\nimport {\n type ModelSlugTakenError,\n ModelNotAuthorizedError,\n type ModelNotFoundError,\n type ModelValidationError,\n type ModelPersistenceError,\n ModelCannotUpdateCodeModelError\n} from \"~/domain/contentModel/errors.js\";\nimport {\n type GroupNotFoundError,\n type GroupNotAuthorizedError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * UpdateModel Use Case\n */\nexport interface IUpdateModelUseCase {\n execute(modelId: string, input: CmsModelUpdateInput): Promise<Result<CmsModel, UseCaseError>>;\n}\n\nexport interface IUpdateModelUseCaseErrors {\n notFound: ModelNotFoundError;\n notAuthorized: ModelNotAuthorizedError;\n validation: ModelValidationError;\n alreadyExists: ModelSlugTakenError;\n persistence: ModelPersistenceError;\n updateCodeModel: ModelCannotUpdateCodeModelError;\n groupNotFound: GroupNotFoundError;\n groupNotAccessible: GroupNotAuthorizedError;\n}\n\ntype UseCaseError = IUpdateModelUseCaseErrors[keyof IUpdateModelUseCaseErrors];\n\n/** Update a content model. */\nexport const UpdateModelUseCase = createAbstraction<IUpdateModelUseCase>(\"UpdateModelUseCase\");\n\nexport namespace UpdateModelUseCase {\n export type Interface = IUpdateModelUseCase;\n export type Input = CmsModelUpdateInput;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsModel, UseCaseError>>;\n}\n\n/**\n * UpdateModelRepository - Validates domain rules and persists model updates.\n */\nexport interface IUpdateModelRepository {\n execute(model: CmsModel, original: CmsModel): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IUpdateModelRepositoryErrors {\n alreadyExists: ModelSlugTakenError;\n validation: ModelValidationError;\n persistence: ModelPersistenceError;\n updateCodeModel: ModelCannotUpdateCodeModelError;\n}\n\ntype RepositoryError = IUpdateModelRepositoryErrors[keyof IUpdateModelRepositoryErrors];\n\nexport const UpdateModelRepository =\n createAbstraction<IUpdateModelRepository>(\"UpdateModelRepository\");\n\nexport namespace UpdateModelRepository {\n export type Interface = IUpdateModelRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAiBvD;AACA;AACA;;AAkBA;AACA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAU9F;AACA;AACA;;AAcA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/contentModel/UpdateModel/abstractions.js","sources":["../../../../src/features/contentModel/UpdateModel/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport type { CmsModelUpdateInput } from \"~/types/index.js\";\nimport {\n type ModelSlugTakenError,\n ModelNotAuthorizedError,\n type ModelNotFoundError,\n type ModelValidationError,\n type ModelPersistenceError,\n ModelCannotUpdateCodeModelError\n} from \"~/domain/contentModel/errors.js\";\nimport {\n type GroupNotFoundError,\n type GroupNotAuthorizedError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * UpdateModel Use Case\n */\nexport interface IUpdateModelUseCase {\n execute(modelId: string, input: CmsModelUpdateInput): Promise<Result<CmsModel, UseCaseError>>;\n}\n\nexport interface IUpdateModelUseCaseErrors {\n notFound: ModelNotFoundError;\n notAuthorized: ModelNotAuthorizedError;\n validation: ModelValidationError;\n alreadyExists: ModelSlugTakenError;\n persistence: ModelPersistenceError;\n updateCodeModel: ModelCannotUpdateCodeModelError;\n groupNotFound: GroupNotFoundError;\n groupNotAccessible: GroupNotAuthorizedError;\n}\n\ntype UseCaseError = IUpdateModelUseCaseErrors[keyof IUpdateModelUseCaseErrors];\n\n/** Update a content model. */\nexport const UpdateModelUseCase = createAbstraction<IUpdateModelUseCase>(\"UpdateModelUseCase\");\n\nexport namespace UpdateModelUseCase {\n export type Interface = IUpdateModelUseCase;\n export type Input = CmsModelUpdateInput;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsModel, UseCaseError>>;\n}\n\n/**\n * UpdateModelRepository - Validates domain rules and persists model updates.\n */\nexport interface IUpdateModelRepository {\n execute(model: CmsModel, original: CmsModel): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IUpdateModelRepositoryErrors {\n alreadyExists: ModelSlugTakenError;\n validation: ModelValidationError;\n persistence: ModelPersistenceError;\n updateCodeModel: ModelCannotUpdateCodeModelError;\n}\n\ntype RepositoryError = IUpdateModelRepositoryErrors[keyof IUpdateModelRepositoryErrors];\n\nexport const UpdateModelRepository =\n createAbstraction<IUpdateModelRepository>(\"UpdateModelRepository\");\n\nexport namespace UpdateModelRepository {\n export type Interface = IUpdateModelRepository;\n export type Error = RepositoryError;\n}\n"],"names":["UpdateModelUseCase","createAbstraction","UpdateModelRepository"],"mappings":";AAsCO,MAAMA,qBAAqBC,kBAAuC;AA0BlE,MAAMC,wBACTD,kBAA0C"}
@@ -1,43 +1,32 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
2
  import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
-
4
- /**
5
- * Event payloads
6
- */
7
-
8
- /**
9
- * ModelBeforeUpdateEvent - Published before updating a model
10
- */
11
- export class ModelBeforeUpdateEvent extends DomainEvent {
12
- eventType = "Cms/Model/BeforeUpdate";
13
- getHandlerAbstraction() {
14
- return ModelBeforeUpdateEventHandler;
15
- }
3
+ class ModelBeforeUpdateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return ModelBeforeUpdateEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "Cms/Model/BeforeUpdate";
9
+ }
16
10
  }
17
-
18
- /** Hook into model lifecycle before a model is updated. */
19
- export const ModelBeforeUpdateEventHandler = createAbstraction("ModelBeforeUpdateEventHandler");
20
- /**
21
- * ModelAfterUpdateEvent - Published after updating a model
22
- */
23
- export class ModelAfterUpdateEvent extends DomainEvent {
24
- eventType = "Cms/Model/AfterUpdate";
25
- getHandlerAbstraction() {
26
- return ModelAfterUpdateEventHandler;
27
- }
11
+ const ModelBeforeUpdateEventHandler = createAbstraction("ModelBeforeUpdateEventHandler");
12
+ class ModelAfterUpdateEvent extends DomainEvent {
13
+ getHandlerAbstraction() {
14
+ return ModelAfterUpdateEventHandler;
15
+ }
16
+ constructor(...args){
17
+ super(...args), this.eventType = "Cms/Model/AfterUpdate";
18
+ }
28
19
  }
29
-
30
- /** Hook into model lifecycle after a model is updated. */
31
- export const ModelAfterUpdateEventHandler = createAbstraction("ModelAfterUpdateEventHandler");
32
- /**
33
- * ModelUpdateErrorEvent - Published when update fails
34
- */
35
- export class ModelUpdateErrorEvent extends DomainEvent {
36
- eventType = "Cms/Model/UpdateError";
37
- getHandlerAbstraction() {
38
- return ModelUpdateErrorEventHandler;
39
- }
20
+ const ModelAfterUpdateEventHandler = createAbstraction("ModelAfterUpdateEventHandler");
21
+ class ModelUpdateErrorEvent extends DomainEvent {
22
+ getHandlerAbstraction() {
23
+ return ModelUpdateErrorEventHandler;
24
+ }
25
+ constructor(...args){
26
+ super(...args), this.eventType = "Cms/Model/UpdateError";
27
+ }
40
28
  }
41
- export const ModelUpdateErrorEventHandler = createAbstraction("ModelUpdateErrorEventHandler");
29
+ const ModelUpdateErrorEventHandler = createAbstraction("ModelUpdateErrorEventHandler");
30
+ export { ModelAfterUpdateEvent, ModelAfterUpdateEventHandler, ModelBeforeUpdateEvent, ModelBeforeUpdateEventHandler, ModelUpdateErrorEvent, ModelUpdateErrorEventHandler };
42
31
 
43
32
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","ModelBeforeUpdateEvent","eventType","getHandlerAbstraction","ModelBeforeUpdateEventHandler","ModelAfterUpdateEvent","ModelAfterUpdateEventHandler","ModelUpdateErrorEvent","ModelUpdateErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { CmsModel, CmsModelUpdateInput } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface ModelBeforeUpdateEventPayload {\n model: CmsModel;\n original: CmsModel;\n input: CmsModelUpdateInput;\n}\n\nexport interface ModelAfterUpdateEventPayload {\n model: CmsModel;\n original: CmsModel;\n}\n\nexport interface ModelUpdateErrorEventPayload {\n input: CmsModelUpdateInput;\n model: CmsModel;\n original: CmsModel;\n error: Error;\n}\n\n/**\n * ModelBeforeUpdateEvent - Published before updating a model\n */\nexport class ModelBeforeUpdateEvent extends DomainEvent<ModelBeforeUpdateEventPayload> {\n eventType = \"Cms/Model/BeforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return ModelBeforeUpdateEventHandler;\n }\n}\n\n/** Hook into model lifecycle before a model is updated. */\nexport const ModelBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<ModelBeforeUpdateEvent>\n>(\"ModelBeforeUpdateEventHandler\");\n\nexport namespace ModelBeforeUpdateEventHandler {\n export type Interface = IEventHandler<ModelBeforeUpdateEvent>;\n export type Event = ModelBeforeUpdateEvent;\n}\n\n/**\n * ModelAfterUpdateEvent - Published after updating a model\n */\nexport class ModelAfterUpdateEvent extends DomainEvent<ModelAfterUpdateEventPayload> {\n eventType = \"Cms/Model/AfterUpdate\" as const;\n\n getHandlerAbstraction() {\n return ModelAfterUpdateEventHandler;\n }\n}\n\n/** Hook into model lifecycle after a model is updated. */\nexport const ModelAfterUpdateEventHandler = createAbstraction<IEventHandler<ModelAfterUpdateEvent>>(\n \"ModelAfterUpdateEventHandler\"\n);\n\nexport namespace ModelAfterUpdateEventHandler {\n export type Interface = IEventHandler<ModelAfterUpdateEvent>;\n export type Event = ModelAfterUpdateEvent;\n}\n\n/**\n * ModelUpdateErrorEvent - Published when update fails\n */\nexport class ModelUpdateErrorEvent extends DomainEvent<ModelUpdateErrorEventPayload> {\n eventType = \"Cms/Model/UpdateError\" as const;\n\n getHandlerAbstraction() {\n return ModelUpdateErrorEventHandler;\n }\n}\n\nexport const ModelUpdateErrorEventHandler = createAbstraction<IEventHandler<ModelUpdateErrorEvent>>(\n \"ModelUpdateErrorEventHandler\"\n);\n\nexport namespace ModelUpdateErrorEventHandler {\n export type Interface = IEventHandler<ModelUpdateErrorEvent>;\n export type Event = ModelUpdateErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,mDAAmD;;AAG/E;AACA;AACA;;AAmBA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASD,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;;AAEA;AACA,OAAO,MAAMA,6BAA6B,GAAGL,iBAAiB,CAE5D,+BAA+B,CAAC;AAOlC;AACA;AACA;AACA,OAAO,MAAMM,qBAAqB,SAASL,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,4BAA4B;EACvC;AACJ;;AAEA;AACA,OAAO,MAAMA,4BAA4B,GAAGP,iBAAiB,CACzD,8BACJ,CAAC;AAOD;AACA;AACA;AACA,OAAO,MAAMQ,qBAAqB,SAASP,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,4BAA4B;EACvC;AACJ;AAEA,OAAO,MAAMA,4BAA4B,GAAGT,iBAAiB,CACzD,8BACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/contentModel/UpdateModel/events.js","sources":["../../../../src/features/contentModel/UpdateModel/events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { CmsModel, CmsModelUpdateInput } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface ModelBeforeUpdateEventPayload {\n model: CmsModel;\n original: CmsModel;\n input: CmsModelUpdateInput;\n}\n\nexport interface ModelAfterUpdateEventPayload {\n model: CmsModel;\n original: CmsModel;\n}\n\nexport interface ModelUpdateErrorEventPayload {\n input: CmsModelUpdateInput;\n model: CmsModel;\n original: CmsModel;\n error: Error;\n}\n\n/**\n * ModelBeforeUpdateEvent - Published before updating a model\n */\nexport class ModelBeforeUpdateEvent extends DomainEvent<ModelBeforeUpdateEventPayload> {\n eventType = \"Cms/Model/BeforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return ModelBeforeUpdateEventHandler;\n }\n}\n\n/** Hook into model lifecycle before a model is updated. */\nexport const ModelBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<ModelBeforeUpdateEvent>\n>(\"ModelBeforeUpdateEventHandler\");\n\nexport namespace ModelBeforeUpdateEventHandler {\n export type Interface = IEventHandler<ModelBeforeUpdateEvent>;\n export type Event = ModelBeforeUpdateEvent;\n}\n\n/**\n * ModelAfterUpdateEvent - Published after updating a model\n */\nexport class ModelAfterUpdateEvent extends DomainEvent<ModelAfterUpdateEventPayload> {\n eventType = \"Cms/Model/AfterUpdate\" as const;\n\n getHandlerAbstraction() {\n return ModelAfterUpdateEventHandler;\n }\n}\n\n/** Hook into model lifecycle after a model is updated. */\nexport const ModelAfterUpdateEventHandler = createAbstraction<IEventHandler<ModelAfterUpdateEvent>>(\n \"ModelAfterUpdateEventHandler\"\n);\n\nexport namespace ModelAfterUpdateEventHandler {\n export type Interface = IEventHandler<ModelAfterUpdateEvent>;\n export type Event = ModelAfterUpdateEvent;\n}\n\n/**\n * ModelUpdateErrorEvent - Published when update fails\n */\nexport class ModelUpdateErrorEvent extends DomainEvent<ModelUpdateErrorEventPayload> {\n eventType = \"Cms/Model/UpdateError\" as const;\n\n getHandlerAbstraction() {\n return ModelUpdateErrorEventHandler;\n }\n}\n\nexport const ModelUpdateErrorEventHandler = createAbstraction<IEventHandler<ModelUpdateErrorEvent>>(\n \"ModelUpdateErrorEventHandler\"\n);\n\nexport namespace ModelUpdateErrorEventHandler {\n export type Interface = IEventHandler<ModelUpdateErrorEvent>;\n export type Event = ModelUpdateErrorEvent;\n}\n"],"names":["ModelBeforeUpdateEvent","DomainEvent","ModelBeforeUpdateEventHandler","createAbstraction","ModelAfterUpdateEvent","ModelAfterUpdateEventHandler","ModelUpdateErrorEvent","ModelUpdateErrorEventHandler"],"mappings":";;AA6BO,MAAMA,+BAA+BC;IAGxC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,gCAAgCC,kBAE3C;AAUK,MAAMC,8BAA8BH;IAGvC,wBAAwB;QACpB,OAAOI;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,+BAA+BF,kBACxC;AAWG,MAAMG,8BAA8BL;IAGvC,wBAAwB;QACpB,OAAOM;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAEO,MAAMA,+BAA+BJ,kBACxC"}
@@ -1,22 +1,13 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { UpdateModelUseCase } from "./UpdateModelUseCase.js";
3
3
  import { UpdateModelRepository } from "./UpdateModelRepository.js";
4
-
5
- /**
6
- * UpdateModel Feature
7
- *
8
- * Provides functionality for updating existing content models.
9
- * All validation (API name uniqueness, field validation) is handled by the repository.
10
- */
11
- export const UpdateModelFeature = createFeature({
12
- name: "UpdateModel",
13
- register(container) {
14
- // Register core use case
15
- container.register(UpdateModelUseCase);
16
-
17
- // Register repository in singleton scope (shared instance)
18
- container.register(UpdateModelRepository).inSingletonScope();
19
- }
4
+ const UpdateModelFeature = createFeature({
5
+ name: "UpdateModel",
6
+ register (container) {
7
+ container.register(UpdateModelUseCase);
8
+ container.register(UpdateModelRepository).inSingletonScope();
9
+ }
20
10
  });
11
+ export { UpdateModelFeature };
21
12
 
22
13
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","UpdateModelUseCase","UpdateModelRepository","UpdateModelFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateModelUseCase } from \"./UpdateModelUseCase.js\";\nimport { UpdateModelRepository } from \"./UpdateModelRepository.js\";\n\n/**\n * UpdateModel Feature\n *\n * Provides functionality for updating existing content models.\n * All validation (API name uniqueness, field validation) is handled by the repository.\n */\nexport const UpdateModelFeature = createFeature({\n name: \"UpdateModel\",\n register(container) {\n // Register core use case\n container.register(UpdateModelUseCase);\n\n // Register repository in singleton scope (shared instance)\n container.register(UpdateModelRepository).inSingletonScope();\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,kBAAkB;AAC3B,SAASC,qBAAqB;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAGH,aAAa,CAAC;EAC5CI,IAAI,EAAE,aAAa;EACnBC,QAAQA,CAACC,SAAS,EAAE;IAChB;IACAA,SAAS,CAACD,QAAQ,CAACJ,kBAAkB,CAAC;;IAEtC;IACAK,SAAS,CAACD,QAAQ,CAACH,qBAAqB,CAAC,CAACK,gBAAgB,CAAC,CAAC;EAChE;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/contentModel/UpdateModel/feature.js","sources":["../../../../src/features/contentModel/UpdateModel/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateModelUseCase } from \"./UpdateModelUseCase.js\";\nimport { UpdateModelRepository } from \"./UpdateModelRepository.js\";\n\n/**\n * UpdateModel Feature\n *\n * Provides functionality for updating existing content models.\n * All validation (API name uniqueness, field validation) is handled by the repository.\n */\nexport const UpdateModelFeature = createFeature({\n name: \"UpdateModel\",\n register(container) {\n // Register core use case\n container.register(UpdateModelUseCase);\n\n // Register repository in singleton scope (shared instance)\n container.register(UpdateModelRepository).inSingletonScope();\n }\n});\n"],"names":["UpdateModelFeature","createFeature","container","UpdateModelUseCase","UpdateModelRepository"],"mappings":";;;AAUO,MAAMA,qBAAqBC,cAAc;IAC5C,MAAM;IACN,UAASC,SAAS;QAEdA,UAAU,QAAQ,CAACC;QAGnBD,UAAU,QAAQ,CAACE,uBAAuB,gBAAgB;IAC9D;AACJ"}
@@ -1,4 +1,2 @@
1
- export { UpdateModelUseCase, UpdateModelRepository } from "./abstractions.js";
1
+ export { UpdateModelRepository, UpdateModelUseCase } from "./abstractions.js";
2
2
  export { ModelAfterUpdateEventHandler, ModelBeforeUpdateEventHandler } from "./events.js";
3
-
4
- //# sourceMappingURL=index.js.map
@@ -1,96 +1,81 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { ModelCache, ModelsFetcher as FetcherAbstraction } from "./abstractions.js";
3
- import { PluginModelsProvider } from "./abstractions.js";
2
+ import { ModelCache, ModelsFetcher, PluginModelsProvider } from "./abstractions.js";
4
3
  import { StorageOperations } from "../../shared/abstractions.js";
5
4
  import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
6
5
  import { ModelNotFoundError, ModelPersistenceError } from "../../../domain/contentModel/errors.js";
7
6
  import { createCacheKey } from "../../../utils/index.js";
8
7
  import { ensureTypeTag } from "../../../domain/contentModel/ensureTypeTag.js";
9
8
  import { ModelFieldCompression } from "../ModelFieldCompression/index.js";
10
-
11
- /**
12
- * ModelsFetcherImpl - Implementation with multi-level caching.
13
- *
14
- * Caching strategy:
15
- * 1. Plugin models are cached per tenant (with access control applied by PluginModelsProvider)
16
- * 2. Database models are cached per tenant (raw from DB)
17
- * 3. Filtered database models are cached per tenant + identity (with access control applied)
18
- * 4. Final merged list is cached per tenant + identity
19
- */
20
9
  class ModelsFetcherImpl {
21
- constructor(modelCache, pluginModelsProvider, storageOperations, tenantContext, modelFieldCompression) {
22
- this.modelCache = modelCache;
23
- this.pluginModelsProvider = pluginModelsProvider;
24
- this.storageOperations = storageOperations;
25
- this.tenantContext = tenantContext;
26
- this.modelFieldCompression = modelFieldCompression;
27
- }
28
- async fetchAll() {
29
- try {
30
- const tenant = this.tenantContext.getTenant();
31
-
32
- // Create a cache key based on tenant + identity
33
- const cacheKey = createCacheKey({
34
- tenant: tenant.id
35
- });
36
-
37
- // Fetch plugin models (with caching and access control)
38
- const pluginModels = await this.pluginModelsProvider.list(tenant.id);
39
-
40
- // Try to get from cache first
41
- const cached = await this.modelCache.getOrSet(cacheKey, async () => {
42
- return this.fetchAndMergeModels(tenant.id);
43
- });
44
- return Result.ok([...cached, ...pluginModels]);
45
- } catch (error) {
46
- return Result.fail(new ModelPersistenceError(error));
10
+ constructor(modelCache, pluginModelsProvider, storageOperations, tenantContext, modelFieldCompression){
11
+ this.modelCache = modelCache;
12
+ this.pluginModelsProvider = pluginModelsProvider;
13
+ this.storageOperations = storageOperations;
14
+ this.tenantContext = tenantContext;
15
+ this.modelFieldCompression = modelFieldCompression;
47
16
  }
48
- }
49
- async fetchById(modelId) {
50
- const result = await this.fetchAll();
51
- if (result.isFail()) {
52
- return Result.fail(new ModelPersistenceError(result.error));
17
+ async fetchAll() {
18
+ try {
19
+ const tenant = this.tenantContext.getTenant();
20
+ const cacheKey = createCacheKey({
21
+ tenant: tenant.id
22
+ });
23
+ const cached = await this.modelCache.getOrSet(cacheKey, async ()=>{
24
+ const pluginModels = await this.pluginModelsProvider.list(tenant.id);
25
+ const databaseModels = await this.fetchAndMergeModels(tenant.id);
26
+ return [
27
+ ...pluginModels,
28
+ ...databaseModels
29
+ ];
30
+ });
31
+ return Result.ok(cached);
32
+ } catch (error) {
33
+ return Result.fail(new ModelPersistenceError(error));
34
+ }
53
35
  }
54
- const model = result.value.find(m => m.modelId === modelId);
55
- if (!model) {
56
- return Result.fail(new ModelNotFoundError(modelId));
36
+ async fetchById(modelId) {
37
+ const result = await this.fetchAll();
38
+ if (result.isFail()) return Result.fail(new ModelPersistenceError(result.error));
39
+ const model = result.value.find((m)=>m.modelId === modelId);
40
+ if (!model) return Result.fail(new ModelNotFoundError(modelId));
41
+ return Result.ok(model);
42
+ }
43
+ async fetchAndMergeModels(tenant) {
44
+ const dbCacheKey = createCacheKey({
45
+ tenant,
46
+ id: "storage"
47
+ });
48
+ const databaseModels = await this.modelCache.getOrSet(dbCacheKey, async ()=>{
49
+ const models = await this.storageOperations.models.list({
50
+ where: {
51
+ tenant
52
+ }
53
+ });
54
+ return Promise.all(models.map(async (model)=>{
55
+ const fields = await this.modelFieldCompression.decompress(model.fields);
56
+ return {
57
+ ...model,
58
+ fields
59
+ };
60
+ }));
61
+ });
62
+ const taggedDatabaseModels = databaseModels.map((model)=>{
63
+ model.tags = ensureTypeTag(model);
64
+ return model;
65
+ });
66
+ return taggedDatabaseModels;
57
67
  }
58
- return Result.ok(model);
59
- }
60
- async fetchAndMergeModels(tenant) {
61
- // 1. Fetch database models (with caching)
62
- const dbCacheKey = createCacheKey({
63
- tenant,
64
- id: "storage"
65
- });
66
- const databaseModels = await this.modelCache.getOrSet(dbCacheKey, async () => {
67
- const models = await this.storageOperations.models.list({
68
- where: {
69
- tenant
70
- }
71
- });
72
- return Promise.all(models.map(async model => {
73
- const fields = await this.modelFieldCompression.decompress(model.fields);
74
- return {
75
- ...model,
76
- fields
77
- };
78
- }));
79
- });
80
-
81
- // 2. Ensure type tags on database models
82
- const taggedDatabaseModels = databaseModels.map(model => {
83
- model.tags = ensureTypeTag(model);
84
- return model;
85
- });
86
-
87
- // 3. Return merged models.
88
- return taggedDatabaseModels;
89
- }
90
68
  }
91
- export const ModelsFetcher = FetcherAbstraction.createImplementation({
92
- implementation: ModelsFetcherImpl,
93
- dependencies: [ModelCache, PluginModelsProvider, StorageOperations, TenantContext, ModelFieldCompression]
69
+ const ModelsFetcher_ModelsFetcher = ModelsFetcher.createImplementation({
70
+ implementation: ModelsFetcherImpl,
71
+ dependencies: [
72
+ ModelCache,
73
+ PluginModelsProvider,
74
+ StorageOperations,
75
+ TenantContext,
76
+ ModelFieldCompression
77
+ ]
94
78
  });
79
+ export { ModelsFetcher_ModelsFetcher as ModelsFetcher };
95
80
 
96
81
  //# sourceMappingURL=ModelsFetcher.js.map