@webiny/api-website-builder-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 (380) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/WebsiteBuilderPageSchemaFactory.d.ts +15 -0
  4. package/WebsiteBuilderPageSchemaFactory.js +30 -0
  5. package/WebsiteBuilderPageSchemaFactory.js.map +1 -0
  6. package/WebsiteBuilderWorkflowsFeature.d.ts +5 -0
  7. package/WebsiteBuilderWorkflowsFeature.js +21 -0
  8. package/WebsiteBuilderWorkflowsFeature.js.map +1 -0
  9. package/constants.d.ts +4 -0
  10. package/constants.js +5 -0
  11. package/constants.js.map +1 -0
  12. package/features/hooks/BlockPageDeleteWhileInReview.d.ts +20 -0
  13. package/features/hooks/BlockPageDeleteWhileInReview.js +43 -0
  14. package/features/hooks/BlockPageDeleteWhileInReview.js.map +1 -0
  15. package/features/hooks/BlockPageFolderChangeWhileInReview.d.ts +19 -0
  16. package/features/hooks/BlockPageFolderChangeWhileInReview.js +27 -0
  17. package/features/hooks/BlockPageFolderChangeWhileInReview.js.map +1 -0
  18. package/features/hooks/BlockPageMoveWhileInReview.d.ts +18 -0
  19. package/features/hooks/BlockPageMoveWhileInReview.js +44 -0
  20. package/features/hooks/BlockPageMoveWhileInReview.js.map +1 -0
  21. package/features/hooks/BlockPageRevisionDeleteWhileInReview.d.ts +13 -0
  22. package/features/hooks/BlockPageRevisionDeleteWhileInReview.js +44 -0
  23. package/features/hooks/BlockPageRevisionDeleteWhileInReview.js.map +1 -0
  24. package/features/hooks/BlockPageTrashWhileInReview.d.ts +21 -0
  25. package/features/hooks/BlockPageTrashWhileInReview.js +43 -0
  26. package/features/hooks/BlockPageTrashWhileInReview.js.map +1 -0
  27. package/features/hooks/BlockPageUpdateWhileInReview.d.ts +20 -0
  28. package/features/hooks/BlockPageUpdateWhileInReview.js +25 -0
  29. package/features/hooks/BlockPageUpdateWhileInReview.js.map +1 -0
  30. package/features/hooks/DeleteReviewsOnPageDelete.d.ts +20 -0
  31. package/features/hooks/DeleteReviewsOnPageDelete.js +43 -0
  32. package/features/hooks/DeleteReviewsOnPageDelete.js.map +1 -0
  33. package/features/hooks/DeleteReviewsOnPageRevisionDelete.d.ts +13 -0
  34. package/features/hooks/DeleteReviewsOnPageRevisionDelete.js +44 -0
  35. package/features/hooks/DeleteReviewsOnPageRevisionDelete.js.map +1 -0
  36. package/features/hooks/NullReviewStateOnGraduatedVariantDecorator.d.ts +27 -0
  37. package/features/hooks/NullReviewStateOnGraduatedVariantDecorator.js +53 -0
  38. package/features/hooks/NullReviewStateOnGraduatedVariantDecorator.js.map +1 -0
  39. package/features/hooks/NullReviewStateOnPageRevisionCreate.d.ts +26 -0
  40. package/features/hooks/NullReviewStateOnPageRevisionCreate.js +43 -0
  41. package/features/hooks/NullReviewStateOnPageRevisionCreate.js.map +1 -0
  42. package/features/hooks/RequireApprovedReviewOnPagePublish.d.ts +20 -0
  43. package/features/hooks/RequireApprovedReviewOnPagePublish.js +42 -0
  44. package/features/hooks/RequireApprovedReviewOnPagePublish.js.map +1 -0
  45. package/features/hooks/feature.d.ts +9 -0
  46. package/features/hooks/feature.js +31 -0
  47. package/features/hooks/feature.js.map +1 -0
  48. package/features/target/WbPageAccess/WbPageAccess.d.ts +27 -0
  49. package/features/target/WbPageAccess/WbPageAccess.js +84 -0
  50. package/features/target/WbPageAccess/WbPageAccess.js.map +1 -0
  51. package/features/target/WbPageAccess/abstractions.d.ts +39 -0
  52. package/features/target/WbPageAccess/abstractions.js +5 -0
  53. package/features/target/WbPageAccess/abstractions.js.map +1 -0
  54. package/features/target/WbPageAccess/index.d.ts +1 -0
  55. package/features/target/WbPageAccess/index.js +1 -0
  56. package/features/target/WbPageDeniedFolders/WbPageDeniedFolders.d.ts +20 -0
  57. package/features/target/WbPageDeniedFolders/WbPageDeniedFolders.js +55 -0
  58. package/features/target/WbPageDeniedFolders/WbPageDeniedFolders.js.map +1 -0
  59. package/features/target/WbPageDeniedFolders/abstractions.d.ts +23 -0
  60. package/features/target/WbPageDeniedFolders/abstractions.js +5 -0
  61. package/features/target/WbPageDeniedFolders/abstractions.js.map +1 -0
  62. package/features/target/WbPageDeniedFolders/index.d.ts +1 -0
  63. package/features/target/WbPageDeniedFolders/index.js +1 -0
  64. package/features/target/WbPageFolderExistsService/WbPageFolderExistsService.d.ts +15 -0
  65. package/features/target/WbPageFolderExistsService/WbPageFolderExistsService.js +27 -0
  66. package/features/target/WbPageFolderExistsService/WbPageFolderExistsService.js.map +1 -0
  67. package/features/target/WbPageFolderExistsService/abstractions.d.ts +16 -0
  68. package/features/target/WbPageFolderExistsService/abstractions.js +5 -0
  69. package/features/target/WbPageFolderExistsService/abstractions.js.map +1 -0
  70. package/features/target/WbPageFolderExistsService/index.d.ts +1 -0
  71. package/features/target/WbPageFolderExistsService/index.js +1 -0
  72. package/features/target/WbPageReviewNamespace.d.ts +14 -0
  73. package/features/target/WbPageReviewNamespace.js +15 -0
  74. package/features/target/WbPageReviewNamespace.js.map +1 -0
  75. package/features/target/WbPageReviewReadFilter/WbPageReviewReadFilter.d.ts +17 -0
  76. package/features/target/WbPageReviewReadFilter/WbPageReviewReadFilter.js +53 -0
  77. package/features/target/WbPageReviewReadFilter/WbPageReviewReadFilter.js.map +1 -0
  78. package/features/target/WbPageReviewReadFilter/abstractions.d.ts +21 -0
  79. package/features/target/WbPageReviewReadFilter/abstractions.js +5 -0
  80. package/features/target/WbPageReviewReadFilter/abstractions.js.map +1 -0
  81. package/features/target/WbPageReviewReadFilter/index.d.ts +1 -0
  82. package/features/target/WbPageReviewReadFilter/index.js +1 -0
  83. package/features/target/WbPageReviewTargetEditor.d.ts +33 -0
  84. package/features/target/WbPageReviewTargetEditor.js +109 -0
  85. package/features/target/WbPageReviewTargetEditor.js.map +1 -0
  86. package/features/target/WbPageReviewTargetFolderChain.d.ts +22 -0
  87. package/features/target/WbPageReviewTargetFolderChain.js +34 -0
  88. package/features/target/WbPageReviewTargetFolderChain.js.map +1 -0
  89. package/features/target/WbPageReviewTargetLink.d.ts +17 -0
  90. package/features/target/WbPageReviewTargetLink.js +17 -0
  91. package/features/target/WbPageReviewTargetLink.js.map +1 -0
  92. package/features/target/WbPageReviewTargetLoader.d.ts +13 -0
  93. package/features/target/WbPageReviewTargetLoader.js +29 -0
  94. package/features/target/WbPageReviewTargetLoader.js.map +1 -0
  95. package/features/target/WbPageReviewTargetReadAccess.d.ts +33 -0
  96. package/features/target/WbPageReviewTargetReadAccess.js +72 -0
  97. package/features/target/WbPageReviewTargetReadAccess.js.map +1 -0
  98. package/features/target/WbPageReviewTargetSync.d.ts +23 -0
  99. package/features/target/WbPageReviewTargetSync.js +39 -0
  100. package/features/target/WbPageReviewTargetSync.js.map +1 -0
  101. package/features/target/WbPageTargetReader/WbPageTargetReader.d.ts +20 -0
  102. package/features/target/WbPageTargetReader/WbPageTargetReader.js +51 -0
  103. package/features/target/WbPageTargetReader/WbPageTargetReader.js.map +1 -0
  104. package/features/target/WbPageTargetReader/abstractions.d.ts +37 -0
  105. package/features/target/WbPageTargetReader/abstractions.js +5 -0
  106. package/features/target/WbPageTargetReader/abstractions.js.map +1 -0
  107. package/features/target/WbPageTargetReader/index.d.ts +1 -0
  108. package/features/target/WbPageTargetReader/index.js +1 -0
  109. package/features/target/WbWorkflowModelParser.d.ts +9 -0
  110. package/features/target/WbWorkflowModelParser.js +18 -0
  111. package/features/target/WbWorkflowModelParser.js.map +1 -0
  112. package/features/target/feature.d.ts +5 -0
  113. package/features/target/feature.js +35 -0
  114. package/features/target/feature.js.map +1 -0
  115. package/features/target/isWbPageEditorValue.d.ts +9 -0
  116. package/features/target/isWbPageEditorValue.js +34 -0
  117. package/features/target/isWbPageEditorValue.js.map +1 -0
  118. package/features/target/toWbPageEditorFields.d.ts +32 -0
  119. package/features/target/toWbPageEditorFields.js +102 -0
  120. package/features/target/toWbPageEditorFields.js.map +1 -0
  121. package/features/target/toWbPageProperties.d.ts +10 -0
  122. package/features/target/toWbPageProperties.js +27 -0
  123. package/features/target/toWbPageProperties.js.map +1 -0
  124. package/features/target/toWbPageReviewTarget.d.ts +4 -0
  125. package/features/target/toWbPageReviewTarget.js +25 -0
  126. package/features/target/toWbPageReviewTarget.js.map +1 -0
  127. package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/ApproveWebsiteBuilderPageReviewStepUseCase.d.ts +13 -0
  128. package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/ApproveWebsiteBuilderPageReviewStepUseCase.js +35 -0
  129. package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/ApproveWebsiteBuilderPageReviewStepUseCase.js.map +1 -0
  130. package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/abstractions.d.ts +26 -0
  131. package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/abstractions.js +5 -0
  132. package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/abstractions.js.map +1 -0
  133. package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/feature.d.ts +4 -0
  134. package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/feature.js +11 -0
  135. package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/feature.js.map +1 -0
  136. package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/index.d.ts +1 -0
  137. package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/index.js +1 -0
  138. package/features/wrappers/CancelWebsiteBuilderPageReview/CancelWebsiteBuilderPageReviewUseCase.d.ts +13 -0
  139. package/features/wrappers/CancelWebsiteBuilderPageReview/CancelWebsiteBuilderPageReviewUseCase.js +37 -0
  140. package/features/wrappers/CancelWebsiteBuilderPageReview/CancelWebsiteBuilderPageReviewUseCase.js.map +1 -0
  141. package/features/wrappers/CancelWebsiteBuilderPageReview/abstractions.d.ts +30 -0
  142. package/features/wrappers/CancelWebsiteBuilderPageReview/abstractions.js +5 -0
  143. package/features/wrappers/CancelWebsiteBuilderPageReview/abstractions.js.map +1 -0
  144. package/features/wrappers/CancelWebsiteBuilderPageReview/feature.d.ts +4 -0
  145. package/features/wrappers/CancelWebsiteBuilderPageReview/feature.js +11 -0
  146. package/features/wrappers/CancelWebsiteBuilderPageReview/feature.js.map +1 -0
  147. package/features/wrappers/CancelWebsiteBuilderPageReview/index.d.ts +1 -0
  148. package/features/wrappers/CancelWebsiteBuilderPageReview/index.js +1 -0
  149. package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/CancelWebsiteBuilderPageReviewsForDeleteUseCase.d.ts +19 -0
  150. package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/CancelWebsiteBuilderPageReviewsForDeleteUseCase.js +81 -0
  151. package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/CancelWebsiteBuilderPageReviewsForDeleteUseCase.js.map +1 -0
  152. package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/abstractions.d.ts +39 -0
  153. package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/abstractions.js +5 -0
  154. package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/abstractions.js.map +1 -0
  155. package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/feature.d.ts +4 -0
  156. package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/feature.js +11 -0
  157. package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/feature.js.map +1 -0
  158. package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/index.d.ts +1 -0
  159. package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/index.js +1 -0
  160. package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/DeleteWebsiteBuilderPageWorkflowUseCase.d.ts +25 -0
  161. package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/DeleteWebsiteBuilderPageWorkflowUseCase.js +95 -0
  162. package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/DeleteWebsiteBuilderPageWorkflowUseCase.js.map +1 -0
  163. package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/abstractions.d.ts +32 -0
  164. package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/abstractions.js +5 -0
  165. package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/abstractions.js.map +1 -0
  166. package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/feature.d.ts +4 -0
  167. package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/feature.js +11 -0
  168. package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/feature.js.map +1 -0
  169. package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/index.d.ts +1 -0
  170. package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/index.js +1 -0
  171. package/features/wrappers/GetWebsiteBuilderPageReview/GetWebsiteBuilderPageReviewUseCase.d.ts +13 -0
  172. package/features/wrappers/GetWebsiteBuilderPageReview/GetWebsiteBuilderPageReviewUseCase.js +40 -0
  173. package/features/wrappers/GetWebsiteBuilderPageReview/GetWebsiteBuilderPageReviewUseCase.js.map +1 -0
  174. package/features/wrappers/GetWebsiteBuilderPageReview/abstractions.d.ts +29 -0
  175. package/features/wrappers/GetWebsiteBuilderPageReview/abstractions.js +5 -0
  176. package/features/wrappers/GetWebsiteBuilderPageReview/abstractions.js.map +1 -0
  177. package/features/wrappers/GetWebsiteBuilderPageReview/feature.d.ts +4 -0
  178. package/features/wrappers/GetWebsiteBuilderPageReview/feature.js +11 -0
  179. package/features/wrappers/GetWebsiteBuilderPageReview/feature.js.map +1 -0
  180. package/features/wrappers/GetWebsiteBuilderPageReview/index.d.ts +1 -0
  181. package/features/wrappers/GetWebsiteBuilderPageReview/index.js +1 -0
  182. package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/GetWebsiteBuilderPageReviewStepRunUseCase.d.ts +13 -0
  183. package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/GetWebsiteBuilderPageReviewStepRunUseCase.js +39 -0
  184. package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/GetWebsiteBuilderPageReviewStepRunUseCase.js.map +1 -0
  185. package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/abstractions.d.ts +33 -0
  186. package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/abstractions.js +5 -0
  187. package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/abstractions.js.map +1 -0
  188. package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/feature.d.ts +4 -0
  189. package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/feature.js +11 -0
  190. package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/feature.js.map +1 -0
  191. package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/index.d.ts +1 -0
  192. package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/index.js +1 -0
  193. package/features/wrappers/GetWebsiteBuilderPageTargetReview/GetWebsiteBuilderPageTargetReviewUseCase.d.ts +19 -0
  194. package/features/wrappers/GetWebsiteBuilderPageTargetReview/GetWebsiteBuilderPageTargetReviewUseCase.js +72 -0
  195. package/features/wrappers/GetWebsiteBuilderPageTargetReview/GetWebsiteBuilderPageTargetReviewUseCase.js.map +1 -0
  196. package/features/wrappers/GetWebsiteBuilderPageTargetReview/abstractions.d.ts +34 -0
  197. package/features/wrappers/GetWebsiteBuilderPageTargetReview/abstractions.js +5 -0
  198. package/features/wrappers/GetWebsiteBuilderPageTargetReview/abstractions.js.map +1 -0
  199. package/features/wrappers/GetWebsiteBuilderPageTargetReview/feature.d.ts +4 -0
  200. package/features/wrappers/GetWebsiteBuilderPageTargetReview/feature.js +11 -0
  201. package/features/wrappers/GetWebsiteBuilderPageTargetReview/feature.js.map +1 -0
  202. package/features/wrappers/GetWebsiteBuilderPageTargetReview/index.d.ts +1 -0
  203. package/features/wrappers/GetWebsiteBuilderPageTargetReview/index.js +1 -0
  204. package/features/wrappers/GetWebsiteBuilderPageWorkflow/GetWebsiteBuilderPageWorkflowUseCase.d.ts +13 -0
  205. package/features/wrappers/GetWebsiteBuilderPageWorkflow/GetWebsiteBuilderPageWorkflowUseCase.js +34 -0
  206. package/features/wrappers/GetWebsiteBuilderPageWorkflow/GetWebsiteBuilderPageWorkflowUseCase.js.map +1 -0
  207. package/features/wrappers/GetWebsiteBuilderPageWorkflow/abstractions.d.ts +24 -0
  208. package/features/wrappers/GetWebsiteBuilderPageWorkflow/abstractions.js +5 -0
  209. package/features/wrappers/GetWebsiteBuilderPageWorkflow/abstractions.js.map +1 -0
  210. package/features/wrappers/GetWebsiteBuilderPageWorkflow/feature.d.ts +4 -0
  211. package/features/wrappers/GetWebsiteBuilderPageWorkflow/feature.js +11 -0
  212. package/features/wrappers/GetWebsiteBuilderPageWorkflow/feature.js.map +1 -0
  213. package/features/wrappers/GetWebsiteBuilderPageWorkflow/index.d.ts +1 -0
  214. package/features/wrappers/GetWebsiteBuilderPageWorkflow/index.js +1 -0
  215. package/features/wrappers/InspectWebsiteBuilderPageRouting/InspectWebsiteBuilderPageRoutingUseCase.d.ts +19 -0
  216. package/features/wrappers/InspectWebsiteBuilderPageRouting/InspectWebsiteBuilderPageRoutingUseCase.js +51 -0
  217. package/features/wrappers/InspectWebsiteBuilderPageRouting/InspectWebsiteBuilderPageRoutingUseCase.js.map +1 -0
  218. package/features/wrappers/InspectWebsiteBuilderPageRouting/abstractions.d.ts +34 -0
  219. package/features/wrappers/InspectWebsiteBuilderPageRouting/abstractions.js +5 -0
  220. package/features/wrappers/InspectWebsiteBuilderPageRouting/abstractions.js.map +1 -0
  221. package/features/wrappers/InspectWebsiteBuilderPageRouting/feature.d.ts +4 -0
  222. package/features/wrappers/InspectWebsiteBuilderPageRouting/feature.js +11 -0
  223. package/features/wrappers/InspectWebsiteBuilderPageRouting/feature.js.map +1 -0
  224. package/features/wrappers/InspectWebsiteBuilderPageRouting/index.d.ts +1 -0
  225. package/features/wrappers/InspectWebsiteBuilderPageRouting/index.js +1 -0
  226. package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/ListWebsiteBuilderPageReviewStepCandidatesUseCase.d.ts +13 -0
  227. package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/ListWebsiteBuilderPageReviewStepCandidatesUseCase.js +41 -0
  228. package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/ListWebsiteBuilderPageReviewStepCandidatesUseCase.js.map +1 -0
  229. package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/abstractions.d.ts +30 -0
  230. package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/abstractions.js +5 -0
  231. package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/abstractions.js.map +1 -0
  232. package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/feature.d.ts +4 -0
  233. package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/feature.js +11 -0
  234. package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/feature.js.map +1 -0
  235. package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/index.d.ts +1 -0
  236. package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/index.js +1 -0
  237. package/features/wrappers/ListWebsiteBuilderPageReviews/ListWebsiteBuilderPageReviewsUseCase.d.ts +15 -0
  238. package/features/wrappers/ListWebsiteBuilderPageReviews/ListWebsiteBuilderPageReviewsUseCase.js +68 -0
  239. package/features/wrappers/ListWebsiteBuilderPageReviews/ListWebsiteBuilderPageReviewsUseCase.js.map +1 -0
  240. package/features/wrappers/ListWebsiteBuilderPageReviews/abstractions.d.ts +43 -0
  241. package/features/wrappers/ListWebsiteBuilderPageReviews/abstractions.js +5 -0
  242. package/features/wrappers/ListWebsiteBuilderPageReviews/abstractions.js.map +1 -0
  243. package/features/wrappers/ListWebsiteBuilderPageReviews/feature.d.ts +4 -0
  244. package/features/wrappers/ListWebsiteBuilderPageReviews/feature.js +11 -0
  245. package/features/wrappers/ListWebsiteBuilderPageReviews/feature.js.map +1 -0
  246. package/features/wrappers/ListWebsiteBuilderPageReviews/index.d.ts +2 -0
  247. package/features/wrappers/ListWebsiteBuilderPageReviews/index.js +1 -0
  248. package/features/wrappers/ListWebsiteBuilderPageStepCandidates/ListWebsiteBuilderPageStepCandidatesUseCase.d.ts +25 -0
  249. package/features/wrappers/ListWebsiteBuilderPageStepCandidates/ListWebsiteBuilderPageStepCandidatesUseCase.js +93 -0
  250. package/features/wrappers/ListWebsiteBuilderPageStepCandidates/ListWebsiteBuilderPageStepCandidatesUseCase.js.map +1 -0
  251. package/features/wrappers/ListWebsiteBuilderPageStepCandidates/abstractions.d.ts +41 -0
  252. package/features/wrappers/ListWebsiteBuilderPageStepCandidates/abstractions.js +5 -0
  253. package/features/wrappers/ListWebsiteBuilderPageStepCandidates/abstractions.js.map +1 -0
  254. package/features/wrappers/ListWebsiteBuilderPageStepCandidates/feature.d.ts +4 -0
  255. package/features/wrappers/ListWebsiteBuilderPageStepCandidates/feature.js +11 -0
  256. package/features/wrappers/ListWebsiteBuilderPageStepCandidates/feature.js.map +1 -0
  257. package/features/wrappers/ListWebsiteBuilderPageStepCandidates/index.d.ts +1 -0
  258. package/features/wrappers/ListWebsiteBuilderPageStepCandidates/index.js +1 -0
  259. package/features/wrappers/ListWebsiteBuilderPageWorkflows/ListWebsiteBuilderPageWorkflowsUseCase.d.ts +13 -0
  260. package/features/wrappers/ListWebsiteBuilderPageWorkflows/ListWebsiteBuilderPageWorkflowsUseCase.js +37 -0
  261. package/features/wrappers/ListWebsiteBuilderPageWorkflows/ListWebsiteBuilderPageWorkflowsUseCase.js.map +1 -0
  262. package/features/wrappers/ListWebsiteBuilderPageWorkflows/abstractions.d.ts +20 -0
  263. package/features/wrappers/ListWebsiteBuilderPageWorkflows/abstractions.js +5 -0
  264. package/features/wrappers/ListWebsiteBuilderPageWorkflows/abstractions.js.map +1 -0
  265. package/features/wrappers/ListWebsiteBuilderPageWorkflows/feature.d.ts +4 -0
  266. package/features/wrappers/ListWebsiteBuilderPageWorkflows/feature.js +11 -0
  267. package/features/wrappers/ListWebsiteBuilderPageWorkflows/feature.js.map +1 -0
  268. package/features/wrappers/ListWebsiteBuilderPageWorkflows/index.d.ts +1 -0
  269. package/features/wrappers/ListWebsiteBuilderPageWorkflows/index.js +1 -0
  270. package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/ReassignWebsiteBuilderPageReviewStepUseCase.d.ts +13 -0
  271. package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/ReassignWebsiteBuilderPageReviewStepUseCase.js +40 -0
  272. package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/ReassignWebsiteBuilderPageReviewStepUseCase.js.map +1 -0
  273. package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/abstractions.d.ts +32 -0
  274. package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/abstractions.js +5 -0
  275. package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/abstractions.js.map +1 -0
  276. package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/feature.d.ts +4 -0
  277. package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/feature.js +11 -0
  278. package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/feature.js.map +1 -0
  279. package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/index.d.ts +1 -0
  280. package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/index.js +1 -0
  281. package/features/wrappers/RejectWebsiteBuilderPageReviewStep/RejectWebsiteBuilderPageReviewStepUseCase.d.ts +13 -0
  282. package/features/wrappers/RejectWebsiteBuilderPageReviewStep/RejectWebsiteBuilderPageReviewStepUseCase.js +35 -0
  283. package/features/wrappers/RejectWebsiteBuilderPageReviewStep/RejectWebsiteBuilderPageReviewStepUseCase.js.map +1 -0
  284. package/features/wrappers/RejectWebsiteBuilderPageReviewStep/abstractions.d.ts +26 -0
  285. package/features/wrappers/RejectWebsiteBuilderPageReviewStep/abstractions.js +5 -0
  286. package/features/wrappers/RejectWebsiteBuilderPageReviewStep/abstractions.js.map +1 -0
  287. package/features/wrappers/RejectWebsiteBuilderPageReviewStep/feature.d.ts +4 -0
  288. package/features/wrappers/RejectWebsiteBuilderPageReviewStep/feature.js +11 -0
  289. package/features/wrappers/RejectWebsiteBuilderPageReviewStep/feature.js.map +1 -0
  290. package/features/wrappers/RejectWebsiteBuilderPageReviewStep/index.d.ts +1 -0
  291. package/features/wrappers/RejectWebsiteBuilderPageReviewStep/index.js +1 -0
  292. package/features/wrappers/RequestWebsiteBuilderPageReview/RequestWebsiteBuilderPageReviewUseCase.d.ts +23 -0
  293. package/features/wrappers/RequestWebsiteBuilderPageReview/RequestWebsiteBuilderPageReviewUseCase.js +72 -0
  294. package/features/wrappers/RequestWebsiteBuilderPageReview/RequestWebsiteBuilderPageReviewUseCase.js.map +1 -0
  295. package/features/wrappers/RequestWebsiteBuilderPageReview/abstractions.d.ts +41 -0
  296. package/features/wrappers/RequestWebsiteBuilderPageReview/abstractions.js +5 -0
  297. package/features/wrappers/RequestWebsiteBuilderPageReview/abstractions.js.map +1 -0
  298. package/features/wrappers/RequestWebsiteBuilderPageReview/feature.d.ts +4 -0
  299. package/features/wrappers/RequestWebsiteBuilderPageReview/feature.js +11 -0
  300. package/features/wrappers/RequestWebsiteBuilderPageReview/feature.js.map +1 -0
  301. package/features/wrappers/RequestWebsiteBuilderPageReview/index.d.ts +1 -0
  302. package/features/wrappers/RequestWebsiteBuilderPageReview/index.js +1 -0
  303. package/features/wrappers/RestartWebsiteBuilderPageReviewStep/RestartWebsiteBuilderPageReviewStepUseCase.d.ts +13 -0
  304. package/features/wrappers/RestartWebsiteBuilderPageReviewStep/RestartWebsiteBuilderPageReviewStepUseCase.js +39 -0
  305. package/features/wrappers/RestartWebsiteBuilderPageReviewStep/RestartWebsiteBuilderPageReviewStepUseCase.js.map +1 -0
  306. package/features/wrappers/RestartWebsiteBuilderPageReviewStep/abstractions.d.ts +30 -0
  307. package/features/wrappers/RestartWebsiteBuilderPageReviewStep/abstractions.js +5 -0
  308. package/features/wrappers/RestartWebsiteBuilderPageReviewStep/abstractions.js.map +1 -0
  309. package/features/wrappers/RestartWebsiteBuilderPageReviewStep/feature.d.ts +4 -0
  310. package/features/wrappers/RestartWebsiteBuilderPageReviewStep/feature.js +11 -0
  311. package/features/wrappers/RestartWebsiteBuilderPageReviewStep/feature.js.map +1 -0
  312. package/features/wrappers/RestartWebsiteBuilderPageReviewStep/index.d.ts +1 -0
  313. package/features/wrappers/RestartWebsiteBuilderPageReviewStep/index.js +1 -0
  314. package/features/wrappers/StartWebsiteBuilderPageReviewStep/StartWebsiteBuilderPageReviewStepUseCase.d.ts +13 -0
  315. package/features/wrappers/StartWebsiteBuilderPageReviewStep/StartWebsiteBuilderPageReviewStepUseCase.js +34 -0
  316. package/features/wrappers/StartWebsiteBuilderPageReviewStep/StartWebsiteBuilderPageReviewStepUseCase.js.map +1 -0
  317. package/features/wrappers/StartWebsiteBuilderPageReviewStep/abstractions.d.ts +25 -0
  318. package/features/wrappers/StartWebsiteBuilderPageReviewStep/abstractions.js +5 -0
  319. package/features/wrappers/StartWebsiteBuilderPageReviewStep/abstractions.js.map +1 -0
  320. package/features/wrappers/StartWebsiteBuilderPageReviewStep/feature.d.ts +4 -0
  321. package/features/wrappers/StartWebsiteBuilderPageReviewStep/feature.js +11 -0
  322. package/features/wrappers/StartWebsiteBuilderPageReviewStep/feature.js.map +1 -0
  323. package/features/wrappers/StartWebsiteBuilderPageReviewStep/index.d.ts +1 -0
  324. package/features/wrappers/StartWebsiteBuilderPageReviewStep/index.js +1 -0
  325. package/features/wrappers/StoreWebsiteBuilderPageWorkflow/StoreWebsiteBuilderPageWorkflowUseCase.d.ts +17 -0
  326. package/features/wrappers/StoreWebsiteBuilderPageWorkflow/StoreWebsiteBuilderPageWorkflowUseCase.js +57 -0
  327. package/features/wrappers/StoreWebsiteBuilderPageWorkflow/StoreWebsiteBuilderPageWorkflowUseCase.js.map +1 -0
  328. package/features/wrappers/StoreWebsiteBuilderPageWorkflow/abstractions.d.ts +33 -0
  329. package/features/wrappers/StoreWebsiteBuilderPageWorkflow/abstractions.js +5 -0
  330. package/features/wrappers/StoreWebsiteBuilderPageWorkflow/abstractions.js.map +1 -0
  331. package/features/wrappers/StoreWebsiteBuilderPageWorkflow/feature.d.ts +4 -0
  332. package/features/wrappers/StoreWebsiteBuilderPageWorkflow/feature.js +11 -0
  333. package/features/wrappers/StoreWebsiteBuilderPageWorkflow/feature.js.map +1 -0
  334. package/features/wrappers/StoreWebsiteBuilderPageWorkflow/index.d.ts +1 -0
  335. package/features/wrappers/StoreWebsiteBuilderPageWorkflow/index.js +1 -0
  336. package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/TakeOverWebsiteBuilderPageReviewStepUseCase.d.ts +13 -0
  337. package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/TakeOverWebsiteBuilderPageReviewStepUseCase.js +35 -0
  338. package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/TakeOverWebsiteBuilderPageReviewStepUseCase.js.map +1 -0
  339. package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/abstractions.d.ts +27 -0
  340. package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/abstractions.js +5 -0
  341. package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/abstractions.js.map +1 -0
  342. package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/feature.d.ts +4 -0
  343. package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/feature.js +11 -0
  344. package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/feature.js.map +1 -0
  345. package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/index.d.ts +1 -0
  346. package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/index.js +1 -0
  347. package/features/wrappers/WbPageReviewGuardService/WbPageReviewGuardService.d.ts +17 -0
  348. package/features/wrappers/WbPageReviewGuardService/WbPageReviewGuardService.js +63 -0
  349. package/features/wrappers/WbPageReviewGuardService/WbPageReviewGuardService.js.map +1 -0
  350. package/features/wrappers/WbPageReviewGuardService/abstractions.d.ts +37 -0
  351. package/features/wrappers/WbPageReviewGuardService/abstractions.js +5 -0
  352. package/features/wrappers/WbPageReviewGuardService/abstractions.js.map +1 -0
  353. package/features/wrappers/WbPageReviewGuardService/index.d.ts +1 -0
  354. package/features/wrappers/WbPageReviewGuardService/index.js +1 -0
  355. package/features/wrappers/WebsiteBuilderPageFolderExists/WebsiteBuilderPageFolderExistsUseCase.d.ts +15 -0
  356. package/features/wrappers/WebsiteBuilderPageFolderExists/WebsiteBuilderPageFolderExistsUseCase.js +43 -0
  357. package/features/wrappers/WebsiteBuilderPageFolderExists/WebsiteBuilderPageFolderExistsUseCase.js.map +1 -0
  358. package/features/wrappers/WebsiteBuilderPageFolderExists/abstractions.d.ts +28 -0
  359. package/features/wrappers/WebsiteBuilderPageFolderExists/abstractions.js +5 -0
  360. package/features/wrappers/WebsiteBuilderPageFolderExists/abstractions.js.map +1 -0
  361. package/features/wrappers/WebsiteBuilderPageFolderExists/feature.d.ts +4 -0
  362. package/features/wrappers/WebsiteBuilderPageFolderExists/feature.js +11 -0
  363. package/features/wrappers/WebsiteBuilderPageFolderExists/feature.js.map +1 -0
  364. package/features/wrappers/WebsiteBuilderPageFolderExists/index.d.ts +1 -0
  365. package/features/wrappers/WebsiteBuilderPageFolderExists/index.js +1 -0
  366. package/features/wrappers/feature.d.ts +9 -0
  367. package/features/wrappers/feature.js +53 -0
  368. package/features/wrappers/feature.js.map +1 -0
  369. package/features/wrappers/shared/wbWorkflows.d.ts +8 -0
  370. package/features/wrappers/shared/wbWorkflows.js +9 -0
  371. package/features/wrappers/shared/wbWorkflows.js.map +1 -0
  372. package/graphql/WebsiteBuilderWorkflowsSchemaFactory.d.ts +15 -0
  373. package/graphql/WebsiteBuilderWorkflowsSchemaFactory.js +616 -0
  374. package/graphql/WebsiteBuilderWorkflowsSchemaFactory.js.map +1 -0
  375. package/graphql/isValidRevisionId.d.ts +6 -0
  376. package/graphql/isValidRevisionId.js +9 -0
  377. package/graphql/isValidRevisionId.js.map +1 -0
  378. package/index.d.ts +1 -0
  379. package/index.js +1 -0
  380. package/package.json +50 -0
