@webiny/app-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 (402) hide show
  1. package/Components/ContentReviews/WbContentReviews.d.ts +2 -0
  2. package/Components/ContentReviews/WbContentReviews.js +41 -0
  3. package/Components/ContentReviews/WbContentReviews.js.map +1 -0
  4. package/Components/ContentReviews/WbContentReviews.smoke.test.d.ts +1 -0
  5. package/Components/ContentReviews/WbContentReviews.smoke.test.js +59 -0
  6. package/Components/ContentReviews/WbContentReviews.smoke.test.js.map +1 -0
  7. package/Components/ContentReviews/WbContentReviews.test.d.ts +1 -0
  8. package/Components/ContentReviews/WbContentReviews.test.js +80 -0
  9. package/Components/ContentReviews/WbContentReviews.test.js.map +1 -0
  10. package/Components/ContentReviews/WbContentReviewsSidebarItem.d.ts +2 -0
  11. package/Components/ContentReviews/WbContentReviewsSidebarItem.js +18 -0
  12. package/Components/ContentReviews/WbContentReviewsSidebarItem.js.map +1 -0
  13. package/Components/ContentReviews/WbContentReviewsSidebarItem.test.d.ts +1 -0
  14. package/Components/ContentReviews/WbContentReviewsSidebarItem.test.js +67 -0
  15. package/Components/ContentReviews/WbContentReviewsSidebarItem.test.js.map +1 -0
  16. package/Components/PageEditor/DisabledPublishButton.d.ts +6 -0
  17. package/Components/PageEditor/DisabledPublishButton.js +17 -0
  18. package/Components/PageEditor/DisabledPublishButton.js.map +1 -0
  19. package/Components/PageEditor/DisabledPublishButton.test.d.ts +1 -0
  20. package/Components/PageEditor/DisabledPublishButton.test.js +67 -0
  21. package/Components/PageEditor/DisabledPublishButton.test.js.map +1 -0
  22. package/Components/PageEditor/PageBasePublishDecorator.d.ts +2 -0
  23. package/Components/PageEditor/PageBasePublishDecorator.js +23 -0
  24. package/Components/PageEditor/PageBasePublishDecorator.js.map +1 -0
  25. package/Components/PageEditor/PageEditorAutoSave.d.ts +2 -0
  26. package/Components/PageEditor/PageEditorAutoSave.js +23 -0
  27. package/Components/PageEditor/PageEditorAutoSave.js.map +1 -0
  28. package/Components/PageEditor/PageEditorAutoSave.test.d.ts +1 -0
  29. package/Components/PageEditor/PageEditorAutoSave.test.js +111 -0
  30. package/Components/PageEditor/PageEditorAutoSave.test.js.map +1 -0
  31. package/Components/PageEditor/PageEditorConfig.d.ts +2 -0
  32. package/Components/PageEditor/PageEditorConfig.js +13 -0
  33. package/Components/PageEditor/PageEditorConfig.js.map +1 -0
  34. package/Components/PageEditor/PageEditorLayout.d.ts +2 -0
  35. package/Components/PageEditor/PageEditorLayout.js +10 -0
  36. package/Components/PageEditor/PageEditorLayout.js.map +1 -0
  37. package/Components/PageEditor/PageEditorLayout.test.d.ts +1 -0
  38. package/Components/PageEditor/PageEditorLayout.test.js +121 -0
  39. package/Components/PageEditor/PageEditorLayout.test.js.map +1 -0
  40. package/Components/PageEditor/PageEditorTopBar.d.ts +2 -0
  41. package/Components/PageEditor/PageEditorTopBar.js +10 -0
  42. package/Components/PageEditor/PageEditorTopBar.js.map +1 -0
  43. package/Components/PageEditor/PageEditorTopBar.test.d.ts +1 -0
  44. package/Components/PageEditor/PageEditorTopBar.test.js +175 -0
  45. package/Components/PageEditor/PageEditorTopBar.test.js.map +1 -0
  46. package/Components/PageEditor/PageNewRevisionDecorator.d.ts +2 -0
  47. package/Components/PageEditor/PageNewRevisionDecorator.js +24 -0
  48. package/Components/PageEditor/PageNewRevisionDecorator.js.map +1 -0
  49. package/Components/PageEditor/PageNewRevisionDecorator.test.d.ts +1 -0
  50. package/Components/PageEditor/PageNewRevisionDecorator.test.js +107 -0
  51. package/Components/PageEditor/PageNewRevisionDecorator.test.js.map +1 -0
  52. package/Components/PageEditor/PageReadOnlySync.d.ts +3 -0
  53. package/Components/PageEditor/PageReadOnlySync.js +23 -0
  54. package/Components/PageEditor/PageReadOnlySync.js.map +1 -0
  55. package/Components/PageEditor/PageReviewBar.d.ts +4 -0
  56. package/Components/PageEditor/PageReviewBar.js +93 -0
  57. package/Components/PageEditor/PageReviewBar.js.map +1 -0
  58. package/Components/PageEditor/PageReviewBar.test.d.ts +1 -0
  59. package/Components/PageEditor/PageReviewBar.test.js +135 -0
  60. package/Components/PageEditor/PageReviewBar.test.js.map +1 -0
  61. package/Components/PageEditor/PageReviewPublishAction.d.ts +2 -0
  62. package/Components/PageEditor/PageReviewPublishAction.js +15 -0
  63. package/Components/PageEditor/PageReviewPublishAction.js.map +1 -0
  64. package/Components/PageEditor/PageReviewPublishButton.d.ts +4 -0
  65. package/Components/PageEditor/PageReviewPublishButton.js +23 -0
  66. package/Components/PageEditor/PageReviewPublishButton.js.map +1 -0
  67. package/Components/PageEditor/PageScheduleDecorator.d.ts +2 -0
  68. package/Components/PageEditor/PageScheduleDecorator.js +23 -0
  69. package/Components/PageEditor/PageScheduleDecorator.js.map +1 -0
  70. package/Components/PageEditor/PageScheduleDecorator.test.d.ts +1 -0
  71. package/Components/PageEditor/PageScheduleDecorator.test.js +75 -0
  72. package/Components/PageEditor/PageScheduleDecorator.test.js.map +1 -0
  73. package/Components/PageEditor/getPageReadOnlyReason.d.ts +4 -0
  74. package/Components/PageEditor/getPageReadOnlyReason.js +20 -0
  75. package/Components/PageEditor/getPageReadOnlyReason.js.map +1 -0
  76. package/Components/PageEditor/getPageReadOnlyReason.test.d.ts +1 -0
  77. package/Components/PageEditor/getPageReadOnlyReason.test.js +122 -0
  78. package/Components/PageEditor/getPageReadOnlyReason.test.js.map +1 -0
  79. package/Components/PageEditor/getPageReviewContext.d.ts +9 -0
  80. package/Components/PageEditor/getPageReviewContext.js +13 -0
  81. package/Components/PageEditor/getPageReviewContext.js.map +1 -0
  82. package/Components/PageEditor/getPageReviewContext.test.d.ts +1 -0
  83. package/Components/PageEditor/getPageReviewContext.test.js +42 -0
  84. package/Components/PageEditor/getPageReviewContext.test.js.map +1 -0
  85. package/Components/PageEditor/pageEditorDocument.d.ts +17 -0
  86. package/Components/PageEditor/pageEditorDocument.js +0 -0
  87. package/Components/PageEditor/pageReviewMatrix.test.d.ts +1 -0
  88. package/Components/PageEditor/pageReviewMatrix.test.js +223 -0
  89. package/Components/PageEditor/pageReviewMatrix.test.js.map +1 -0
  90. package/Components/PageEditor/publishMatrix.test.d.ts +1 -0
  91. package/Components/PageEditor/publishMatrix.test.js +313 -0
  92. package/Components/PageEditor/publishMatrix.test.js.map +1 -0
  93. package/Components/PagesList/PageListReviewGatedActions.d.ts +2 -0
  94. package/Components/PagesList/PageListReviewGatedActions.js +27 -0
  95. package/Components/PagesList/PageListReviewGatedActions.js.map +1 -0
  96. package/Components/PagesList/PageListReviewGatedActions.test.d.ts +1 -0
  97. package/Components/PagesList/PageListReviewGatedActions.test.js +94 -0
  98. package/Components/PagesList/PageListReviewGatedActions.test.js.map +1 -0
  99. package/Components/PagesList/PagesList.d.ts +2 -0
  100. package/Components/PagesList/PagesList.js +8 -0
  101. package/Components/PagesList/PagesList.js.map +1 -0
  102. package/Components/PagesList/PagesList.test.d.ts +1 -0
  103. package/Components/PagesList/PagesList.test.js +47 -0
  104. package/Components/PagesList/PagesList.test.js.map +1 -0
  105. package/Components/PagesList/index.d.ts +1 -0
  106. package/Components/PagesList/index.js +1 -0
  107. package/Components/index.d.ts +2 -0
  108. package/Components/index.js +2 -0
  109. package/LICENSE +21 -0
  110. package/README.md +11 -0
  111. package/Routes/WebsiteBuilderWorkflowsMenu.d.ts +2 -0
  112. package/Routes/WebsiteBuilderWorkflowsMenu.js +23 -0
  113. package/Routes/WebsiteBuilderWorkflowsMenu.js.map +1 -0
  114. package/Routes/WebsiteBuilderWorkflowsMenu.test.d.ts +1 -0
  115. package/Routes/WebsiteBuilderWorkflowsMenu.test.js +141 -0
  116. package/Routes/WebsiteBuilderWorkflowsMenu.test.js.map +1 -0
  117. package/Routes/index.d.ts +1 -0
  118. package/Routes/index.js +1 -0
  119. package/constants.d.ts +1 -0
  120. package/constants.js +4 -0
  121. package/constants.js.map +1 -0
  122. package/editorGlue.wiring.test.d.ts +1 -0
  123. package/editorGlue.wiring.test.js +128 -0
  124. package/editorGlue.wiring.test.js.map +1 -0
  125. package/features/cache/WbReviewCacheSyncHandler.d.ts +8 -0
  126. package/features/cache/WbReviewCacheSyncHandler.js +14 -0
  127. package/features/cache/WbReviewCacheSyncHandler.js.map +1 -0
  128. package/features/cache/WbReviewPageCacheWriter.d.ts +17 -0
  129. package/features/cache/WbReviewPageCacheWriter.js +39 -0
  130. package/features/cache/WbReviewPageCacheWriter.js.map +1 -0
  131. package/features/cache/WbReviewPageCacheWriter.test.d.ts +1 -0
  132. package/features/cache/WbReviewPageCacheWriter.test.js +115 -0
  133. package/features/cache/WbReviewPageCacheWriter.test.js.map +1 -0
  134. package/features/cache/abstractions.d.ts +5 -0
  135. package/features/cache/abstractions.js +5 -0
  136. package/features/cache/abstractions.js.map +1 -0
  137. package/features/cache/feature.d.ts +1 -0
  138. package/features/cache/feature.js +13 -0
  139. package/features/cache/feature.js.map +1 -0
  140. package/features/editorGateway/WbWorkflowEditorGateway/WbWorkflowEditorGateway.d.ts +25 -0
  141. package/features/editorGateway/WbWorkflowEditorGateway/WbWorkflowEditorGateway.js +112 -0
  142. package/features/editorGateway/WbWorkflowEditorGateway/WbWorkflowEditorGateway.js.map +1 -0
  143. package/features/editorGateway/WbWorkflowEditorGateway/WbWorkflowEditorGateway.test.d.ts +1 -0
  144. package/features/editorGateway/WbWorkflowEditorGateway/WbWorkflowEditorGateway.test.js +632 -0
  145. package/features/editorGateway/WbWorkflowEditorGateway/WbWorkflowEditorGateway.test.js.map +1 -0
  146. package/features/editorGateway/feature.d.ts +1 -0
  147. package/features/editorGateway/feature.js +11 -0
  148. package/features/editorGateway/feature.js.map +1 -0
  149. package/features/editorGateway/feature.test.d.ts +1 -0
  150. package/features/editorGateway/feature.test.js +244 -0
  151. package/features/editorGateway/feature.test.js.map +1 -0
  152. package/features/editorGateway/graphql/deleteWebsiteBuilderPageWorkflow.d.ts +1 -0
  153. package/features/editorGateway/graphql/deleteWebsiteBuilderPageWorkflow.js +19 -0
  154. package/features/editorGateway/graphql/deleteWebsiteBuilderPageWorkflow.js.map +1 -0
  155. package/features/editorGateway/graphql/getWebsiteBuilderPageWorkflow.d.ts +1 -0
  156. package/features/editorGateway/graphql/getWebsiteBuilderPageWorkflow.js +19 -0
  157. package/features/editorGateway/graphql/getWebsiteBuilderPageWorkflow.js.map +1 -0
  158. package/features/editorGateway/graphql/inspectWebsiteBuilderPageRouting.d.ts +1 -0
  159. package/features/editorGateway/graphql/inspectWebsiteBuilderPageRouting.js +19 -0
  160. package/features/editorGateway/graphql/inspectWebsiteBuilderPageRouting.js.map +1 -0
  161. package/features/editorGateway/graphql/listWebsiteBuilderPageWorkflowNames.d.ts +1 -0
  162. package/features/editorGateway/graphql/listWebsiteBuilderPageWorkflowNames.js +23 -0
  163. package/features/editorGateway/graphql/listWebsiteBuilderPageWorkflowNames.js.map +1 -0
  164. package/features/editorGateway/graphql/storeWebsiteBuilderPageWorkflow.d.ts +1 -0
  165. package/features/editorGateway/graphql/storeWebsiteBuilderPageWorkflow.js +19 -0
  166. package/features/editorGateway/graphql/storeWebsiteBuilderPageWorkflow.js.map +1 -0
  167. package/features/editorGateway/graphql/websiteBuilderPageFolderExists.d.ts +1 -0
  168. package/features/editorGateway/graphql/websiteBuilderPageFolderExists.js +16 -0
  169. package/features/editorGateway/graphql/websiteBuilderPageFolderExists.js.map +1 -0
  170. package/features/editorMounting/WbWorkflowEditorAppAdapter.d.ts +21 -0
  171. package/features/editorMounting/WbWorkflowEditorAppAdapter.js +45 -0
  172. package/features/editorMounting/WbWorkflowEditorAppAdapter.js.map +1 -0
  173. package/features/editorMounting/WbWorkflowEditorAppAdapter.test.d.ts +1 -0
  174. package/features/editorMounting/WbWorkflowEditorAppAdapter.test.js +115 -0
  175. package/features/editorMounting/WbWorkflowEditorAppAdapter.test.js.map +1 -0
  176. package/features/editorMounting/abstractions.d.ts +5 -0
  177. package/features/editorMounting/abstractions.js +5 -0
  178. package/features/editorMounting/abstractions.js.map +1 -0
  179. package/features/editorMounting/feature.d.ts +3 -0
  180. package/features/editorMounting/feature.js +19 -0
  181. package/features/editorMounting/feature.js.map +1 -0
  182. package/features/editorMounting/feature.test.d.ts +1 -0
  183. package/features/editorMounting/feature.test.js +93 -0
  184. package/features/editorMounting/feature.test.js.map +1 -0
  185. package/features/editorReview/WbPageContentReloader.d.ts +12 -0
  186. package/features/editorReview/WbPageContentReloader.js +40 -0
  187. package/features/editorReview/WbPageContentReloader.js.map +1 -0
  188. package/features/editorReview/WbPageContentReloader.test.d.ts +1 -0
  189. package/features/editorReview/WbPageContentReloader.test.js +222 -0
  190. package/features/editorReview/WbPageContentReloader.test.js.map +1 -0
  191. package/features/editorReview/WbPageReview.d.ts +8 -0
  192. package/features/editorReview/WbPageReview.js +14 -0
  193. package/features/editorReview/WbPageReview.js.map +1 -0
  194. package/features/editorReview/WbPageUnsavedChanges.d.ts +8 -0
  195. package/features/editorReview/WbPageUnsavedChanges.js +12 -0
  196. package/features/editorReview/WbPageUnsavedChanges.js.map +1 -0
  197. package/features/editorReview/WbPageUnsavedChanges.test.d.ts +1 -0
  198. package/features/editorReview/WbPageUnsavedChanges.test.js +33 -0
  199. package/features/editorReview/WbPageUnsavedChanges.test.js.map +1 -0
  200. package/features/editorReview/abstractions.d.ts +5 -0
  201. package/features/editorReview/abstractions.js +5 -0
  202. package/features/editorReview/abstractions.js.map +1 -0
  203. package/features/editorReview/feature.d.ts +3 -0
  204. package/features/editorReview/feature.js +17 -0
  205. package/features/editorReview/feature.js.map +1 -0
  206. package/features/gateway/WbReviewChangeMessageHandler.d.ts +8 -0
  207. package/features/gateway/WbReviewChangeMessageHandler.js +16 -0
  208. package/features/gateway/WbReviewChangeMessageHandler.js.map +1 -0
  209. package/features/gateway/WbReviewContentAdapter/WbReviewContentAdapter.d.ts +13 -0
  210. package/features/gateway/WbReviewContentAdapter/WbReviewContentAdapter.js +35 -0
  211. package/features/gateway/WbReviewContentAdapter/WbReviewContentAdapter.js.map +1 -0
  212. package/features/gateway/WbReviewContentAdapter/WbReviewContentAdapter.test.d.ts +1 -0
  213. package/features/gateway/WbReviewContentAdapter/WbReviewContentAdapter.test.js +47 -0
  214. package/features/gateway/WbReviewContentAdapter/WbReviewContentAdapter.test.js.map +1 -0
  215. package/features/gateway/WbReviewContentAdapter/abstractions.d.ts +5 -0
  216. package/features/gateway/WbReviewContentAdapter/abstractions.js +5 -0
  217. package/features/gateway/WbReviewContentAdapter/abstractions.js.map +1 -0
  218. package/features/gateway/WbReviewGateway/WbReviewGateway.d.ts +51 -0
  219. package/features/gateway/WbReviewGateway/WbReviewGateway.js +216 -0
  220. package/features/gateway/WbReviewGateway/WbReviewGateway.js.map +1 -0
  221. package/features/gateway/WbReviewGateway/WbReviewGateway.test.d.ts +1 -0
  222. package/features/gateway/WbReviewGateway/WbReviewGateway.test.js +647 -0
  223. package/features/gateway/WbReviewGateway/WbReviewGateway.test.js.map +1 -0
  224. package/features/gateway/WbReviewNotificationHandler.d.ts +8 -0
  225. package/features/gateway/WbReviewNotificationHandler.js +16 -0
  226. package/features/gateway/WbReviewNotificationHandler.js.map +1 -0
  227. package/features/gateway/WbReviewRowProvider/WbReviewRowProvider.d.ts +8 -0
  228. package/features/gateway/WbReviewRowProvider/WbReviewRowProvider.js +14 -0
  229. package/features/gateway/WbReviewRowProvider/WbReviewRowProvider.js.map +1 -0
  230. package/features/gateway/WbReviewRowProvider/abstractions.d.ts +5 -0
  231. package/features/gateway/WbReviewRowProvider/abstractions.js +5 -0
  232. package/features/gateway/WbReviewRowProvider/abstractions.js.map +1 -0
  233. package/features/gateway/assertWbPageNamespace.d.ts +1 -0
  234. package/features/gateway/assertWbPageNamespace.js +7 -0
  235. package/features/gateway/assertWbPageNamespace.js.map +1 -0
  236. package/features/gateway/contentReviewsBindings.test.d.ts +1 -0
  237. package/features/gateway/contentReviewsBindings.test.js +159 -0
  238. package/features/gateway/contentReviewsBindings.test.js.map +1 -0
  239. package/features/gateway/feature.d.ts +4 -0
  240. package/features/gateway/feature.js +27 -0
  241. package/features/gateway/feature.js.map +1 -0
  242. package/features/gateway/feature.test.d.ts +1 -0
  243. package/features/gateway/feature.test.js +85 -0
  244. package/features/gateway/feature.test.js.map +1 -0
  245. package/features/gateway/graphql/WbOperationResponse.d.ts +3 -0
  246. package/features/gateway/graphql/WbOperationResponse.js +0 -0
  247. package/features/gateway/graphql/approveWebsiteBuilderPageReviewStep.d.ts +1 -0
  248. package/features/gateway/graphql/approveWebsiteBuilderPageReviewStep.js +22 -0
  249. package/features/gateway/graphql/approveWebsiteBuilderPageReviewStep.js.map +1 -0
  250. package/features/gateway/graphql/cancelWebsiteBuilderPageReview.d.ts +1 -0
  251. package/features/gateway/graphql/cancelWebsiteBuilderPageReview.js +18 -0
  252. package/features/gateway/graphql/cancelWebsiteBuilderPageReview.js.map +1 -0
  253. package/features/gateway/graphql/cancelWebsiteBuilderPageReviewsForDelete.d.ts +1 -0
  254. package/features/gateway/graphql/cancelWebsiteBuilderPageReviewsForDelete.js +26 -0
  255. package/features/gateway/graphql/cancelWebsiteBuilderPageReviewsForDelete.js.map +1 -0
  256. package/features/gateway/graphql/getWebsiteBuilderPageReview.d.ts +1 -0
  257. package/features/gateway/graphql/getWebsiteBuilderPageReview.js +18 -0
  258. package/features/gateway/graphql/getWebsiteBuilderPageReview.js.map +1 -0
  259. package/features/gateway/graphql/getWebsiteBuilderPageReviewStepRun.d.ts +1 -0
  260. package/features/gateway/graphql/getWebsiteBuilderPageReviewStepRun.js +18 -0
  261. package/features/gateway/graphql/getWebsiteBuilderPageReviewStepRun.js.map +1 -0
  262. package/features/gateway/graphql/getWebsiteBuilderPageTargetReview.d.ts +1 -0
  263. package/features/gateway/graphql/getWebsiteBuilderPageTargetReview.js +18 -0
  264. package/features/gateway/graphql/getWebsiteBuilderPageTargetReview.js.map +1 -0
  265. package/features/gateway/graphql/listWebsiteBuilderPageReviewStepCandidates.d.ts +1 -0
  266. package/features/gateway/graphql/listWebsiteBuilderPageReviewStepCandidates.js +18 -0
  267. package/features/gateway/graphql/listWebsiteBuilderPageReviewStepCandidates.js.map +1 -0
  268. package/features/gateway/graphql/listWebsiteBuilderPageReviews.d.ts +1 -0
  269. package/features/gateway/graphql/listWebsiteBuilderPageReviews.js +34 -0
  270. package/features/gateway/graphql/listWebsiteBuilderPageReviews.js.map +1 -0
  271. package/features/gateway/graphql/listWebsiteBuilderPageStepCandidates.d.ts +1 -0
  272. package/features/gateway/graphql/listWebsiteBuilderPageStepCandidates.js +22 -0
  273. package/features/gateway/graphql/listWebsiteBuilderPageStepCandidates.js.map +1 -0
  274. package/features/gateway/graphql/listWebsiteBuilderPageWorkflows.d.ts +1 -0
  275. package/features/gateway/graphql/listWebsiteBuilderPageWorkflows.js +18 -0
  276. package/features/gateway/graphql/listWebsiteBuilderPageWorkflows.js.map +1 -0
  277. package/features/gateway/graphql/reassignWebsiteBuilderPageReviewStep.d.ts +1 -0
  278. package/features/gateway/graphql/reassignWebsiteBuilderPageReviewStep.js +22 -0
  279. package/features/gateway/graphql/reassignWebsiteBuilderPageReviewStep.js.map +1 -0
  280. package/features/gateway/graphql/rejectWebsiteBuilderPageReviewStep.d.ts +1 -0
  281. package/features/gateway/graphql/rejectWebsiteBuilderPageReviewStep.js +22 -0
  282. package/features/gateway/graphql/rejectWebsiteBuilderPageReviewStep.js.map +1 -0
  283. package/features/gateway/graphql/requestWebsiteBuilderPageReview.d.ts +1 -0
  284. package/features/gateway/graphql/requestWebsiteBuilderPageReview.js +26 -0
  285. package/features/gateway/graphql/requestWebsiteBuilderPageReview.js.map +1 -0
  286. package/features/gateway/graphql/restartWebsiteBuilderPageReviewStep.d.ts +1 -0
  287. package/features/gateway/graphql/restartWebsiteBuilderPageReviewStep.js +18 -0
  288. package/features/gateway/graphql/restartWebsiteBuilderPageReviewStep.js.map +1 -0
  289. package/features/gateway/graphql/startWebsiteBuilderPageReviewStep.d.ts +1 -0
  290. package/features/gateway/graphql/startWebsiteBuilderPageReviewStep.js +18 -0
  291. package/features/gateway/graphql/startWebsiteBuilderPageReviewStep.js.map +1 -0
  292. package/features/gateway/graphql/takeOverWebsiteBuilderPageReviewStep.d.ts +1 -0
  293. package/features/gateway/graphql/takeOverWebsiteBuilderPageReviewStep.js +26 -0
  294. package/features/gateway/graphql/takeOverWebsiteBuilderPageReviewStep.js.map +1 -0
  295. package/features/trash/BulkDeletePresenterReviewDecorator.d.ts +14 -0
  296. package/features/trash/BulkDeletePresenterReviewDecorator.js +27 -0
  297. package/features/trash/BulkDeletePresenterReviewDecorator.js.map +1 -0
  298. package/features/trash/BulkDeletePresenterReviewDecorator.test.d.ts +1 -0
  299. package/features/trash/BulkDeletePresenterReviewDecorator.test.js +234 -0
  300. package/features/trash/BulkDeletePresenterReviewDecorator.test.js.map +1 -0
  301. package/features/trash/DeletePageRevisionUseCaseReviewDecorator.d.ts +13 -0
  302. package/features/trash/DeletePageRevisionUseCaseReviewDecorator.js +23 -0
  303. package/features/trash/DeletePageRevisionUseCaseReviewDecorator.js.map +1 -0
  304. package/features/trash/DeletePageRevisionUseCaseReviewDecorator.test.d.ts +1 -0
  305. package/features/trash/DeletePageRevisionUseCaseReviewDecorator.test.js +114 -0
  306. package/features/trash/DeletePageRevisionUseCaseReviewDecorator.test.js.map +1 -0
  307. package/features/trash/DeletePageUseCaseReviewDecorator.d.ts +13 -0
  308. package/features/trash/DeletePageUseCaseReviewDecorator.js +23 -0
  309. package/features/trash/DeletePageUseCaseReviewDecorator.js.map +1 -0
  310. package/features/trash/DeletePageUseCaseReviewDecorator.test.d.ts +1 -0
  311. package/features/trash/DeletePageUseCaseReviewDecorator.test.js +134 -0
  312. package/features/trash/DeletePageUseCaseReviewDecorator.test.js.map +1 -0
  313. package/features/trash/feature.d.ts +1 -0
  314. package/features/trash/feature.js +15 -0
  315. package/features/trash/feature.js.map +1 -0
  316. package/features/trash/feature.test.d.ts +1 -0
  317. package/features/trash/feature.test.js +183 -0
  318. package/features/trash/feature.test.js.map +1 -0
  319. package/hooks/usePage.d.ts +5 -0
  320. package/hooks/usePage.js +15 -0
  321. package/hooks/usePage.js.map +1 -0
  322. package/hooks/usePage.test.d.ts +1 -0
  323. package/hooks/usePage.test.js +49 -0
  324. package/hooks/usePage.test.js.map +1 -0
  325. package/index.d.ts +2 -0
  326. package/index.js +40 -0
  327. package/index.js.map +1 -0
  328. package/index.mount.test.d.ts +1 -0
  329. package/index.mount.test.js +50 -0
  330. package/index.mount.test.js.map +1 -0
  331. package/index.test.d.ts +1 -0
  332. package/index.test.js +523 -0
  333. package/index.test.js.map +1 -0
  334. package/package.json +54 -0
  335. package/pageListChangeStatus.wiring.test.d.ts +1 -0
  336. package/pageListChangeStatus.wiring.test.js +175 -0
  337. package/pageListChangeStatus.wiring.test.js.map +1 -0
  338. package/pageListGlue.wiring.test.d.ts +1 -0
  339. package/pageListGlue.wiring.test.js +220 -0
  340. package/pageListGlue.wiring.test.js.map +1 -0
  341. package/presentation/page/PageGet/WbReviewGetPageFieldSelection.d.ts +8 -0
  342. package/presentation/page/PageGet/WbReviewGetPageFieldSelection.js +16 -0
  343. package/presentation/page/PageGet/WbReviewGetPageFieldSelection.js.map +1 -0
  344. package/presentation/page/PageGet/WbReviewGetPageFieldSelection.test.d.ts +1 -0
  345. package/presentation/page/PageGet/WbReviewGetPageFieldSelection.test.js +19 -0
  346. package/presentation/page/PageGet/WbReviewGetPageFieldSelection.test.js.map +1 -0
  347. package/presentation/page/PageGet/feature.d.ts +1 -0
  348. package/presentation/page/PageGet/feature.js +11 -0
  349. package/presentation/page/PageGet/feature.js.map +1 -0
  350. package/presentation/page/PageList/WbReviewListPagesFieldSelection.d.ts +8 -0
  351. package/presentation/page/PageList/WbReviewListPagesFieldSelection.js +16 -0
  352. package/presentation/page/PageList/WbReviewListPagesFieldSelection.js.map +1 -0
  353. package/presentation/page/PageList/WbReviewListPagesFieldSelection.test.d.ts +1 -0
  354. package/presentation/page/PageList/WbReviewListPagesFieldSelection.test.js +19 -0
  355. package/presentation/page/PageList/WbReviewListPagesFieldSelection.test.js.map +1 -0
  356. package/presentation/page/PageList/WbReviewTableRowMapperDecorator.d.ts +12 -0
  357. package/presentation/page/PageList/WbReviewTableRowMapperDecorator.js +24 -0
  358. package/presentation/page/PageList/WbReviewTableRowMapperDecorator.js.map +1 -0
  359. package/presentation/page/PageList/WbReviewTableRowMapperDecorator.test.d.ts +1 -0
  360. package/presentation/page/PageList/WbReviewTableRowMapperDecorator.test.js +70 -0
  361. package/presentation/page/PageList/WbReviewTableRowMapperDecorator.test.js.map +1 -0
  362. package/presentation/page/PageList/feature.d.ts +1 -0
  363. package/presentation/page/PageList/feature.js +13 -0
  364. package/presentation/page/PageList/feature.js.map +1 -0
  365. package/presentation/page/RevisionList/RevisionListPresenterDecorator.d.ts +15 -0
  366. package/presentation/page/RevisionList/RevisionListPresenterDecorator.js +36 -0
  367. package/presentation/page/RevisionList/RevisionListPresenterDecorator.js.map +1 -0
  368. package/presentation/page/RevisionList/RevisionListPresenterDecorator.test.d.ts +1 -0
  369. package/presentation/page/RevisionList/RevisionListPresenterDecorator.test.js +119 -0
  370. package/presentation/page/RevisionList/RevisionListPresenterDecorator.test.js.map +1 -0
  371. package/presentation/page/RevisionList/feature.d.ts +1 -0
  372. package/presentation/page/RevisionList/feature.js +11 -0
  373. package/presentation/page/RevisionList/feature.js.map +1 -0
  374. package/presentation/page/wbReviewPageSelection.d.ts +1 -0
  375. package/presentation/page/wbReviewPageSelection.js +9 -0
  376. package/presentation/page/wbReviewPageSelection.js.map +1 -0
  377. package/publishAutosave.wiring.test.d.ts +1 -0
  378. package/publishAutosave.wiring.test.js +162 -0
  379. package/publishAutosave.wiring.test.js.map +1 -0
  380. package/routes.d.ts +9 -0
  381. package/routes.js +19 -0
  382. package/routes.js.map +1 -0
  383. package/testing/WbEditorHarness.d.ts +11 -0
  384. package/testing/WbEditorHarness.js +22 -0
  385. package/testing/WbEditorHarness.js.map +1 -0
  386. package/testing/createFakeSession.d.ts +9 -0
  387. package/testing/createFakeSession.js +29 -0
  388. package/testing/createFakeSession.js.map +1 -0
  389. package/testing/createFakeVm.d.ts +3 -0
  390. package/testing/createFakeVm.js +51 -0
  391. package/testing/createFakeVm.js.map +1 -0
  392. package/testing/createFolder.d.ts +2 -0
  393. package/testing/createFolder.js +13 -0
  394. package/testing/createFolder.js.map +1 -0
  395. package/testing/createPageEditor.d.ts +4 -0
  396. package/testing/createPageEditor.js +26 -0
  397. package/testing/createPageEditor.js.map +1 -0
  398. package/testing/registerPageContent.d.ts +20 -0
  399. package/testing/registerPageContent.js +28 -0
  400. package/testing/registerPageContent.js.map +1 -0
  401. package/types.d.ts +9 -0
  402. package/types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/gateway/WbReviewGateway/WbReviewGateway.js","sources":["../../../../src/features/gateway/WbReviewGateway/WbReviewGateway.ts"],"sourcesContent":["import { MainGraphQLClient } from \"@webiny/app/features/mainGraphQLClient/abstractions.js\";\nimport type { ReviewTarget } from \"@webiny/app-workflows/review/domain/types.js\";\nimport type { ReviewDto } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { ReviewEnvelope } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { ReviewListEnvelope } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { ReviewWithFlagsDto } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { StepCandidateDto } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { WorkflowDto } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { ApproveReviewParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { CancelForDeleteParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { CancelReviewParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { ListReviewsParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { ListReviewStepCandidatesParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { ListStepCandidatesParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { ReassignReviewParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { RejectReviewParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { RequestReviewParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { ReviewStepRef } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { TakeOverReviewParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport type { WorkflowAppKind } from \"@webiny/app-workflows/domain/WorkflowAppKind.js\";\nimport { WB_PAGE_APP } from \"~/constants.js\";\nimport { ReviewAppGateway as GatewayAbstraction } from \"@webiny/app-workflows/review/appGateway/abstractions.js\";\nimport { assertWbPageNamespace } from \"../assertWbPageNamespace.js\";\nimport type { WbOperationResponse } from \"../graphql/WbOperationResponse.js\";\nimport type { BlockingReviewDto } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { ReviewStepRunInfoDto } from \"@webiny/app-workflows/review/gateway/dto.js\";\nimport type { GetStepRunParams } from \"@webiny/app-workflows/review/appGateway/IReviewAppGateway.js\";\nimport { APPROVE_WEBSITE_BUILDER_PAGE_REVIEW_STEP } from \"../graphql/approveWebsiteBuilderPageReviewStep.js\";\nimport { CANCEL_WEBSITE_BUILDER_PAGE_REVIEW } from \"../graphql/cancelWebsiteBuilderPageReview.js\";\nimport { CANCEL_WEBSITE_BUILDER_PAGE_REVIEWS_FOR_DELETE } from \"../graphql/cancelWebsiteBuilderPageReviewsForDelete.js\";\nimport { GET_WEBSITE_BUILDER_PAGE_REVIEW } from \"../graphql/getWebsiteBuilderPageReview.js\";\nimport { GET_WEBSITE_BUILDER_PAGE_TARGET_REVIEW } from \"../graphql/getWebsiteBuilderPageTargetReview.js\";\nimport { LIST_WEBSITE_BUILDER_PAGE_REVIEW_STEP_CANDIDATES } from \"../graphql/listWebsiteBuilderPageReviewStepCandidates.js\";\nimport { LIST_WEBSITE_BUILDER_PAGE_REVIEWS } from \"../graphql/listWebsiteBuilderPageReviews.js\";\nimport { LIST_WEBSITE_BUILDER_PAGE_STEP_CANDIDATES } from \"../graphql/listWebsiteBuilderPageStepCandidates.js\";\nimport { LIST_WEBSITE_BUILDER_PAGE_WORKFLOWS } from \"../graphql/listWebsiteBuilderPageWorkflows.js\";\nimport { REASSIGN_WEBSITE_BUILDER_PAGE_REVIEW_STEP } from \"../graphql/reassignWebsiteBuilderPageReviewStep.js\";\nimport { REJECT_WEBSITE_BUILDER_PAGE_REVIEW_STEP } from \"../graphql/rejectWebsiteBuilderPageReviewStep.js\";\nimport { REQUEST_WEBSITE_BUILDER_PAGE_REVIEW } from \"../graphql/requestWebsiteBuilderPageReview.js\";\nimport { START_WEBSITE_BUILDER_PAGE_REVIEW_STEP } from \"../graphql/startWebsiteBuilderPageReviewStep.js\";\nimport { TAKE_OVER_WEBSITE_BUILDER_PAGE_REVIEW_STEP } from \"../graphql/takeOverWebsiteBuilderPageReviewStep.js\";\nimport { GET_WEBSITE_BUILDER_PAGE_REVIEW_STEP_RUN } from \"../graphql/getWebsiteBuilderPageReviewStepRun.js\";\nimport { RESTART_WEBSITE_BUILDER_PAGE_REVIEW_STEP } from \"../graphql/restartWebsiteBuilderPageReviewStep.js\";\n\nclass WbReviewGatewayImpl implements GatewayAbstraction.Interface {\n public readonly app: WorkflowAppKind = \"wb\";\n\n constructor(private client: MainGraphQLClient.Interface) {}\n\n // Only the page namespace (R347).\n canHandle(namespace: string): boolean {\n return namespace === WB_PAGE_APP;\n }\n\n async listWorkflows(): Promise<ReviewEnvelope<WorkflowDto[]>> {\n const response = await this.client.execute<\n WbOperationResponse<\"listWebsiteBuilderPageWorkflows\", ReviewEnvelope<WorkflowDto[]>>\n >({\n query: LIST_WEBSITE_BUILDER_PAGE_WORKFLOWS\n });\n\n return response.websiteBuilder.listWebsiteBuilderPageWorkflows;\n }\n\n async getTargetReview(\n target: ReviewTarget\n ): Promise<ReviewEnvelope<ReviewWithFlagsDto | null>> {\n assertWbPageNamespace(target.namespace);\n\n const response = await this.client.execute<\n WbOperationResponse<\n \"getWebsiteBuilderPageTargetReview\",\n ReviewEnvelope<ReviewWithFlagsDto | null>\n >\n >({\n query: GET_WEBSITE_BUILDER_PAGE_TARGET_REVIEW,\n variables: { revisionId: target.targetRevisionId }\n });\n\n return response.websiteBuilder.getWebsiteBuilderPageTargetReview;\n }\n\n async getReview(reviewId: string): Promise<ReviewEnvelope<ReviewWithFlagsDto>> {\n const response = await this.client.execute<\n WbOperationResponse<\"getWebsiteBuilderPageReview\", ReviewEnvelope<ReviewWithFlagsDto>>\n >({\n query: GET_WEBSITE_BUILDER_PAGE_REVIEW,\n variables: { id: reviewId }\n });\n\n return response.websiteBuilder.getWebsiteBuilderPageReview;\n }\n\n async listStepCandidates(\n params: ListStepCandidatesParams\n ): Promise<ReviewEnvelope<StepCandidateDto[]>> {\n assertWbPageNamespace(params.target.namespace);\n\n const response = await this.client.execute<\n WbOperationResponse<\n \"listWebsiteBuilderPageStepCandidates\",\n ReviewEnvelope<StepCandidateDto[]>\n >\n >({\n query: LIST_WEBSITE_BUILDER_PAGE_STEP_CANDIDATES,\n variables: {\n workflowId: params.workflowId,\n stepId: params.stepId,\n revisionId: params.target.targetRevisionId\n }\n });\n\n return response.websiteBuilder.listWebsiteBuilderPageStepCandidates;\n }\n\n async listReviewStepCandidates(\n params: ListReviewStepCandidatesParams\n ): Promise<ReviewEnvelope<StepCandidateDto[]>> {\n const response = await this.client.execute<\n WbOperationResponse<\n \"listWebsiteBuilderPageReviewStepCandidates\",\n ReviewEnvelope<StepCandidateDto[]>\n >\n >({\n query: LIST_WEBSITE_BUILDER_PAGE_REVIEW_STEP_CANDIDATES,\n variables: { reviewId: params.reviewId, stepId: params.stepId }\n });\n\n return response.websiteBuilder.listWebsiteBuilderPageReviewStepCandidates;\n }\n\n async listReviews(params: ListReviewsParams): Promise<ReviewListEnvelope> {\n const response = await this.client.execute<\n WbOperationResponse<\"listWebsiteBuilderPageReviews\", ReviewListEnvelope>\n >({\n query: LIST_WEBSITE_BUILDER_PAGE_REVIEWS,\n variables: {\n list: params.list,\n where: {\n titleContains: params.where.titleContains,\n reviewState: params.where.reviewState,\n stepState: params.where.stepState\n },\n sort: params.sort,\n limit: params.limit,\n after: params.after\n }\n });\n\n return response.websiteBuilder.listWebsiteBuilderPageReviews;\n }\n\n async requestReview(params: RequestReviewParams): Promise<ReviewEnvelope<ReviewDto>> {\n assertWbPageNamespace(params.target.namespace);\n\n const response = await this.client.execute<\n WbOperationResponse<\"requestWebsiteBuilderPageReview\", ReviewEnvelope<ReviewDto>>\n >({\n query: REQUEST_WEBSITE_BUILDER_PAGE_REVIEW,\n variables: {\n revisionId: params.target.targetRevisionId,\n title: params.title,\n picks: params.picks\n }\n });\n\n return response.websiteBuilder.requestWebsiteBuilderPageReview;\n }\n\n async startStep(params: ReviewStepRef): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n WbOperationResponse<\"startWebsiteBuilderPageReviewStep\", ReviewEnvelope<ReviewDto>>\n >({\n query: START_WEBSITE_BUILDER_PAGE_REVIEW_STEP,\n variables: { reviewId: params.reviewId, stepId: params.stepId }\n });\n\n return response.websiteBuilder.startWebsiteBuilderPageReviewStep;\n }\n\n async takeOverStep(params: TakeOverReviewParams): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n WbOperationResponse<\"takeOverWebsiteBuilderPageReviewStep\", ReviewEnvelope<ReviewDto>>\n >({\n query: TAKE_OVER_WEBSITE_BUILDER_PAGE_REVIEW_STEP,\n variables: {\n reviewId: params.reviewId,\n stepId: params.stepId,\n notifyPreviousOwner: params.notifyPreviousOwner\n }\n });\n\n return response.websiteBuilder.takeOverWebsiteBuilderPageReviewStep;\n }\n\n async reassignStep(params: ReassignReviewParams): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n WbOperationResponse<\"reassignWebsiteBuilderPageReviewStep\", ReviewEnvelope<ReviewDto>>\n >({\n query: REASSIGN_WEBSITE_BUILDER_PAGE_REVIEW_STEP,\n variables: {\n reviewId: params.reviewId,\n stepId: params.stepId,\n userId: params.userId\n }\n });\n\n return response.websiteBuilder.reassignWebsiteBuilderPageReviewStep;\n }\n\n async approveStep(params: ApproveReviewParams): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n WbOperationResponse<\"approveWebsiteBuilderPageReviewStep\", ReviewEnvelope<ReviewDto>>\n >({\n query: APPROVE_WEBSITE_BUILDER_PAGE_REVIEW_STEP,\n variables: {\n reviewId: params.reviewId,\n stepId: params.stepId,\n comment: params.comment\n }\n });\n\n return response.websiteBuilder.approveWebsiteBuilderPageReviewStep;\n }\n\n async rejectStep(params: RejectReviewParams): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n WbOperationResponse<\"rejectWebsiteBuilderPageReviewStep\", ReviewEnvelope<ReviewDto>>\n >({\n query: REJECT_WEBSITE_BUILDER_PAGE_REVIEW_STEP,\n variables: {\n reviewId: params.reviewId,\n stepId: params.stepId,\n comment: params.comment\n }\n });\n\n return response.websiteBuilder.rejectWebsiteBuilderPageReviewStep;\n }\n\n async cancelReview(params: CancelReviewParams): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n WbOperationResponse<\"cancelWebsiteBuilderPageReview\", ReviewEnvelope<ReviewDto>>\n >({\n query: CANCEL_WEBSITE_BUILDER_PAGE_REVIEW,\n variables: { reviewId: params.reviewId }\n });\n\n return response.websiteBuilder.cancelWebsiteBuilderPageReview;\n }\n\n async restartStep(params: ReviewStepRef): Promise<ReviewEnvelope<ReviewDto>> {\n const response = await this.client.execute<\n WbOperationResponse<\"restartWebsiteBuilderPageReviewStep\", ReviewEnvelope<ReviewDto>>\n >({\n query: RESTART_WEBSITE_BUILDER_PAGE_REVIEW_STEP,\n variables: { reviewId: params.reviewId, stepId: params.stepId }\n });\n\n return response.websiteBuilder.restartWebsiteBuilderPageReviewStep;\n }\n\n async getStepRun(\n params: GetStepRunParams\n ): Promise<ReviewEnvelope<ReviewStepRunInfoDto | null>> {\n const response = await this.client.execute<\n WbOperationResponse<\n \"getWebsiteBuilderPageReviewStepRun\",\n ReviewEnvelope<ReviewStepRunInfoDto | null>\n >\n >({\n query: GET_WEBSITE_BUILDER_PAGE_REVIEW_STEP_RUN,\n variables: {\n reviewId: params.reviewId,\n stepId: params.stepId,\n taskId: params.taskId\n }\n });\n\n return response.websiteBuilder.getWebsiteBuilderPageReviewStepRun;\n }\n\n /*\n * The WB bulk delete runs per item through the decorated delete use cases, whose refusals the\n * 8a warning flow already handles, so there is nothing to pre-check (R265). No request is sent.\n */\n async listBlockingReviews(): Promise<ReviewEnvelope<BlockingReviewDto[]>> {\n return { data: [], error: null };\n }\n\n async cancelForDelete(params: CancelForDeleteParams): Promise<ReviewEnvelope<ReviewDto[]>> {\n assertWbPageNamespace(params.namespace);\n\n const response = await this.client.execute<\n WbOperationResponse<\n \"cancelWebsiteBuilderPageReviewsForDelete\",\n ReviewEnvelope<ReviewDto[]>\n >\n >({\n query: CANCEL_WEBSITE_BUILDER_PAGE_REVIEWS_FOR_DELETE,\n variables: {\n pageId: params.targetId,\n revisionId: params.targetRevisionId,\n action: params.action\n }\n });\n\n return response.websiteBuilder.cancelWebsiteBuilderPageReviewsForDelete;\n }\n}\n\nexport const WbReviewGateway = GatewayAbstraction.createImplementation({\n implementation: WbReviewGatewayImpl,\n dependencies: [MainGraphQLClient]\n});\n"],"names":["WbReviewGatewayImpl","client","namespace","WB_PAGE_APP","response","LIST_WEBSITE_BUILDER_PAGE_WORKFLOWS","target","assertWbPageNamespace","GET_WEBSITE_BUILDER_PAGE_TARGET_REVIEW","reviewId","GET_WEBSITE_BUILDER_PAGE_REVIEW","params","LIST_WEBSITE_BUILDER_PAGE_STEP_CANDIDATES","LIST_WEBSITE_BUILDER_PAGE_REVIEW_STEP_CANDIDATES","LIST_WEBSITE_BUILDER_PAGE_REVIEWS","REQUEST_WEBSITE_BUILDER_PAGE_REVIEW","START_WEBSITE_BUILDER_PAGE_REVIEW_STEP","TAKE_OVER_WEBSITE_BUILDER_PAGE_REVIEW_STEP","REASSIGN_WEBSITE_BUILDER_PAGE_REVIEW_STEP","APPROVE_WEBSITE_BUILDER_PAGE_REVIEW_STEP","REJECT_WEBSITE_BUILDER_PAGE_REVIEW_STEP","CANCEL_WEBSITE_BUILDER_PAGE_REVIEW","RESTART_WEBSITE_BUILDER_PAGE_REVIEW_STEP","GET_WEBSITE_BUILDER_PAGE_REVIEW_STEP_RUN","CANCEL_WEBSITE_BUILDER_PAGE_REVIEWS_FOR_DELETE","WbReviewGateway","GatewayAbstraction","MainGraphQLClient"],"mappings":"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"}
