@webiny/api-headless-cms-workflows 0.0.0-unstable.0156a4c312

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 (471) hide show
  1. package/CmsWorkflowsFeature.d.ts +4 -0
  2. package/CmsWorkflowsFeature.js +28 -0
  3. package/CmsWorkflowsFeature.js.map +1 -0
  4. package/LICENSE +21 -0
  5. package/README.md +11 -0
  6. package/domain/errors.d.ts +27 -0
  7. package/domain/errors.js +14 -0
  8. package/domain/errors.js.map +1 -0
  9. package/features/Workflows/feature.d.ts +4 -0
  10. package/features/Workflows/feature.js +13 -0
  11. package/features/Workflows/feature.js.map +1 -0
  12. package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeCreate.d.ts +23 -0
  13. package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeCreate.js +44 -0
  14. package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeCreate.js.map +1 -0
  15. package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeUpdate.d.ts +23 -0
  16. package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeUpdate.js +44 -0
  17. package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeUpdate.js.map +1 -0
  18. package/features/Workflows/index.d.ts +1 -0
  19. package/features/Workflows/index.js +1 -0
  20. package/features/hooks/BlockDeleteMultipleWhileInReview.d.ts +22 -0
  21. package/features/hooks/BlockDeleteMultipleWhileInReview.js +64 -0
  22. package/features/hooks/BlockDeleteMultipleWhileInReview.js.map +1 -0
  23. package/features/hooks/BlockDeleteWhileInReview.d.ts +18 -0
  24. package/features/hooks/BlockDeleteWhileInReview.js +45 -0
  25. package/features/hooks/BlockDeleteWhileInReview.js.map +1 -0
  26. package/features/hooks/BlockFolderChangeWhileInReview.d.ts +21 -0
  27. package/features/hooks/BlockFolderChangeWhileInReview.js +44 -0
  28. package/features/hooks/BlockFolderChangeWhileInReview.js.map +1 -0
  29. package/features/hooks/BlockMoveWhileInReview.d.ts +19 -0
  30. package/features/hooks/BlockMoveWhileInReview.js +46 -0
  31. package/features/hooks/BlockMoveWhileInReview.js.map +1 -0
  32. package/features/hooks/BlockRevisionDeleteWhileInReview.d.ts +17 -0
  33. package/features/hooks/BlockRevisionDeleteWhileInReview.js +46 -0
  34. package/features/hooks/BlockRevisionDeleteWhileInReview.js.map +1 -0
  35. package/features/hooks/BlockUpdateWhileInReview.d.ts +25 -0
  36. package/features/hooks/BlockUpdateWhileInReview.js +43 -0
  37. package/features/hooks/BlockUpdateWhileInReview.js.map +1 -0
  38. package/features/hooks/DeleteModelBoundToWorkflowDecorator.d.ts +22 -0
  39. package/features/hooks/DeleteModelBoundToWorkflowDecorator.js +52 -0
  40. package/features/hooks/DeleteModelBoundToWorkflowDecorator.js.map +1 -0
  41. package/features/hooks/DeleteModelTaskBoundToWorkflowDecorator.d.ts +27 -0
  42. package/features/hooks/DeleteModelTaskBoundToWorkflowDecorator.js +64 -0
  43. package/features/hooks/DeleteModelTaskBoundToWorkflowDecorator.js.map +1 -0
  44. package/features/hooks/DeleteReviewsOnEntriesDeleteMultiple.d.ts +19 -0
  45. package/features/hooks/DeleteReviewsOnEntriesDeleteMultiple.js +47 -0
  46. package/features/hooks/DeleteReviewsOnEntriesDeleteMultiple.js.map +1 -0
  47. package/features/hooks/DeleteReviewsOnEntryDelete.d.ts +19 -0
  48. package/features/hooks/DeleteReviewsOnEntryDelete.js +46 -0
  49. package/features/hooks/DeleteReviewsOnEntryDelete.js.map +1 -0
  50. package/features/hooks/DeleteReviewsOnRevisionDelete.d.ts +18 -0
  51. package/features/hooks/DeleteReviewsOnRevisionDelete.js +46 -0
  52. package/features/hooks/DeleteReviewsOnRevisionDelete.js.map +1 -0
  53. package/features/hooks/FullyDeleteModelBoundToWorkflowDecorator.d.ts +28 -0
  54. package/features/hooks/FullyDeleteModelBoundToWorkflowDecorator.js +63 -0
  55. package/features/hooks/FullyDeleteModelBoundToWorkflowDecorator.js.map +1 -0
  56. package/features/hooks/NullReviewStateOnRevisionCreate.d.ts +15 -0
  57. package/features/hooks/NullReviewStateOnRevisionCreate.js +17 -0
  58. package/features/hooks/NullReviewStateOnRevisionCreate.js.map +1 -0
  59. package/features/hooks/RequireApprovedReviewOnPublish.d.ts +22 -0
  60. package/features/hooks/RequireApprovedReviewOnPublish.js +43 -0
  61. package/features/hooks/RequireApprovedReviewOnPublish.js.map +1 -0
  62. package/features/hooks/RequireApprovedReviewOnRepublish.d.ts +23 -0
  63. package/features/hooks/RequireApprovedReviewOnRepublish.js +49 -0
  64. package/features/hooks/RequireApprovedReviewOnRepublish.js.map +1 -0
  65. package/features/hooks/feature.d.ts +8 -0
  66. package/features/hooks/feature.js +39 -0
  67. package/features/hooks/feature.js.map +1 -0
  68. package/features/target/CandidateFolderReadRules/CandidateFolderReadRules.d.ts +18 -0
  69. package/features/target/CandidateFolderReadRules/CandidateFolderReadRules.js +97 -0
  70. package/features/target/CandidateFolderReadRules/CandidateFolderReadRules.js.map +1 -0
  71. package/features/target/CandidateFolderReadRules/abstractions.d.ts +35 -0
  72. package/features/target/CandidateFolderReadRules/abstractions.js +5 -0
  73. package/features/target/CandidateFolderReadRules/abstractions.js.map +1 -0
  74. package/features/target/CandidateFolderReadRules/index.d.ts +1 -0
  75. package/features/target/CandidateFolderReadRules/index.js +1 -0
  76. package/features/target/CmsEntryAccess/CmsEntryAccess.d.ts +32 -0
  77. package/features/target/CmsEntryAccess/CmsEntryAccess.js +141 -0
  78. package/features/target/CmsEntryAccess/CmsEntryAccess.js.map +1 -0
  79. package/features/target/CmsEntryAccess/abstractions.d.ts +48 -0
  80. package/features/target/CmsEntryAccess/abstractions.js +5 -0
  81. package/features/target/CmsEntryAccess/abstractions.js.map +1 -0
  82. package/features/target/CmsEntryAccess/index.d.ts +2 -0
  83. package/features/target/CmsEntryAccess/index.js +2 -0
  84. package/features/target/CmsEntryAccess/unreadableCodes.d.ts +1 -0
  85. package/features/target/CmsEntryAccess/unreadableCodes.js +9 -0
  86. package/features/target/CmsEntryAccess/unreadableCodes.js.map +1 -0
  87. package/features/target/CmsEntryDeniedFolders/CmsEntryDeniedFolders.d.ts +21 -0
  88. package/features/target/CmsEntryDeniedFolders/CmsEntryDeniedFolders.js +66 -0
  89. package/features/target/CmsEntryDeniedFolders/CmsEntryDeniedFolders.js.map +1 -0
  90. package/features/target/CmsEntryDeniedFolders/abstractions.d.ts +23 -0
  91. package/features/target/CmsEntryDeniedFolders/abstractions.js +5 -0
  92. package/features/target/CmsEntryDeniedFolders/abstractions.js.map +1 -0
  93. package/features/target/CmsEntryDeniedFolders/index.d.ts +1 -0
  94. package/features/target/CmsEntryDeniedFolders/index.js +1 -0
  95. package/features/target/CmsEntryFolderExistsService/CmsEntryFolderExistsService.d.ts +18 -0
  96. package/features/target/CmsEntryFolderExistsService/CmsEntryFolderExistsService.js +43 -0
  97. package/features/target/CmsEntryFolderExistsService/CmsEntryFolderExistsService.js.map +1 -0
  98. package/features/target/CmsEntryFolderExistsService/abstractions.d.ts +23 -0
  99. package/features/target/CmsEntryFolderExistsService/abstractions.js +5 -0
  100. package/features/target/CmsEntryFolderExistsService/abstractions.js.map +1 -0
  101. package/features/target/CmsEntryFolderExistsService/index.d.ts +1 -0
  102. package/features/target/CmsEntryFolderExistsService/index.js +1 -0
  103. package/features/target/CmsEntryReviewNamespace/CmsModelReviewNamespace.d.ts +10 -0
  104. package/features/target/CmsEntryReviewNamespace/CmsModelReviewNamespace.js +14 -0
  105. package/features/target/CmsEntryReviewNamespace/CmsModelReviewNamespace.js.map +1 -0
  106. package/features/target/CmsEntryReviewNamespace/abstractions.d.ts +17 -0
  107. package/features/target/CmsEntryReviewNamespace/abstractions.js +5 -0
  108. package/features/target/CmsEntryReviewNamespace/abstractions.js.map +1 -0
  109. package/features/target/CmsEntryReviewNamespace/index.d.ts +1 -0
  110. package/features/target/CmsEntryReviewNamespace/index.js +1 -0
  111. package/features/target/CmsEntryReviewReadFilter/CmsEntryReviewReadFilter.d.ts +20 -0
  112. package/features/target/CmsEntryReviewReadFilter/CmsEntryReviewReadFilter.js +80 -0
  113. package/features/target/CmsEntryReviewReadFilter/CmsEntryReviewReadFilter.js.map +1 -0
  114. package/features/target/CmsEntryReviewReadFilter/abstractions.d.ts +24 -0
  115. package/features/target/CmsEntryReviewReadFilter/abstractions.js +5 -0
  116. package/features/target/CmsEntryReviewReadFilter/abstractions.js.map +1 -0
  117. package/features/target/CmsEntryReviewReadFilter/index.d.ts +1 -0
  118. package/features/target/CmsEntryReviewReadFilter/index.js +1 -0
  119. package/features/target/CmsEntryReviewTargetEditor.d.ts +28 -0
  120. package/features/target/CmsEntryReviewTargetEditor.js +128 -0
  121. package/features/target/CmsEntryReviewTargetEditor.js.map +1 -0
  122. package/features/target/CmsEntryReviewTargetFolderChain.d.ts +22 -0
  123. package/features/target/CmsEntryReviewTargetFolderChain.js +37 -0
  124. package/features/target/CmsEntryReviewTargetFolderChain.js.map +1 -0
  125. package/features/target/CmsEntryReviewTargetLink.d.ts +17 -0
  126. package/features/target/CmsEntryReviewTargetLink.js +18 -0
  127. package/features/target/CmsEntryReviewTargetLink.js.map +1 -0
  128. package/features/target/CmsEntryReviewTargetLoader.d.ts +16 -0
  129. package/features/target/CmsEntryReviewTargetLoader.js +29 -0
  130. package/features/target/CmsEntryReviewTargetLoader.js.map +1 -0
  131. package/features/target/CmsEntryReviewTargetReadAccess.d.ts +41 -0
  132. package/features/target/CmsEntryReviewTargetReadAccess.js +91 -0
  133. package/features/target/CmsEntryReviewTargetReadAccess.js.map +1 -0
  134. package/features/target/CmsEntryReviewTargetSync.d.ts +23 -0
  135. package/features/target/CmsEntryReviewTargetSync.js +42 -0
  136. package/features/target/CmsEntryReviewTargetSync.js.map +1 -0
  137. package/features/target/CmsEntryTargetReader/CmsEntryTargetReader.d.ts +27 -0
  138. package/features/target/CmsEntryTargetReader/CmsEntryTargetReader.js +81 -0
  139. package/features/target/CmsEntryTargetReader/CmsEntryTargetReader.js.map +1 -0
  140. package/features/target/CmsEntryTargetReader/abstractions.d.ts +40 -0
  141. package/features/target/CmsEntryTargetReader/abstractions.js +5 -0
  142. package/features/target/CmsEntryTargetReader/abstractions.js.map +1 -0
  143. package/features/target/CmsEntryTargetReader/index.d.ts +1 -0
  144. package/features/target/CmsEntryTargetReader/index.js +1 -0
  145. package/features/target/CmsModelGroupService/CmsModelGroupService.d.ts +12 -0
  146. package/features/target/CmsModelGroupService/CmsModelGroupService.js +25 -0
  147. package/features/target/CmsModelGroupService/CmsModelGroupService.js.map +1 -0
  148. package/features/target/CmsModelGroupService/abstractions.d.ts +24 -0
  149. package/features/target/CmsModelGroupService/abstractions.js +5 -0
  150. package/features/target/CmsModelGroupService/abstractions.js.map +1 -0
  151. package/features/target/CmsModelGroupService/index.d.ts +1 -0
  152. package/features/target/CmsModelGroupService/index.js +1 -0
  153. package/features/target/CmsWorkflowModelParser.d.ts +9 -0
  154. package/features/target/CmsWorkflowModelParser.js +18 -0
  155. package/features/target/CmsWorkflowModelParser.js.map +1 -0
  156. package/features/target/FolderReadRule.d.ts +9 -0
  157. package/features/target/FolderReadRule.js +0 -0
  158. package/features/target/WorkflowEntrySystemField.d.ts +13 -0
  159. package/features/target/WorkflowEntrySystemField.js +35 -0
  160. package/features/target/WorkflowEntrySystemField.js.map +1 -0
  161. package/features/target/feature.d.ts +5 -0
  162. package/features/target/feature.js +41 -0
  163. package/features/target/feature.js.map +1 -0
  164. package/features/target/getModelSafeValidationMessage.d.ts +11 -0
  165. package/features/target/getModelSafeValidationMessage.js +28 -0
  166. package/features/target/getModelSafeValidationMessage.js.map +1 -0
  167. package/features/target/isEditorFieldValue.d.ts +9 -0
  168. package/features/target/isEditorFieldValue.js +30 -0
  169. package/features/target/isEditorFieldValue.js.map +1 -0
  170. package/features/target/toCmsReviewTarget.d.ts +4 -0
  171. package/features/target/toCmsReviewTarget.js +26 -0
  172. package/features/target/toCmsReviewTarget.js.map +1 -0
  173. package/features/target/toEditorFields.d.ts +9 -0
  174. package/features/target/toEditorFields.js +48 -0
  175. package/features/target/toEditorFields.js.map +1 -0
  176. package/features/target/toEntryValuesPatch.d.ts +9 -0
  177. package/features/target/toEntryValuesPatch.js +31 -0
  178. package/features/target/toEntryValuesPatch.js.map +1 -0
  179. package/features/wrappers/ApproveCmsEntryReviewStep/ApproveCmsEntryReviewStepUseCase.d.ts +13 -0
  180. package/features/wrappers/ApproveCmsEntryReviewStep/ApproveCmsEntryReviewStepUseCase.js +35 -0
  181. package/features/wrappers/ApproveCmsEntryReviewStep/ApproveCmsEntryReviewStepUseCase.js.map +1 -0
  182. package/features/wrappers/ApproveCmsEntryReviewStep/abstractions.d.ts +26 -0
  183. package/features/wrappers/ApproveCmsEntryReviewStep/abstractions.js +5 -0
  184. package/features/wrappers/ApproveCmsEntryReviewStep/abstractions.js.map +1 -0
  185. package/features/wrappers/ApproveCmsEntryReviewStep/feature.d.ts +4 -0
  186. package/features/wrappers/ApproveCmsEntryReviewStep/feature.js +11 -0
  187. package/features/wrappers/ApproveCmsEntryReviewStep/feature.js.map +1 -0
  188. package/features/wrappers/ApproveCmsEntryReviewStep/index.d.ts +1 -0
  189. package/features/wrappers/ApproveCmsEntryReviewStep/index.js +1 -0
  190. package/features/wrappers/CancelCmsEntryReview/CancelCmsEntryReviewUseCase.d.ts +13 -0
  191. package/features/wrappers/CancelCmsEntryReview/CancelCmsEntryReviewUseCase.js +37 -0
  192. package/features/wrappers/CancelCmsEntryReview/CancelCmsEntryReviewUseCase.js.map +1 -0
  193. package/features/wrappers/CancelCmsEntryReview/abstractions.d.ts +30 -0
  194. package/features/wrappers/CancelCmsEntryReview/abstractions.js +5 -0
  195. package/features/wrappers/CancelCmsEntryReview/abstractions.js.map +1 -0
  196. package/features/wrappers/CancelCmsEntryReview/feature.d.ts +4 -0
  197. package/features/wrappers/CancelCmsEntryReview/feature.js +11 -0
  198. package/features/wrappers/CancelCmsEntryReview/feature.js.map +1 -0
  199. package/features/wrappers/CancelCmsEntryReview/index.d.ts +1 -0
  200. package/features/wrappers/CancelCmsEntryReview/index.js +1 -0
  201. package/features/wrappers/CancelCmsEntryReviewsForDelete/CancelCmsEntryReviewsForDeleteUseCase.d.ts +19 -0
  202. package/features/wrappers/CancelCmsEntryReviewsForDelete/CancelCmsEntryReviewsForDeleteUseCase.js +85 -0
  203. package/features/wrappers/CancelCmsEntryReviewsForDelete/CancelCmsEntryReviewsForDeleteUseCase.js.map +1 -0
  204. package/features/wrappers/CancelCmsEntryReviewsForDelete/abstractions.d.ts +41 -0
  205. package/features/wrappers/CancelCmsEntryReviewsForDelete/abstractions.js +5 -0
  206. package/features/wrappers/CancelCmsEntryReviewsForDelete/abstractions.js.map +1 -0
  207. package/features/wrappers/CancelCmsEntryReviewsForDelete/feature.d.ts +4 -0
  208. package/features/wrappers/CancelCmsEntryReviewsForDelete/feature.js +11 -0
  209. package/features/wrappers/CancelCmsEntryReviewsForDelete/feature.js.map +1 -0
  210. package/features/wrappers/CancelCmsEntryReviewsForDelete/index.d.ts +1 -0
  211. package/features/wrappers/CancelCmsEntryReviewsForDelete/index.js +1 -0
  212. package/features/wrappers/CmsEntryFolderExists/CmsEntryFolderExistsUseCase.d.ts +15 -0
  213. package/features/wrappers/CmsEntryFolderExists/CmsEntryFolderExistsUseCase.js +46 -0
  214. package/features/wrappers/CmsEntryFolderExists/CmsEntryFolderExistsUseCase.js.map +1 -0
  215. package/features/wrappers/CmsEntryFolderExists/abstractions.d.ts +29 -0
  216. package/features/wrappers/CmsEntryFolderExists/abstractions.js +5 -0
  217. package/features/wrappers/CmsEntryFolderExists/abstractions.js.map +1 -0
  218. package/features/wrappers/CmsEntryFolderExists/feature.d.ts +4 -0
  219. package/features/wrappers/CmsEntryFolderExists/feature.js +11 -0
  220. package/features/wrappers/CmsEntryFolderExists/feature.js.map +1 -0
  221. package/features/wrappers/CmsEntryFolderExists/index.d.ts +1 -0
  222. package/features/wrappers/CmsEntryFolderExists/index.js +1 -0
  223. package/features/wrappers/CmsEntryReviewGuardService/CmsEntryReviewGuardService.d.ts +17 -0
  224. package/features/wrappers/CmsEntryReviewGuardService/CmsEntryReviewGuardService.js +63 -0
  225. package/features/wrappers/CmsEntryReviewGuardService/CmsEntryReviewGuardService.js.map +1 -0
  226. package/features/wrappers/CmsEntryReviewGuardService/abstractions.d.ts +37 -0
  227. package/features/wrappers/CmsEntryReviewGuardService/abstractions.js +5 -0
  228. package/features/wrappers/CmsEntryReviewGuardService/abstractions.js.map +1 -0
  229. package/features/wrappers/CmsEntryReviewGuardService/index.d.ts +1 -0
  230. package/features/wrappers/CmsEntryReviewGuardService/index.js +1 -0
  231. package/features/wrappers/DeleteCmsEntryWorkflow/DeleteCmsEntryWorkflowUseCase.d.ts +25 -0
  232. package/features/wrappers/DeleteCmsEntryWorkflow/DeleteCmsEntryWorkflowUseCase.js +98 -0
  233. package/features/wrappers/DeleteCmsEntryWorkflow/DeleteCmsEntryWorkflowUseCase.js.map +1 -0
  234. package/features/wrappers/DeleteCmsEntryWorkflow/abstractions.d.ts +32 -0
  235. package/features/wrappers/DeleteCmsEntryWorkflow/abstractions.js +5 -0
  236. package/features/wrappers/DeleteCmsEntryWorkflow/abstractions.js.map +1 -0
  237. package/features/wrappers/DeleteCmsEntryWorkflow/feature.d.ts +4 -0
  238. package/features/wrappers/DeleteCmsEntryWorkflow/feature.js +11 -0
  239. package/features/wrappers/DeleteCmsEntryWorkflow/feature.js.map +1 -0
  240. package/features/wrappers/DeleteCmsEntryWorkflow/index.d.ts +1 -0
  241. package/features/wrappers/DeleteCmsEntryWorkflow/index.js +1 -0
  242. package/features/wrappers/GetCmsEntryReview/GetCmsEntryReviewUseCase.d.ts +13 -0
  243. package/features/wrappers/GetCmsEntryReview/GetCmsEntryReviewUseCase.js +40 -0
  244. package/features/wrappers/GetCmsEntryReview/GetCmsEntryReviewUseCase.js.map +1 -0
  245. package/features/wrappers/GetCmsEntryReview/abstractions.d.ts +28 -0
  246. package/features/wrappers/GetCmsEntryReview/abstractions.js +5 -0
  247. package/features/wrappers/GetCmsEntryReview/abstractions.js.map +1 -0
  248. package/features/wrappers/GetCmsEntryReview/feature.d.ts +4 -0
  249. package/features/wrappers/GetCmsEntryReview/feature.js +11 -0
  250. package/features/wrappers/GetCmsEntryReview/feature.js.map +1 -0
  251. package/features/wrappers/GetCmsEntryReview/index.d.ts +1 -0
  252. package/features/wrappers/GetCmsEntryReview/index.js +1 -0
  253. package/features/wrappers/GetCmsEntryReviewStepRun/GetCmsEntryReviewStepRunUseCase.d.ts +13 -0
  254. package/features/wrappers/GetCmsEntryReviewStepRun/GetCmsEntryReviewStepRunUseCase.js +39 -0
  255. package/features/wrappers/GetCmsEntryReviewStepRun/GetCmsEntryReviewStepRunUseCase.js.map +1 -0
  256. package/features/wrappers/GetCmsEntryReviewStepRun/abstractions.d.ts +33 -0
  257. package/features/wrappers/GetCmsEntryReviewStepRun/abstractions.js +5 -0
  258. package/features/wrappers/GetCmsEntryReviewStepRun/abstractions.js.map +1 -0
  259. package/features/wrappers/GetCmsEntryReviewStepRun/feature.d.ts +4 -0
  260. package/features/wrappers/GetCmsEntryReviewStepRun/feature.js +11 -0
  261. package/features/wrappers/GetCmsEntryReviewStepRun/feature.js.map +1 -0
  262. package/features/wrappers/GetCmsEntryReviewStepRun/index.d.ts +1 -0
  263. package/features/wrappers/GetCmsEntryReviewStepRun/index.js +1 -0
  264. package/features/wrappers/GetCmsEntryTargetReview/GetCmsEntryTargetReviewUseCase.d.ts +19 -0
  265. package/features/wrappers/GetCmsEntryTargetReview/GetCmsEntryTargetReviewUseCase.js +76 -0
  266. package/features/wrappers/GetCmsEntryTargetReview/GetCmsEntryTargetReviewUseCase.js.map +1 -0
  267. package/features/wrappers/GetCmsEntryTargetReview/abstractions.d.ts +36 -0
  268. package/features/wrappers/GetCmsEntryTargetReview/abstractions.js +5 -0
  269. package/features/wrappers/GetCmsEntryTargetReview/abstractions.js.map +1 -0
  270. package/features/wrappers/GetCmsEntryTargetReview/feature.d.ts +4 -0
  271. package/features/wrappers/GetCmsEntryTargetReview/feature.js +11 -0
  272. package/features/wrappers/GetCmsEntryTargetReview/feature.js.map +1 -0
  273. package/features/wrappers/GetCmsEntryTargetReview/index.d.ts +1 -0
  274. package/features/wrappers/GetCmsEntryTargetReview/index.js +1 -0
  275. package/features/wrappers/GetCmsEntryWorkflow/GetCmsEntryWorkflowUseCase.d.ts +13 -0
  276. package/features/wrappers/GetCmsEntryWorkflow/GetCmsEntryWorkflowUseCase.js +34 -0
  277. package/features/wrappers/GetCmsEntryWorkflow/GetCmsEntryWorkflowUseCase.js.map +1 -0
  278. package/features/wrappers/GetCmsEntryWorkflow/abstractions.d.ts +24 -0
  279. package/features/wrappers/GetCmsEntryWorkflow/abstractions.js +5 -0
  280. package/features/wrappers/GetCmsEntryWorkflow/abstractions.js.map +1 -0
  281. package/features/wrappers/GetCmsEntryWorkflow/feature.d.ts +4 -0
  282. package/features/wrappers/GetCmsEntryWorkflow/feature.js +11 -0
  283. package/features/wrappers/GetCmsEntryWorkflow/feature.js.map +1 -0
  284. package/features/wrappers/GetCmsEntryWorkflow/index.d.ts +1 -0
  285. package/features/wrappers/GetCmsEntryWorkflow/index.js +1 -0
  286. package/features/wrappers/InspectCmsEntryRouting/InspectCmsEntryRoutingUseCase.d.ts +19 -0
  287. package/features/wrappers/InspectCmsEntryRouting/InspectCmsEntryRoutingUseCase.js +54 -0
  288. package/features/wrappers/InspectCmsEntryRouting/InspectCmsEntryRoutingUseCase.js.map +1 -0
  289. package/features/wrappers/InspectCmsEntryRouting/abstractions.d.ts +37 -0
  290. package/features/wrappers/InspectCmsEntryRouting/abstractions.js +5 -0
  291. package/features/wrappers/InspectCmsEntryRouting/abstractions.js.map +1 -0
  292. package/features/wrappers/InspectCmsEntryRouting/feature.d.ts +4 -0
  293. package/features/wrappers/InspectCmsEntryRouting/feature.js +11 -0
  294. package/features/wrappers/InspectCmsEntryRouting/feature.js.map +1 -0
  295. package/features/wrappers/InspectCmsEntryRouting/index.d.ts +1 -0
  296. package/features/wrappers/InspectCmsEntryRouting/index.js +1 -0
  297. package/features/wrappers/ListCmsEntryBlockingReviews/ListCmsEntryBlockingReviewsUseCase.d.ts +25 -0
  298. package/features/wrappers/ListCmsEntryBlockingReviews/ListCmsEntryBlockingReviewsUseCase.js +109 -0
  299. package/features/wrappers/ListCmsEntryBlockingReviews/ListCmsEntryBlockingReviewsUseCase.js.map +1 -0
  300. package/features/wrappers/ListCmsEntryBlockingReviews/abstractions.d.ts +36 -0
  301. package/features/wrappers/ListCmsEntryBlockingReviews/abstractions.js +6 -0
  302. package/features/wrappers/ListCmsEntryBlockingReviews/abstractions.js.map +1 -0
  303. package/features/wrappers/ListCmsEntryBlockingReviews/feature.d.ts +4 -0
  304. package/features/wrappers/ListCmsEntryBlockingReviews/feature.js +11 -0
  305. package/features/wrappers/ListCmsEntryBlockingReviews/feature.js.map +1 -0
  306. package/features/wrappers/ListCmsEntryBlockingReviews/index.d.ts +1 -0
  307. package/features/wrappers/ListCmsEntryBlockingReviews/index.js +1 -0
  308. package/features/wrappers/ListCmsEntryReviewStepCandidates/ListCmsEntryReviewStepCandidatesUseCase.d.ts +13 -0
  309. package/features/wrappers/ListCmsEntryReviewStepCandidates/ListCmsEntryReviewStepCandidatesUseCase.js +41 -0
  310. package/features/wrappers/ListCmsEntryReviewStepCandidates/ListCmsEntryReviewStepCandidatesUseCase.js.map +1 -0
  311. package/features/wrappers/ListCmsEntryReviewStepCandidates/abstractions.d.ts +30 -0
  312. package/features/wrappers/ListCmsEntryReviewStepCandidates/abstractions.js +5 -0
  313. package/features/wrappers/ListCmsEntryReviewStepCandidates/abstractions.js.map +1 -0
  314. package/features/wrappers/ListCmsEntryReviewStepCandidates/feature.d.ts +4 -0
  315. package/features/wrappers/ListCmsEntryReviewStepCandidates/feature.js +11 -0
  316. package/features/wrappers/ListCmsEntryReviewStepCandidates/feature.js.map +1 -0
  317. package/features/wrappers/ListCmsEntryReviewStepCandidates/index.d.ts +1 -0
  318. package/features/wrappers/ListCmsEntryReviewStepCandidates/index.js +1 -0
  319. package/features/wrappers/ListCmsEntryReviews/ListCmsEntryReviewsUseCase.d.ts +17 -0
  320. package/features/wrappers/ListCmsEntryReviews/ListCmsEntryReviewsUseCase.js +85 -0
  321. package/features/wrappers/ListCmsEntryReviews/ListCmsEntryReviewsUseCase.js.map +1 -0
  322. package/features/wrappers/ListCmsEntryReviews/abstractions.d.ts +50 -0
  323. package/features/wrappers/ListCmsEntryReviews/abstractions.js +5 -0
  324. package/features/wrappers/ListCmsEntryReviews/abstractions.js.map +1 -0
  325. package/features/wrappers/ListCmsEntryReviews/feature.d.ts +4 -0
  326. package/features/wrappers/ListCmsEntryReviews/feature.js +11 -0
  327. package/features/wrappers/ListCmsEntryReviews/feature.js.map +1 -0
  328. package/features/wrappers/ListCmsEntryReviews/index.d.ts +1 -0
  329. package/features/wrappers/ListCmsEntryReviews/index.js +1 -0
  330. package/features/wrappers/ListCmsEntryStepCandidates/ListCmsEntryStepCandidatesUseCase.d.ts +25 -0
  331. package/features/wrappers/ListCmsEntryStepCandidates/ListCmsEntryStepCandidatesUseCase.js +83 -0
  332. package/features/wrappers/ListCmsEntryStepCandidates/ListCmsEntryStepCandidatesUseCase.js.map +1 -0
  333. package/features/wrappers/ListCmsEntryStepCandidates/abstractions.d.ts +41 -0
  334. package/features/wrappers/ListCmsEntryStepCandidates/abstractions.js +5 -0
  335. package/features/wrappers/ListCmsEntryStepCandidates/abstractions.js.map +1 -0
  336. package/features/wrappers/ListCmsEntryStepCandidates/feature.d.ts +4 -0
  337. package/features/wrappers/ListCmsEntryStepCandidates/feature.js +11 -0
  338. package/features/wrappers/ListCmsEntryStepCandidates/feature.js.map +1 -0
  339. package/features/wrappers/ListCmsEntryStepCandidates/index.d.ts +1 -0
  340. package/features/wrappers/ListCmsEntryStepCandidates/index.js +1 -0
  341. package/features/wrappers/ListCmsEntryWorkflowModels/ListCmsEntryWorkflowModelsUseCase.d.ts +17 -0
  342. package/features/wrappers/ListCmsEntryWorkflowModels/ListCmsEntryWorkflowModelsUseCase.js +106 -0
  343. package/features/wrappers/ListCmsEntryWorkflowModels/ListCmsEntryWorkflowModelsUseCase.js.map +1 -0
  344. package/features/wrappers/ListCmsEntryWorkflowModels/abstractions.d.ts +58 -0
  345. package/features/wrappers/ListCmsEntryWorkflowModels/abstractions.js +5 -0
  346. package/features/wrappers/ListCmsEntryWorkflowModels/abstractions.js.map +1 -0
  347. package/features/wrappers/ListCmsEntryWorkflowModels/feature.d.ts +4 -0
  348. package/features/wrappers/ListCmsEntryWorkflowModels/feature.js +11 -0
  349. package/features/wrappers/ListCmsEntryWorkflowModels/feature.js.map +1 -0
  350. package/features/wrappers/ListCmsEntryWorkflowModels/index.d.ts +2 -0
  351. package/features/wrappers/ListCmsEntryWorkflowModels/index.js +1 -0
  352. package/features/wrappers/ListCmsEntryWorkflowModels/modelListCursor.d.ts +8 -0
  353. package/features/wrappers/ListCmsEntryWorkflowModels/modelListCursor.js +20 -0
  354. package/features/wrappers/ListCmsEntryWorkflowModels/modelListCursor.js.map +1 -0
  355. package/features/wrappers/ListCmsEntryWorkflows/ListCmsEntryWorkflowsUseCase.d.ts +17 -0
  356. package/features/wrappers/ListCmsEntryWorkflows/ListCmsEntryWorkflowsUseCase.js +43 -0
  357. package/features/wrappers/ListCmsEntryWorkflows/ListCmsEntryWorkflowsUseCase.js.map +1 -0
  358. package/features/wrappers/ListCmsEntryWorkflows/abstractions.d.ts +24 -0
  359. package/features/wrappers/ListCmsEntryWorkflows/abstractions.js +5 -0
  360. package/features/wrappers/ListCmsEntryWorkflows/abstractions.js.map +1 -0
  361. package/features/wrappers/ListCmsEntryWorkflows/feature.d.ts +4 -0
  362. package/features/wrappers/ListCmsEntryWorkflows/feature.js +11 -0
  363. package/features/wrappers/ListCmsEntryWorkflows/feature.js.map +1 -0
  364. package/features/wrappers/ListCmsEntryWorkflows/index.d.ts +1 -0
  365. package/features/wrappers/ListCmsEntryWorkflows/index.js +1 -0
  366. package/features/wrappers/ReassignCmsEntryReviewStep/ReassignCmsEntryReviewStepUseCase.d.ts +13 -0
  367. package/features/wrappers/ReassignCmsEntryReviewStep/ReassignCmsEntryReviewStepUseCase.js +40 -0
  368. package/features/wrappers/ReassignCmsEntryReviewStep/ReassignCmsEntryReviewStepUseCase.js.map +1 -0
  369. package/features/wrappers/ReassignCmsEntryReviewStep/abstractions.d.ts +32 -0
  370. package/features/wrappers/ReassignCmsEntryReviewStep/abstractions.js +5 -0
  371. package/features/wrappers/ReassignCmsEntryReviewStep/abstractions.js.map +1 -0
  372. package/features/wrappers/ReassignCmsEntryReviewStep/feature.d.ts +4 -0
  373. package/features/wrappers/ReassignCmsEntryReviewStep/feature.js +11 -0
  374. package/features/wrappers/ReassignCmsEntryReviewStep/feature.js.map +1 -0
  375. package/features/wrappers/ReassignCmsEntryReviewStep/index.d.ts +1 -0
  376. package/features/wrappers/ReassignCmsEntryReviewStep/index.js +1 -0
  377. package/features/wrappers/RejectCmsEntryReviewStep/RejectCmsEntryReviewStepUseCase.d.ts +13 -0
  378. package/features/wrappers/RejectCmsEntryReviewStep/RejectCmsEntryReviewStepUseCase.js +35 -0
  379. package/features/wrappers/RejectCmsEntryReviewStep/RejectCmsEntryReviewStepUseCase.js.map +1 -0
  380. package/features/wrappers/RejectCmsEntryReviewStep/abstractions.d.ts +26 -0
  381. package/features/wrappers/RejectCmsEntryReviewStep/abstractions.js +5 -0
  382. package/features/wrappers/RejectCmsEntryReviewStep/abstractions.js.map +1 -0
  383. package/features/wrappers/RejectCmsEntryReviewStep/feature.d.ts +4 -0
  384. package/features/wrappers/RejectCmsEntryReviewStep/feature.js +11 -0
  385. package/features/wrappers/RejectCmsEntryReviewStep/feature.js.map +1 -0
  386. package/features/wrappers/RejectCmsEntryReviewStep/index.d.ts +1 -0
  387. package/features/wrappers/RejectCmsEntryReviewStep/index.js +1 -0
  388. package/features/wrappers/RequestCmsEntryReview/RequestCmsEntryReviewUseCase.d.ts +21 -0
  389. package/features/wrappers/RequestCmsEntryReview/RequestCmsEntryReviewUseCase.js +63 -0
  390. package/features/wrappers/RequestCmsEntryReview/RequestCmsEntryReviewUseCase.js.map +1 -0
  391. package/features/wrappers/RequestCmsEntryReview/abstractions.d.ts +38 -0
  392. package/features/wrappers/RequestCmsEntryReview/abstractions.js +5 -0
  393. package/features/wrappers/RequestCmsEntryReview/abstractions.js.map +1 -0
  394. package/features/wrappers/RequestCmsEntryReview/feature.d.ts +4 -0
  395. package/features/wrappers/RequestCmsEntryReview/feature.js +11 -0
  396. package/features/wrappers/RequestCmsEntryReview/feature.js.map +1 -0
  397. package/features/wrappers/RequestCmsEntryReview/index.d.ts +1 -0
  398. package/features/wrappers/RequestCmsEntryReview/index.js +1 -0
  399. package/features/wrappers/RestartCmsEntryReviewStep/RestartCmsEntryReviewStepUseCase.d.ts +13 -0
  400. package/features/wrappers/RestartCmsEntryReviewStep/RestartCmsEntryReviewStepUseCase.js +39 -0
  401. package/features/wrappers/RestartCmsEntryReviewStep/RestartCmsEntryReviewStepUseCase.js.map +1 -0
  402. package/features/wrappers/RestartCmsEntryReviewStep/abstractions.d.ts +30 -0
  403. package/features/wrappers/RestartCmsEntryReviewStep/abstractions.js +5 -0
  404. package/features/wrappers/RestartCmsEntryReviewStep/abstractions.js.map +1 -0
  405. package/features/wrappers/RestartCmsEntryReviewStep/feature.d.ts +4 -0
  406. package/features/wrappers/RestartCmsEntryReviewStep/feature.js +11 -0
  407. package/features/wrappers/RestartCmsEntryReviewStep/feature.js.map +1 -0
  408. package/features/wrappers/RestartCmsEntryReviewStep/index.d.ts +1 -0
  409. package/features/wrappers/RestartCmsEntryReviewStep/index.js +1 -0
  410. package/features/wrappers/StartCmsEntryReviewStep/StartCmsEntryReviewStepUseCase.d.ts +13 -0
  411. package/features/wrappers/StartCmsEntryReviewStep/StartCmsEntryReviewStepUseCase.js +34 -0
  412. package/features/wrappers/StartCmsEntryReviewStep/StartCmsEntryReviewStepUseCase.js.map +1 -0
  413. package/features/wrappers/StartCmsEntryReviewStep/abstractions.d.ts +25 -0
  414. package/features/wrappers/StartCmsEntryReviewStep/abstractions.js +5 -0
  415. package/features/wrappers/StartCmsEntryReviewStep/abstractions.js.map +1 -0
  416. package/features/wrappers/StartCmsEntryReviewStep/feature.d.ts +4 -0
  417. package/features/wrappers/StartCmsEntryReviewStep/feature.js +11 -0
  418. package/features/wrappers/StartCmsEntryReviewStep/feature.js.map +1 -0
  419. package/features/wrappers/StartCmsEntryReviewStep/index.d.ts +1 -0
  420. package/features/wrappers/StartCmsEntryReviewStep/index.js +1 -0
  421. package/features/wrappers/StoreCmsEntryWorkflow/StoreCmsEntryWorkflowUseCase.d.ts +17 -0
  422. package/features/wrappers/StoreCmsEntryWorkflow/StoreCmsEntryWorkflowUseCase.js +57 -0
  423. package/features/wrappers/StoreCmsEntryWorkflow/StoreCmsEntryWorkflowUseCase.js.map +1 -0
  424. package/features/wrappers/StoreCmsEntryWorkflow/abstractions.d.ts +32 -0
  425. package/features/wrappers/StoreCmsEntryWorkflow/abstractions.js +5 -0
  426. package/features/wrappers/StoreCmsEntryWorkflow/abstractions.js.map +1 -0
  427. package/features/wrappers/StoreCmsEntryWorkflow/feature.d.ts +4 -0
  428. package/features/wrappers/StoreCmsEntryWorkflow/feature.js +11 -0
  429. package/features/wrappers/StoreCmsEntryWorkflow/feature.js.map +1 -0
  430. package/features/wrappers/StoreCmsEntryWorkflow/index.d.ts +1 -0
  431. package/features/wrappers/StoreCmsEntryWorkflow/index.js +1 -0
  432. package/features/wrappers/TakeOverCmsEntryReviewStep/TakeOverCmsEntryReviewStepUseCase.d.ts +13 -0
  433. package/features/wrappers/TakeOverCmsEntryReviewStep/TakeOverCmsEntryReviewStepUseCase.js +35 -0
  434. package/features/wrappers/TakeOverCmsEntryReviewStep/TakeOverCmsEntryReviewStepUseCase.js.map +1 -0
  435. package/features/wrappers/TakeOverCmsEntryReviewStep/abstractions.d.ts +27 -0
  436. package/features/wrappers/TakeOverCmsEntryReviewStep/abstractions.js +5 -0
  437. package/features/wrappers/TakeOverCmsEntryReviewStep/abstractions.js.map +1 -0
  438. package/features/wrappers/TakeOverCmsEntryReviewStep/feature.d.ts +4 -0
  439. package/features/wrappers/TakeOverCmsEntryReviewStep/feature.js +11 -0
  440. package/features/wrappers/TakeOverCmsEntryReviewStep/feature.js.map +1 -0
  441. package/features/wrappers/TakeOverCmsEntryReviewStep/index.d.ts +1 -0
  442. package/features/wrappers/TakeOverCmsEntryReviewStep/index.js +1 -0
  443. package/features/wrappers/feature.d.ts +9 -0
  444. package/features/wrappers/feature.js +57 -0
  445. package/features/wrappers/feature.js.map +1 -0
  446. package/features/wrappers/shared/cmsWorkflows.d.ts +6 -0
  447. package/features/wrappers/shared/cmsWorkflows.js +8 -0
  448. package/features/wrappers/shared/cmsWorkflows.js.map +1 -0
  449. package/graphql/CmsWorkflowsSchemaFactory.d.ts +14 -0
  450. package/graphql/CmsWorkflowsSchemaFactory.js +695 -0
  451. package/graphql/CmsWorkflowsSchemaFactory.js.map +1 -0
  452. package/graphql/entrySystemSchema.d.ts +6 -0
  453. package/graphql/entrySystemSchema.js +19 -0
  454. package/graphql/entrySystemSchema.js.map +1 -0
  455. package/graphql/isValidRevisionId.d.ts +6 -0
  456. package/graphql/isValidRevisionId.js +9 -0
  457. package/graphql/isValidRevisionId.js.map +1 -0
  458. package/index.d.ts +2 -0
  459. package/index.js +1 -0
  460. package/package.json +51 -0
  461. package/types.d.ts +24 -0
  462. package/types.js +0 -0
  463. package/utils/appName.d.ts +11 -0
  464. package/utils/appName.js +11 -0
  465. package/utils/appName.js.map +1 -0
  466. package/utils/folderType.d.ts +4 -0
  467. package/utils/folderType.js +9 -0
  468. package/utils/folderType.js.map +1 -0
  469. package/utils/isBindableModel.d.ts +9 -0
  470. package/utils/isBindableModel.js +8 -0
  471. package/utils/isBindableModel.js.map +1 -0