@@ -0,0 +1,41 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ListStepCandidatesUseCase } from "@webiny/api-workflows/features/routing/ListStepCandidates/index.js";
3
+ import { canReassignByPermission } from "@webiny/api-workflows/domain/review/canReassignByPermission.js";
4
+ import { redactStepCandidates } from "@webiny/api-workflows/domain/routing/redactStepCandidates.js";
5
+ import { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
6
+ import { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
7
+ import { ListWebsiteBuilderPageReviewStepCandidatesUseCase } from "./abstractions.js";
8
+ const ACTION = "list the step's candidates";
9
+ class ListWebsiteBuilderPageReviewStepCandidatesUseCaseImpl {
10
+ constructor(guard, listCandidates){
11
+ this.guard = guard;
12
+ this.listCandidates = listCandidates;
13
+ }
14
+ async execute(input) {
15
+ const authorized = await this.guard.authorize({
16
+ reviewId: input.reviewId,
17
+ action: ACTION
18
+ });
19
+ if (authorized.isFail()) return Result.fail(authorized.error);
20
+ const { viewer } = authorized.value;
21
+ if (!canReassignByPermission(viewer)) return Result.fail(new WorkflowsNotAuthorizedError({
22
+ action: ACTION
23
+ }));
24
+ const candidates = await this.listCandidates.execute({
25
+ reviewId: input.reviewId,
26
+ stepId: input.stepId
27
+ });
28
+ if (candidates.isFail()) return Result.fail(candidates.error);
29
+ return Result.ok(redactStepCandidates(candidates.value, viewer.permissions));
30
+ }
31
+ }
32
+ const ListWebsiteBuilderPageReviewStepCandidatesUseCase_ListWebsiteBuilderPageReviewStepCandidatesUseCase = ListWebsiteBuilderPageReviewStepCandidatesUseCase.createImplementation({
33
+ implementation: ListWebsiteBuilderPageReviewStepCandidatesUseCaseImpl,
34
+ dependencies: [
35
+ WbPageReviewGuardService,
36
+ ListStepCandidatesUseCase
37
+ ]
38
+ });
39
+ export { ListWebsiteBuilderPageReviewStepCandidatesUseCase_ListWebsiteBuilderPageReviewStepCandidatesUseCase as ListWebsiteBuilderPageReviewStepCandidatesUseCase };
40
+
41
+ //# sourceMappingURL=ListWebsiteBuilderPageReviewStepCandidatesUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/ListWebsiteBuilderPageReviewStepCandidatesUseCase.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/ListWebsiteBuilderPageReviewStepCandidatesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListStepCandidatesUseCase } from \"@webiny/api-workflows/features/routing/ListStepCandidates/index.js\";\nimport { canReassignByPermission } from \"@webiny/api-workflows/domain/review/canReassignByPermission.js\";\nimport { redactStepCandidates } from \"@webiny/api-workflows/domain/routing/redactStepCandidates.js\";\nimport { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport { WbPageReviewGuardService } from \"../WbPageReviewGuardService/index.js\";\nimport { ListWebsiteBuilderPageReviewStepCandidatesUseCase as UseCase } from \"./abstractions.js\";\n\nconst ACTION = \"list the step's candidates\";\n\nclass ListWebsiteBuilderPageReviewStepCandidatesUseCaseImpl implements UseCase.Interface {\n public constructor(\n private guard: WbPageReviewGuardService.Interface,\n private listCandidates: ListStepCandidatesUseCase.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: ACTION\n });\n if (authorized.isFail()) {\n return Result.fail(authorized.error);\n }\n\n const { viewer } = authorized.value;\n if (!canReassignByPermission(viewer)) {\n return Result.fail(new WorkflowsNotAuthorizedError({ action: ACTION }));\n }\n\n const candidates = await this.listCandidates.execute({\n reviewId: input.reviewId,\n stepId: input.stepId\n });\n if (candidates.isFail()) {\n return Result.fail(candidates.error);\n }\n // This path requires `reassign`, so the call never clears a reason; kept so both candidate\n // lists share one redaction rule (R120).\n return Result.ok(redactStepCandidates(candidates.value, viewer.permissions));\n }\n}\n\nexport const ListWebsiteBuilderPageReviewStepCandidatesUseCase = UseCase.createImplementation({\n implementation: ListWebsiteBuilderPageReviewStepCandidatesUseCaseImpl,\n dependencies: [WbPageReviewGuardService, ListStepCandidatesUseCase]\n});\n"],"names":["ACTION","ListWebsiteBuilderPageReviewStepCandidatesUseCaseImpl","guard","listCandidates","input","authorized","Result","viewer","canReassignByPermission","WorkflowsNotAuthorizedError","candidates","redactStepCandidates","ListWebsiteBuilderPageReviewStepCandidatesUseCase","UseCase","WbPageReviewGuardService","ListStepCandidatesUseCase"],"mappings":";;;;;;;AAQA,MAAMA,SAAS;AAEf,MAAMC;IACF,YACYC,KAAyC,EACzCC,cAAmD,CAC7D;aAFUD,KAAK,GAALA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAa,QAAQC,KAAoB,EAAkB;QACvD,MAAMC,aAAa,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1C,UAAUD,MAAM,QAAQ;YACxB,QAAQJ;QACZ;QACA,IAAIK,WAAW,MAAM,IACjB,OAAOC,OAAO,IAAI,CAACD,WAAW,KAAK;QAGvC,MAAM,EAAEE,MAAM,EAAE,GAAGF,WAAW,KAAK;QACnC,IAAI,CAACG,wBAAwBD,SACzB,OAAOD,OAAO,IAAI,CAAC,IAAIG,4BAA4B;YAAE,QAAQT;QAAO;QAGxE,MAAMU,aAAa,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YACjD,UAAUN,MAAM,QAAQ;YACxB,QAAQA,MAAM,MAAM;QACxB;QACA,IAAIM,WAAW,MAAM,IACjB,OAAOJ,OAAO,IAAI,CAACI,WAAW,KAAK;QAIvC,OAAOJ,OAAO,EAAE,CAACK,qBAAqBD,WAAW,KAAK,EAAEH,OAAO,WAAW;IAC9E;AACJ;AAEO,MAAMK,sGAAoDC,kDAAAA,oBAA4B,CAAC;IAC1F,gBAAgBZ;IAChB,cAAc;QAACa;QAA0BC;KAA0B;AACvE"}
@@ -0,0 +1,30 @@
1
+ import { type Result } from "@webiny/feature/api";
2
+ import type { StepCandidate } from "@webiny/api-workflows/domain/routing/types.js";
3
+ import type { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
4
+ import type { ListStepCandidatesUseCase } from "@webiny/api-workflows/features/routing/ListStepCandidates/index.js";
5
+ import type { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
6
+ export interface ListWebsiteBuilderPageReviewStepCandidatesInput {
7
+ reviewId: string;
8
+ stepId: string;
9
+ }
10
+ export interface IListWebsiteBuilderPageReviewStepCandidatesUseCaseErrors {
11
+ guard: WbPageReviewGuardService.Error;
12
+ notAuthorized: WorkflowsNotAuthorizedError;
13
+ candidates: ListStepCandidatesUseCase.Error;
14
+ }
15
+ type UseCaseError = IListWebsiteBuilderPageReviewStepCandidatesUseCaseErrors[keyof IListWebsiteBuilderPageReviewStepCandidatesUseCaseErrors];
16
+ export interface IListWebsiteBuilderPageReviewStepCandidatesUseCase {
17
+ execute(input: ListWebsiteBuilderPageReviewStepCandidatesInput): Promise<Result<StepCandidate[], UseCaseError>>;
18
+ }
19
+ /**
20
+ * Who a page review step can be reassigned to (spec 10, D128, R120): read access to the page and
21
+ * `reassign`, as for the reassign itself (R125); the step from the review's snapshot.
22
+ */
23
+ export declare const ListWebsiteBuilderPageReviewStepCandidatesUseCase: import("@webiny/di").Abstraction<IListWebsiteBuilderPageReviewStepCandidatesUseCase>;
24
+ export declare namespace ListWebsiteBuilderPageReviewStepCandidatesUseCase {
25
+ type Interface = IListWebsiteBuilderPageReviewStepCandidatesUseCase;
26
+ type Input = ListWebsiteBuilderPageReviewStepCandidatesInput;
27
+ type Error = UseCaseError;
28
+ type Return = Promise<Result<StepCandidate[], UseCaseError>>;
29
+ }
30
+ export {};
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const ListWebsiteBuilderPageReviewStepCandidatesUseCase = createAbstraction("ListWebsiteBuilderPageReviewStepCandidatesUseCase");
3
+ export { ListWebsiteBuilderPageReviewStepCandidatesUseCase };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/abstractions.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { StepCandidate } from \"@webiny/api-workflows/domain/routing/types.js\";\nimport type { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport type { ListStepCandidatesUseCase } from \"@webiny/api-workflows/features/routing/ListStepCandidates/index.js\";\nimport type { WbPageReviewGuardService } from \"../WbPageReviewGuardService/index.js\";\n\nexport interface ListWebsiteBuilderPageReviewStepCandidatesInput {\n reviewId: string;\n stepId: string;\n}\n\nexport interface IListWebsiteBuilderPageReviewStepCandidatesUseCaseErrors {\n guard: WbPageReviewGuardService.Error;\n notAuthorized: WorkflowsNotAuthorizedError;\n candidates: ListStepCandidatesUseCase.Error;\n}\n\ntype UseCaseError =\n IListWebsiteBuilderPageReviewStepCandidatesUseCaseErrors[keyof IListWebsiteBuilderPageReviewStepCandidatesUseCaseErrors];\n\nexport interface IListWebsiteBuilderPageReviewStepCandidatesUseCase {\n execute(\n input: ListWebsiteBuilderPageReviewStepCandidatesInput\n ): Promise<Result<StepCandidate[], UseCaseError>>;\n}\n\n/**\n * Who a page review step can be reassigned to (spec 10, D128, R120): read access to the page and\n * `reassign`, as for the reassign itself (R125); the step from the review's snapshot.\n */\nexport const ListWebsiteBuilderPageReviewStepCandidatesUseCase =\n createAbstraction<IListWebsiteBuilderPageReviewStepCandidatesUseCase>(\n \"ListWebsiteBuilderPageReviewStepCandidatesUseCase\"\n );\n\nexport namespace ListWebsiteBuilderPageReviewStepCandidatesUseCase {\n export type Interface = IListWebsiteBuilderPageReviewStepCandidatesUseCase;\n export type Input = ListWebsiteBuilderPageReviewStepCandidatesInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<StepCandidate[], UseCaseError>>;\n}\n"],"names":["ListWebsiteBuilderPageReviewStepCandidatesUseCase","createAbstraction"],"mappings":";AA8BO,MAAMA,oDACTC,kBACI"}
@@ -0,0 +1,4 @@
1
+ export declare const ListWebsiteBuilderPageReviewStepCandidatesFeature: {
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 { ListWebsiteBuilderPageReviewStepCandidatesUseCase } from "./ListWebsiteBuilderPageReviewStepCandidatesUseCase.js";
3
+ const ListWebsiteBuilderPageReviewStepCandidatesFeature = createFeature({
4
+ name: "WebsiteBuilderWorkflows/ListWebsiteBuilderPageReviewStepCandidates",
5
+ register (container) {
6
+ container.register(ListWebsiteBuilderPageReviewStepCandidatesUseCase);
7
+ }
8
+ });
9
+ export { ListWebsiteBuilderPageReviewStepCandidatesFeature };
10
+
11
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/feature.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWebsiteBuilderPageReviewStepCandidatesUseCase } from \"./ListWebsiteBuilderPageReviewStepCandidatesUseCase.js\";\n\nexport const ListWebsiteBuilderPageReviewStepCandidatesFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/ListWebsiteBuilderPageReviewStepCandidates\",\n register(container) {\n container.register(ListWebsiteBuilderPageReviewStepCandidatesUseCase);\n }\n});\n"],"names":["ListWebsiteBuilderPageReviewStepCandidatesFeature","createFeature","container","ListWebsiteBuilderPageReviewStepCandidatesUseCase"],"mappings":";;AAGO,MAAMA,oDAAoDC,cAAc;IAC3E,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -0,0 +1 @@
1
+ export { ListWebsiteBuilderPageReviewStepCandidatesUseCase } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { ListWebsiteBuilderPageReviewStepCandidatesUseCase } from "./abstractions.js";
@@ -0,0 +1,15 @@
1
+ import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
2
+ import { ListReviewsUseCase } from "@webiny/api-workflows/features/review/ListReviews/index.js";
3
+ import { WbPageReviewReadFilter } from "../../../features/target/WbPageReviewReadFilter/index.js";
4
+ import { ListWebsiteBuilderPageReviewsUseCase as UseCase } from "./abstractions.js";
5
+ declare class ListWebsiteBuilderPageReviewsUseCaseImpl implements UseCase.Interface {
6
+ private viewer;
7
+ private listReviews;
8
+ private readFilter;
9
+ constructor(viewer: CurrentReviewViewer.Interface, listReviews: ListReviewsUseCase.Interface, readFilter: WbPageReviewReadFilter.Interface);
10
+ execute(input: UseCase.Input): UseCase.Return;
11
+ }
12
+ export declare const ListWebsiteBuilderPageReviewsUseCase: typeof ListWebsiteBuilderPageReviewsUseCaseImpl & {
13
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListWebsiteBuilderPageReviewsUseCase>;
14
+ };
15
+ export {};
@@ -0,0 +1,68 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { getReviewViewerFlags } from "@webiny/api-workflows/domain/review/getReviewViewerFlags.js";
3
+ import { canReassignByPermission } from "@webiny/api-workflows/domain/review/canReassignByPermission.js";
4
+ import { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
5
+ import { ReviewPersistenceError } from "@webiny/api-workflows/domain/review/errors.js";
6
+ import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
7
+ import { ListReviewsUseCase } from "@webiny/api-workflows/features/review/ListReviews/index.js";
8
+ import { WbPageReviewReadFilter } from "../../target/WbPageReviewReadFilter/index.js";
9
+ import { ListWebsiteBuilderPageReviewsUseCase } from "./abstractions.js";
10
+ class ListWebsiteBuilderPageReviewsUseCaseImpl {
11
+ constructor(viewer, listReviews, readFilter){
12
+ this.viewer = viewer;
13
+ this.listReviews = listReviews;
14
+ this.readFilter = readFilter;
15
+ }
16
+ async execute(input) {
17
+ let viewer;
18
+ try {
19
+ viewer = await this.viewer.get();
20
+ } catch (error) {
21
+ return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
22
+ }
23
+ if (viewer.isFail()) return Result.fail(viewer.error);
24
+ const reviewViewer = viewer.value;
25
+ if ("failedSteps" === input.list && !canReassignByPermission(reviewViewer)) return Result.fail(new WorkflowsNotAuthorizedError({
26
+ action: "list failed steps"
27
+ }));
28
+ const readFilter = await this.readFilter.build();
29
+ if (readFilter.isFail()) return Result.fail(readFilter.error);
30
+ const readable = readFilter.value;
31
+ if (0 === readable.models.length && 0 === readable.ownOnlyModels.length) return Result.ok({
32
+ items: [],
33
+ meta: {
34
+ cursor: null,
35
+ hasMoreItems: false
36
+ }
37
+ });
38
+ const listed = await this.listReviews.execute({
39
+ list: input.list,
40
+ viewerUserId: reviewViewer.actor.id,
41
+ viewerTeamIds: reviewViewer.teamIds,
42
+ readFilter: readable,
43
+ where: input.where,
44
+ sort: input.sort,
45
+ limit: input.limit,
46
+ after: input.after
47
+ });
48
+ if (listed.isFail()) return Result.fail(listed.error);
49
+ return Result.ok({
50
+ items: listed.value.items.map((review)=>({
51
+ review,
52
+ flags: getReviewViewerFlags(review, reviewViewer)
53
+ })),
54
+ meta: listed.value.meta
55
+ });
56
+ }
57
+ }
58
+ const ListWebsiteBuilderPageReviewsUseCase_ListWebsiteBuilderPageReviewsUseCase = ListWebsiteBuilderPageReviewsUseCase.createImplementation({
59
+ implementation: ListWebsiteBuilderPageReviewsUseCaseImpl,
60
+ dependencies: [
61
+ CurrentReviewViewer,
62
+ ListReviewsUseCase,
63
+ WbPageReviewReadFilter
64
+ ]
65
+ });
66
+ export { ListWebsiteBuilderPageReviewsUseCase_ListWebsiteBuilderPageReviewsUseCase as ListWebsiteBuilderPageReviewsUseCase };
67
+
68
+ //# sourceMappingURL=ListWebsiteBuilderPageReviewsUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/ListWebsiteBuilderPageReviews/ListWebsiteBuilderPageReviewsUseCase.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageReviews/ListWebsiteBuilderPageReviewsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { getReviewViewerFlags } from \"@webiny/api-workflows/domain/review/getReviewViewerFlags.js\";\nimport { canReassignByPermission } from \"@webiny/api-workflows/domain/review/canReassignByPermission.js\";\nimport { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport { ReviewPersistenceError } from \"@webiny/api-workflows/domain/review/errors.js\";\nimport { CurrentReviewViewer } from \"@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js\";\nimport { ListReviewsUseCase } from \"@webiny/api-workflows/features/review/ListReviews/index.js\";\nimport { WbPageReviewReadFilter } from \"~/features/target/WbPageReviewReadFilter/index.js\";\nimport { ListWebsiteBuilderPageReviewsUseCase as UseCase } from \"./abstractions.js\";\n\nclass ListWebsiteBuilderPageReviewsUseCaseImpl implements UseCase.Interface {\n public constructor(\n private viewer: CurrentReviewViewer.Interface,\n private listReviews: ListReviewsUseCase.Interface,\n private readFilter: WbPageReviewReadFilter.Interface\n ) {}\n\n public async execute(input: UseCase.Input): UseCase.Return {\n // A failed team or permission load is a persistence error, never a rejection (R87).\n let viewer: Awaited<CurrentReviewViewer.Return>;\n try {\n viewer = await this.viewer.get();\n } catch (error) {\n return Result.fail(\n new ReviewPersistenceError(\n error instanceof Error ? error : new Error(String(error))\n )\n );\n }\n if (viewer.isFail()) {\n return Result.fail(viewer.error);\n }\n const reviewViewer = viewer.value;\n\n if (input.list === \"failedSteps\" && !canReassignByPermission(reviewViewer)) {\n return Result.fail(new WorkflowsNotAuthorizedError({ action: \"list failed steps\" }));\n }\n\n // Read access as the page list applies it, once per call, as query filters (Q77), so no\n // title of a page the viewer cannot read is listed (D76).\n const readFilter = await this.readFilter.build();\n if (readFilter.isFail()) {\n return Result.fail(readFilter.error);\n }\n const readable = readFilter.value;\n if (readable.models.length === 0 && readable.ownOnlyModels.length === 0) {\n return Result.ok({ items: [], meta: { cursor: null, hasMoreItems: false } });\n }\n\n const listed = await this.listReviews.execute({\n list: input.list,\n viewerUserId: reviewViewer.actor.id,\n viewerTeamIds: reviewViewer.teamIds,\n readFilter: readable,\n where: input.where,\n sort: input.sort,\n limit: input.limit,\n after: input.after\n });\n if (listed.isFail()) {\n return Result.fail(listed.error);\n }\n\n // Every row passed the read filter, so the flags apply as they are (A43).\n return Result.ok({\n items: listed.value.items.map(review => {\n return { review, flags: getReviewViewerFlags(review, reviewViewer) };\n }),\n meta: listed.value.meta\n });\n }\n}\n\nexport const ListWebsiteBuilderPageReviewsUseCase = UseCase.createImplementation({\n implementation: ListWebsiteBuilderPageReviewsUseCaseImpl,\n dependencies: [CurrentReviewViewer, ListReviewsUseCase, WbPageReviewReadFilter]\n});\n"],"names":["ListWebsiteBuilderPageReviewsUseCaseImpl","viewer","listReviews","readFilter","input","error","Result","ReviewPersistenceError","Error","String","reviewViewer","canReassignByPermission","WorkflowsNotAuthorizedError","readable","listed","review","getReviewViewerFlags","ListWebsiteBuilderPageReviewsUseCase","UseCase","CurrentReviewViewer","ListReviewsUseCase","WbPageReviewReadFilter"],"mappings":";;;;;;;;;AAUA,MAAMA;IACF,YACYC,MAAqC,EACrCC,WAAyC,EACzCC,UAA4C,CACtD;aAHUF,MAAM,GAANA;aACAC,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAa,QAAQC,KAAoB,EAAkB;QAEvD,IAAIH;QACJ,IAAI;YACAA,SAAS,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG;QAClC,EAAE,OAAOI,OAAO;YACZ,OAAOC,OAAO,IAAI,CACd,IAAIC,uBACAF,iBAAiBG,QAAQH,QAAQ,IAAIG,MAAMC,OAAOJ;QAG9D;QACA,IAAIJ,OAAO,MAAM,IACb,OAAOK,OAAO,IAAI,CAACL,OAAO,KAAK;QAEnC,MAAMS,eAAeT,OAAO,KAAK;QAEjC,IAAIG,AAAe,kBAAfA,MAAM,IAAI,IAAsB,CAACO,wBAAwBD,eACzD,OAAOJ,OAAO,IAAI,CAAC,IAAIM,4BAA4B;YAAE,QAAQ;QAAoB;QAKrF,MAAMT,aAAa,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK;QAC9C,IAAIA,WAAW,MAAM,IACjB,OAAOG,OAAO,IAAI,CAACH,WAAW,KAAK;QAEvC,MAAMU,WAAWV,WAAW,KAAK;QACjC,IAAIU,AAA2B,MAA3BA,SAAS,MAAM,CAAC,MAAM,IAAUA,AAAkC,MAAlCA,SAAS,aAAa,CAAC,MAAM,EAC7D,OAAOP,OAAO,EAAE,CAAC;YAAE,OAAO,EAAE;YAAE,MAAM;gBAAE,QAAQ;gBAAM,cAAc;YAAM;QAAE;QAG9E,MAAMQ,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC1C,MAAMV,MAAM,IAAI;YAChB,cAAcM,aAAa,KAAK,CAAC,EAAE;YACnC,eAAeA,aAAa,OAAO;YACnC,YAAYG;YACZ,OAAOT,MAAM,KAAK;YAClB,MAAMA,MAAM,IAAI;YAChB,OAAOA,MAAM,KAAK;YAClB,OAAOA,MAAM,KAAK;QACtB;QACA,IAAIU,OAAO,MAAM,IACb,OAAOR,OAAO,IAAI,CAACQ,OAAO,KAAK;QAInC,OAAOR,OAAO,EAAE,CAAC;YACb,OAAOQ,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAACC,CAAAA,SACnB;oBAAEA;oBAAQ,OAAOC,qBAAqBD,QAAQL;gBAAc;YAEvE,MAAMI,OAAO,KAAK,CAAC,IAAI;QAC3B;IACJ;AACJ;AAEO,MAAMG,4EAAuCC,qCAAAA,oBAA4B,CAAC;IAC7E,gBAAgBlB;IAChB,cAAc;QAACmB;QAAqBC;QAAoBC;KAAuB;AACnF"}
@@ -0,0 +1,43 @@
1
+ import { type Result } from "@webiny/feature/api";
2
+ import type { ReviewListKind, ReviewListMeta, ReviewListSort, ReviewListWhere, ReviewWithViewerFlags } from "@webiny/api-workflows/domain/review/types.js";
3
+ import type { WorkflowsNotAuthenticatedError, WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
4
+ import type { ListReviewsUseCase } from "@webiny/api-workflows/features/review/ListReviews/index.js";
5
+ export interface ListWebsiteBuilderPageReviewsInput {
6
+ list: ReviewListKind;
7
+ /** `reviewState` and `stepState` only with `myRequests`; the engine refuses them elsewhere (R91). */
8
+ where?: ReviewListWhere | null;
9
+ /** Defaults per list: oldest first, newest first for `myRequests` (D119). */
10
+ sort?: ReviewListSort | null;
11
+ /** Default 20, at most 100 (R92). */
12
+ limit?: number | null;
13
+ /** `meta.cursor` of the previous page. */
14
+ after?: string | null;
15
+ }
16
+ export interface ListWebsiteBuilderPageReviewsOutput {
17
+ items: ReviewWithViewerFlags[];
18
+ meta: ReviewListMeta;
19
+ }
20
+ export interface IListWebsiteBuilderPageReviewsUseCaseErrors {
21
+ notAuthenticated: WorkflowsNotAuthenticatedError;
22
+ notAuthorized: WorkflowsNotAuthorizedError;
23
+ list: ListReviewsUseCase.Error;
24
+ }
25
+ type UseCaseError = IListWebsiteBuilderPageReviewsUseCaseErrors[keyof IListWebsiteBuilderPageReviewsUseCaseErrors];
26
+ export interface IListWebsiteBuilderPageReviewsUseCase {
27
+ execute(input: ListWebsiteBuilderPageReviewsInput): Promise<Result<ListWebsiteBuilderPageReviewsOutput, UseCaseError>>;
28
+ }
29
+ /**
30
+ * The viewer's page review lists (spec 11, D47, D133): `wb.page` reviews only, each row a page the
31
+ * Website Builder page list would show the viewer (D76, Q77): own pages only with an own-only
32
+ * permission, none in a folder the viewer cannot read. Each row carries the viewer's flags. Failed
33
+ * steps need `reassign` (D112, R95).
34
+ */
35
+ export declare const ListWebsiteBuilderPageReviewsUseCase: import("@webiny/di").Abstraction<IListWebsiteBuilderPageReviewsUseCase>;
36
+ export declare namespace ListWebsiteBuilderPageReviewsUseCase {
37
+ type Interface = IListWebsiteBuilderPageReviewsUseCase;
38
+ type Input = ListWebsiteBuilderPageReviewsInput;
39
+ type Output = ListWebsiteBuilderPageReviewsOutput;
40
+ type Error = UseCaseError;
41
+ type Return = Promise<Result<ListWebsiteBuilderPageReviewsOutput, UseCaseError>>;
42
+ }
43
+ export {};
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const ListWebsiteBuilderPageReviewsUseCase = createAbstraction("ListWebsiteBuilderPageReviewsUseCase");
3
+ export { ListWebsiteBuilderPageReviewsUseCase };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/ListWebsiteBuilderPageReviews/abstractions.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageReviews/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type {\n ReviewListKind,\n ReviewListMeta,\n ReviewListSort,\n ReviewListWhere,\n ReviewWithViewerFlags\n} from \"@webiny/api-workflows/domain/review/types.js\";\nimport type {\n WorkflowsNotAuthenticatedError,\n WorkflowsNotAuthorizedError\n} from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport type { ListReviewsUseCase } from \"@webiny/api-workflows/features/review/ListReviews/index.js\";\n\nexport interface ListWebsiteBuilderPageReviewsInput {\n list: ReviewListKind;\n /** `reviewState` and `stepState` only with `myRequests`; the engine refuses them elsewhere (R91). */\n where?: ReviewListWhere | null;\n /** Defaults per list: oldest first, newest first for `myRequests` (D119). */\n sort?: ReviewListSort | null;\n /** Default 20, at most 100 (R92). */\n limit?: number | null;\n /** `meta.cursor` of the previous page. */\n after?: string | null;\n}\n\nexport interface ListWebsiteBuilderPageReviewsOutput {\n items: ReviewWithViewerFlags[];\n meta: ReviewListMeta;\n}\n\nexport interface IListWebsiteBuilderPageReviewsUseCaseErrors {\n notAuthenticated: WorkflowsNotAuthenticatedError;\n notAuthorized: WorkflowsNotAuthorizedError;\n list: ListReviewsUseCase.Error;\n}\n\ntype UseCaseError =\n IListWebsiteBuilderPageReviewsUseCaseErrors[keyof IListWebsiteBuilderPageReviewsUseCaseErrors];\n\nexport interface IListWebsiteBuilderPageReviewsUseCase {\n execute(\n input: ListWebsiteBuilderPageReviewsInput\n ): Promise<Result<ListWebsiteBuilderPageReviewsOutput, UseCaseError>>;\n}\n\n/**\n * The viewer's page review lists (spec 11, D47, D133): `wb.page` reviews only, each row a page the\n * Website Builder page list would show the viewer (D76, Q77): own pages only with an own-only\n * permission, none in a folder the viewer cannot read. Each row carries the viewer's flags. Failed\n * steps need `reassign` (D112, R95).\n */\nexport const ListWebsiteBuilderPageReviewsUseCase =\n createAbstraction<IListWebsiteBuilderPageReviewsUseCase>(\n \"ListWebsiteBuilderPageReviewsUseCase\"\n );\n\nexport namespace ListWebsiteBuilderPageReviewsUseCase {\n export type Interface = IListWebsiteBuilderPageReviewsUseCase;\n export type Input = ListWebsiteBuilderPageReviewsInput;\n export type Output = ListWebsiteBuilderPageReviewsOutput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<ListWebsiteBuilderPageReviewsOutput, UseCaseError>>;\n}\n"],"names":["ListWebsiteBuilderPageReviewsUseCase","createAbstraction"],"mappings":";AAoDO,MAAMA,uCACTC,kBACI"}
@@ -0,0 +1,4 @@
1
+ export declare const ListWebsiteBuilderPageReviewsFeature: {
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 { ListWebsiteBuilderPageReviewsUseCase } from "./ListWebsiteBuilderPageReviewsUseCase.js";
3
+ const ListWebsiteBuilderPageReviewsFeature = createFeature({
4
+ name: "WebsiteBuilderWorkflows/ListWebsiteBuilderPageReviews",
5
+ register (container) {
6
+ container.register(ListWebsiteBuilderPageReviewsUseCase);
7
+ }
8
+ });
9
+ export { ListWebsiteBuilderPageReviewsFeature };
10
+
11
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/ListWebsiteBuilderPageReviews/feature.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageReviews/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWebsiteBuilderPageReviewsUseCase } from \"./ListWebsiteBuilderPageReviewsUseCase.js\";\n\nexport const ListWebsiteBuilderPageReviewsFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/ListWebsiteBuilderPageReviews\",\n register(container) {\n container.register(ListWebsiteBuilderPageReviewsUseCase);\n }\n});\n"],"names":["ListWebsiteBuilderPageReviewsFeature","createFeature","container","ListWebsiteBuilderPageReviewsUseCase"],"mappings":";;AAGO,MAAMA,uCAAuCC,cAAc;IAC9D,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -0,0 +1,2 @@
1
+ export { ListWebsiteBuilderPageReviewsUseCase } from "./abstractions.js";
2
+ export type { ListWebsiteBuilderPageReviewsInput } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { ListWebsiteBuilderPageReviewsUseCase } from "./abstractions.js";
@@ -0,0 +1,25 @@
1
+ import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
2
+ import { ListStepCandidatesUseCase } from "@webiny/api-workflows/features/routing/ListStepCandidates/index.js";
3
+ import { GetWorkflowUseCase } from "@webiny/api-workflows/features/workflow/GetWorkflow/index.js";
4
+ import { WbPageTargetReader } from "../../../features/target/WbPageTargetReader/index.js";
5
+ import { WbPageAccess } from "../../../features/target/WbPageAccess/index.js";
6
+ import { ListWebsiteBuilderPageStepCandidatesUseCase as UseCase } from "./abstractions.js";
7
+ /**
8
+ * The page checks are `RequestWebsiteBuilderPageReviewUseCase`'s: the entity-level write
9
+ * permission before anything is read (R75), a page the viewer cannot see is not found, a visible
10
+ * page without write access is not authorized. A workflow of another app is not found (R128).
11
+ * The viewer is the requester the engine leaves out of the list.
12
+ */
13
+ declare class ListWebsiteBuilderPageStepCandidatesUseCaseImpl implements UseCase.Interface {
14
+ private viewer;
15
+ private targets;
16
+ private access;
17
+ private getWorkflow;
18
+ private listCandidates;
19
+ constructor(viewer: CurrentReviewViewer.Interface, targets: WbPageTargetReader.Interface, access: WbPageAccess.Interface, getWorkflow: GetWorkflowUseCase.Interface, listCandidates: ListStepCandidatesUseCase.Interface);
20
+ execute(input: UseCase.Input): UseCase.Return;
21
+ }
22
+ export declare const ListWebsiteBuilderPageStepCandidatesUseCase: typeof ListWebsiteBuilderPageStepCandidatesUseCaseImpl & {
23
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListWebsiteBuilderPageStepCandidatesUseCase>;
24
+ };
25
+ export {};
@@ -0,0 +1,93 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
3
+ import { ListStepCandidatesUseCase } from "@webiny/api-workflows/features/routing/ListStepCandidates/index.js";
4
+ import { GetWorkflowUseCase } from "@webiny/api-workflows/features/workflow/GetWorkflow/index.js";
5
+ import { redactStepCandidates } from "@webiny/api-workflows/domain/routing/redactStepCandidates.js";
6
+ import { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
7
+ import { WorkflowNotFoundError } from "@webiny/api-workflows/domain/workflow/errors.js";
8
+ import { ReviewPersistenceError, ReviewTargetNotFoundError } from "@webiny/api-workflows/domain/review/errors.js";
9
+ import { WbPageTargetReader } from "../../target/WbPageTargetReader/index.js";
10
+ import { WbPageAccess } from "../../target/WbPageAccess/index.js";
11
+ import { WB_PAGE_NAMESPACE } from "../../../constants.js";
12
+ import { isWbWorkflow } from "../shared/wbWorkflows.js";
13
+ import { ListWebsiteBuilderPageStepCandidatesUseCase } from "./abstractions.js";
14
+ const ACTION = "list the step's candidates";
15
+ class ListWebsiteBuilderPageStepCandidatesUseCaseImpl {
16
+ constructor(viewer, targets, access, getWorkflow, listCandidates){
17
+ this.viewer = viewer;
18
+ this.targets = targets;
19
+ this.access = access;
20
+ this.getWorkflow = getWorkflow;
21
+ this.listCandidates = listCandidates;
22
+ }
23
+ async execute(input) {
24
+ let viewer;
25
+ try {
26
+ viewer = await this.viewer.get();
27
+ } catch (error) {
28
+ return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
29
+ }
30
+ if (viewer.isFail()) return Result.fail(viewer.error);
31
+ let canWriteAnyPage;
32
+ try {
33
+ canWriteAnyPage = await this.access.canWriteAnyPage();
34
+ } catch (error) {
35
+ return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
36
+ }
37
+ if (!canWriteAnyPage) return Result.fail(new WorkflowsNotAuthorizedError({
38
+ action: ACTION
39
+ }));
40
+ let target;
41
+ try {
42
+ target = await this.targets.read({
43
+ model: WB_PAGE_NAMESPACE,
44
+ targetRevisionId: input.targetRevisionId
45
+ });
46
+ } catch (error) {
47
+ return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
48
+ }
49
+ if (!target || target.page.entryId !== input.targetId) return Result.fail(new ReviewTargetNotFoundError({
50
+ model: WB_PAGE_NAMESPACE,
51
+ targetRevisionId: input.targetRevisionId
52
+ }));
53
+ let canWrite;
54
+ try {
55
+ canWrite = await this.access.canWrite(target);
56
+ } catch (error) {
57
+ return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
58
+ }
59
+ if (!canWrite) return Result.fail(new WorkflowsNotAuthorizedError({
60
+ action: ACTION
61
+ }));
62
+ const workflow = await this.getWorkflow.execute({
63
+ id: input.workflowId
64
+ });
65
+ if (workflow.isFail()) return Result.fail(workflow.error);
66
+ if (!isWbWorkflow(workflow.value)) return Result.fail(new WorkflowNotFoundError({
67
+ id: input.workflowId
68
+ }));
69
+ const candidates = await this.listCandidates.execute({
70
+ workflowId: input.workflowId,
71
+ stepId: input.stepId,
72
+ model: WB_PAGE_NAMESPACE,
73
+ targetId: input.targetId,
74
+ targetRevisionId: input.targetRevisionId,
75
+ requesterId: viewer.value.actor.id
76
+ });
77
+ if (candidates.isFail()) return Result.fail(candidates.error);
78
+ return Result.ok(redactStepCandidates(candidates.value, viewer.value.permissions));
79
+ }
80
+ }
81
+ const ListWebsiteBuilderPageStepCandidatesUseCase_ListWebsiteBuilderPageStepCandidatesUseCase = ListWebsiteBuilderPageStepCandidatesUseCase.createImplementation({
82
+ implementation: ListWebsiteBuilderPageStepCandidatesUseCaseImpl,
83
+ dependencies: [
84
+ CurrentReviewViewer,
85
+ WbPageTargetReader,
86
+ WbPageAccess,
87
+ GetWorkflowUseCase,
88
+ ListStepCandidatesUseCase
89
+ ]
90
+ });
91
+ export { ListWebsiteBuilderPageStepCandidatesUseCase_ListWebsiteBuilderPageStepCandidatesUseCase as ListWebsiteBuilderPageStepCandidatesUseCase };
92
+
93
+ //# sourceMappingURL=ListWebsiteBuilderPageStepCandidatesUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/ListWebsiteBuilderPageStepCandidates/ListWebsiteBuilderPageStepCandidatesUseCase.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageStepCandidates/ListWebsiteBuilderPageStepCandidatesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CurrentReviewViewer } from \"@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js\";\nimport { ListStepCandidatesUseCase } from \"@webiny/api-workflows/features/routing/ListStepCandidates/index.js\";\nimport { GetWorkflowUseCase } from \"@webiny/api-workflows/features/workflow/GetWorkflow/index.js\";\nimport { redactStepCandidates } from \"@webiny/api-workflows/domain/routing/redactStepCandidates.js\";\nimport { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport { WorkflowNotFoundError } from \"@webiny/api-workflows/domain/workflow/errors.js\";\nimport {\n ReviewPersistenceError,\n ReviewTargetNotFoundError\n} from \"@webiny/api-workflows/domain/review/errors.js\";\nimport { WbPageTargetReader } from \"~/features/target/WbPageTargetReader/index.js\";\nimport { WbPageAccess } from \"~/features/target/WbPageAccess/index.js\";\nimport { WB_PAGE_NAMESPACE } from \"~/constants.js\";\nimport { isWbWorkflow } from \"../shared/wbWorkflows.js\";\nimport { ListWebsiteBuilderPageStepCandidatesUseCase as UseCase } from \"./abstractions.js\";\n\nconst ACTION = \"list the step's candidates\";\n\n/**\n * The page checks are `RequestWebsiteBuilderPageReviewUseCase`'s: the entity-level write\n * permission before anything is read (R75), a page the viewer cannot see is not found, a visible\n * page without write access is not authorized. A workflow of another app is not found (R128).\n * The viewer is the requester the engine leaves out of the list.\n */\nclass ListWebsiteBuilderPageStepCandidatesUseCaseImpl implements UseCase.Interface {\n public constructor(\n private viewer: CurrentReviewViewer.Interface,\n private targets: WbPageTargetReader.Interface,\n private access: WbPageAccess.Interface,\n private getWorkflow: GetWorkflowUseCase.Interface,\n private listCandidates: ListStepCandidatesUseCase.Interface\n ) {}\n\n public async execute(input: UseCase.Input): UseCase.Return {\n // A failed team or permission load is a persistence error, never a rejection (R87).\n let viewer: Awaited<CurrentReviewViewer.Return>;\n try {\n viewer = await this.viewer.get();\n } catch (error) {\n return Result.fail(\n new ReviewPersistenceError(\n error instanceof Error ? error : new Error(String(error))\n )\n );\n }\n if (viewer.isFail()) {\n return Result.fail(viewer.error);\n }\n\n let canWriteAnyPage: boolean;\n try {\n canWriteAnyPage = await this.access.canWriteAnyPage();\n } catch (error) {\n return Result.fail(\n new ReviewPersistenceError(\n error instanceof Error ? error : new Error(String(error))\n )\n );\n }\n if (!canWriteAnyPage) {\n return Result.fail(new WorkflowsNotAuthorizedError({ action: ACTION }));\n }\n\n let target: WbPageTargetReader.Target | null;\n try {\n target = await this.targets.read({\n model: WB_PAGE_NAMESPACE,\n targetRevisionId: input.targetRevisionId\n });\n } catch (error) {\n return Result.fail(\n new ReviewPersistenceError(\n error instanceof Error ? error : new Error(String(error))\n )\n );\n }\n if (!target || target.page.entryId !== input.targetId) {\n return Result.fail(\n new ReviewTargetNotFoundError({\n model: WB_PAGE_NAMESPACE,\n targetRevisionId: input.targetRevisionId\n })\n );\n }\n let canWrite: boolean;\n try {\n canWrite = await this.access.canWrite(target);\n } catch (error) {\n return Result.fail(\n new ReviewPersistenceError(\n error instanceof Error ? error : new Error(String(error))\n )\n );\n }\n if (!canWrite) {\n return Result.fail(new WorkflowsNotAuthorizedError({ action: ACTION }));\n }\n\n const workflow = await this.getWorkflow.execute({ id: input.workflowId });\n if (workflow.isFail()) {\n return Result.fail(workflow.error);\n }\n // R128, R46: another app's workflow is not found here; its name never leaks.\n if (!isWbWorkflow(workflow.value)) {\n return Result.fail(new WorkflowNotFoundError({ id: input.workflowId }));\n }\n\n const candidates = await this.listCandidates.execute({\n workflowId: input.workflowId,\n stepId: input.stepId,\n model: WB_PAGE_NAMESPACE,\n targetId: input.targetId,\n targetRevisionId: input.targetRevisionId,\n requesterId: viewer.value.actor.id\n });\n if (candidates.isFail()) {\n return Result.fail(candidates.error);\n }\n return Result.ok(redactStepCandidates(candidates.value, viewer.value.permissions));\n }\n}\n\nexport const ListWebsiteBuilderPageStepCandidatesUseCase = UseCase.createImplementation({\n implementation: ListWebsiteBuilderPageStepCandidatesUseCaseImpl,\n dependencies: [\n CurrentReviewViewer,\n WbPageTargetReader,\n WbPageAccess,\n GetWorkflowUseCase,\n ListStepCandidatesUseCase\n ]\n});\n"],"names":["ACTION","ListWebsiteBuilderPageStepCandidatesUseCaseImpl","viewer","targets","access","getWorkflow","listCandidates","input","error","Result","ReviewPersistenceError","Error","String","canWriteAnyPage","WorkflowsNotAuthorizedError","target","WB_PAGE_NAMESPACE","ReviewTargetNotFoundError","canWrite","workflow","isWbWorkflow","WorkflowNotFoundError","candidates","redactStepCandidates","ListWebsiteBuilderPageStepCandidatesUseCase","UseCase","CurrentReviewViewer","WbPageTargetReader","WbPageAccess","GetWorkflowUseCase","ListStepCandidatesUseCase"],"mappings":";;;;;;;;;;;;;AAiBA,MAAMA,SAAS;AAQf,MAAMC;IACF,YACYC,MAAqC,EACrCC,OAAqC,EACrCC,MAA8B,EAC9BC,WAAyC,EACzCC,cAAmD,CAC7D;aALUJ,MAAM,GAANA;aACAC,OAAO,GAAPA;aACAC,MAAM,GAANA;aACAC,WAAW,GAAXA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAa,QAAQC,KAAoB,EAAkB;QAEvD,IAAIL;QACJ,IAAI;YACAA,SAAS,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG;QAClC,EAAE,OAAOM,OAAO;YACZ,OAAOC,OAAO,IAAI,CACd,IAAIC,uBACAF,iBAAiBG,QAAQH,QAAQ,IAAIG,MAAMC,OAAOJ;QAG9D;QACA,IAAIN,OAAO,MAAM,IACb,OAAOO,OAAO,IAAI,CAACP,OAAO,KAAK;QAGnC,IAAIW;QACJ,IAAI;YACAA,kBAAkB,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe;QACvD,EAAE,OAAOL,OAAO;YACZ,OAAOC,OAAO,IAAI,CACd,IAAIC,uBACAF,iBAAiBG,QAAQH,QAAQ,IAAIG,MAAMC,OAAOJ;QAG9D;QACA,IAAI,CAACK,iBACD,OAAOJ,OAAO,IAAI,CAAC,IAAIK,4BAA4B;YAAE,QAAQd;QAAO;QAGxE,IAAIe;QACJ,IAAI;YACAA,SAAS,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,OAAOC;gBACP,kBAAkBT,MAAM,gBAAgB;YAC5C;QACJ,EAAE,OAAOC,OAAO;YACZ,OAAOC,OAAO,IAAI,CACd,IAAIC,uBACAF,iBAAiBG,QAAQH,QAAQ,IAAIG,MAAMC,OAAOJ;QAG9D;QACA,IAAI,CAACO,UAAUA,OAAO,IAAI,CAAC,OAAO,KAAKR,MAAM,QAAQ,EACjD,OAAOE,OAAO,IAAI,CACd,IAAIQ,0BAA0B;YAC1B,OAAOD;YACP,kBAAkBT,MAAM,gBAAgB;QAC5C;QAGR,IAAIW;QACJ,IAAI;YACAA,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACH;QAC1C,EAAE,OAAOP,OAAO;YACZ,OAAOC,OAAO,IAAI,CACd,IAAIC,uBACAF,iBAAiBG,QAAQH,QAAQ,IAAIG,MAAMC,OAAOJ;QAG9D;QACA,IAAI,CAACU,UACD,OAAOT,OAAO,IAAI,CAAC,IAAIK,4BAA4B;YAAE,QAAQd;QAAO;QAGxE,MAAMmB,WAAW,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,IAAIZ,MAAM,UAAU;QAAC;QACvE,IAAIY,SAAS,MAAM,IACf,OAAOV,OAAO,IAAI,CAACU,SAAS,KAAK;QAGrC,IAAI,CAACC,aAAaD,SAAS,KAAK,GAC5B,OAAOV,OAAO,IAAI,CAAC,IAAIY,sBAAsB;YAAE,IAAId,MAAM,UAAU;QAAC;QAGxE,MAAMe,aAAa,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YACjD,YAAYf,MAAM,UAAU;YAC5B,QAAQA,MAAM,MAAM;YACpB,OAAOS;YACP,UAAUT,MAAM,QAAQ;YACxB,kBAAkBA,MAAM,gBAAgB;YACxC,aAAaL,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE;QACtC;QACA,IAAIoB,WAAW,MAAM,IACjB,OAAOb,OAAO,IAAI,CAACa,WAAW,KAAK;QAEvC,OAAOb,OAAO,EAAE,CAACc,qBAAqBD,WAAW,KAAK,EAAEpB,OAAO,KAAK,CAAC,WAAW;IACpF;AACJ;AAEO,MAAMsB,0FAA8CC,4CAAAA,oBAA4B,CAAC;IACpF,gBAAgBxB;IAChB,cAAc;QACVyB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -0,0 +1,41 @@
1
+ import { type Result } from "@webiny/feature/api";
2
+ import type { StepCandidate } from "@webiny/api-workflows/domain/routing/types.js";
3
+ import type { WorkflowsNotAuthenticatedError, WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
4
+ import type { ReviewPersistenceError, ReviewTargetNotFoundError } from "@webiny/api-workflows/domain/review/errors.js";
5
+ import type { ListStepCandidatesUseCase } from "@webiny/api-workflows/features/routing/ListStepCandidates/index.js";
6
+ import type { GetWorkflowUseCase } from "@webiny/api-workflows/features/workflow/GetWorkflow/index.js";
7
+ import type { WorkflowNotFoundError } from "@webiny/api-workflows/domain/workflow/errors.js";
8
+ export interface ListWebsiteBuilderPageStepCandidatesInput {
9
+ workflowId: string;
10
+ stepId: string;
11
+ /** The page id. */
12
+ targetId: string;
13
+ /** The page revision id. */
14
+ targetRevisionId: string;
15
+ }
16
+ export interface IListWebsiteBuilderPageStepCandidatesUseCaseErrors {
17
+ notAuthenticated: WorkflowsNotAuthenticatedError;
18
+ notAuthorized: WorkflowsNotAuthorizedError;
19
+ targetNotFound: ReviewTargetNotFoundError;
20
+ persistence: ReviewPersistenceError;
21
+ workflow: GetWorkflowUseCase.Error;
22
+ workflowNotFound: WorkflowNotFoundError;
23
+ candidates: ListStepCandidatesUseCase.Error;
24
+ }
25
+ type UseCaseError = IListWebsiteBuilderPageStepCandidatesUseCaseErrors[keyof IListWebsiteBuilderPageStepCandidatesUseCaseErrors];
26
+ export interface IListWebsiteBuilderPageStepCandidatesUseCase {
27
+ execute(input: ListWebsiteBuilderPageStepCandidatesInput): Promise<Result<StepCandidate[], UseCaseError>>;
28
+ }
29
+ /**
30
+ * Who could take a step of a page review the viewer is about to request (spec 10, D128, R120):
31
+ * write access to the page revision, as for the request itself (D77); a workflow of another app
32
+ * is not found (R46, R128); exclusion reasons only for `editor` / `reassign` (D97).
33
+ */
34
+ export declare const ListWebsiteBuilderPageStepCandidatesUseCase: import("@webiny/di").Abstraction<IListWebsiteBuilderPageStepCandidatesUseCase>;
35
+ export declare namespace ListWebsiteBuilderPageStepCandidatesUseCase {
36
+ type Interface = IListWebsiteBuilderPageStepCandidatesUseCase;
37
+ type Input = ListWebsiteBuilderPageStepCandidatesInput;
38
+ type Error = UseCaseError;
39
+ type Return = Promise<Result<StepCandidate[], UseCaseError>>;
40
+ }
41
+ export {};
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const ListWebsiteBuilderPageStepCandidatesUseCase = createAbstraction("ListWebsiteBuilderPageStepCandidatesUseCase");
3
+ export { ListWebsiteBuilderPageStepCandidatesUseCase };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/ListWebsiteBuilderPageStepCandidates/abstractions.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageStepCandidates/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { StepCandidate } from \"@webiny/api-workflows/domain/routing/types.js\";\nimport type {\n WorkflowsNotAuthenticatedError,\n WorkflowsNotAuthorizedError\n} from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport type {\n ReviewPersistenceError,\n ReviewTargetNotFoundError\n} from \"@webiny/api-workflows/domain/review/errors.js\";\nimport type { ListStepCandidatesUseCase } from \"@webiny/api-workflows/features/routing/ListStepCandidates/index.js\";\nimport type { GetWorkflowUseCase } from \"@webiny/api-workflows/features/workflow/GetWorkflow/index.js\";\nimport type { WorkflowNotFoundError } from \"@webiny/api-workflows/domain/workflow/errors.js\";\n\nexport interface ListWebsiteBuilderPageStepCandidatesInput {\n workflowId: string;\n stepId: string;\n /** The page id. */\n targetId: string;\n /** The page revision id. */\n targetRevisionId: string;\n}\n\nexport interface IListWebsiteBuilderPageStepCandidatesUseCaseErrors {\n notAuthenticated: WorkflowsNotAuthenticatedError;\n notAuthorized: WorkflowsNotAuthorizedError;\n targetNotFound: ReviewTargetNotFoundError;\n persistence: ReviewPersistenceError;\n workflow: GetWorkflowUseCase.Error;\n workflowNotFound: WorkflowNotFoundError;\n candidates: ListStepCandidatesUseCase.Error;\n}\n\ntype UseCaseError =\n IListWebsiteBuilderPageStepCandidatesUseCaseErrors[keyof IListWebsiteBuilderPageStepCandidatesUseCaseErrors];\n\nexport interface IListWebsiteBuilderPageStepCandidatesUseCase {\n execute(\n input: ListWebsiteBuilderPageStepCandidatesInput\n ): Promise<Result<StepCandidate[], UseCaseError>>;\n}\n\n/**\n * Who could take a step of a page review the viewer is about to request (spec 10, D128, R120):\n * write access to the page revision, as for the request itself (D77); a workflow of another app\n * is not found (R46, R128); exclusion reasons only for `editor` / `reassign` (D97).\n */\nexport const ListWebsiteBuilderPageStepCandidatesUseCase =\n createAbstraction<IListWebsiteBuilderPageStepCandidatesUseCase>(\n \"ListWebsiteBuilderPageStepCandidatesUseCase\"\n );\n\nexport namespace ListWebsiteBuilderPageStepCandidatesUseCase {\n export type Interface = IListWebsiteBuilderPageStepCandidatesUseCase;\n export type Input = ListWebsiteBuilderPageStepCandidatesInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<StepCandidate[], UseCaseError>>;\n}\n"],"names":["ListWebsiteBuilderPageStepCandidatesUseCase","createAbstraction"],"mappings":";AA+CO,MAAMA,8CACTC,kBACI"}
@@ -0,0 +1,4 @@
1
+ export declare const ListWebsiteBuilderPageStepCandidatesFeature: {
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 { ListWebsiteBuilderPageStepCandidatesUseCase } from "./ListWebsiteBuilderPageStepCandidatesUseCase.js";
3
+ const ListWebsiteBuilderPageStepCandidatesFeature = createFeature({
4
+ name: "WebsiteBuilderWorkflows/ListWebsiteBuilderPageStepCandidates",
5
+ register (container) {
6
+ container.register(ListWebsiteBuilderPageStepCandidatesUseCase);
7
+ }
8
+ });
9
+ export { ListWebsiteBuilderPageStepCandidatesFeature };
10
+
11
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/wrappers/ListWebsiteBuilderPageStepCandidates/feature.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageStepCandidates/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWebsiteBuilderPageStepCandidatesUseCase } from \"./ListWebsiteBuilderPageStepCandidatesUseCase.js\";\n\nexport const ListWebsiteBuilderPageStepCandidatesFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/ListWebsiteBuilderPageStepCandidates\",\n register(container) {\n container.register(ListWebsiteBuilderPageStepCandidatesUseCase);\n }\n});\n"],"names":["ListWebsiteBuilderPageStepCandidatesFeature","createFeature","container","ListWebsiteBuilderPageStepCandidatesUseCase"],"mappings":";;AAGO,MAAMA,8CAA8CC,cAAc;IACrE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -0,0 +1 @@
1
+ export { ListWebsiteBuilderPageStepCandidatesUseCase } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { ListWebsiteBuilderPageStepCandidatesUseCase } from "./abstractions.js";
@@ -0,0 +1,13 @@
1
+ import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
2
+ import { ListWorkflowsUseCase } from "@webiny/api-workflows/features/workflow/ListWorkflows/index.js";
3
+ import { ListWebsiteBuilderPageWorkflowsUseCase as UseCase } from "./abstractions.js";
4
+ declare class ListWebsiteBuilderPageWorkflowsUseCaseImpl implements UseCase.Interface {
5
+ private viewer;
6
+ private listWorkflows;
7
+ constructor(viewer: CurrentReviewViewer.Interface, listWorkflows: ListWorkflowsUseCase.Interface);
8
+ execute(): UseCase.Return;
9
+ }
10
+ export declare const ListWebsiteBuilderPageWorkflowsUseCase: typeof ListWebsiteBuilderPageWorkflowsUseCaseImpl & {
11
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListWebsiteBuilderPageWorkflowsUseCase>;
12
+ };
13
+ export {};
@@ -0,0 +1,37 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
3
+ import { ListWorkflowsUseCase } from "@webiny/api-workflows/features/workflow/ListWorkflows/index.js";
4
+ import { WB_PAGE_NAMESPACE } from "../../../constants.js";
5
+ import { isWbWorkflow } from "../shared/wbWorkflows.js";
6
+ import { ListWebsiteBuilderPageWorkflowsUseCase } from "./abstractions.js";
7
+ const LIMIT = 10;
8
+ class ListWebsiteBuilderPageWorkflowsUseCaseImpl {
9
+ constructor(viewer, listWorkflows){
10
+ this.viewer = viewer;
11
+ this.listWorkflows = listWorkflows;
12
+ }
13
+ async execute() {
14
+ const actor = this.viewer.getActor();
15
+ if (actor.isFail()) return Result.fail(actor.error);
16
+ const listed = await this.listWorkflows.execute({
17
+ where: {
18
+ models_in: [
19
+ WB_PAGE_NAMESPACE
20
+ ]
21
+ },
22
+ limit: LIMIT
23
+ });
24
+ if (listed.isFail()) return Result.fail(listed.error);
25
+ return Result.ok(listed.value.items.filter(isWbWorkflow));
26
+ }
27
+ }
28
+ const ListWebsiteBuilderPageWorkflowsUseCase_ListWebsiteBuilderPageWorkflowsUseCase = ListWebsiteBuilderPageWorkflowsUseCase.createImplementation({
29
+ implementation: ListWebsiteBuilderPageWorkflowsUseCaseImpl,
30
+ dependencies: [
31
+ CurrentReviewViewer,
32
+ ListWorkflowsUseCase
33
+ ]
34
+ });
35
+ export { ListWebsiteBuilderPageWorkflowsUseCase_ListWebsiteBuilderPageWorkflowsUseCase as ListWebsiteBuilderPageWorkflowsUseCase };
36
+
37
+ //# sourceMappingURL=ListWebsiteBuilderPageWorkflowsUseCase.js.map