@@ -0,0 +1,647 @@
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+ import { Container } from "@webiny/di";
3
+ import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/abstractions.js";
4
+ import { REVIEW_FIELDS, REVIEW_WITH_FLAGS_AND_ASSIGNMENT_FIELDS, REVIEW_WITH_FLAGS_FIELDS, STEP_CANDIDATE_FIELDS, STEP_RUN_INFO_FIELDS, WORKFLOW_FIELDS } from "@webiny/app-workflows/review/gateway/reviewFields.js";
5
+ import { ReviewState } from "@webiny/app-workflows/review/domain/ReviewState.js";
6
+ import { StepState } from "@webiny/app-workflows/review/domain/StepState.js";
7
+ import { ReviewAppGateway } from "@webiny/app-workflows/review/appGateway/abstractions.js";
8
+ import { WbReviewGateway } from "./WbReviewGateway.js";
9
+ describe("WbReviewGateway", ()=>{
10
+ const client = {
11
+ execute: vi.fn()
12
+ };
13
+ let gateway;
14
+ beforeEach(()=>{
15
+ client.execute.mockReset();
16
+ const container = new Container();
17
+ container.registerInstance(MainGraphQLClient, client);
18
+ container.register(WbReviewGateway);
19
+ gateway = container.resolve(ReviewAppGateway);
20
+ });
21
+ it("serves the wb app (R347)", ()=>{
22
+ expect(gateway.app).toBe("wb");
23
+ });
24
+ it("claims only the page namespace (R347)", ()=>{
25
+ expect(gateway.canHandle("wb.page")).toBe(true);
26
+ expect(gateway.canHandle("wb.pages")).toBe(false);
27
+ expect(gateway.canHandle("wb")).toBe(false);
28
+ expect(gateway.canHandle("cms.article")).toBe(false);
29
+ expect(client.execute).not.toHaveBeenCalled();
30
+ });
31
+ it("lists the page workflows without variables", async ()=>{
32
+ const envelope = {
33
+ data: [
34
+ {
35
+ id: "workflow-1"
36
+ }
37
+ ],
38
+ error: null
39
+ };
40
+ client.execute.mockResolvedValue({
41
+ websiteBuilder: {
42
+ listWebsiteBuilderPageWorkflows: envelope
43
+ }
44
+ });
45
+ const result = await gateway.listWorkflows();
46
+ expect(result).toEqual(envelope);
47
+ expect(client.execute).toHaveBeenCalledTimes(1);
48
+ const request = client.execute.mock.calls[0][0];
49
+ expect(request.variables).toBeUndefined();
50
+ expect(request.query).toContain("websiteBuilder");
51
+ expect(request.query).toContain("listWebsiteBuilderPageWorkflows");
52
+ expect(request.query).toContain(WORKFLOW_FIELDS);
53
+ });
54
+ it("reads the target review by revision id", async ()=>{
55
+ const envelope = {
56
+ data: {
57
+ review: {
58
+ id: "review-1"
59
+ },
60
+ flags: {}
61
+ },
62
+ error: null
63
+ };
64
+ client.execute.mockResolvedValue({
65
+ websiteBuilder: {
66
+ getWebsiteBuilderPageTargetReview: envelope
67
+ }
68
+ });
69
+ const result = await gateway.getTargetReview({
70
+ namespace: "wb.page",
71
+ targetRevisionId: "page-1#0001"
72
+ });
73
+ expect(result).toEqual(envelope);
74
+ const request = client.execute.mock.calls[0][0];
75
+ expect(request.variables).toEqual({
76
+ revisionId: "page-1#0001"
77
+ });
78
+ expect(request.query).toContain("getWebsiteBuilderPageTargetReview(revisionId: $revisionId)");
79
+ expect(request.query).toContain(REVIEW_WITH_FLAGS_AND_ASSIGNMENT_FIELDS);
80
+ });
81
+ it("returns an empty target review as is", async ()=>{
82
+ const envelope = {
83
+ data: null,
84
+ error: null
85
+ };
86
+ client.execute.mockResolvedValue({
87
+ websiteBuilder: {
88
+ getWebsiteBuilderPageTargetReview: envelope
89
+ }
90
+ });
91
+ const result = await gateway.getTargetReview({
92
+ namespace: "wb.page",
93
+ targetRevisionId: "page-1#0001"
94
+ });
95
+ expect(result).toEqual({
96
+ data: null,
97
+ error: null
98
+ });
99
+ });
100
+ it("rejects a namespace other than wb.page before sending a request", async ()=>{
101
+ const cmsTarget = {
102
+ namespace: "cms.article",
103
+ targetRevisionId: "entry-1#0001"
104
+ };
105
+ await expect(gateway.getTargetReview(cmsTarget)).rejects.toThrow('Invalid app name: "cms.article".');
106
+ await expect(gateway.requestReview({
107
+ target: cmsTarget,
108
+ title: "Review",
109
+ picks: []
110
+ })).rejects.toThrow('Invalid app name: "cms.article".');
111
+ await expect(gateway.listStepCandidates({
112
+ workflowId: "workflow-1",
113
+ stepId: "step-1",
114
+ target: cmsTarget
115
+ })).rejects.toThrow('Invalid app name: "cms.article".');
116
+ await expect(gateway.cancelForDelete({
117
+ namespace: "cms.article",
118
+ targetId: "entry-1",
119
+ targetRevisionId: null,
120
+ action: "trash"
121
+ })).rejects.toThrow('Invalid app name: "cms.article".');
122
+ expect(client.execute).not.toHaveBeenCalled();
123
+ });
124
+ it("reads one review by id", async ()=>{
125
+ const envelope = {
126
+ data: {
127
+ review: {
128
+ id: "review-1"
129
+ },
130
+ flags: {}
131
+ },
132
+ error: null
133
+ };
134
+ client.execute.mockResolvedValue({
135
+ websiteBuilder: {
136
+ getWebsiteBuilderPageReview: envelope
137
+ }
138
+ });
139
+ const result = await gateway.getReview("review-1");
140
+ expect(result).toEqual(envelope);
141
+ const request = client.execute.mock.calls[0][0];
142
+ expect(request.variables).toEqual({
143
+ id: "review-1"
144
+ });
145
+ expect(request.query).toContain("getWebsiteBuilderPageReview(id: $id)");
146
+ expect(request.query).toContain(REVIEW_WITH_FLAGS_AND_ASSIGNMENT_FIELDS);
147
+ });
148
+ it("lists reviews, passes the My requests filters and drops the content type filter", async ()=>{
149
+ const envelope = {
150
+ data: [
151
+ {
152
+ review: {
153
+ id: "review-1"
154
+ },
155
+ flags: {}
156
+ }
157
+ ],
158
+ meta: {
159
+ cursor: "cursor-2",
160
+ hasMoreItems: true
161
+ },
162
+ error: null
163
+ };
164
+ client.execute.mockResolvedValue({
165
+ websiteBuilder: {
166
+ listWebsiteBuilderPageReviews: envelope
167
+ }
168
+ });
169
+ const result = await gateway.listReviews({
170
+ list: "myRequests",
171
+ where: {
172
+ modelId: "article",
173
+ titleContains: "launch",
174
+ reviewState: ReviewState.Approved,
175
+ stepState: StepState.Approved
176
+ },
177
+ sort: "lastChangedOn_DESC",
178
+ limit: 20,
179
+ after: "cursor-1"
180
+ });
181
+ expect(result).toEqual(envelope);
182
+ const request = client.execute.mock.calls[0][0];
183
+ expect(request.variables).toEqual({
184
+ list: "myRequests",
185
+ where: {
186
+ titleContains: "launch",
187
+ reviewState: ReviewState.Approved,
188
+ stepState: StepState.Approved
189
+ },
190
+ sort: "lastChangedOn_DESC",
191
+ limit: 20,
192
+ after: "cursor-1"
193
+ });
194
+ expect(request.variables.where).not.toHaveProperty("modelId");
195
+ expect(request.query).toContain("$where: WbPageReviewListWhere");
196
+ expect(request.query).toContain("listWebsiteBuilderPageReviews(");
197
+ expect(request.query).toContain("meta");
198
+ expect(request.query).toContain("hasMoreItems");
199
+ expect(request.query).toContain(REVIEW_WITH_FLAGS_FIELDS);
200
+ });
201
+ it("lists the candidates of a step before a review exists", async ()=>{
202
+ const envelope = {
203
+ data: [
204
+ {
205
+ id: "user-1"
206
+ }
207
+ ],
208
+ error: null
209
+ };
210
+ client.execute.mockResolvedValue({
211
+ websiteBuilder: {
212
+ listWebsiteBuilderPageStepCandidates: envelope
213
+ }
214
+ });
215
+ const result = await gateway.listStepCandidates({
216
+ workflowId: "workflow-1",
217
+ stepId: "step-1",
218
+ target: {
219
+ namespace: "wb.page",
220
+ targetRevisionId: "page-1#0001"
221
+ }
222
+ });
223
+ expect(result).toEqual(envelope);
224
+ const request = client.execute.mock.calls[0][0];
225
+ expect(request.variables).toEqual({
226
+ workflowId: "workflow-1",
227
+ stepId: "step-1",
228
+ revisionId: "page-1#0001"
229
+ });
230
+ expect(request.query).toContain("listWebsiteBuilderPageStepCandidates(");
231
+ expect(request.query).toContain(STEP_CANDIDATE_FIELDS);
232
+ });
233
+ it("lists who a step of a review can be reassigned to", async ()=>{
234
+ const envelope = {
235
+ data: [
236
+ {
237
+ id: "user-2"
238
+ }
239
+ ],
240
+ error: null
241
+ };
242
+ client.execute.mockResolvedValue({
243
+ websiteBuilder: {
244
+ listWebsiteBuilderPageReviewStepCandidates: envelope
245
+ }
246
+ });
247
+ const result = await gateway.listReviewStepCandidates({
248
+ reviewId: "review-1",
249
+ stepId: "step-1"
250
+ });
251
+ expect(result).toEqual(envelope);
252
+ const request = client.execute.mock.calls[0][0];
253
+ expect(request.variables).toEqual({
254
+ reviewId: "review-1",
255
+ stepId: "step-1"
256
+ });
257
+ expect(request.query).toContain("listWebsiteBuilderPageReviewStepCandidates(");
258
+ expect(request.query).toContain(STEP_CANDIDATE_FIELDS);
259
+ });
260
+ it("requests a review with the title and the picks", async ()=>{
261
+ const envelope = {
262
+ data: {
263
+ id: "review-1"
264
+ },
265
+ error: null
266
+ };
267
+ client.execute.mockResolvedValue({
268
+ websiteBuilder: {
269
+ requestWebsiteBuilderPageReview: envelope
270
+ }
271
+ });
272
+ const result = await gateway.requestReview({
273
+ target: {
274
+ namespace: "wb.page",
275
+ targetRevisionId: "page-1#0001"
276
+ },
277
+ title: "Launch page",
278
+ picks: [
279
+ {
280
+ stepId: "step-1",
281
+ userId: "user-2"
282
+ }
283
+ ]
284
+ });
285
+ expect(result).toEqual(envelope);
286
+ const request = client.execute.mock.calls[0][0];
287
+ expect(request.variables).toEqual({
288
+ revisionId: "page-1#0001",
289
+ title: "Launch page",
290
+ picks: [
291
+ {
292
+ stepId: "step-1",
293
+ userId: "user-2"
294
+ }
295
+ ]
296
+ });
297
+ expect(request.query).toContain("requestWebsiteBuilderPageReview(");
298
+ expect(request.query).toContain(REVIEW_FIELDS);
299
+ });
300
+ it("starts a step", async ()=>{
301
+ const envelope = {
302
+ data: {
303
+ id: "review-1"
304
+ },
305
+ error: null
306
+ };
307
+ client.execute.mockResolvedValue({
308
+ websiteBuilder: {
309
+ startWebsiteBuilderPageReviewStep: envelope
310
+ }
311
+ });
312
+ const result = await gateway.startStep({
313
+ reviewId: "review-1",
314
+ stepId: "step-1"
315
+ });
316
+ expect(result).toEqual(envelope);
317
+ const request = client.execute.mock.calls[0][0];
318
+ expect(request.variables).toEqual({
319
+ reviewId: "review-1",
320
+ stepId: "step-1"
321
+ });
322
+ expect(request.query).toContain("startWebsiteBuilderPageReviewStep(");
323
+ expect(request.query).toContain(REVIEW_FIELDS);
324
+ });
325
+ it("takes a step over and passes the notify choice", async ()=>{
326
+ const envelope = {
327
+ data: {
328
+ id: "review-1"
329
+ },
330
+ error: null
331
+ };
332
+ client.execute.mockResolvedValue({
333
+ websiteBuilder: {
334
+ takeOverWebsiteBuilderPageReviewStep: envelope
335
+ }
336
+ });
337
+ const result = await gateway.takeOverStep({
338
+ reviewId: "review-1",
339
+ stepId: "step-1",
340
+ notifyPreviousOwner: false
341
+ });
342
+ expect(result).toEqual(envelope);
343
+ const request = client.execute.mock.calls[0][0];
344
+ expect(request.variables).toEqual({
345
+ reviewId: "review-1",
346
+ stepId: "step-1",
347
+ notifyPreviousOwner: false
348
+ });
349
+ expect(request.query).toContain("takeOverWebsiteBuilderPageReviewStep(");
350
+ });
351
+ it("reassigns a step", async ()=>{
352
+ const envelope = {
353
+ data: {
354
+ id: "review-1"
355
+ },
356
+ error: null
357
+ };
358
+ client.execute.mockResolvedValue({
359
+ websiteBuilder: {
360
+ reassignWebsiteBuilderPageReviewStep: envelope
361
+ }
362
+ });
363
+ const result = await gateway.reassignStep({
364
+ reviewId: "review-1",
365
+ stepId: "step-1",
366
+ userId: "user-2"
367
+ });
368
+ expect(result).toEqual(envelope);
369
+ const request = client.execute.mock.calls[0][0];
370
+ expect(request.variables).toEqual({
371
+ reviewId: "review-1",
372
+ stepId: "step-1",
373
+ userId: "user-2"
374
+ });
375
+ expect(request.query).toContain("reassignWebsiteBuilderPageReviewStep(");
376
+ });
377
+ it("approves a step with and without a comment", async ()=>{
378
+ const envelope = {
379
+ data: {
380
+ id: "review-1"
381
+ },
382
+ error: null
383
+ };
384
+ client.execute.mockResolvedValue({
385
+ websiteBuilder: {
386
+ approveWebsiteBuilderPageReviewStep: envelope
387
+ }
388
+ });
389
+ await gateway.approveStep({
390
+ reviewId: "review-1",
391
+ stepId: "step-1",
392
+ comment: "Looks good"
393
+ });
394
+ const result = await gateway.approveStep({
395
+ reviewId: "review-1",
396
+ stepId: "step-1",
397
+ comment: null
398
+ });
399
+ expect(result).toEqual(envelope);
400
+ expect(client.execute.mock.calls[0][0].variables).toEqual({
401
+ reviewId: "review-1",
402
+ stepId: "step-1",
403
+ comment: "Looks good"
404
+ });
405
+ expect(client.execute.mock.calls[1][0].variables).toEqual({
406
+ reviewId: "review-1",
407
+ stepId: "step-1",
408
+ comment: null
409
+ });
410
+ expect(client.execute.mock.calls[0][0].query).toContain("approveWebsiteBuilderPageReviewStep(");
411
+ });
412
+ it("rejects a step with the comment", async ()=>{
413
+ const envelope = {
414
+ data: {
415
+ id: "review-1"
416
+ },
417
+ error: null
418
+ };
419
+ client.execute.mockResolvedValue({
420
+ websiteBuilder: {
421
+ rejectWebsiteBuilderPageReviewStep: envelope
422
+ }
423
+ });
424
+ const result = await gateway.rejectStep({
425
+ reviewId: "review-1",
426
+ stepId: "step-1",
427
+ comment: "The hero image is wrong."
428
+ });
429
+ expect(result).toEqual(envelope);
430
+ const request = client.execute.mock.calls[0][0];
431
+ expect(request.variables).toEqual({
432
+ reviewId: "review-1",
433
+ stepId: "step-1",
434
+ comment: "The hero image is wrong."
435
+ });
436
+ expect(request.query).toContain("rejectWebsiteBuilderPageReviewStep(");
437
+ });
438
+ it("cancels a review", async ()=>{
439
+ const envelope = {
440
+ data: {
441
+ id: "review-1"
442
+ },
443
+ error: null
444
+ };
445
+ client.execute.mockResolvedValue({
446
+ websiteBuilder: {
447
+ cancelWebsiteBuilderPageReview: envelope
448
+ }
449
+ });
450
+ const result = await gateway.cancelReview({
451
+ reviewId: "review-1"
452
+ });
453
+ expect(result).toEqual(envelope);
454
+ const request = client.execute.mock.calls[0][0];
455
+ expect(request.variables).toEqual({
456
+ reviewId: "review-1"
457
+ });
458
+ expect(request.query).toContain("cancelWebsiteBuilderPageReview(reviewId: $reviewId)");
459
+ });
460
+ it("cancels the reviews of one page revision before a delete", async ()=>{
461
+ const envelope = {
462
+ data: [
463
+ {
464
+ id: "review-1"
465
+ }
466
+ ],
467
+ error: null
468
+ };
469
+ client.execute.mockResolvedValue({
470
+ websiteBuilder: {
471
+ cancelWebsiteBuilderPageReviewsForDelete: envelope
472
+ }
473
+ });
474
+ const result = await gateway.cancelForDelete({
475
+ namespace: "wb.page",
476
+ targetId: "page-1",
477
+ targetRevisionId: "page-1#0002",
478
+ action: "delete"
479
+ });
480
+ expect(result).toEqual(envelope);
481
+ const request = client.execute.mock.calls[0][0];
482
+ expect(request.variables).toEqual({
483
+ pageId: "page-1",
484
+ revisionId: "page-1#0002",
485
+ action: "delete"
486
+ });
487
+ expect(request.query).toContain("cancelWebsiteBuilderPageReviewsForDelete(");
488
+ });
489
+ it("cancels every review of a page when no revision is given", async ()=>{
490
+ const envelope = {
491
+ data: [],
492
+ error: null
493
+ };
494
+ client.execute.mockResolvedValue({
495
+ websiteBuilder: {
496
+ cancelWebsiteBuilderPageReviewsForDelete: envelope
497
+ }
498
+ });
499
+ await gateway.cancelForDelete({
500
+ namespace: "wb.page",
501
+ targetId: "page-1",
502
+ targetRevisionId: null,
503
+ action: "trash"
504
+ });
505
+ expect(client.execute.mock.calls[0][0].variables).toEqual({
506
+ pageId: "page-1",
507
+ revisionId: null,
508
+ action: "trash"
509
+ });
510
+ });
511
+ it("restarts a step", async ()=>{
512
+ const envelope = {
513
+ data: {
514
+ id: "review-1"
515
+ },
516
+ error: null
517
+ };
518
+ client.execute.mockResolvedValue({
519
+ websiteBuilder: {
520
+ restartWebsiteBuilderPageReviewStep: envelope
521
+ }
522
+ });
523
+ const result = await gateway.restartStep({
524
+ reviewId: "review-1",
525
+ stepId: "step-1"
526
+ });
527
+ expect(result).toEqual(envelope);
528
+ expect(client.execute).toHaveBeenCalledTimes(1);
529
+ const request = client.execute.mock.calls[0][0];
530
+ expect(request.variables).toEqual({
531
+ reviewId: "review-1",
532
+ stepId: "step-1"
533
+ });
534
+ expect(request.query).toContain("mutation RestartWebsiteBuilderPageReviewStep");
535
+ expect(request.query).toContain("restartWebsiteBuilderPageReviewStep(reviewId: $reviewId, stepId: $stepId)");
536
+ expect(request.query).toContain(REVIEW_FIELDS);
537
+ });
538
+ it("returns a restart conflict as an envelope error and never throws for it", async ()=>{
539
+ const envelope = {
540
+ data: null,
541
+ error: {
542
+ code: "Workflows/Review/InvalidState",
543
+ message: "Not failed.",
544
+ data: null
545
+ }
546
+ };
547
+ client.execute.mockResolvedValue({
548
+ websiteBuilder: {
549
+ restartWebsiteBuilderPageReviewStep: envelope
550
+ }
551
+ });
552
+ const result = await gateway.restartStep({
553
+ reviewId: "review-1",
554
+ stepId: "step-1"
555
+ });
556
+ expect(result).toEqual(envelope);
557
+ });
558
+ it("reads the run of a step by review, step and task id", async ()=>{
559
+ const envelope = {
560
+ data: {
561
+ taskId: "task-1",
562
+ status: "done"
563
+ },
564
+ error: null
565
+ };
566
+ client.execute.mockResolvedValue({
567
+ websiteBuilder: {
568
+ getWebsiteBuilderPageReviewStepRun: envelope
569
+ }
570
+ });
571
+ const result = await gateway.getStepRun({
572
+ reviewId: "review-1",
573
+ stepId: "step-1",
574
+ taskId: "task-1"
575
+ });
576
+ expect(result).toEqual(envelope);
577
+ const request = client.execute.mock.calls[0][0];
578
+ expect(request.variables).toEqual({
579
+ reviewId: "review-1",
580
+ stepId: "step-1",
581
+ taskId: "task-1"
582
+ });
583
+ expect(request.query).toContain("query GetWebsiteBuilderPageReviewStepRun");
584
+ expect(request.query).toContain("getWebsiteBuilderPageReviewStepRun(reviewId: $reviewId, stepId: $stepId, taskId: $taskId)");
585
+ expect(request.query).toContain(STEP_RUN_INFO_FIELDS);
586
+ });
587
+ it("returns a gone task (null data) as is", async ()=>{
588
+ const envelope = {
589
+ data: null,
590
+ error: null
591
+ };
592
+ client.execute.mockResolvedValue({
593
+ websiteBuilder: {
594
+ getWebsiteBuilderPageReviewStepRun: envelope
595
+ }
596
+ });
597
+ const result = await gateway.getStepRun({
598
+ reviewId: "review-1",
599
+ stepId: "step-1",
600
+ taskId: "task-1"
601
+ });
602
+ expect(result).toEqual({
603
+ data: null,
604
+ error: null
605
+ });
606
+ });
607
+ it("answers the blocking reviews with an empty list and sends no request (the WB bulk delete runs per item)", async ()=>{
608
+ const result = await gateway.listBlockingReviews({
609
+ namespace: "wb.page",
610
+ targetIds: [
611
+ "page-1",
612
+ "page-2"
613
+ ]
614
+ });
615
+ expect(result).toEqual({
616
+ data: [],
617
+ error: null
618
+ });
619
+ expect(client.execute).not.toHaveBeenCalled();
620
+ });
621
+ it("returns an envelope error as is and never throws for it", async ()=>{
622
+ const envelope = {
623
+ data: null,
624
+ error: {
625
+ code: "Workflows/Review/StepNotCurrent",
626
+ message: "Not current.",
627
+ data: null
628
+ }
629
+ };
630
+ client.execute.mockResolvedValue({
631
+ websiteBuilder: {
632
+ startWebsiteBuilderPageReviewStep: envelope
633
+ }
634
+ });
635
+ const result = await gateway.startStep({
636
+ reviewId: "review-1",
637
+ stepId: "step-1"
638
+ });
639
+ expect(result).toEqual(envelope);
640
+ });
641
+ it("lets a transport error pass through", async ()=>{
642
+ client.execute.mockRejectedValue(new Error("Network down."));
643
+ await expect(gateway.getReview("review-1")).rejects.toThrow("Network down.");
644
+ });
645
+ });
646
+
647
+ //# sourceMappingURL=WbReviewGateway.test.js.map