@@ -0,0 +1,41 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { CmsModelReviewNamespace } from "./CmsEntryReviewNamespace/CmsModelReviewNamespace.js";
3
+ import { CmsModelGroupService } from "./CmsModelGroupService/CmsModelGroupService.js";
4
+ import { CmsEntryTargetReader } from "./CmsEntryTargetReader/CmsEntryTargetReader.js";
5
+ import { CmsEntryAccess } from "./CmsEntryAccess/CmsEntryAccess.js";
6
+ import { CmsEntryFolderExistsService } from "./CmsEntryFolderExistsService/CmsEntryFolderExistsService.js";
7
+ import { CmsEntryDeniedFolders } from "./CmsEntryDeniedFolders/CmsEntryDeniedFolders.js";
8
+ import { CmsEntryReviewReadFilter } from "./CmsEntryReviewReadFilter/CmsEntryReviewReadFilter.js";
9
+ import { CandidateFolderReadRules } from "./CandidateFolderReadRules/CandidateFolderReadRules.js";
10
+ import { CmsEntryReviewTargetLoader } from "./CmsEntryReviewTargetLoader.js";
11
+ import { CmsEntryReviewTargetSync } from "./CmsEntryReviewTargetSync.js";
12
+ import { CmsEntryReviewTargetReadAccess } from "./CmsEntryReviewTargetReadAccess.js";
13
+ import { CmsEntryReviewTargetFolderChain } from "./CmsEntryReviewTargetFolderChain.js";
14
+ import { CmsEntryReviewTargetEditor } from "./CmsEntryReviewTargetEditor.js";
15
+ import { CmsEntryReviewTargetLink } from "./CmsEntryReviewTargetLink.js";
16
+ import { WorkflowEntrySystemField } from "./WorkflowEntrySystemField.js";
17
+ import { CmsWorkflowModelParser } from "./CmsWorkflowModelParser.js";
18
+ const CmsTargetFeature = createFeature({
19
+ name: "CmsWorkflows/Target",
20
+ register (container) {
21
+ container.register(CmsModelReviewNamespace);
22
+ container.register(CmsModelGroupService);
23
+ container.register(CmsEntryTargetReader);
24
+ container.register(CmsEntryAccess);
25
+ container.register(CmsEntryFolderExistsService);
26
+ container.register(CmsEntryDeniedFolders).inContainerScope();
27
+ container.register(CmsEntryReviewReadFilter);
28
+ container.register(CandidateFolderReadRules);
29
+ container.register(CmsEntryReviewTargetLoader);
30
+ container.register(CmsEntryReviewTargetSync);
31
+ container.register(CmsEntryReviewTargetReadAccess);
32
+ container.register(CmsEntryReviewTargetFolderChain);
33
+ container.register(CmsWorkflowModelParser);
34
+ container.register(CmsEntryReviewTargetEditor);
35
+ container.register(CmsEntryReviewTargetLink);
36
+ container.register(WorkflowEntrySystemField);
37
+ }
38
+ });
39
+ export { CmsTargetFeature };
40
+
41
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/target/feature.js","sources":["../../../src/features/target/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CmsModelReviewNamespace } from \"./CmsEntryReviewNamespace/CmsModelReviewNamespace.js\";\nimport { CmsModelGroupService } from \"./CmsModelGroupService/CmsModelGroupService.js\";\nimport { CmsEntryTargetReader } from \"./CmsEntryTargetReader/CmsEntryTargetReader.js\";\nimport { CmsEntryAccess } from \"./CmsEntryAccess/CmsEntryAccess.js\";\nimport { CmsEntryFolderExistsService } from \"./CmsEntryFolderExistsService/CmsEntryFolderExistsService.js\";\nimport { CmsEntryDeniedFolders } from \"./CmsEntryDeniedFolders/CmsEntryDeniedFolders.js\";\nimport { CmsEntryReviewReadFilter } from \"./CmsEntryReviewReadFilter/CmsEntryReviewReadFilter.js\";\nimport { CandidateFolderReadRules } from \"./CandidateFolderReadRules/CandidateFolderReadRules.js\";\nimport { CmsEntryReviewTargetLoader } from \"./CmsEntryReviewTargetLoader.js\";\nimport { CmsEntryReviewTargetSync } from \"./CmsEntryReviewTargetSync.js\";\nimport { CmsEntryReviewTargetReadAccess } from \"./CmsEntryReviewTargetReadAccess.js\";\nimport { CmsEntryReviewTargetFolderChain } from \"./CmsEntryReviewTargetFolderChain.js\";\nimport { CmsEntryReviewTargetEditor } from \"./CmsEntryReviewTargetEditor.js\";\nimport { CmsEntryReviewTargetLink } from \"./CmsEntryReviewTargetLink.js\";\nimport { WorkflowEntrySystemField } from \"./WorkflowEntrySystemField.js\";\nimport { CmsWorkflowModelParser } from \"./CmsWorkflowModelParser.js\";\n\n/** The `cms.*` target adapter (spec 9.3). */\nexport const CmsTargetFeature = createFeature({\n name: \"CmsWorkflows/Target\",\n register(container) {\n container.register(CmsModelReviewNamespace);\n container.register(CmsModelGroupService);\n container.register(CmsEntryTargetReader);\n container.register(CmsEntryAccess);\n container.register(CmsEntryFolderExistsService);\n // Caches folder read rules for one request.\n container.register(CmsEntryDeniedFolders).inContainerScope();\n container.register(CmsEntryReviewReadFilter);\n // Folder rules for routing candidates, shared with the Website Builder adapter.\n container.register(CandidateFolderReadRules);\n\n // Engine ports, one per namespace (R28, R50, R114).\n container.register(CmsEntryReviewTargetLoader);\n container.register(CmsEntryReviewTargetSync);\n container.register(CmsEntryReviewTargetReadAccess);\n container.register(CmsEntryReviewTargetFolderChain);\n // The app and model id of a workflow model, for validation and routing (D137, R113).\n container.register(CmsWorkflowModelParser);\n\n // The AI step's editor port, one per namespace (R172).\n container.register(CmsEntryReviewTargetEditor);\n\n // Where the notification e-mail links to the content, one per namespace (R195).\n container.register(CmsEntryReviewTargetLink);\n\n // `system.workflow` as a filterable entry system field (spec 4.5).\n container.register(WorkflowEntrySystemField);\n }\n});\n"],"names":["CmsTargetFeature","createFeature","container","CmsModelReviewNamespace","CmsModelGroupService","CmsEntryTargetReader","CmsEntryAccess","CmsEntryFolderExistsService","CmsEntryDeniedFolders","CmsEntryReviewReadFilter","CandidateFolderReadRules","CmsEntryReviewTargetLoader","CmsEntryReviewTargetSync","CmsEntryReviewTargetReadAccess","CmsEntryReviewTargetFolderChain","CmsWorkflowModelParser","CmsEntryReviewTargetEditor","CmsEntryReviewTargetLink","WorkflowEntrySystemField"],"mappings":";;;;;;;;;;;;;;;;;AAmBO,MAAMA,mBAAmBC,cAAc;IAC1C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;QACnBH,UAAU,QAAQ,CAACI;QACnBJ,UAAU,QAAQ,CAACK;QAEnBL,UAAU,QAAQ,CAACM,uBAAuB,gBAAgB;QAC1DN,UAAU,QAAQ,CAACO;QAEnBP,UAAU,QAAQ,CAACQ;QAGnBR,UAAU,QAAQ,CAACS;QACnBT,UAAU,QAAQ,CAACU;QACnBV,UAAU,QAAQ,CAACW;QACnBX,UAAU,QAAQ,CAACY;QAEnBZ,UAAU,QAAQ,CAACa;QAGnBb,UAAU,QAAQ,CAACc;QAGnBd,UAAU,QAAQ,CAACe;QAGnBf,UAAU,QAAQ,CAACgB;IACvB;AACJ"}
@@ -0,0 +1,11 @@
1
+ import type { CmsModel } from "@webiny/api-headless-cms/types/index.js";
2
+ /** What the model reads when a field failed validation with a message it must not see. */
3
+ export declare const GENERIC_VALIDATION_MESSAGE = "The value could not be validated.";
4
+ /**
5
+ * The CMS validation turns a validator that THREW into its raw `ex.message`, and a validator
6
+ * nobody registered into `There are no "<name>" validators defined.` Neither may reach the model
7
+ * (R87). A message is safe to show when it is one the model author configured on that field
8
+ * (`validation[].message`, `listValidation[].message`) or one of the CMS's own fixed datetime and
9
+ * predefined-value texts. Returns the message when safe, otherwise `null`. Pure.
10
+ */
11
+ export declare const getModelSafeValidationMessage: (model: Pick<CmsModel, "fields">, path: string[], error: unknown) => string | null;
@@ -0,0 +1,28 @@
1
+ const GENERIC_VALIDATION_MESSAGE = "The value could not be validated.";
2
+ const PREDEFINED_VALUE_MESSAGE = "Value sent does not match any of the available predefined values.";
3
+ const DATETIME_FORMAT_MESSAGE = /^Invalid (date|time|dateTime) format for field "[^"]*"\. Expected [^"]*\.$/;
4
+ const findField = (fields, path)=>{
5
+ let current = fields;
6
+ let found = null;
7
+ for (const segment of path){
8
+ found = current.find((item)=>item.fieldId === segment) ?? null;
9
+ if (!found) return null;
10
+ const children = found.settings?.fields;
11
+ current = Array.isArray(children) ? children : [];
12
+ }
13
+ return found;
14
+ };
15
+ const getModelSafeValidationMessage = (model, path, error)=>{
16
+ if ("string" != typeof error) return null;
17
+ if (error === PREDEFINED_VALUE_MESSAGE || DATETIME_FORMAT_MESSAGE.test(error)) return error;
18
+ const field = findField(model.fields, path);
19
+ if (!field) return null;
20
+ const configured = [
21
+ ...field.validation ?? [],
22
+ ...field.listValidation ?? []
23
+ ].map((item)=>item.message);
24
+ return configured.includes(error) ? error : null;
25
+ };
26
+ export { GENERIC_VALIDATION_MESSAGE, getModelSafeValidationMessage };
27
+
28
+ //# sourceMappingURL=getModelSafeValidationMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/target/getModelSafeValidationMessage.js","sources":["../../../src/features/target/getModelSafeValidationMessage.ts"],"sourcesContent":["import type { CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\n\n/** What the model reads when a field failed validation with a message it must not see. */\nexport const GENERIC_VALIDATION_MESSAGE = \"The value could not be validated.\";\n\nconst PREDEFINED_VALUE_MESSAGE =\n \"Value sent does not match any of the available predefined values.\";\nconst DATETIME_FORMAT_MESSAGE =\n /^Invalid (date|time|dateTime) format for field \"[^\"]*\"\\. Expected [^\"]*\\.$/;\n\nconst findField = (fields: CmsModelField[], path: string[]): CmsModelField | null => {\n let current: CmsModelField[] = fields;\n let found: CmsModelField | null = null;\n for (const segment of path) {\n found = current.find(item => item.fieldId === segment) ?? null;\n if (!found) {\n return null;\n }\n const children = found.settings?.fields;\n current = Array.isArray(children) ? children : [];\n }\n return found;\n};\n\n/**\n * The CMS validation turns a validator that THREW into its raw `ex.message`, and a validator\n * nobody registered into `There are no \"<name>\" validators defined.` Neither may reach the model\n * (R87). A message is safe to show when it is one the model author configured on that field\n * (`validation[].message`, `listValidation[].message`) or one of the CMS's own fixed datetime and\n * predefined-value texts. Returns the message when safe, otherwise `null`. Pure.\n */\nexport const getModelSafeValidationMessage = (\n model: Pick<CmsModel, \"fields\">,\n path: string[],\n error: unknown\n): string | null => {\n if (typeof error !== \"string\") {\n return null;\n }\n if (error === PREDEFINED_VALUE_MESSAGE || DATETIME_FORMAT_MESSAGE.test(error)) {\n return error;\n }\n const field = findField(model.fields, path);\n if (!field) {\n return null;\n }\n const configured = [...(field.validation ?? []), ...(field.listValidation ?? [])].map(\n item => item.message\n );\n return configured.includes(error) ? error : null;\n};\n"],"names":["GENERIC_VALIDATION_MESSAGE","PREDEFINED_VALUE_MESSAGE","DATETIME_FORMAT_MESSAGE","findField","fields","path","current","found","segment","item","children","Array","getModelSafeValidationMessage","model","error","field","configured"],"mappings":"AAGO,MAAMA,6BAA6B;AAE1C,MAAMC,2BACF;AACJ,MAAMC,0BACF;AAEJ,MAAMC,YAAY,CAACC,QAAyBC;IACxC,IAAIC,UAA2BF;IAC/B,IAAIG,QAA8B;IAClC,KAAK,MAAMC,WAAWH,KAAM;QACxBE,QAAQD,QAAQ,IAAI,CAACG,CAAAA,OAAQA,KAAK,OAAO,KAAKD,YAAY;QAC1D,IAAI,CAACD,OACD,OAAO;QAEX,MAAMG,WAAWH,MAAM,QAAQ,EAAE;QACjCD,UAAUK,MAAM,OAAO,CAACD,YAAYA,WAAW,EAAE;IACrD;IACA,OAAOH;AACX;AASO,MAAMK,gCAAgC,CACzCC,OACAR,MACAS;IAEA,IAAI,AAAiB,YAAjB,OAAOA,OACP,OAAO;IAEX,IAAIA,UAAUb,4BAA4BC,wBAAwB,IAAI,CAACY,QACnE,OAAOA;IAEX,MAAMC,QAAQZ,UAAUU,MAAM,MAAM,EAAER;IACtC,IAAI,CAACU,OACD,OAAO;IAEX,MAAMC,aAAa;WAAKD,MAAM,UAAU,IAAI,EAAE;WAAOA,MAAM,cAAc,IAAI,EAAE;KAAE,CAAC,GAAG,CACjFN,CAAAA,OAAQA,KAAK,OAAO;IAExB,OAAOO,WAAW,QAAQ,CAACF,SAASA,QAAQ;AAChD"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Whether `value` has the JavaScript type the CMS field type stores. The CMS update path validates
3
+ * validators, required and datetime formats but does not type-check (the GraphQL schema does that
4
+ * for API writes), so the editor does it before writing (R172). `null` clears a field and is
5
+ * always accepted, so the model's own `required` validator decides. Pure.
6
+ */
7
+ export declare const isEditorFieldValue: (type: string, value: unknown) => boolean;
8
+ /** What the model should send for a writable field type, for the error text. Pure. */
9
+ export declare const describeEditorFieldValue: (type: string) => string;
@@ -0,0 +1,30 @@
1
+ const isEditorFieldValue = (type, value)=>{
2
+ if (null === value) return true;
3
+ switch(type){
4
+ case "text":
5
+ case "long-text":
6
+ case "datetime":
7
+ return "string" == typeof value;
8
+ case "number":
9
+ return "number" == typeof value && Number.isFinite(value);
10
+ case "boolean":
11
+ return "boolean" == typeof value;
12
+ default:
13
+ return false;
14
+ }
15
+ };
16
+ const describeEditorFieldValue = (type)=>{
17
+ switch(type){
18
+ case "number":
19
+ return "a number";
20
+ case "boolean":
21
+ return "true or false";
22
+ case "datetime":
23
+ return "a date or time string";
24
+ default:
25
+ return "a string";
26
+ }
27
+ };
28
+ export { describeEditorFieldValue, isEditorFieldValue };
29
+
30
+ //# sourceMappingURL=isEditorFieldValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/target/isEditorFieldValue.js","sources":["../../../src/features/target/isEditorFieldValue.ts"],"sourcesContent":["/**\n * Whether `value` has the JavaScript type the CMS field type stores. The CMS update path validates\n * validators, required and datetime formats but does not type-check (the GraphQL schema does that\n * for API writes), so the editor does it before writing (R172). `null` clears a field and is\n * always accepted, so the model's own `required` validator decides. Pure.\n */\nexport const isEditorFieldValue = (type: string, value: unknown): boolean => {\n if (value === null) {\n return true;\n }\n switch (type) {\n case \"text\":\n case \"long-text\":\n case \"datetime\":\n return typeof value === \"string\";\n case \"number\":\n return typeof value === \"number\" && Number.isFinite(value);\n case \"boolean\":\n return typeof value === \"boolean\";\n default:\n return false;\n }\n};\n\n/** What the model should send for a writable field type, for the error text. Pure. */\nexport const describeEditorFieldValue = (type: string): string => {\n switch (type) {\n case \"number\":\n return \"a number\";\n case \"boolean\":\n return \"true or false\";\n case \"datetime\":\n return \"a date or time string\";\n default:\n return \"a string\";\n }\n};\n"],"names":["isEditorFieldValue","type","value","Number","describeEditorFieldValue"],"mappings":"AAMO,MAAMA,qBAAqB,CAACC,MAAcC;IAC7C,IAAIA,AAAU,SAAVA,OACA,OAAO;IAEX,OAAQD;QACJ,KAAK;QACL,KAAK;QACL,KAAK;YACD,OAAO,AAAiB,YAAjB,OAAOC;QAClB,KAAK;YACD,OAAO,AAAiB,YAAjB,OAAOA,SAAsBC,OAAO,QAAQ,CAACD;QACxD,KAAK;YACD,OAAO,AAAiB,aAAjB,OAAOA;QAClB;YACI,OAAO;IACf;AACJ;AAGO,MAAME,2BAA2B,CAACH;IACrC,OAAQA;QACJ,KAAK;YACD,OAAO;QACX,KAAK;YACD,OAAO;QACX,KAAK;YACD,OAAO;QACX;YACI,OAAO;IACf;AACJ"}
@@ -0,0 +1,4 @@
1
+ import type { ReviewTarget } from "@webiny/api-workflows/features/review/ReviewTargetLoader/index.js";
2
+ import type { CmsEntryTargetReader } from "./CmsEntryTargetReader/index.js";
3
+ /** Title and typed `TargetContext` of a CMS revision (spec 9.3, R66). Pure. */
4
+ export declare const toCmsReviewTarget: (target: CmsEntryTargetReader.Target) => ReviewTarget;
@@ -0,0 +1,26 @@
1
+ import { getEntryTitle } from "@webiny/api-headless-cms/utils/getEntryTitle.js";
2
+ import { ROOT_FOLDER } from "@webiny/api-headless-cms/constants.js";
3
+ import { toCmsFolderType } from "../../utils/folderType.js";
4
+ const toCmsReviewTarget = (target)=>{
5
+ const { model, entry } = target;
6
+ const title = getEntryTitle(model, entry);
7
+ const folderId = entry.location?.folderId;
8
+ return {
9
+ title,
10
+ context: {
11
+ folder: folderId && folderId !== ROOT_FOLDER ? {
12
+ id: folderId,
13
+ type: toCmsFolderType(model.modelId)
14
+ } : null,
15
+ modelId: model.modelId,
16
+ title,
17
+ author: {
18
+ id: entry.createdBy.id,
19
+ displayName: entry.createdBy.displayName
20
+ }
21
+ }
22
+ };
23
+ };
24
+ export { toCmsReviewTarget };
25
+
26
+ //# sourceMappingURL=toCmsReviewTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/target/toCmsReviewTarget.js","sources":["../../../src/features/target/toCmsReviewTarget.ts"],"sourcesContent":["import { getEntryTitle } from \"@webiny/api-headless-cms/utils/getEntryTitle.js\";\nimport { ROOT_FOLDER } from \"@webiny/api-headless-cms/constants.js\";\nimport type { ReviewTarget } from \"@webiny/api-workflows/features/review/ReviewTargetLoader/index.js\";\nimport { toCmsFolderType } from \"~/utils/folderType.js\";\nimport type { CmsEntryTargetReader } from \"./CmsEntryTargetReader/index.js\";\n\n/** Title and typed `TargetContext` of a CMS revision (spec 9.3, R66). Pure. */\nexport const toCmsReviewTarget = (target: CmsEntryTargetReader.Target): ReviewTarget => {\n const { model, entry } = target;\n const title = getEntryTitle(model, entry);\n const folderId = entry.location?.folderId;\n return {\n title,\n context: {\n folder:\n folderId && folderId !== ROOT_FOLDER\n ? { id: folderId, type: toCmsFolderType(model.modelId) }\n : null,\n modelId: model.modelId,\n title,\n author: { id: entry.createdBy.id, displayName: entry.createdBy.displayName }\n }\n };\n};\n"],"names":["toCmsReviewTarget","target","model","entry","title","getEntryTitle","folderId","ROOT_FOLDER","toCmsFolderType"],"mappings":";;;AAOO,MAAMA,oBAAoB,CAACC;IAC9B,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;IACzB,MAAMG,QAAQC,cAAcH,OAAOC;IACnC,MAAMG,WAAWH,MAAM,QAAQ,EAAE;IACjC,OAAO;QACHC;QACA,SAAS;YACL,QACIE,YAAYA,aAAaC,cACnB;gBAAE,IAAID;gBAAU,MAAME,gBAAgBN,MAAM,OAAO;YAAE,IACrD;YACV,SAASA,MAAM,OAAO;YACtBE;YACA,QAAQ;gBAAE,IAAID,MAAM,SAAS,CAAC,EAAE;gBAAE,aAAaA,MAAM,SAAS,CAAC,WAAW;YAAC;QAC/E;IACJ;AACJ"}
@@ -0,0 +1,9 @@
1
+ import type { CmsEntryValues, CmsModel } from "@webiny/api-headless-cms/types/index.js";
2
+ import type { ReviewTargetEditorField } from "@webiny/api-workflows/features/review/ReviewTargetEditor/abstractions.js";
3
+ /**
4
+ * The fields of a CMS revision as the target editor shows them (R172): every field, nested
5
+ * `object` fields flattened to dotted paths, `writable` only for top-level or nested-object fields
6
+ * of a writable type that are not `multipleValues` (`field.list`). A list object is one read-only
7
+ * row and is never descended into, so nothing inside a `multipleValues` object is writable. Pure.
8
+ */
9
+ export declare const toEditorFields: (model: Pick<CmsModel, "fields">, values: CmsEntryValues) => ReviewTargetEditorField[];
@@ -0,0 +1,48 @@
1
+ const WRITABLE_FIELD_TYPES = [
2
+ "text",
3
+ "long-text",
4
+ "number",
5
+ "boolean",
6
+ "datetime"
7
+ ];
8
+ const isRecord = (value)=>"object" == typeof value && null !== value && !Array.isArray(value);
9
+ const toDatetimeString = (value, subtype)=>{
10
+ if (!(value instanceof Date)) return value;
11
+ if (Number.isNaN(value.getTime())) return null;
12
+ const iso = value.toISOString();
13
+ return "date" === subtype ? iso.slice(0, 10) : iso;
14
+ };
15
+ const normalizeValue = (field, value)=>{
16
+ if (void 0 === value) return null;
17
+ if ("datetime" !== field.type) return value;
18
+ const subtype = field.settings?.type;
19
+ if (field.list && Array.isArray(value)) return value.map((item)=>toDatetimeString(item, subtype));
20
+ return toDatetimeString(value, subtype);
21
+ };
22
+ const flattenFields = (fields, values, parentPath)=>{
23
+ const rows = [];
24
+ for (const field of fields){
25
+ const segments = [
26
+ ...parentPath,
27
+ field.fieldId
28
+ ];
29
+ const value = values[field.fieldId];
30
+ const children = field.settings?.fields;
31
+ if ("object" === field.type && !field.list && Array.isArray(children)) {
32
+ rows.push(...flattenFields(children, isRecord(value) ? value : {}, segments));
33
+ continue;
34
+ }
35
+ rows.push({
36
+ path: segments.join("."),
37
+ label: field.label,
38
+ type: field.type,
39
+ value: normalizeValue(field, value),
40
+ writable: !field.list && WRITABLE_FIELD_TYPES.includes(field.type)
41
+ });
42
+ }
43
+ return rows;
44
+ };
45
+ const toEditorFields = (model, values)=>flattenFields(model.fields, values, []);
46
+ export { toEditorFields };
47
+
48
+ //# sourceMappingURL=toEditorFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/target/toEditorFields.js","sources":["../../../src/features/target/toEditorFields.ts"],"sourcesContent":["import type {\n CmsEntryValues,\n CmsModel,\n CmsModelField\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport type { ReviewTargetEditorField } from \"@webiny/api-workflows/features/review/ReviewTargetEditor/abstractions.js\";\n\n/** The field types the AI may write (R172). Everything else is read-only. */\nconst WRITABLE_FIELD_TYPES: string[] = [\"text\", \"long-text\", \"number\", \"boolean\", \"datetime\"];\n\nconst isRecord = (value: unknown): value is Record<string, unknown> => {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n};\n\n/**\n * A datetime value as the CMS write validator accepts it. The CMS reads a datetime as a `Date`; the\n * AI gets a string: `YYYY-MM-DD` for `date`, an ISO string otherwise. Strings pass unchanged and an\n * invalid `Date` is `null`.\n */\nconst toDatetimeString = (value: unknown, subtype: unknown): unknown => {\n if (!(value instanceof Date)) {\n return value;\n }\n if (Number.isNaN(value.getTime())) {\n return null;\n }\n const iso = value.toISOString();\n return subtype === \"date\" ? iso.slice(0, 10) : iso;\n};\n\nconst normalizeValue = (field: CmsModelField, value: unknown): unknown => {\n if (value === undefined) {\n return null;\n }\n if (field.type !== \"datetime\") {\n return value;\n }\n const subtype = field.settings?.type;\n if (field.list && Array.isArray(value)) {\n return value.map(item => toDatetimeString(item, subtype));\n }\n return toDatetimeString(value, subtype);\n};\n\nconst flattenFields = (\n fields: CmsModelField[],\n values: Record<string, unknown>,\n parentPath: string[]\n): ReviewTargetEditorField[] => {\n const rows: ReviewTargetEditorField[] = [];\n for (const field of fields) {\n const segments = [...parentPath, field.fieldId];\n const value = values[field.fieldId];\n const children = field.settings?.fields;\n if (field.type === \"object\" && !field.list && Array.isArray(children)) {\n rows.push(...flattenFields(children, isRecord(value) ? value : {}, segments));\n continue;\n }\n rows.push({\n path: segments.join(\".\"),\n label: field.label,\n type: field.type,\n value: normalizeValue(field, value),\n writable: !field.list && WRITABLE_FIELD_TYPES.includes(field.type)\n });\n }\n return rows;\n};\n\n/**\n * The fields of a CMS revision as the target editor shows them (R172): every field, nested\n * `object` fields flattened to dotted paths, `writable` only for top-level or nested-object fields\n * of a writable type that are not `multipleValues` (`field.list`). A list object is one read-only\n * row and is never descended into, so nothing inside a `multipleValues` object is writable. Pure.\n */\nexport const toEditorFields = (\n model: Pick<CmsModel, \"fields\">,\n values: CmsEntryValues\n): ReviewTargetEditorField[] => {\n return flattenFields(model.fields, values, []);\n};\n"],"names":["WRITABLE_FIELD_TYPES","isRecord","value","Array","toDatetimeString","subtype","Date","Number","iso","normalizeValue","field","undefined","item","flattenFields","fields","values","parentPath","rows","segments","children","toEditorFields","model"],"mappings":"AAQA,MAAMA,uBAAiC;IAAC;IAAQ;IAAa;IAAU;IAAW;CAAW;AAE7F,MAAMC,WAAW,CAACC,QACP,AAAiB,YAAjB,OAAOA,SAAsBA,AAAU,SAAVA,SAAkB,CAACC,MAAM,OAAO,CAACD;AAQzE,MAAME,mBAAmB,CAACF,OAAgBG;IACtC,IAAI,CAAEH,CAAAA,iBAAiBI,IAAG,GACtB,OAAOJ;IAEX,IAAIK,OAAO,KAAK,CAACL,MAAM,OAAO,KAC1B,OAAO;IAEX,MAAMM,MAAMN,MAAM,WAAW;IAC7B,OAAOG,AAAY,WAAZA,UAAqBG,IAAI,KAAK,CAAC,GAAG,MAAMA;AACnD;AAEA,MAAMC,iBAAiB,CAACC,OAAsBR;IAC1C,IAAIA,AAAUS,WAAVT,OACA,OAAO;IAEX,IAAIQ,AAAe,eAAfA,MAAM,IAAI,EACV,OAAOR;IAEX,MAAMG,UAAUK,MAAM,QAAQ,EAAE;IAChC,IAAIA,MAAM,IAAI,IAAIP,MAAM,OAAO,CAACD,QAC5B,OAAOA,MAAM,GAAG,CAACU,CAAAA,OAAQR,iBAAiBQ,MAAMP;IAEpD,OAAOD,iBAAiBF,OAAOG;AACnC;AAEA,MAAMQ,gBAAgB,CAClBC,QACAC,QACAC;IAEA,MAAMC,OAAkC,EAAE;IAC1C,KAAK,MAAMP,SAASI,OAAQ;QACxB,MAAMI,WAAW;eAAIF;YAAYN,MAAM,OAAO;SAAC;QAC/C,MAAMR,QAAQa,MAAM,CAACL,MAAM,OAAO,CAAC;QACnC,MAAMS,WAAWT,MAAM,QAAQ,EAAE;QACjC,IAAIA,AAAe,aAAfA,MAAM,IAAI,IAAiB,CAACA,MAAM,IAAI,IAAIP,MAAM,OAAO,CAACgB,WAAW;YACnEF,KAAK,IAAI,IAAIJ,cAAcM,UAAUlB,SAASC,SAASA,QAAQ,CAAC,GAAGgB;YACnE;QACJ;QACAD,KAAK,IAAI,CAAC;YACN,MAAMC,SAAS,IAAI,CAAC;YACpB,OAAOR,MAAM,KAAK;YAClB,MAAMA,MAAM,IAAI;YAChB,OAAOD,eAAeC,OAAOR;YAC7B,UAAU,CAACQ,MAAM,IAAI,IAAIV,qBAAqB,QAAQ,CAACU,MAAM,IAAI;QACrE;IACJ;IACA,OAAOO;AACX;AAQO,MAAMG,iBAAiB,CAC1BC,OACAN,SAEOF,cAAcQ,MAAM,MAAM,EAAEN,QAAQ,EAAE"}
@@ -0,0 +1,9 @@
1
+ import type { CmsEntryValues } from "@webiny/api-headless-cms/types/index.js";
2
+ /**
3
+ * The `values` of the entry update for dotted-path writes. The CMS update merges top-level keys
4
+ * only, so a nested write has to carry its whole object: every object on the way is a copy of the
5
+ * current one with the new leaf set (siblings survive), and a `null` or missing object is created.
6
+ * Only the touched top-level keys are in the patch. The paths are already checked against the
7
+ * model (`toEditorFields`), so they are field ids. The current values are never mutated. Pure.
8
+ */
9
+ export declare const toEntryValuesPatch: (current: CmsEntryValues, updates: Record<string, unknown>) => Record<string, unknown>;
@@ -0,0 +1,31 @@
1
+ const isRecord = (value)=>"object" == typeof value && null !== value && !Array.isArray(value);
2
+ const toEntryValuesPatch = (current, updates)=>{
3
+ const patch = {};
4
+ const copies = new Set();
5
+ for (const [path, value] of Object.entries(updates)){
6
+ const segments = path.split(".");
7
+ const leaf = segments[segments.length - 1];
8
+ let target = patch;
9
+ let source = current;
10
+ for (const segment of segments.slice(0, -1)){
11
+ const existing = target[segment];
12
+ const original = source[segment];
13
+ let copy;
14
+ if (isRecord(existing) && copies.has(existing)) copy = existing;
15
+ else {
16
+ copy = isRecord(original) ? {
17
+ ...original
18
+ } : {};
19
+ copies.add(copy);
20
+ }
21
+ target[segment] = copy;
22
+ target = copy;
23
+ source = isRecord(original) ? original : {};
24
+ }
25
+ target[leaf] = value;
26
+ }
27
+ return patch;
28
+ };
29
+ export { toEntryValuesPatch };
30
+
31
+ //# sourceMappingURL=toEntryValuesPatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/target/toEntryValuesPatch.js","sources":["../../../src/features/target/toEntryValuesPatch.ts"],"sourcesContent":["import type { CmsEntryValues } from \"@webiny/api-headless-cms/types/index.js\";\n\nconst isRecord = (value: unknown): value is Record<string, unknown> => {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n};\n\n/**\n * The `values` of the entry update for dotted-path writes. The CMS update merges top-level keys\n * only, so a nested write has to carry its whole object: every object on the way is a copy of the\n * current one with the new leaf set (siblings survive), and a `null` or missing object is created.\n * Only the touched top-level keys are in the patch. The paths are already checked against the\n * model (`toEditorFields`), so they are field ids. The current values are never mutated. Pure.\n */\nexport const toEntryValuesPatch = (\n current: CmsEntryValues,\n updates: Record<string, unknown>\n): Record<string, unknown> => {\n const patch: Record<string, unknown> = {};\n // Objects this call created: only those may be written into. A copy of an object carries the\n // current nested objects by reference, so those must be copied before they are changed.\n const copies = new Set<Record<string, unknown>>();\n for (const [path, value] of Object.entries(updates)) {\n const segments = path.split(\".\");\n const leaf = segments[segments.length - 1];\n let target = patch;\n let source: Record<string, unknown> = current;\n for (const segment of segments.slice(0, -1)) {\n const existing = target[segment];\n const original = source[segment];\n let copy: Record<string, unknown>;\n if (isRecord(existing) && copies.has(existing)) {\n copy = existing;\n } else {\n copy = isRecord(original) ? { ...original } : {};\n copies.add(copy);\n }\n target[segment] = copy;\n target = copy;\n source = isRecord(original) ? original : {};\n }\n target[leaf] = value;\n }\n return patch;\n};\n"],"names":["isRecord","value","Array","toEntryValuesPatch","current","updates","patch","copies","Set","path","Object","segments","leaf","target","source","segment","existing","original","copy"],"mappings":"AAEA,MAAMA,WAAW,CAACC,QACP,AAAiB,YAAjB,OAAOA,SAAsBA,AAAU,SAAVA,SAAkB,CAACC,MAAM,OAAO,CAACD;AAUlE,MAAME,qBAAqB,CAC9BC,SACAC;IAEA,MAAMC,QAAiC,CAAC;IAGxC,MAAMC,SAAS,IAAIC;IACnB,KAAK,MAAM,CAACC,MAAMR,MAAM,IAAIS,OAAO,OAAO,CAACL,SAAU;QACjD,MAAMM,WAAWF,KAAK,KAAK,CAAC;QAC5B,MAAMG,OAAOD,QAAQ,CAACA,SAAS,MAAM,GAAG,EAAE;QAC1C,IAAIE,SAASP;QACb,IAAIQ,SAAkCV;QACtC,KAAK,MAAMW,WAAWJ,SAAS,KAAK,CAAC,GAAG,IAAK;YACzC,MAAMK,WAAWH,MAAM,CAACE,QAAQ;YAChC,MAAME,WAAWH,MAAM,CAACC,QAAQ;YAChC,IAAIG;YACJ,IAAIlB,SAASgB,aAAaT,OAAO,GAAG,CAACS,WACjCE,OAAOF;iBACJ;gBACHE,OAAOlB,SAASiB,YAAY;oBAAE,GAAGA,QAAQ;gBAAC,IAAI,CAAC;gBAC/CV,OAAO,GAAG,CAACW;YACf;YACAL,MAAM,CAACE,QAAQ,GAAGG;YAClBL,SAASK;YACTJ,SAASd,SAASiB,YAAYA,WAAW,CAAC;QAC9C;QACAJ,MAAM,CAACD,KAAK,GAAGX;IACnB;IACA,OAAOK;AACX"}
@@ -0,0 +1,13 @@
1
+ import { ApproveReviewStepUseCase } from "@webiny/api-workflows/features/review/ApproveReviewStep/index.js";
2
+ import { CmsEntryReviewGuardService } from "../CmsEntryReviewGuardService/index.js";
3
+ import { ApproveCmsEntryReviewStepUseCase as UseCase } from "./abstractions.js";
4
+ declare class ApproveCmsEntryReviewStepUseCaseImpl implements UseCase.Interface {
5
+ private guard;
6
+ private engine;
7
+ constructor(guard: CmsEntryReviewGuardService.Interface, engine: ApproveReviewStepUseCase.Interface);
8
+ execute(input: UseCase.Input): UseCase.Return;
9
+ }
10
+ export declare const ApproveCmsEntryReviewStepUseCase: typeof ApproveCmsEntryReviewStepUseCaseImpl & {
11
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IApproveCmsEntryReviewStepUseCase>;
12
+ };
13
+ export {};
@@ -0,0 +1,35 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ApproveReviewStepUseCase } from "@webiny/api-workflows/features/review/ApproveReviewStep/index.js";
3
+ import { CmsEntryReviewGuardService } from "../CmsEntryReviewGuardService/index.js";
4
+ import { ApproveCmsEntryReviewStepUseCase } from "./abstractions.js";
5
+ class ApproveCmsEntryReviewStepUseCaseImpl {
6
+ constructor(guard, engine){
7
+ this.guard = guard;
8
+ this.engine = engine;
9
+ }
10
+ async execute(input) {
11
+ const authorized = await this.guard.authorize({
12
+ reviewId: input.reviewId,
13
+ action: "approve this step"
14
+ });
15
+ if (authorized.isFail()) return Result.fail(authorized.error);
16
+ const { viewer } = authorized.value;
17
+ return this.engine.execute({
18
+ reviewId: input.reviewId,
19
+ stepId: input.stepId,
20
+ actor: viewer.actor,
21
+ actorTeamIds: viewer.teamIds,
22
+ comment: input.comment ?? null
23
+ });
24
+ }
25
+ }
26
+ const ApproveCmsEntryReviewStepUseCase_ApproveCmsEntryReviewStepUseCase = ApproveCmsEntryReviewStepUseCase.createImplementation({
27
+ implementation: ApproveCmsEntryReviewStepUseCaseImpl,
28
+ dependencies: [
29
+ CmsEntryReviewGuardService,
30
+ ApproveReviewStepUseCase
31
+ ]
32
+ });
33
+ export { ApproveCmsEntryReviewStepUseCase_ApproveCmsEntryReviewStepUseCase as ApproveCmsEntryReviewStepUseCase };
34
+
35
+ //# sourceMappingURL=ApproveCmsEntryReviewStepUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/ApproveCmsEntryReviewStep/ApproveCmsEntryReviewStepUseCase.js","sources":["../../../../src/features/wrappers/ApproveCmsEntryReviewStep/ApproveCmsEntryReviewStepUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ApproveReviewStepUseCase } from \"@webiny/api-workflows/features/review/ApproveReviewStep/index.js\";\nimport { CmsEntryReviewGuardService } from \"../CmsEntryReviewGuardService/index.js\";\nimport { ApproveCmsEntryReviewStepUseCase as UseCase } from \"./abstractions.js\";\n\nclass ApproveCmsEntryReviewStepUseCaseImpl implements UseCase.Interface {\n public constructor(\n private guard: CmsEntryReviewGuardService.Interface,\n private engine: ApproveReviewStepUseCase.Interface\n ) {}\n\n public async execute(input: UseCase.Input): UseCase.Return {\n const authorized = await this.guard.authorize({\n reviewId: input.reviewId,\n action: \"approve this step\"\n });\n if (authorized.isFail()) {\n return Result.fail(authorized.error);\n }\n\n const { viewer } = authorized.value;\n return this.engine.execute({\n reviewId: input.reviewId,\n stepId: input.stepId,\n actor: viewer.actor,\n actorTeamIds: viewer.teamIds,\n comment: input.comment ?? null\n });\n }\n}\n\nexport const ApproveCmsEntryReviewStepUseCase = UseCase.createImplementation({\n implementation: ApproveCmsEntryReviewStepUseCaseImpl,\n dependencies: [CmsEntryReviewGuardService, ApproveReviewStepUseCase]\n});\n"],"names":["ApproveCmsEntryReviewStepUseCaseImpl","guard","engine","input","authorized","Result","viewer","ApproveCmsEntryReviewStepUseCase","UseCase","CmsEntryReviewGuardService","ApproveReviewStepUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YACYC,KAA2C,EAC3CC,MAA0C,CACpD;aAFUD,KAAK,GAALA;aACAC,MAAM,GAANA;IACT;IAEH,MAAa,QAAQC,KAAoB,EAAkB;QACvD,MAAMC,aAAa,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1C,UAAUD,MAAM,QAAQ;YACxB,QAAQ;QACZ;QACA,IAAIC,WAAW,MAAM,IACjB,OAAOC,OAAO,IAAI,CAACD,WAAW,KAAK;QAGvC,MAAM,EAAEE,MAAM,EAAE,GAAGF,WAAW,KAAK;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACvB,UAAUD,MAAM,QAAQ;YACxB,QAAQA,MAAM,MAAM;YACpB,OAAOG,OAAO,KAAK;YACnB,cAAcA,OAAO,OAAO;YAC5B,SAASH,MAAM,OAAO,IAAI;QAC9B;IACJ;AACJ;AAEO,MAAMI,oEAAmCC,iCAAAA,oBAA4B,CAAC;IACzE,gBAAgBR;IAChB,cAAc;QAACS;QAA4BC;KAAyB;AACxE"}
@@ -0,0 +1,26 @@
1
+ import { type Result } from "@webiny/feature/api";
2
+ import type { ReviewData } from "@webiny/api-workflows/domain/review/types.js";
3
+ import type { ApproveReviewStepUseCase } from "@webiny/api-workflows/features/review/ApproveReviewStep/index.js";
4
+ import type { CmsEntryReviewGuardService } from "../CmsEntryReviewGuardService/index.js";
5
+ export interface ApproveCmsEntryReviewStepInput {
6
+ reviewId: string;
7
+ stepId: string;
8
+ comment?: string | null;
9
+ }
10
+ export interface IApproveCmsEntryReviewStepUseCaseErrors {
11
+ guard: CmsEntryReviewGuardService.Error;
12
+ approve: ApproveReviewStepUseCase.Error;
13
+ }
14
+ type UseCaseError = IApproveCmsEntryReviewStepUseCaseErrors[keyof IApproveCmsEntryReviewStepUseCaseErrors];
15
+ export interface IApproveCmsEntryReviewStepUseCase {
16
+ execute(input: ApproveCmsEntryReviewStepInput): Promise<Result<ReviewData, UseCaseError>>;
17
+ }
18
+ /** Approve the CMS review step the user owns (spec 5.1): read access here, ownership in the engine. */
19
+ export declare const ApproveCmsEntryReviewStepUseCase: import("@webiny/di").Abstraction<IApproveCmsEntryReviewStepUseCase>;
20
+ export declare namespace ApproveCmsEntryReviewStepUseCase {
21
+ type Interface = IApproveCmsEntryReviewStepUseCase;
22
+ type Input = ApproveCmsEntryReviewStepInput;
23
+ type Error = UseCaseError;
24
+ type Return = Promise<Result<ReviewData, UseCaseError>>;
25
+ }
26
+ export {};
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const ApproveCmsEntryReviewStepUseCase = createAbstraction("ApproveCmsEntryReviewStepUseCase");
3
+ export { ApproveCmsEntryReviewStepUseCase };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/ApproveCmsEntryReviewStep/abstractions.js","sources":["../../../../src/features/wrappers/ApproveCmsEntryReviewStep/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { ReviewData } from \"@webiny/api-workflows/domain/review/types.js\";\nimport type { ApproveReviewStepUseCase } from \"@webiny/api-workflows/features/review/ApproveReviewStep/index.js\";\nimport type { CmsEntryReviewGuardService } from \"../CmsEntryReviewGuardService/index.js\";\n\nexport interface ApproveCmsEntryReviewStepInput {\n reviewId: string;\n stepId: string;\n comment?: string | null;\n}\n\nexport interface IApproveCmsEntryReviewStepUseCaseErrors {\n guard: CmsEntryReviewGuardService.Error;\n approve: ApproveReviewStepUseCase.Error;\n}\n\ntype UseCaseError =\n IApproveCmsEntryReviewStepUseCaseErrors[keyof IApproveCmsEntryReviewStepUseCaseErrors];\n\nexport interface IApproveCmsEntryReviewStepUseCase {\n execute(input: ApproveCmsEntryReviewStepInput): Promise<Result<ReviewData, UseCaseError>>;\n}\n\n/** Approve the CMS review step the user owns (spec 5.1): read access here, ownership in the engine. */\nexport const ApproveCmsEntryReviewStepUseCase =\n createAbstraction<IApproveCmsEntryReviewStepUseCase>(\"ApproveCmsEntryReviewStepUseCase\");\n\nexport namespace ApproveCmsEntryReviewStepUseCase {\n export type Interface = IApproveCmsEntryReviewStepUseCase;\n export type Input = ApproveCmsEntryReviewStepInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<ReviewData, UseCaseError>>;\n}\n"],"names":["ApproveCmsEntryReviewStepUseCase","createAbstraction"],"mappings":";AAwBO,MAAMA,mCACTC,kBAAqD"}
@@ -0,0 +1,4 @@
1
+ export declare const ApproveCmsEntryReviewStepFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,11 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { ApproveCmsEntryReviewStepUseCase } from "./ApproveCmsEntryReviewStepUseCase.js";
3
+ const ApproveCmsEntryReviewStepFeature = createFeature({
4
+ name: "CmsWorkflows/ApproveCmsEntryReviewStep",
5
+ register (container) {
6
+ container.register(ApproveCmsEntryReviewStepUseCase);
7
+ }
8
+ });
9
+ export { ApproveCmsEntryReviewStepFeature };
10
+
11
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/ApproveCmsEntryReviewStep/feature.js","sources":["../../../../src/features/wrappers/ApproveCmsEntryReviewStep/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ApproveCmsEntryReviewStepUseCase } from \"./ApproveCmsEntryReviewStepUseCase.js\";\n\nexport const ApproveCmsEntryReviewStepFeature = createFeature({\n name: \"CmsWorkflows/ApproveCmsEntryReviewStep\",\n register(container) {\n container.register(ApproveCmsEntryReviewStepUseCase);\n }\n});\n"],"names":["ApproveCmsEntryReviewStepFeature","createFeature","container","ApproveCmsEntryReviewStepUseCase"],"mappings":";;AAGO,MAAMA,mCAAmCC,cAAc;IAC1D,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -0,0 +1 @@
1
+ export { ApproveCmsEntryReviewStepUseCase } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { ApproveCmsEntryReviewStepUseCase } from "./abstractions.js";
@@ -0,0 +1,13 @@
1
+ import { CancelReviewUseCase } from "@webiny/api-workflows/features/review/CancelReview/index.js";
2
+ import { CmsEntryReviewGuardService } from "../CmsEntryReviewGuardService/index.js";
3
+ import { CancelCmsEntryReviewUseCase as UseCase } from "./abstractions.js";
4
+ declare class CancelCmsEntryReviewUseCaseImpl implements UseCase.Interface {
5
+ private guard;
6
+ private cancelReview;
7
+ constructor(guard: CmsEntryReviewGuardService.Interface, cancelReview: CancelReviewUseCase.Interface);
8
+ execute(input: UseCase.Input): UseCase.Return;
9
+ }
10
+ export declare const CancelCmsEntryReviewUseCase: typeof CancelCmsEntryReviewUseCaseImpl & {
11
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICancelCmsEntryReviewUseCase>;
12
+ };
13
+ export {};
@@ -0,0 +1,37 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { CancelReviewUseCase } from "@webiny/api-workflows/features/review/CancelReview/index.js";
3
+ import { canCancelByPermission } from "@webiny/api-workflows/domain/review/canCancelByPermission.js";
4
+ import { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
5
+ import { CmsEntryReviewGuardService } from "../CmsEntryReviewGuardService/index.js";
6
+ import { CancelCmsEntryReviewUseCase } from "./abstractions.js";
7
+ class CancelCmsEntryReviewUseCaseImpl {
8
+ constructor(guard, cancelReview){
9
+ this.guard = guard;
10
+ this.cancelReview = cancelReview;
11
+ }
12
+ async execute(input) {
13
+ const authorized = await this.guard.authorize({
14
+ reviewId: input.reviewId,
15
+ action: "cancel this review"
16
+ });
17
+ if (authorized.isFail()) return Result.fail(authorized.error);
18
+ const { review, viewer } = authorized.value;
19
+ if (!canCancelByPermission(review, viewer)) return Result.fail(new WorkflowsNotAuthorizedError({
20
+ action: "cancel a review requested by someone else"
21
+ }));
22
+ return this.cancelReview.execute({
23
+ reviewId: input.reviewId,
24
+ actor: viewer.actor
25
+ });
26
+ }
27
+ }
28
+ const CancelCmsEntryReviewUseCase_CancelCmsEntryReviewUseCase = CancelCmsEntryReviewUseCase.createImplementation({
29
+ implementation: CancelCmsEntryReviewUseCaseImpl,
30
+ dependencies: [
31
+ CmsEntryReviewGuardService,
32
+ CancelReviewUseCase
33
+ ]
34
+ });
35
+ export { CancelCmsEntryReviewUseCase_CancelCmsEntryReviewUseCase as CancelCmsEntryReviewUseCase };
36
+
37
+ //# sourceMappingURL=CancelCmsEntryReviewUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/CancelCmsEntryReview/CancelCmsEntryReviewUseCase.js","sources":["../../../../src/features/wrappers/CancelCmsEntryReview/CancelCmsEntryReviewUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CancelReviewUseCase } from \"@webiny/api-workflows/features/review/CancelReview/index.js\";\nimport { canCancelByPermission } from \"@webiny/api-workflows/domain/review/canCancelByPermission.js\";\nimport { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport { CmsEntryReviewGuardService } from \"../CmsEntryReviewGuardService/index.js\";\nimport { CancelCmsEntryReviewUseCase as UseCase } from \"./abstractions.js\";\n\nclass CancelCmsEntryReviewUseCaseImpl implements UseCase.Interface {\n public constructor(\n private guard: CmsEntryReviewGuardService.Interface,\n private cancelReview: CancelReviewUseCase.Interface\n ) {}\n\n public async execute(input: UseCase.Input): UseCase.Return {\n const authorized = await this.guard.authorize({\n reviewId: input.reviewId,\n action: \"cancel this review\"\n });\n if (authorized.isFail()) {\n return Result.fail(authorized.error);\n }\n\n const { review, viewer } = authorized.value;\n // Permission only: the review's state is the engine's to report (1b R41).\n if (!canCancelByPermission(review, viewer)) {\n return Result.fail(\n new WorkflowsNotAuthorizedError({\n action: \"cancel a review requested by someone else\"\n })\n );\n }\n\n return this.cancelReview.execute({ reviewId: input.reviewId, actor: viewer.actor });\n }\n}\n\nexport const CancelCmsEntryReviewUseCase = UseCase.createImplementation({\n implementation: CancelCmsEntryReviewUseCaseImpl,\n dependencies: [CmsEntryReviewGuardService, CancelReviewUseCase]\n});\n"],"names":["CancelCmsEntryReviewUseCaseImpl","guard","cancelReview","input","authorized","Result","review","viewer","canCancelByPermission","WorkflowsNotAuthorizedError","CancelCmsEntryReviewUseCase","UseCase","CmsEntryReviewGuardService","CancelReviewUseCase"],"mappings":";;;;;;AAOA,MAAMA;IACF,YACYC,KAA2C,EAC3CC,YAA2C,CACrD;aAFUD,KAAK,GAALA;aACAC,YAAY,GAAZA;IACT;IAEH,MAAa,QAAQC,KAAoB,EAAkB;QACvD,MAAMC,aAAa,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1C,UAAUD,MAAM,QAAQ;YACxB,QAAQ;QACZ;QACA,IAAIC,WAAW,MAAM,IACjB,OAAOC,OAAO,IAAI,CAACD,WAAW,KAAK;QAGvC,MAAM,EAAEE,MAAM,EAAEC,MAAM,EAAE,GAAGH,WAAW,KAAK;QAE3C,IAAI,CAACI,sBAAsBF,QAAQC,SAC/B,OAAOF,OAAO,IAAI,CACd,IAAII,4BAA4B;YAC5B,QAAQ;QACZ;QAIR,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAAE,UAAUN,MAAM,QAAQ;YAAE,OAAOI,OAAO,KAAK;QAAC;IACrF;AACJ;AAEO,MAAMG,0DAA8BC,4BAAAA,oBAA4B,CAAC;IACpE,gBAAgBX;IAChB,cAAc;QAACY;QAA4BC;KAAoB;AACnE"}
@@ -0,0 +1,30 @@
1
+ import { type Result } from "@webiny/feature/api";
2
+ import type { ReviewData } from "@webiny/api-workflows/domain/review/types.js";
3
+ import type { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
4
+ import type { CancelReviewUseCase } from "@webiny/api-workflows/features/review/CancelReview/index.js";
5
+ import type { CmsEntryReviewGuardService } from "../CmsEntryReviewGuardService/index.js";
6
+ export interface CancelCmsEntryReviewInput {
7
+ reviewId: string;
8
+ }
9
+ export interface ICancelCmsEntryReviewUseCaseErrors {
10
+ guard: CmsEntryReviewGuardService.Error;
11
+ notAuthorized: WorkflowsNotAuthorizedError;
12
+ cancel: CancelReviewUseCase.Error;
13
+ }
14
+ type UseCaseError = ICancelCmsEntryReviewUseCaseErrors[keyof ICancelCmsEntryReviewUseCaseErrors];
15
+ export interface ICancelCmsEntryReviewUseCase {
16
+ execute(input: CancelCmsEntryReviewInput): Promise<Result<ReviewData, UseCaseError>>;
17
+ }
18
+ /**
19
+ * Cancel a CMS review (spec 5.1, D25, D133 point 7): read access to the target and the requester
20
+ * or `workflows.reassign` (`canCancelByPermission`, 1b R41). Finished reviews fail in the engine
21
+ * with `Workflows/Review/InvalidState`.
22
+ */
23
+ export declare const CancelCmsEntryReviewUseCase: import("@webiny/di").Abstraction<ICancelCmsEntryReviewUseCase>;
24
+ export declare namespace CancelCmsEntryReviewUseCase {
25
+ type Interface = ICancelCmsEntryReviewUseCase;
26
+ type Input = CancelCmsEntryReviewInput;
27
+ type Error = UseCaseError;
28
+ type Return = Promise<Result<ReviewData, UseCaseError>>;
29
+ }
30
+ export {};
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const CancelCmsEntryReviewUseCase = createAbstraction("CancelCmsEntryReviewUseCase");
3
+ export { CancelCmsEntryReviewUseCase };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/CancelCmsEntryReview/abstractions.js","sources":["../../../../src/features/wrappers/CancelCmsEntryReview/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { ReviewData } from \"@webiny/api-workflows/domain/review/types.js\";\nimport type { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport type { CancelReviewUseCase } from \"@webiny/api-workflows/features/review/CancelReview/index.js\";\nimport type { CmsEntryReviewGuardService } from \"../CmsEntryReviewGuardService/index.js\";\n\nexport interface CancelCmsEntryReviewInput {\n reviewId: string;\n}\n\nexport interface ICancelCmsEntryReviewUseCaseErrors {\n guard: CmsEntryReviewGuardService.Error;\n notAuthorized: WorkflowsNotAuthorizedError;\n cancel: CancelReviewUseCase.Error;\n}\n\ntype UseCaseError = ICancelCmsEntryReviewUseCaseErrors[keyof ICancelCmsEntryReviewUseCaseErrors];\n\nexport interface ICancelCmsEntryReviewUseCase {\n execute(input: CancelCmsEntryReviewInput): Promise<Result<ReviewData, UseCaseError>>;\n}\n\n/**\n * Cancel a CMS review (spec 5.1, D25, D133 point 7): read access to the target and the requester\n * or `workflows.reassign` (`canCancelByPermission`, 1b R41). Finished reviews fail in the engine\n * with `Workflows/Review/InvalidState`.\n */\nexport const CancelCmsEntryReviewUseCase = createAbstraction<ICancelCmsEntryReviewUseCase>(\n \"CancelCmsEntryReviewUseCase\"\n);\n\nexport namespace CancelCmsEntryReviewUseCase {\n export type Interface = ICancelCmsEntryReviewUseCase;\n export type Input = CancelCmsEntryReviewInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<ReviewData, UseCaseError>>;\n}\n"],"names":["CancelCmsEntryReviewUseCase","createAbstraction"],"mappings":";AA2BO,MAAMA,8BAA8BC,kBACvC"}
@@ -0,0 +1,4 @@
1
+ export declare const CancelCmsEntryReviewFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,11 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { CancelCmsEntryReviewUseCase } from "./CancelCmsEntryReviewUseCase.js";
3
+ const CancelCmsEntryReviewFeature = createFeature({
4
+ name: "CmsWorkflows/CancelCmsEntryReview",
5
+ register (container) {
6
+ container.register(CancelCmsEntryReviewUseCase);
7
+ }
8
+ });
9
+ export { CancelCmsEntryReviewFeature };
10
+
11
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/CancelCmsEntryReview/feature.js","sources":["../../../../src/features/wrappers/CancelCmsEntryReview/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CancelCmsEntryReviewUseCase } from \"./CancelCmsEntryReviewUseCase.js\";\n\nexport const CancelCmsEntryReviewFeature = createFeature({\n name: \"CmsWorkflows/CancelCmsEntryReview\",\n register(container) {\n container.register(CancelCmsEntryReviewUseCase);\n }\n});\n"],"names":["CancelCmsEntryReviewFeature","createFeature","container","CancelCmsEntryReviewUseCase"],"mappings":";;AAGO,MAAMA,8BAA8BC,cAAc;IACrD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -0,0 +1 @@
1
+ export { CancelCmsEntryReviewUseCase } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { CancelCmsEntryReviewUseCase } from "./abstractions.js";
@@ -0,0 +1,19 @@
1
+ import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
2
+ import { ListTargetReviewsUseCase } from "@webiny/api-workflows/features/review/ListTargetReviews/index.js";
3
+ import { CancelTargetReviewsUseCase } from "@webiny/api-workflows/features/review/CancelTargetReviews/index.js";
4
+ import { CmsEntryTargetReader } from "../../../features/target/CmsEntryTargetReader/index.js";
5
+ import { CmsEntryAccess } from "../../../features/target/CmsEntryAccess/index.js";
6
+ import { CancelCmsEntryReviewsForDeleteUseCase as UseCase } from "./abstractions.js";
7
+ declare class CancelCmsEntryReviewsForDeleteUseCaseImpl implements UseCase.Interface {
8
+ private viewer;
9
+ private listTargetReviews;
10
+ private targets;
11
+ private access;
12
+ private cancelTargetReviews;
13
+ constructor(viewer: CurrentReviewViewer.Interface, listTargetReviews: ListTargetReviewsUseCase.Interface, targets: CmsEntryTargetReader.Interface, access: CmsEntryAccess.Interface, cancelTargetReviews: CancelTargetReviewsUseCase.Interface);
14
+ execute(input: UseCase.Input): UseCase.Return;
15
+ }
16
+ export declare const CancelCmsEntryReviewsForDeleteUseCase: typeof CancelCmsEntryReviewsForDeleteUseCaseImpl & {
17
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICancelCmsEntryReviewsForDeleteUseCase>;
18
+ };
19
+ export {};