@webiny/api-workflows 0.0.0-unstable.e622468070 → 0.0.0-unstable.e9333b3f0b

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 (412) hide show
  1. package/WorkflowsFeature.d.ts +5 -0
  2. package/WorkflowsFeature.js +70 -0
  3. package/WorkflowsFeature.js.map +1 -0
  4. package/WorkflowsSchemaFactory.d.ts +9 -0
  5. package/WorkflowsSchemaFactory.js +23 -0
  6. package/WorkflowsSchemaFactory.js.map +1 -0
  7. package/constants.js +4 -3
  8. package/constants.js.map +1 -1
  9. package/domain/notifications/abstractions.js +8 -7
  10. package/domain/notifications/abstractions.js.map +1 -1
  11. package/domain/notifications/errors.js +7 -7
  12. package/domain/notifications/errors.js.map +1 -1
  13. package/domain/workflow/WorkflowMapper.js +22 -23
  14. package/domain/workflow/WorkflowMapper.js.map +1 -1
  15. package/domain/workflow/abstractions.d.ts +13 -3
  16. package/domain/workflow/abstractions.js +3 -3
  17. package/domain/workflow/abstractions.js.map +1 -1
  18. package/domain/workflow/errors.js +26 -29
  19. package/domain/workflow/errors.js.map +1 -1
  20. package/domain/workflow/workflowModel.js +28 -25
  21. package/domain/workflow/workflowModel.js.map +1 -1
  22. package/domain/workflowState/WorkflowState.d.ts +1 -0
  23. package/domain/workflowState/WorkflowState.js +219 -319
  24. package/domain/workflowState/WorkflowState.js.map +1 -1
  25. package/domain/workflowState/WorkflowStateMapper.js +38 -35
  26. package/domain/workflowState/WorkflowStateMapper.js.map +1 -1
  27. package/domain/workflowState/abstractions.d.ts +16 -3
  28. package/domain/workflowState/abstractions.js +9 -9
  29. package/domain/workflowState/abstractions.js.map +1 -1
  30. package/domain/workflowState/errors.js +109 -122
  31. package/domain/workflowState/errors.js.map +1 -1
  32. package/domain/workflowState/guards/canReview.js +2 -3
  33. package/domain/workflowState/guards/canReview.js.map +1 -1
  34. package/domain/workflowState/guards/canTakeOver.js +2 -3
  35. package/domain/workflowState/guards/canTakeOver.js.map +1 -1
  36. package/domain/workflowState/guards/isInReview.js +2 -3
  37. package/domain/workflowState/guards/isInReview.js.map +1 -1
  38. package/domain/workflowState/guards/isRejected.js +2 -3
  39. package/domain/workflowState/guards/isRejected.js.map +1 -1
  40. package/domain/workflowState/guards/isStepOwner.js +2 -3
  41. package/domain/workflowState/guards/isStepOwner.js.map +1 -1
  42. package/domain/workflowState/stateModel.js +61 -51
  43. package/domain/workflowState/stateModel.js.map +1 -1
  44. package/features/WorkflowModelProviders.d.ts +34 -0
  45. package/features/WorkflowModelProviders.js +40 -0
  46. package/features/WorkflowModelProviders.js.map +1 -0
  47. package/features/internal/GetUserTeams/GetUserTeamsUseCase.js +20 -27
  48. package/features/internal/GetUserTeams/GetUserTeamsUseCase.js.map +1 -1
  49. package/features/internal/GetUserTeams/abstractions.js +2 -1
  50. package/features/internal/GetUserTeams/abstractions.js.map +1 -1
  51. package/features/internal/GetUserTeams/feature.d.ts +4 -1
  52. package/features/internal/GetUserTeams/feature.js +6 -5
  53. package/features/internal/GetUserTeams/feature.js.map +1 -1
  54. package/features/internal/GetUserTeams/index.js +0 -2
  55. package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js +21 -17
  56. package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js.map +1 -1
  57. package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.d.ts +1 -1
  58. package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js +23 -29
  59. package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js.map +1 -1
  60. package/features/notifications/ListNotificationTypes/abstractions.js +3 -12
  61. package/features/notifications/ListNotificationTypes/abstractions.js.map +1 -1
  62. package/features/notifications/ListNotificationTypes/feature.d.ts +4 -1
  63. package/features/notifications/ListNotificationTypes/feature.js +7 -6
  64. package/features/notifications/ListNotificationTypes/feature.js.map +1 -1
  65. package/features/notifications/ListNotificationTypes/index.js +0 -2
  66. package/features/notifications/NotificationTransport/MailNotificationTransport.js +29 -38
  67. package/features/notifications/NotificationTransport/MailNotificationTransport.js.map +1 -1
  68. package/features/notifications/NotificationTransport/abstractions.js +2 -1
  69. package/features/notifications/NotificationTransport/abstractions.js.map +1 -1
  70. package/features/notifications/NotificationTransport/feature.d.ts +4 -1
  71. package/features/notifications/NotificationTransport/feature.js +6 -5
  72. package/features/notifications/NotificationTransport/feature.js.map +1 -1
  73. package/features/notifications/NotificationTransport/index.js +0 -2
  74. package/features/shared/abstractions.js +0 -3
  75. package/features/workflow/CreateWorkflow/CreateWorkflowRepository.d.ts +3 -3
  76. package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js +37 -35
  77. package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js.map +1 -1
  78. package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.d.ts +2 -2
  79. package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js +40 -45
  80. package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js.map +1 -1
  81. package/features/workflow/CreateWorkflow/abstractions.js +3 -16
  82. package/features/workflow/CreateWorkflow/abstractions.js.map +1 -1
  83. package/features/workflow/CreateWorkflow/events.d.ts +2 -2
  84. package/features/workflow/CreateWorkflow/events.js +18 -15
  85. package/features/workflow/CreateWorkflow/events.js.map +1 -1
  86. package/features/workflow/CreateWorkflow/feature.d.ts +4 -1
  87. package/features/workflow/CreateWorkflow/feature.js +7 -6
  88. package/features/workflow/CreateWorkflow/feature.js.map +1 -1
  89. package/features/workflow/CreateWorkflow/index.js +2 -4
  90. package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.d.ts +3 -3
  91. package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js +26 -23
  92. package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js.map +1 -1
  93. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.d.ts +2 -2
  94. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js +40 -46
  95. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js.map +1 -1
  96. package/features/workflow/DeleteWorkflow/abstractions.js +3 -16
  97. package/features/workflow/DeleteWorkflow/abstractions.js.map +1 -1
  98. package/features/workflow/DeleteWorkflow/events.d.ts +2 -2
  99. package/features/workflow/DeleteWorkflow/events.js +18 -15
  100. package/features/workflow/DeleteWorkflow/events.js.map +1 -1
  101. package/features/workflow/DeleteWorkflow/feature.d.ts +4 -1
  102. package/features/workflow/DeleteWorkflow/feature.js +7 -6
  103. package/features/workflow/DeleteWorkflow/feature.js.map +1 -1
  104. package/features/workflow/DeleteWorkflow/index.js +2 -4
  105. package/features/workflow/GetWorkflow/GetWorkflowRepository.d.ts +3 -3
  106. package/features/workflow/GetWorkflow/GetWorkflowRepository.js +35 -35
  107. package/features/workflow/GetWorkflow/GetWorkflowRepository.js.map +1 -1
  108. package/features/workflow/GetWorkflow/GetWorkflowUseCase.js +21 -23
  109. package/features/workflow/GetWorkflow/GetWorkflowUseCase.js.map +1 -1
  110. package/features/workflow/GetWorkflow/abstractions.js +3 -12
  111. package/features/workflow/GetWorkflow/abstractions.js.map +1 -1
  112. package/features/workflow/GetWorkflow/feature.d.ts +4 -1
  113. package/features/workflow/GetWorkflow/feature.js +7 -6
  114. package/features/workflow/GetWorkflow/feature.js.map +1 -1
  115. package/features/workflow/GetWorkflow/index.js +0 -2
  116. package/features/workflow/ListWorkflows/ListWorkflowsRepository.d.ts +3 -3
  117. package/features/workflow/ListWorkflows/ListWorkflowsRepository.js +49 -53
  118. package/features/workflow/ListWorkflows/ListWorkflowsRepository.js.map +1 -1
  119. package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js +14 -13
  120. package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js.map +1 -1
  121. package/features/workflow/ListWorkflows/abstractions.js +3 -12
  122. package/features/workflow/ListWorkflows/abstractions.js.map +1 -1
  123. package/features/workflow/ListWorkflows/feature.d.ts +4 -1
  124. package/features/workflow/ListWorkflows/feature.js +7 -6
  125. package/features/workflow/ListWorkflows/feature.js.map +1 -1
  126. package/features/workflow/ListWorkflows/index.js +0 -2
  127. package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js +24 -26
  128. package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js.map +1 -1
  129. package/features/workflow/StoreWorkflow/abstractions.js +2 -8
  130. package/features/workflow/StoreWorkflow/abstractions.js.map +1 -1
  131. package/features/workflow/StoreWorkflow/feature.d.ts +4 -1
  132. package/features/workflow/StoreWorkflow/feature.js +8 -10
  133. package/features/workflow/StoreWorkflow/feature.js.map +1 -1
  134. package/features/workflow/StoreWorkflow/index.js +0 -2
  135. package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.d.ts +3 -3
  136. package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js +40 -38
  137. package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js.map +1 -1
  138. package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.d.ts +2 -2
  139. package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js +42 -47
  140. package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js.map +1 -1
  141. package/features/workflow/UpdateWorkflow/abstractions.js +3 -16
  142. package/features/workflow/UpdateWorkflow/abstractions.js.map +1 -1
  143. package/features/workflow/UpdateWorkflow/events.d.ts +2 -2
  144. package/features/workflow/UpdateWorkflow/events.js +18 -15
  145. package/features/workflow/UpdateWorkflow/events.js.map +1 -1
  146. package/features/workflow/UpdateWorkflow/feature.d.ts +4 -1
  147. package/features/workflow/UpdateWorkflow/feature.js +7 -6
  148. package/features/workflow/UpdateWorkflow/feature.js.map +1 -1
  149. package/features/workflow/UpdateWorkflow/index.js +2 -4
  150. package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js +26 -27
  151. package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js.map +1 -1
  152. package/features/workflowState/ApproveWorkflowStateStep/abstractions.js +2 -1
  153. package/features/workflowState/ApproveWorkflowStateStep/abstractions.js.map +1 -1
  154. package/features/workflowState/ApproveWorkflowStateStep/events.d.ts +2 -2
  155. package/features/workflowState/ApproveWorkflowStateStep/events.js +10 -7
  156. package/features/workflowState/ApproveWorkflowStateStep/events.js.map +1 -1
  157. package/features/workflowState/ApproveWorkflowStateStep/feature.d.ts +4 -1
  158. package/features/workflowState/ApproveWorkflowStateStep/feature.js +6 -5
  159. package/features/workflowState/ApproveWorkflowStateStep/feature.js.map +1 -1
  160. package/features/workflowState/ApproveWorkflowStateStep/index.js +0 -2
  161. package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.js +21 -19
  162. package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.js.map +1 -1
  163. package/features/workflowState/CancelWorkflowState/abstractions.js +2 -6
  164. package/features/workflowState/CancelWorkflowState/abstractions.js.map +1 -1
  165. package/features/workflowState/CancelWorkflowState/events.d.ts +2 -2
  166. package/features/workflowState/CancelWorkflowState/events.js +10 -7
  167. package/features/workflowState/CancelWorkflowState/events.js.map +1 -1
  168. package/features/workflowState/CancelWorkflowState/feature.d.ts +4 -1
  169. package/features/workflowState/CancelWorkflowState/feature.js +6 -5
  170. package/features/workflowState/CancelWorkflowState/feature.js.map +1 -1
  171. package/features/workflowState/CancelWorkflowState/index.js +0 -2
  172. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.d.ts +3 -3
  173. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js +27 -23
  174. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js.map +1 -1
  175. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.d.ts +5 -3
  176. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js +88 -92
  177. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js.map +1 -1
  178. package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.d.ts +9 -0
  179. package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.js +13 -0
  180. package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.js.map +1 -0
  181. package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.d.ts +13 -0
  182. package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.js +5 -0
  183. package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.js.map +1 -0
  184. package/features/workflowState/CreateWorkflowState/abstractions.js +3 -12
  185. package/features/workflowState/CreateWorkflowState/abstractions.js.map +1 -1
  186. package/features/workflowState/CreateWorkflowState/events.d.ts +2 -2
  187. package/features/workflowState/CreateWorkflowState/events.js +10 -7
  188. package/features/workflowState/CreateWorkflowState/events.js.map +1 -1
  189. package/features/workflowState/CreateWorkflowState/feature.d.ts +4 -1
  190. package/features/workflowState/CreateWorkflowState/feature.js +9 -6
  191. package/features/workflowState/CreateWorkflowState/feature.js.map +1 -1
  192. package/features/workflowState/CreateWorkflowState/index.d.ts +1 -0
  193. package/features/workflowState/CreateWorkflowState/index.js +2 -3
  194. package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.d.ts +2 -2
  195. package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js +46 -44
  196. package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js.map +1 -1
  197. package/features/workflowState/DeleteTargetWorkflowState/abstractions.js +2 -1
  198. package/features/workflowState/DeleteTargetWorkflowState/abstractions.js.map +1 -1
  199. package/features/workflowState/DeleteTargetWorkflowState/events.d.ts +2 -2
  200. package/features/workflowState/DeleteTargetWorkflowState/events.js +10 -7
  201. package/features/workflowState/DeleteTargetWorkflowState/events.js.map +1 -1
  202. package/features/workflowState/DeleteTargetWorkflowState/feature.d.ts +4 -1
  203. package/features/workflowState/DeleteTargetWorkflowState/feature.js +6 -5
  204. package/features/workflowState/DeleteTargetWorkflowState/feature.js.map +1 -1
  205. package/features/workflowState/DeleteTargetWorkflowState/index.js +0 -2
  206. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.d.ts +3 -3
  207. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js +18 -13
  208. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js.map +1 -1
  209. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.js +22 -21
  210. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.js.map +1 -1
  211. package/features/workflowState/DeleteWorkflowState/abstractions.js +3 -2
  212. package/features/workflowState/DeleteWorkflowState/abstractions.js.map +1 -1
  213. package/features/workflowState/DeleteWorkflowState/feature.d.ts +4 -1
  214. package/features/workflowState/DeleteWorkflowState/feature.js +7 -6
  215. package/features/workflowState/DeleteWorkflowState/feature.js.map +1 -1
  216. package/features/workflowState/DeleteWorkflowState/index.js +1 -3
  217. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.d.ts +3 -3
  218. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js +40 -43
  219. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js.map +1 -1
  220. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.d.ts +1 -1
  221. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js +25 -26
  222. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js.map +1 -1
  223. package/features/workflowState/GetTargetWorkflowState/abstractions.js +3 -12
  224. package/features/workflowState/GetTargetWorkflowState/abstractions.js.map +1 -1
  225. package/features/workflowState/GetTargetWorkflowState/feature.d.ts +4 -1
  226. package/features/workflowState/GetTargetWorkflowState/feature.js +7 -6
  227. package/features/workflowState/GetTargetWorkflowState/feature.js.map +1 -1
  228. package/features/workflowState/GetTargetWorkflowState/index.js +1 -3
  229. package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.d.ts +3 -3
  230. package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js +27 -23
  231. package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js.map +1 -1
  232. package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.d.ts +1 -1
  233. package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js +24 -21
  234. package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js.map +1 -1
  235. package/features/workflowState/GetWorkflowState/abstractions.js +3 -12
  236. package/features/workflowState/GetWorkflowState/abstractions.js.map +1 -1
  237. package/features/workflowState/GetWorkflowState/feature.d.ts +4 -1
  238. package/features/workflowState/GetWorkflowState/feature.js +7 -6
  239. package/features/workflowState/GetWorkflowState/feature.js.map +1 -1
  240. package/features/workflowState/GetWorkflowState/index.js +1 -3
  241. package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.d.ts +1 -1
  242. package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js +34 -33
  243. package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js.map +1 -1
  244. package/features/workflowState/ListOwnWorkflowStates/abstractions.js +2 -6
  245. package/features/workflowState/ListOwnWorkflowStates/abstractions.js.map +1 -1
  246. package/features/workflowState/ListOwnWorkflowStates/feature.d.ts +4 -1
  247. package/features/workflowState/ListOwnWorkflowStates/feature.js +6 -5
  248. package/features/workflowState/ListOwnWorkflowStates/feature.js.map +1 -1
  249. package/features/workflowState/ListOwnWorkflowStates/index.js +0 -2
  250. package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.d.ts +1 -1
  251. package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js +42 -39
  252. package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js.map +1 -1
  253. package/features/workflowState/ListRequestedWorkflowStates/abstractions.js +2 -6
  254. package/features/workflowState/ListRequestedWorkflowStates/abstractions.js.map +1 -1
  255. package/features/workflowState/ListRequestedWorkflowStates/feature.d.ts +4 -1
  256. package/features/workflowState/ListRequestedWorkflowStates/feature.js +6 -5
  257. package/features/workflowState/ListRequestedWorkflowStates/feature.js.map +1 -1
  258. package/features/workflowState/ListRequestedWorkflowStates/index.js +0 -2
  259. package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.d.ts +9 -0
  260. package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.js +13 -0
  261. package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.js.map +1 -0
  262. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.d.ts +3 -3
  263. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js +37 -33
  264. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js.map +1 -1
  265. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.d.ts +4 -2
  266. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js +58 -27
  267. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js.map +1 -1
  268. package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.d.ts +8 -0
  269. package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.js +5 -0
  270. package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.js.map +1 -0
  271. package/features/workflowState/ListWorkflowStates/abstractions.d.ts +18 -3
  272. package/features/workflowState/ListWorkflowStates/abstractions.js +3 -12
  273. package/features/workflowState/ListWorkflowStates/abstractions.js.map +1 -1
  274. package/features/workflowState/ListWorkflowStates/feature.d.ts +4 -1
  275. package/features/workflowState/ListWorkflowStates/feature.js +9 -6
  276. package/features/workflowState/ListWorkflowStates/feature.js.map +1 -1
  277. package/features/workflowState/ListWorkflowStates/index.d.ts +1 -0
  278. package/features/workflowState/ListWorkflowStates/index.js +2 -3
  279. package/features/workflowState/README.md +2 -2
  280. package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.js +26 -27
  281. package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.js.map +1 -1
  282. package/features/workflowState/RejectWorkflowStateStep/abstractions.js +2 -1
  283. package/features/workflowState/RejectWorkflowStateStep/abstractions.js.map +1 -1
  284. package/features/workflowState/RejectWorkflowStateStep/events.d.ts +2 -2
  285. package/features/workflowState/RejectWorkflowStateStep/events.js +10 -7
  286. package/features/workflowState/RejectWorkflowStateStep/events.js.map +1 -1
  287. package/features/workflowState/RejectWorkflowStateStep/feature.d.ts +4 -1
  288. package/features/workflowState/RejectWorkflowStateStep/feature.js +6 -5
  289. package/features/workflowState/RejectWorkflowStateStep/feature.js.map +1 -1
  290. package/features/workflowState/RejectWorkflowStateStep/index.js +0 -2
  291. package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.js +26 -27
  292. package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.js.map +1 -1
  293. package/features/workflowState/StartWorkflowStateStep/abstractions.js +2 -1
  294. package/features/workflowState/StartWorkflowStateStep/abstractions.js.map +1 -1
  295. package/features/workflowState/StartWorkflowStateStep/events.d.ts +2 -2
  296. package/features/workflowState/StartWorkflowStateStep/events.js +10 -7
  297. package/features/workflowState/StartWorkflowStateStep/events.js.map +1 -1
  298. package/features/workflowState/StartWorkflowStateStep/feature.d.ts +4 -1
  299. package/features/workflowState/StartWorkflowStateStep/feature.js +6 -5
  300. package/features/workflowState/StartWorkflowStateStep/feature.js.map +1 -1
  301. package/features/workflowState/StartWorkflowStateStep/index.js +0 -2
  302. package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.js +26 -27
  303. package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.js.map +1 -1
  304. package/features/workflowState/TakeOverWorkflowStateStep/abstractions.js +2 -1
  305. package/features/workflowState/TakeOverWorkflowStateStep/abstractions.js.map +1 -1
  306. package/features/workflowState/TakeOverWorkflowStateStep/events.d.ts +2 -2
  307. package/features/workflowState/TakeOverWorkflowStateStep/events.js +10 -7
  308. package/features/workflowState/TakeOverWorkflowStateStep/events.js.map +1 -1
  309. package/features/workflowState/TakeOverWorkflowStateStep/feature.d.ts +4 -1
  310. package/features/workflowState/TakeOverWorkflowStateStep/feature.js +6 -5
  311. package/features/workflowState/TakeOverWorkflowStateStep/feature.js.map +1 -1
  312. package/features/workflowState/TakeOverWorkflowStateStep/index.js +0 -2
  313. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.d.ts +3 -3
  314. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js +40 -37
  315. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js.map +1 -1
  316. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.d.ts +2 -2
  317. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js +45 -43
  318. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js.map +1 -1
  319. package/features/workflowState/UpdateWorkflowState/abstractions.js +3 -12
  320. package/features/workflowState/UpdateWorkflowState/abstractions.js.map +1 -1
  321. package/features/workflowState/UpdateWorkflowState/events.d.ts +2 -2
  322. package/features/workflowState/UpdateWorkflowState/events.js +10 -7
  323. package/features/workflowState/UpdateWorkflowState/events.js.map +1 -1
  324. package/features/workflowState/UpdateWorkflowState/feature.d.ts +4 -1
  325. package/features/workflowState/UpdateWorkflowState/feature.js +7 -6
  326. package/features/workflowState/UpdateWorkflowState/feature.js.map +1 -1
  327. package/features/workflowState/UpdateWorkflowState/index.js +1 -3
  328. package/graphql/notifications.d.ts +2 -2
  329. package/graphql/notifications.js +44 -46
  330. package/graphql/notifications.js.map +1 -1
  331. package/graphql/validation/approveWorkflowState.d.ts +1 -7
  332. package/graphql/validation/approveWorkflowState.js +4 -3
  333. package/graphql/validation/approveWorkflowState.js.map +1 -1
  334. package/graphql/validation/cancelWorkflowState.d.ts +1 -5
  335. package/graphql/validation/cancelWorkflowState.js +3 -2
  336. package/graphql/validation/cancelWorkflowState.js.map +1 -1
  337. package/graphql/validation/createWorkflowState.d.ts +1 -9
  338. package/graphql/validation/createWorkflowState.js +5 -4
  339. package/graphql/validation/createWorkflowState.js.map +1 -1
  340. package/graphql/validation/deleteWorkflow.d.ts +1 -7
  341. package/graphql/validation/deleteWorkflow.js +4 -3
  342. package/graphql/validation/deleteWorkflow.js.map +1 -1
  343. package/graphql/validation/getTargetWorkflowState.d.ts +1 -7
  344. package/graphql/validation/getTargetWorkflowState.js +4 -3
  345. package/graphql/validation/getTargetWorkflowState.js.map +1 -1
  346. package/graphql/validation/getWorkflow.d.ts +1 -7
  347. package/graphql/validation/getWorkflow.js +4 -3
  348. package/graphql/validation/getWorkflow.js.map +1 -1
  349. package/graphql/validation/getWorkflowState.d.ts +1 -5
  350. package/graphql/validation/getWorkflowState.js +3 -2
  351. package/graphql/validation/getWorkflowState.js.map +1 -1
  352. package/graphql/validation/listWorkflowStates.d.ts +14 -96
  353. package/graphql/validation/listWorkflowStates.js +30 -36
  354. package/graphql/validation/listWorkflowStates.js.map +1 -1
  355. package/graphql/validation/listWorkflows.d.ts +6 -36
  356. package/graphql/validation/listWorkflows.js +15 -18
  357. package/graphql/validation/listWorkflows.js.map +1 -1
  358. package/graphql/validation/rejectWorkflowState.d.ts +1 -7
  359. package/graphql/validation/rejectWorkflowState.js +4 -3
  360. package/graphql/validation/rejectWorkflowState.js.map +1 -1
  361. package/graphql/validation/startWorkflowState.d.ts +1 -5
  362. package/graphql/validation/startWorkflowState.js +3 -2
  363. package/graphql/validation/startWorkflowState.js.map +1 -1
  364. package/graphql/validation/step.d.ts +8 -36
  365. package/graphql/validation/step.js +12 -17
  366. package/graphql/validation/step.js.map +1 -1
  367. package/graphql/validation/storeWorkflow.d.ts +14 -86
  368. package/graphql/validation/storeWorkflow.js +5 -4
  369. package/graphql/validation/storeWorkflow.js.map +1 -1
  370. package/graphql/validation/takeOverWorkflowStateStep.d.ts +1 -5
  371. package/graphql/validation/takeOverWorkflowStateStep.js +3 -2
  372. package/graphql/validation/takeOverWorkflowStateStep.js.map +1 -1
  373. package/graphql/validation/workflow.d.ts +13 -60
  374. package/graphql/validation/workflow.js +4 -5
  375. package/graphql/validation/workflow.js.map +1 -1
  376. package/graphql/workflowState.d.ts +2 -2
  377. package/graphql/workflowState.js +388 -357
  378. package/graphql/workflowState.js.map +1 -1
  379. package/graphql/workflows.d.ts +2 -2
  380. package/graphql/workflows.js +201 -204
  381. package/graphql/workflows.js.map +1 -1
  382. package/index.d.ts +1 -2
  383. package/index.js +1 -102
  384. package/package.json +25 -21
  385. package/types.d.ts +11 -4
  386. package/types.js +0 -7
  387. package/features/internal/GetUserTeams/index.js.map +0 -1
  388. package/features/notifications/ListNotificationTypes/index.js.map +0 -1
  389. package/features/notifications/NotificationTransport/index.js.map +0 -1
  390. package/features/shared/abstractions.js.map +0 -1
  391. package/features/workflow/CreateWorkflow/index.js.map +0 -1
  392. package/features/workflow/DeleteWorkflow/index.js.map +0 -1
  393. package/features/workflow/GetWorkflow/index.js.map +0 -1
  394. package/features/workflow/ListWorkflows/index.js.map +0 -1
  395. package/features/workflow/StoreWorkflow/index.js.map +0 -1
  396. package/features/workflow/UpdateWorkflow/index.js.map +0 -1
  397. package/features/workflowState/ApproveWorkflowStateStep/index.js.map +0 -1
  398. package/features/workflowState/CancelWorkflowState/index.js.map +0 -1
  399. package/features/workflowState/CreateWorkflowState/index.js.map +0 -1
  400. package/features/workflowState/DeleteTargetWorkflowState/index.js.map +0 -1
  401. package/features/workflowState/DeleteWorkflowState/index.js.map +0 -1
  402. package/features/workflowState/GetTargetWorkflowState/index.js.map +0 -1
  403. package/features/workflowState/GetWorkflowState/index.js.map +0 -1
  404. package/features/workflowState/ListOwnWorkflowStates/index.js.map +0 -1
  405. package/features/workflowState/ListRequestedWorkflowStates/index.js.map +0 -1
  406. package/features/workflowState/ListWorkflowStates/index.js.map +0 -1
  407. package/features/workflowState/RejectWorkflowStateStep/index.js.map +0 -1
  408. package/features/workflowState/StartWorkflowStateStep/index.js.map +0 -1
  409. package/features/workflowState/TakeOverWorkflowStateStep/index.js.map +0 -1
  410. package/features/workflowState/UpdateWorkflowState/index.js.map +0 -1
  411. package/index.js.map +0 -1
  412. package/types.js.map +0 -1
@@ -2,16 +2,14 @@ import { createFeature } from "@webiny/feature/api";
2
2
  import { StoreWorkflowUseCase } from "./StoreWorkflowUseCase.js";
3
3
  import { CreateWorkflowFeature } from "../CreateWorkflow/index.js";
4
4
  import { UpdateWorkflowFeature } from "../UpdateWorkflow/index.js";
5
- export const StoreWorkflowFeature = createFeature({
6
- name: "Workflows/StoreWorkflow",
7
- register(container) {
8
- // Register dependencies
9
- CreateWorkflowFeature.register(container);
10
- UpdateWorkflowFeature.register(container);
11
-
12
- // Register StoreWorkflow use case
13
- container.register(StoreWorkflowUseCase);
14
- }
5
+ const StoreWorkflowFeature = createFeature({
6
+ name: "Workflows/StoreWorkflow",
7
+ register (container) {
8
+ CreateWorkflowFeature.register(container);
9
+ UpdateWorkflowFeature.register(container);
10
+ container.register(StoreWorkflowUseCase);
11
+ }
15
12
  });
13
+ export { StoreWorkflowFeature };
16
14
 
17
15
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","StoreWorkflowUseCase","CreateWorkflowFeature","UpdateWorkflowFeature","StoreWorkflowFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { StoreWorkflowUseCase } from \"./StoreWorkflowUseCase.js\";\nimport { CreateWorkflowFeature } from \"../CreateWorkflow/index.js\";\nimport { UpdateWorkflowFeature } from \"../UpdateWorkflow/index.js\";\n\nexport const StoreWorkflowFeature = createFeature({\n name: \"Workflows/StoreWorkflow\",\n register(container) {\n // Register dependencies\n CreateWorkflowFeature.register(container);\n UpdateWorkflowFeature.register(container);\n\n // Register StoreWorkflow use case\n container.register(StoreWorkflowUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB;AAC9B,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,oBAAoB,GAAGJ,aAAa,CAAC;EAC9CK,IAAI,EAAE,yBAAyB;EAC/BC,QAAQA,CAACC,SAAS,EAAE;IAChB;IACAL,qBAAqB,CAACI,QAAQ,CAACC,SAAS,CAAC;IACzCJ,qBAAqB,CAACG,QAAQ,CAACC,SAAS,CAAC;;IAEzC;IACAA,SAAS,CAACD,QAAQ,CAACL,oBAAoB,CAAC;EAC5C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflow/StoreWorkflow/feature.js","sources":["../../../../src/features/workflow/StoreWorkflow/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { StoreWorkflowUseCase } from \"./StoreWorkflowUseCase.js\";\nimport { CreateWorkflowFeature } from \"../CreateWorkflow/index.js\";\nimport { UpdateWorkflowFeature } from \"../UpdateWorkflow/index.js\";\n\nexport const StoreWorkflowFeature = createFeature({\n name: \"Workflows/StoreWorkflow\",\n register(container) {\n // Register dependencies\n CreateWorkflowFeature.register(container);\n UpdateWorkflowFeature.register(container);\n\n // Register StoreWorkflow use case\n container.register(StoreWorkflowUseCase);\n }\n});\n"],"names":["StoreWorkflowFeature","createFeature","container","CreateWorkflowFeature","UpdateWorkflowFeature","StoreWorkflowUseCase"],"mappings":";;;;AAKO,MAAMA,uBAAuBC,cAAc;IAC9C,MAAM;IACN,UAASC,SAAS;QAEdC,sBAAsB,QAAQ,CAACD;QAC/BE,sBAAsB,QAAQ,CAACF;QAG/BA,UAAU,QAAQ,CAACG;IACvB;AACJ"}
@@ -1,4 +1,2 @@
1
1
  export { StoreWorkflowFeature } from "./feature.js";
2
2
  export { StoreWorkflowUseCase } from "./abstractions.js";
3
-
4
- //# sourceMappingURL=index.js.map
@@ -1,12 +1,12 @@
1
1
  import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
2
- import { WorkflowMapper, WorkflowModel } from "../../../domain/workflow/abstractions.js";
2
+ import { WorkflowMapper, WorkflowModelProvider } from "../../../domain/workflow/abstractions.js";
3
3
  import type { IUpdateWorkflowInput } from "./abstractions.js";
4
4
  import { UpdateWorkflowRepository as Repository } from "./abstractions.js";
5
5
  declare class UpdateWorkflowRepositoryImpl implements Repository.Interface {
6
6
  private updateEntry;
7
- private model;
7
+ private modelProvider;
8
8
  private mapper;
9
- constructor(updateEntry: UpdateEntryUseCase.Interface, model: WorkflowModel.Interface, mapper: WorkflowMapper.Interface);
9
+ constructor(updateEntry: UpdateEntryUseCase.Interface, modelProvider: WorkflowModelProvider.Interface, mapper: WorkflowMapper.Interface);
10
10
  execute(input: IUpdateWorkflowInput): Repository.Return;
11
11
  }
12
12
  export declare const UpdateWorkflowRepository: typeof UpdateWorkflowRepositoryImpl & {
@@ -2,48 +2,50 @@ import { Result } from "@webiny/feature/api";
2
2
  import { parseIdentifier } from "@webiny/utils/parseIdentifier.js";
3
3
  import { createIdentifier } from "@webiny/utils";
4
4
  import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
5
- import { WorkflowMapper, WorkflowModel } from "../../../domain/workflow/abstractions.js";
5
+ import { WorkflowMapper, WorkflowModelProvider } from "../../../domain/workflow/abstractions.js";
6
6
  import { WorkflowPersistenceError } from "../../../domain/workflow/errors.js";
7
- import { UpdateWorkflowRepository as Repository } from "./abstractions.js";
7
+ import { UpdateWorkflowRepository } from "./abstractions.js";
8
8
  class UpdateWorkflowRepositoryImpl {
9
- constructor(updateEntry, model, mapper) {
10
- this.updateEntry = updateEntry;
11
- this.model = model;
12
- this.mapper = mapper;
13
- }
14
- async execute(input) {
15
- const {
16
- id
17
- } = parseIdentifier(input.id);
18
- const values = this.mapper.toCmsEntry({
19
- id,
20
- app: input.app,
21
- name: input.name,
22
- steps: input.steps
23
- });
24
- const workflowId = createIdentifier({
25
- id,
26
- version: 1
27
- });
28
- try {
29
- const updateResult = await this.updateEntry.execute(this.model, workflowId, {
30
- values
31
- });
32
- if (updateResult.isFail()) {
33
- return Result.fail(new WorkflowPersistenceError(updateResult.error));
34
- }
35
- return Result.ok({
36
- ...values,
37
- id
38
- });
39
- } catch (error) {
40
- return Result.fail(new WorkflowPersistenceError(error));
9
+ constructor(updateEntry, modelProvider, mapper){
10
+ this.updateEntry = updateEntry;
11
+ this.modelProvider = modelProvider;
12
+ this.mapper = mapper;
13
+ }
14
+ async execute(input) {
15
+ const model = await this.modelProvider.get();
16
+ const { id } = parseIdentifier(input.id);
17
+ const values = this.mapper.toCmsEntry({
18
+ id,
19
+ app: input.app,
20
+ name: input.name,
21
+ steps: input.steps
22
+ });
23
+ const workflowId = createIdentifier({
24
+ id,
25
+ version: 1
26
+ });
27
+ try {
28
+ const updateResult = await this.updateEntry.execute(model, workflowId, {
29
+ values
30
+ });
31
+ if (updateResult.isFail()) return Result.fail(new WorkflowPersistenceError(updateResult.error));
32
+ return Result.ok({
33
+ ...values,
34
+ id
35
+ });
36
+ } catch (error) {
37
+ return Result.fail(new WorkflowPersistenceError(error));
38
+ }
41
39
  }
42
- }
43
40
  }
44
- export const UpdateWorkflowRepository = Repository.createImplementation({
45
- implementation: UpdateWorkflowRepositoryImpl,
46
- dependencies: [UpdateEntryUseCase, WorkflowModel, WorkflowMapper]
41
+ const UpdateWorkflowRepository_UpdateWorkflowRepository = UpdateWorkflowRepository.createImplementation({
42
+ implementation: UpdateWorkflowRepositoryImpl,
43
+ dependencies: [
44
+ UpdateEntryUseCase,
45
+ WorkflowModelProvider,
46
+ WorkflowMapper
47
+ ]
47
48
  });
49
+ export { UpdateWorkflowRepository_UpdateWorkflowRepository as UpdateWorkflowRepository };
48
50
 
49
51
  //# sourceMappingURL=UpdateWorkflowRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","parseIdentifier","createIdentifier","UpdateEntryUseCase","WorkflowMapper","WorkflowModel","WorkflowPersistenceError","UpdateWorkflowRepository","Repository","UpdateWorkflowRepositoryImpl","constructor","updateEntry","model","mapper","execute","input","id","values","toCmsEntry","app","name","steps","workflowId","version","updateResult","isFail","fail","error","ok","createImplementation","implementation","dependencies"],"sources":["UpdateWorkflowRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { parseIdentifier } from \"@webiny/utils/parseIdentifier.js\";\nimport { createIdentifier } from \"@webiny/utils\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { type IWorkflow, WorkflowMapper, WorkflowModel } from \"~/domain/workflow/abstractions.js\";\nimport { WorkflowPersistenceError } from \"~/domain/workflow/errors.js\";\nimport type { IUpdateWorkflowInput } from \"./abstractions.js\";\nimport { UpdateWorkflowRepository as Repository } from \"./abstractions.js\";\n\nclass UpdateWorkflowRepositoryImpl implements Repository.Interface {\n constructor(\n private updateEntry: UpdateEntryUseCase.Interface,\n private model: WorkflowModel.Interface,\n private mapper: WorkflowMapper.Interface\n ) {}\n\n async execute(input: IUpdateWorkflowInput): Repository.Return {\n const { id } = parseIdentifier(input.id);\n\n const values = this.mapper.toCmsEntry({\n id,\n app: input.app,\n name: input.name,\n steps: input.steps\n });\n\n const workflowId = createIdentifier({\n id,\n version: 1\n });\n\n try {\n const updateResult = await this.updateEntry.execute<IWorkflow>(this.model, workflowId, {\n values\n });\n\n if (updateResult.isFail()) {\n return Result.fail(new WorkflowPersistenceError(updateResult.error));\n }\n\n return Result.ok({\n ...values,\n id\n });\n } catch (error) {\n return Result.fail(new WorkflowPersistenceError(error as Error));\n }\n }\n}\n\nexport const UpdateWorkflowRepository = Repository.createImplementation({\n implementation: UpdateWorkflowRepositoryImpl,\n dependencies: [UpdateEntryUseCase, WorkflowModel, WorkflowMapper]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,kCAAkC;AAClE,SAASC,gBAAgB,QAAQ,eAAe;AAChD,SAASC,kBAAkB,QAAQ,qEAAqE;AACxG,SAAyBC,cAAc,EAAEC,aAAa;AACtD,SAASC,wBAAwB;AAEjC,SAASC,wBAAwB,IAAIC,UAAU;AAE/C,MAAMC,4BAA4B,CAAiC;EAC/DC,WAAWA,CACCC,WAAyC,EACzCC,KAA8B,EAC9BC,MAAgC,EAC1C;IAAA,KAHUF,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,KAA8B,GAA9BA,KAA8B;IAAA,KAC9BC,MAAgC,GAAhCA,MAAgC;EACzC;EAEH,MAAMC,OAAOA,CAACC,KAA2B,EAAqB;IAC1D,MAAM;MAAEC;IAAG,CAAC,GAAGf,eAAe,CAACc,KAAK,CAACC,EAAE,CAAC;IAExC,MAAMC,MAAM,GAAG,IAAI,CAACJ,MAAM,CAACK,UAAU,CAAC;MAClCF,EAAE;MACFG,GAAG,EAAEJ,KAAK,CAACI,GAAG;MACdC,IAAI,EAAEL,KAAK,CAACK,IAAI;MAChBC,KAAK,EAAEN,KAAK,CAACM;IACjB,CAAC,CAAC;IAEF,MAAMC,UAAU,GAAGpB,gBAAgB,CAAC;MAChCc,EAAE;MACFO,OAAO,EAAE;IACb,CAAC,CAAC;IAEF,IAAI;MACA,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACb,WAAW,CAACG,OAAO,CAAY,IAAI,CAACF,KAAK,EAAEU,UAAU,EAAE;QACnFL;MACJ,CAAC,CAAC;MAEF,IAAIO,YAAY,CAACC,MAAM,CAAC,CAAC,EAAE;QACvB,OAAOzB,MAAM,CAAC0B,IAAI,CAAC,IAAIpB,wBAAwB,CAACkB,YAAY,CAACG,KAAK,CAAC,CAAC;MACxE;MAEA,OAAO3B,MAAM,CAAC4B,EAAE,CAAC;QACb,GAAGX,MAAM;QACTD;MACJ,CAAC,CAAC;IACN,CAAC,CAAC,OAAOW,KAAK,EAAE;MACZ,OAAO3B,MAAM,CAAC0B,IAAI,CAAC,IAAIpB,wBAAwB,CAACqB,KAAc,CAAC,CAAC;IACpE;EACJ;AACJ;AAEA,OAAO,MAAMpB,wBAAwB,GAAGC,UAAU,CAACqB,oBAAoB,CAAC;EACpEC,cAAc,EAAErB,4BAA4B;EAC5CsB,YAAY,EAAE,CAAC5B,kBAAkB,EAAEE,aAAa,EAAED,cAAc;AACpE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js","sources":["../../../../src/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { parseIdentifier } from \"@webiny/utils/parseIdentifier.js\";\nimport { createIdentifier } from \"@webiny/utils\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport {\n type IWorkflow,\n WorkflowMapper,\n WorkflowModelProvider\n} from \"~/domain/workflow/abstractions.js\";\nimport { WorkflowPersistenceError } from \"~/domain/workflow/errors.js\";\nimport type { IUpdateWorkflowInput } from \"./abstractions.js\";\nimport { UpdateWorkflowRepository as Repository } from \"./abstractions.js\";\n\nclass UpdateWorkflowRepositoryImpl implements Repository.Interface {\n constructor(\n private updateEntry: UpdateEntryUseCase.Interface,\n private modelProvider: WorkflowModelProvider.Interface,\n private mapper: WorkflowMapper.Interface\n ) {}\n\n async execute(input: IUpdateWorkflowInput): Repository.Return {\n const model = await this.modelProvider.get();\n const { id } = parseIdentifier(input.id);\n\n const values = this.mapper.toCmsEntry({\n id,\n app: input.app,\n name: input.name,\n steps: input.steps\n });\n\n const workflowId = createIdentifier({\n id,\n version: 1\n });\n\n try {\n const updateResult = await this.updateEntry.execute<IWorkflow>(model, workflowId, {\n values\n });\n\n if (updateResult.isFail()) {\n return Result.fail(new WorkflowPersistenceError(updateResult.error));\n }\n\n return Result.ok({\n ...values,\n id\n });\n } catch (error) {\n return Result.fail(new WorkflowPersistenceError(error as Error));\n }\n }\n}\n\nexport const UpdateWorkflowRepository = Repository.createImplementation({\n implementation: UpdateWorkflowRepositoryImpl,\n dependencies: [UpdateEntryUseCase, WorkflowModelProvider, WorkflowMapper]\n});\n"],"names":["UpdateWorkflowRepositoryImpl","updateEntry","modelProvider","mapper","input","model","id","parseIdentifier","values","workflowId","createIdentifier","updateResult","Result","WorkflowPersistenceError","error","UpdateWorkflowRepository","Repository","UpdateEntryUseCase","WorkflowModelProvider","WorkflowMapper"],"mappings":";;;;;;;AAaA,MAAMA;IACF,YACYC,WAAyC,EACzCC,aAA8C,EAC9CC,MAAgC,CAC1C;aAHUF,WAAW,GAAXA;aACAC,aAAa,GAAbA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,QAAQC,KAA2B,EAAqB;QAC1D,MAAMC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG;QAC1C,MAAM,EAAEC,EAAE,EAAE,GAAGC,gBAAgBH,MAAM,EAAE;QAEvC,MAAMI,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAClCF;YACA,KAAKF,MAAM,GAAG;YACd,MAAMA,MAAM,IAAI;YAChB,OAAOA,MAAM,KAAK;QACtB;QAEA,MAAMK,aAAaC,iBAAiB;YAChCJ;YACA,SAAS;QACb;QAEA,IAAI;YACA,MAAMK,eAAe,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAYN,OAAOI,YAAY;gBAC9ED;YACJ;YAEA,IAAIG,aAAa,MAAM,IACnB,OAAOC,OAAO,IAAI,CAAC,IAAIC,yBAAyBF,aAAa,KAAK;YAGtE,OAAOC,OAAO,EAAE,CAAC;gBACb,GAAGJ,MAAM;gBACTF;YACJ;QACJ,EAAE,OAAOQ,OAAO;YACZ,OAAOF,OAAO,IAAI,CAAC,IAAIC,yBAAyBC;QACpD;IACJ;AACJ;AAEO,MAAMC,oDAA2BC,yBAAAA,oBAA+B,CAAC;IACpE,gBAAgBhB;IAChB,cAAc;QAACiB;QAAoBC;QAAuBC;KAAe;AAC7E"}
@@ -1,5 +1,5 @@
1
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
2
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
1
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
2
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import { UpdateWorkflowRepository, UpdateWorkflowUseCase as UseCase } from "./abstractions.js";
4
4
  declare class UpdateWorkflowUseCaseImpl implements UseCase.Interface {
5
5
  private identityContext;
@@ -1,59 +1,54 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
3
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
4
- import { UpdateWorkflowRepository, UpdateWorkflowUseCase as UseCase } from "./abstractions.js";
2
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
3
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
4
+ import { UpdateWorkflowRepository, UpdateWorkflowUseCase } from "./abstractions.js";
5
5
  import { WorkflowAfterUpdateEvent, WorkflowBeforeUpdateEvent } from "./events.js";
6
6
  import { WorkflowNotAuthorizedError } from "../../../domain/workflow/errors.js";
7
7
  import { WORKFLOWS_PERMISSION } from "../../../constants.js";
8
- import { WorkflowsSecurityPermissionAccessLevel } from "../../../types.js";
9
8
  class UpdateWorkflowUseCaseImpl {
10
- constructor(identityContext, eventPublisher, repository) {
11
- this.identityContext = identityContext;
12
- this.eventPublisher = eventPublisher;
13
- this.repository = repository;
14
- }
15
- async execute(input, original) {
16
- const hasAccess = await this.ensureManageAccess();
17
- if (hasAccess.isFail()) {
18
- return Result.fail(hasAccess.error);
9
+ constructor(identityContext, eventPublisher, repository){
10
+ this.identityContext = identityContext;
11
+ this.eventPublisher = eventPublisher;
12
+ this.repository = repository;
19
13
  }
20
- const workflow = {
21
- id: input.id,
22
- app: input.app,
23
- name: input.name,
24
- steps: input.steps
25
- };
26
- await this.eventPublisher.publish(new WorkflowBeforeUpdateEvent({
27
- workflow,
28
- original,
29
- input
30
- }));
31
- const result = await this.repository.execute(input);
32
- if (result.isFail()) {
33
- return result;
14
+ async execute(input, original) {
15
+ const hasAccess = await this.ensureManageAccess();
16
+ if (hasAccess.isFail()) return Result.fail(hasAccess.error);
17
+ const workflow = {
18
+ id: input.id,
19
+ app: input.app,
20
+ name: input.name,
21
+ steps: input.steps
22
+ };
23
+ await this.eventPublisher.publish(new WorkflowBeforeUpdateEvent({
24
+ workflow,
25
+ original,
26
+ input
27
+ }));
28
+ const result = await this.repository.execute(input);
29
+ if (result.isFail()) return result;
30
+ await this.eventPublisher.publish(new WorkflowAfterUpdateEvent({
31
+ workflow: result.value,
32
+ original,
33
+ input
34
+ }));
35
+ return Result.ok(result.value);
34
36
  }
35
- await this.eventPublisher.publish(new WorkflowAfterUpdateEvent({
36
- workflow: result.value,
37
- original,
38
- input
39
- }));
40
- return Result.ok(result.value);
41
- }
42
- async ensureManageAccess() {
43
- const permissions = await this.identityContext.getPermissions(WORKFLOWS_PERMISSION);
44
- for (const permission of permissions) {
45
- if (permission.name === "*") {
46
- return Result.ok();
47
- } else if (permission.editor === WorkflowsSecurityPermissionAccessLevel.YES) {
48
- return Result.ok();
49
- }
37
+ async ensureManageAccess() {
38
+ const permissions = await this.identityContext.getPermissions(WORKFLOWS_PERMISSION);
39
+ for (const permission of permissions)if ("*" === permission.name) return Result.ok();
40
+ else if (permission.editor) return Result.ok();
41
+ return Result.fail(new WorkflowNotAuthorizedError("You cannot manage workflows."));
50
42
  }
51
- return Result.fail(new WorkflowNotAuthorizedError("You cannot manage workflows."));
52
- }
53
43
  }
54
- export const UpdateWorkflowUseCase = UseCase.createImplementation({
55
- implementation: UpdateWorkflowUseCaseImpl,
56
- dependencies: [IdentityContext, EventPublisher, UpdateWorkflowRepository]
44
+ const UpdateWorkflowUseCase_UpdateWorkflowUseCase = UpdateWorkflowUseCase.createImplementation({
45
+ implementation: UpdateWorkflowUseCaseImpl,
46
+ dependencies: [
47
+ IdentityContext,
48
+ EventPublisher,
49
+ UpdateWorkflowRepository
50
+ ]
57
51
  });
52
+ export { UpdateWorkflowUseCase_UpdateWorkflowUseCase as UpdateWorkflowUseCase };
58
53
 
59
54
  //# sourceMappingURL=UpdateWorkflowUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","IdentityContext","EventPublisher","UpdateWorkflowRepository","UpdateWorkflowUseCase","UseCase","WorkflowAfterUpdateEvent","WorkflowBeforeUpdateEvent","WorkflowNotAuthorizedError","WORKFLOWS_PERMISSION","WorkflowsSecurityPermissionAccessLevel","UpdateWorkflowUseCaseImpl","constructor","identityContext","eventPublisher","repository","execute","input","original","hasAccess","ensureManageAccess","isFail","fail","error","workflow","id","app","name","steps","publish","result","value","ok","permissions","getPermissions","permission","editor","YES","createImplementation","implementation","dependencies"],"sources":["UpdateWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport { UpdateWorkflowRepository, UpdateWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterUpdateEvent, WorkflowBeforeUpdateEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\nimport { WorkflowsSecurityPermissionAccessLevel } from \"~/types.js\";\n\nclass UpdateWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: UpdateWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Input, original: UseCase.Input): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflow = {\n id: input.id,\n app: input.app,\n name: input.name,\n steps: input.steps\n };\n\n await this.eventPublisher.publish(\n new WorkflowBeforeUpdateEvent({\n workflow,\n original,\n input\n })\n );\n\n const result = await this.repository.execute(input);\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(\n new WorkflowAfterUpdateEvent({\n workflow: result.value,\n original,\n input\n })\n );\n\n return Result.ok(result.value);\n }\n\n private async ensureManageAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor === WorkflowsSecurityPermissionAccessLevel.YES) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const UpdateWorkflowUseCase = UseCase.createImplementation({\n implementation: UpdateWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, UpdateWorkflowRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SAASC,cAAc,QAAQ,0CAA0C;AACzE,SAASC,wBAAwB,EAAEC,qBAAqB,IAAIC,OAAO;AACnE,SAASC,wBAAwB,EAAEC,yBAAyB;AAC5D,SAASC,0BAA0B;AACnC,SAASC,oBAAoB;AAE7B,SAASC,sCAAsC;AAE/C,MAAMC,yBAAyB,CAA8B;EACzDC,WAAWA,CACCC,eAA0C,EAC1CC,cAAwC,EACxCC,UAA8C,EACxD;IAAA,KAHUF,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,KAAoB,EAAEC,QAAuB,EAAkB;IACzE,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACjD,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOrB,MAAM,CAACsB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,QAAQ,GAAG;MACbC,EAAE,EAAER,KAAK,CAACQ,EAAE;MACZC,GAAG,EAAET,KAAK,CAACS,GAAG;MACdC,IAAI,EAAEV,KAAK,CAACU,IAAI;MAChBC,KAAK,EAAEX,KAAK,CAACW;IACjB,CAAC;IAED,MAAM,IAAI,CAACd,cAAc,CAACe,OAAO,CAC7B,IAAItB,yBAAyB,CAAC;MAC1BiB,QAAQ;MACRN,QAAQ;MACRD;IACJ,CAAC,CACL,CAAC;IAED,MAAMa,MAAM,GAAG,MAAM,IAAI,CAACf,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC;IACnD,IAAIa,MAAM,CAACT,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOS,MAAM;IACjB;IAEA,MAAM,IAAI,CAAChB,cAAc,CAACe,OAAO,CAC7B,IAAIvB,wBAAwB,CAAC;MACzBkB,QAAQ,EAAEM,MAAM,CAACC,KAAK;MACtBb,QAAQ;MACRD;IACJ,CAAC,CACL,CAAC;IAED,OAAOjB,MAAM,CAACgC,EAAE,CAACF,MAAM,CAACC,KAAK,CAAC;EAClC;EAEA,MAAcX,kBAAkBA,CAAA,EAAsD;IAClF,MAAMa,WAAW,GACb,MAAM,IAAI,CAACpB,eAAe,CAACqB,cAAc,CACrCzB,oBACJ,CAAC;IAEL,KAAK,MAAM0B,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACR,IAAI,KAAK,GAAG,EAAE;QACzB,OAAO3B,MAAM,CAACgC,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAIG,UAAU,CAACC,MAAM,KAAK1B,sCAAsC,CAAC2B,GAAG,EAAE;QACzE,OAAOrC,MAAM,CAACgC,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAOhC,MAAM,CAACsB,IAAI,CAAC,IAAId,0BAA0B,CAAC,8BAA8B,CAAC,CAAC;EACtF;AACJ;AAEA,OAAO,MAAMJ,qBAAqB,GAAGC,OAAO,CAACiC,oBAAoB,CAAC;EAC9DC,cAAc,EAAE5B,yBAAyB;EACzC6B,YAAY,EAAE,CAACvC,eAAe,EAAEC,cAAc,EAAEC,wBAAwB;AAC5E,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js","sources":["../../../../src/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { UpdateWorkflowRepository, UpdateWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterUpdateEvent, WorkflowBeforeUpdateEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\n\nclass UpdateWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: UpdateWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Input, original: UseCase.Input): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflow = {\n id: input.id,\n app: input.app,\n name: input.name,\n steps: input.steps\n };\n\n await this.eventPublisher.publish(\n new WorkflowBeforeUpdateEvent({\n workflow,\n original,\n input\n })\n );\n\n const result = await this.repository.execute(input);\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(\n new WorkflowAfterUpdateEvent({\n workflow: result.value,\n original,\n input\n })\n );\n\n return Result.ok(result.value);\n }\n\n private async ensureManageAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const UpdateWorkflowUseCase = UseCase.createImplementation({\n implementation: UpdateWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, UpdateWorkflowRepository]\n});\n"],"names":["UpdateWorkflowUseCaseImpl","identityContext","eventPublisher","repository","input","original","hasAccess","Result","workflow","WorkflowBeforeUpdateEvent","result","WorkflowAfterUpdateEvent","permissions","WORKFLOWS_PERMISSION","permission","WorkflowNotAuthorizedError","UpdateWorkflowUseCase","UseCase","IdentityContext","EventPublisher","UpdateWorkflowRepository"],"mappings":";;;;;;;AASA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,cAAwC,EACxCC,UAA8C,CACxD;aAHUF,eAAe,GAAfA;aACAC,cAAc,GAAdA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,KAAoB,EAAEC,QAAuB,EAAkB;QACzE,MAAMC,YAAY,MAAM,IAAI,CAAC,kBAAkB;QAC/C,IAAIA,UAAU,MAAM,IAChB,OAAOC,OAAO,IAAI,CAACD,UAAU,KAAK;QAGtC,MAAME,WAAW;YACb,IAAIJ,MAAM,EAAE;YACZ,KAAKA,MAAM,GAAG;YACd,MAAMA,MAAM,IAAI;YAChB,OAAOA,MAAM,KAAK;QACtB;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIK,0BAA0B;YAC1BD;YACAH;YACAD;QACJ;QAGJ,MAAMM,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACN;QAC7C,IAAIM,OAAO,MAAM,IACb,OAAOA;QAGX,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,yBAAyB;YACzB,UAAUD,OAAO,KAAK;YACtBL;YACAD;QACJ;QAGJ,OAAOG,OAAO,EAAE,CAACG,OAAO,KAAK;IACjC;IAEA,MAAc,qBAAwE;QAClF,MAAME,cACF,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CACrCC;QAGR,KAAK,MAAMC,cAAcF,YACrB,IAAIE,AAAoB,QAApBA,WAAW,IAAI,EACf,OAAOP,OAAO,EAAE;aACb,IAAIO,WAAW,MAAM,EACxB,OAAOP,OAAO,EAAE;QAIxB,OAAOA,OAAO,IAAI,CAAC,IAAIQ,2BAA2B;IACtD;AACJ;AAEO,MAAMC,8CAAwBC,sBAAAA,oBAA4B,CAAC;IAC9D,gBAAgBjB;IAChB,cAAc;QAACkB;QAAiBC;QAAgBC;KAAyB;AAC7E"}
@@ -1,19 +1,6 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- // Input types
4
-
5
- // Event payloads
6
-
7
- /**
8
- * UpdateWorkflow use case interface
9
- */
10
-
11
- export const UpdateWorkflowUseCase = createAbstraction("UpdateWorkflowUseCase");
12
-
13
- /**
14
- * UpdateWorkflow repository interface
15
- */
16
-
17
- export const UpdateWorkflowRepository = createAbstraction("UpdateWorkflowRepository");
2
+ const UpdateWorkflowUseCase = createAbstraction("UpdateWorkflowUseCase");
3
+ const UpdateWorkflowRepository = createAbstraction("UpdateWorkflowRepository");
4
+ export { UpdateWorkflowRepository, UpdateWorkflowUseCase };
18
5
 
19
6
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","UpdateWorkflowUseCase","UpdateWorkflowRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { IWorkflow } from \"~/domain/workflow/abstractions.js\";\nimport type { NonEmptyArray } from \"@webiny/api/types.js\";\nimport {\n type WorkflowNotAuthorizedError,\n type WorkflowPersistenceError,\n type WorkflowValidationError\n} from \"~/domain/workflow/errors.js\";\nimport type { IWorkflowStepInput } from \"~/features/shared/abstractions.js\";\n\n// Input types\nexport interface IUpdateWorkflowInput {\n app: string;\n id: string;\n name: string;\n steps: NonEmptyArray<IWorkflowStepInput>;\n}\n\n// Event payloads\nexport interface WorkflowBeforeUpdatePayload {\n workflow: IWorkflow;\n original: IWorkflow;\n input: IUpdateWorkflowInput;\n}\n\nexport interface WorkflowAfterUpdatePayload {\n workflow: IWorkflow;\n original: IWorkflow;\n input: IUpdateWorkflowInput;\n}\n\n/**\n * UpdateWorkflow use case interface\n */\nexport interface IUpdateWorkflowUseCase {\n execute(\n input: IUpdateWorkflowInput,\n original: IWorkflow\n ): Promise<Result<IWorkflow, UseCaseError>>;\n}\n\nexport interface IUpdateWorkflowUseCaseErrors {\n notAuthorized: WorkflowNotAuthorizedError;\n persistence: WorkflowPersistenceError;\n validation: WorkflowValidationError;\n}\n\ntype UseCaseError = IUpdateWorkflowUseCaseErrors[keyof IUpdateWorkflowUseCaseErrors];\n\nexport const UpdateWorkflowUseCase =\n createAbstraction<IUpdateWorkflowUseCase>(\"UpdateWorkflowUseCase\");\n\nexport namespace UpdateWorkflowUseCase {\n export type Interface = IUpdateWorkflowUseCase;\n export type Input = IUpdateWorkflowInput;\n export type Return = Promise<Result<IWorkflow, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n/**\n * UpdateWorkflow repository interface\n */\nexport interface IUpdateWorkflowRepository {\n execute(input: IUpdateWorkflowInput): Promise<Result<IWorkflow, RepositoryError>>;\n}\n\nexport interface IUpdateWorkflowRepositoryErrors {\n persistence: WorkflowPersistenceError;\n}\n\ntype RepositoryError = IUpdateWorkflowRepositoryErrors[keyof IUpdateWorkflowRepositoryErrors];\n\nexport const UpdateWorkflowRepository = createAbstraction<IUpdateWorkflowRepository>(\n \"UpdateWorkflowRepository\"\n);\n\nexport namespace UpdateWorkflowRepository {\n export type Interface = IUpdateWorkflowRepository;\n export type Return = Promise<Result<IWorkflow, RepositoryError>>;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAWvD;;AAQA;;AAaA;AACA;AACA;;AAgBA,OAAO,MAAMC,qBAAqB,GAC9BD,iBAAiB,CAAyB,uBAAuB,CAAC;;AAStE;AACA;AACA;;AAWA,OAAO,MAAME,wBAAwB,GAAGF,iBAAiB,CACrD,0BACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflow/UpdateWorkflow/abstractions.js","sources":["../../../../src/features/workflow/UpdateWorkflow/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { IWorkflow } from \"~/domain/workflow/abstractions.js\";\nimport type { NonEmptyArray } from \"@webiny/api/types.js\";\nimport {\n type WorkflowNotAuthorizedError,\n type WorkflowPersistenceError,\n type WorkflowValidationError\n} from \"~/domain/workflow/errors.js\";\nimport type { IWorkflowStepInput } from \"~/features/shared/abstractions.js\";\n\n// Input types\nexport interface IUpdateWorkflowInput {\n app: string;\n id: string;\n name: string;\n steps: NonEmptyArray<IWorkflowStepInput>;\n}\n\n// Event payloads\nexport interface WorkflowBeforeUpdatePayload {\n workflow: IWorkflow;\n original: IWorkflow;\n input: IUpdateWorkflowInput;\n}\n\nexport interface WorkflowAfterUpdatePayload {\n workflow: IWorkflow;\n original: IWorkflow;\n input: IUpdateWorkflowInput;\n}\n\n/**\n * UpdateWorkflow use case interface\n */\nexport interface IUpdateWorkflowUseCase {\n execute(\n input: IUpdateWorkflowInput,\n original: IWorkflow\n ): Promise<Result<IWorkflow, UseCaseError>>;\n}\n\nexport interface IUpdateWorkflowUseCaseErrors {\n notAuthorized: WorkflowNotAuthorizedError;\n persistence: WorkflowPersistenceError;\n validation: WorkflowValidationError;\n}\n\ntype UseCaseError = IUpdateWorkflowUseCaseErrors[keyof IUpdateWorkflowUseCaseErrors];\n\nexport const UpdateWorkflowUseCase =\n createAbstraction<IUpdateWorkflowUseCase>(\"UpdateWorkflowUseCase\");\n\nexport namespace UpdateWorkflowUseCase {\n export type Interface = IUpdateWorkflowUseCase;\n export type Input = IUpdateWorkflowInput;\n export type Return = Promise<Result<IWorkflow, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n/**\n * UpdateWorkflow repository interface\n */\nexport interface IUpdateWorkflowRepository {\n execute(input: IUpdateWorkflowInput): Promise<Result<IWorkflow, RepositoryError>>;\n}\n\nexport interface IUpdateWorkflowRepositoryErrors {\n persistence: WorkflowPersistenceError;\n}\n\ntype RepositoryError = IUpdateWorkflowRepositoryErrors[keyof IUpdateWorkflowRepositoryErrors];\n\nexport const UpdateWorkflowRepository = createAbstraction<IUpdateWorkflowRepository>(\n \"UpdateWorkflowRepository\"\n);\n\nexport namespace UpdateWorkflowRepository {\n export type Interface = IUpdateWorkflowRepository;\n export type Return = Promise<Result<IWorkflow, RepositoryError>>;\n export type Error = RepositoryError;\n}\n"],"names":["UpdateWorkflowUseCase","createAbstraction","UpdateWorkflowRepository"],"mappings":";AAkDO,MAAMA,wBACTC,kBAA0C;AAsBvC,MAAMC,2BAA2BD,kBACpC"}
@@ -1,5 +1,5 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
- import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import type { WorkflowBeforeUpdatePayload, WorkflowAfterUpdatePayload } from "./abstractions.js";
4
4
  export declare class WorkflowBeforeUpdateEvent extends DomainEvent<WorkflowBeforeUpdatePayload> {
5
5
  eventType: "workflow.beforeUpdate";
@@ -1,20 +1,23 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
3
- // Before update event
4
- export class WorkflowBeforeUpdateEvent extends DomainEvent {
5
- eventType = "workflow.beforeUpdate";
6
- getHandlerAbstraction() {
7
- return WorkflowBeforeUpdateHandler;
8
- }
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
+ class WorkflowBeforeUpdateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return WorkflowBeforeUpdateHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "workflow.beforeUpdate";
9
+ }
9
10
  }
10
- export const WorkflowBeforeUpdateHandler = createAbstraction("WorkflowBeforeUpdateHandler");
11
- // After update event
12
- export class WorkflowAfterUpdateEvent extends DomainEvent {
13
- eventType = "workflow.afterUpdate";
14
- getHandlerAbstraction() {
15
- return WorkflowAfterUpdateHandler;
16
- }
11
+ const WorkflowBeforeUpdateHandler = createAbstraction("WorkflowBeforeUpdateHandler");
12
+ class WorkflowAfterUpdateEvent extends DomainEvent {
13
+ getHandlerAbstraction() {
14
+ return WorkflowAfterUpdateHandler;
15
+ }
16
+ constructor(...args){
17
+ super(...args), this.eventType = "workflow.afterUpdate";
18
+ }
17
19
  }
18
- export const WorkflowAfterUpdateHandler = createAbstraction("WorkflowAfterUpdateHandler");
20
+ const WorkflowAfterUpdateHandler = createAbstraction("WorkflowAfterUpdateHandler");
21
+ export { WorkflowAfterUpdateEvent, WorkflowAfterUpdateHandler, WorkflowBeforeUpdateEvent, WorkflowBeforeUpdateHandler };
19
22
 
20
23
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","WorkflowBeforeUpdateEvent","eventType","getHandlerAbstraction","WorkflowBeforeUpdateHandler","WorkflowAfterUpdateEvent","WorkflowAfterUpdateHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { WorkflowBeforeUpdatePayload, WorkflowAfterUpdatePayload } from \"./abstractions.js\";\n\n// Before update event\nexport class WorkflowBeforeUpdateEvent extends DomainEvent<WorkflowBeforeUpdatePayload> {\n eventType = \"workflow.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowBeforeUpdateHandler;\n }\n}\n\nexport const WorkflowBeforeUpdateHandler = createAbstraction<\n IEventHandler<WorkflowBeforeUpdateEvent>\n>(\"WorkflowBeforeUpdateHandler\");\n\nexport namespace WorkflowBeforeUpdateHandler {\n export type Interface = IEventHandler<WorkflowBeforeUpdateEvent>;\n export type Event = WorkflowBeforeUpdateEvent;\n}\n\n// After update event\nexport class WorkflowAfterUpdateEvent extends DomainEvent<WorkflowAfterUpdatePayload> {\n eventType = \"workflow.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowAfterUpdateHandler;\n }\n}\n\nexport const WorkflowAfterUpdateHandler = createAbstraction<\n IEventHandler<WorkflowAfterUpdateEvent>\n>(\"WorkflowAfterUpdateHandler\");\n\nexport namespace WorkflowAfterUpdateHandler {\n export type Interface = IEventHandler<WorkflowAfterUpdateEvent>;\n export type Event = WorkflowAfterUpdateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,0CAA0C;AAItE;AACA,OAAO,MAAMC,yBAAyB,SAASD,WAAW,CAA8B;EACpFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,2BAA2B;EACtC;AACJ;AAEA,OAAO,MAAMA,2BAA2B,GAAGL,iBAAiB,CAE1D,6BAA6B,CAAC;AAOhC;AACA,OAAO,MAAMM,wBAAwB,SAASL,WAAW,CAA6B;EAClFE,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGP,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflow/UpdateWorkflow/events.js","sources":["../../../../src/features/workflow/UpdateWorkflow/events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WorkflowBeforeUpdatePayload, WorkflowAfterUpdatePayload } from \"./abstractions.js\";\n\n// Before update event\nexport class WorkflowBeforeUpdateEvent extends DomainEvent<WorkflowBeforeUpdatePayload> {\n eventType = \"workflow.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowBeforeUpdateHandler;\n }\n}\n\nexport const WorkflowBeforeUpdateHandler = createAbstraction<\n IEventHandler<WorkflowBeforeUpdateEvent>\n>(\"WorkflowBeforeUpdateHandler\");\n\nexport namespace WorkflowBeforeUpdateHandler {\n export type Interface = IEventHandler<WorkflowBeforeUpdateEvent>;\n export type Event = WorkflowBeforeUpdateEvent;\n}\n\n// After update event\nexport class WorkflowAfterUpdateEvent extends DomainEvent<WorkflowAfterUpdatePayload> {\n eventType = \"workflow.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowAfterUpdateHandler;\n }\n}\n\nexport const WorkflowAfterUpdateHandler = createAbstraction<\n IEventHandler<WorkflowAfterUpdateEvent>\n>(\"WorkflowAfterUpdateHandler\");\n\nexport namespace WorkflowAfterUpdateHandler {\n export type Interface = IEventHandler<WorkflowAfterUpdateEvent>;\n export type Event = WorkflowAfterUpdateEvent;\n}\n"],"names":["WorkflowBeforeUpdateEvent","DomainEvent","WorkflowBeforeUpdateHandler","createAbstraction","WorkflowAfterUpdateEvent","WorkflowAfterUpdateHandler"],"mappings":";;AAMO,MAAMA,kCAAkCC;IAG3C,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAEO,MAAMA,8BAA8BC,kBAEzC;AAQK,MAAMC,iCAAiCH;IAG1C,wBAAwB;QACpB,OAAOI;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAEO,MAAMA,6BAA6BF,kBAExC"}
@@ -1 +1,4 @@
1
- export declare const UpdateWorkflowFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const UpdateWorkflowFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,12 +1,13 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { UpdateWorkflowUseCase } from "./UpdateWorkflowUseCase.js";
3
3
  import { UpdateWorkflowRepository } from "./UpdateWorkflowRepository.js";
4
- export const UpdateWorkflowFeature = createFeature({
5
- name: "Workflows/UpdateWorkflow",
6
- register(container) {
7
- container.register(UpdateWorkflowRepository).inSingletonScope();
8
- container.register(UpdateWorkflowUseCase);
9
- }
4
+ const UpdateWorkflowFeature = createFeature({
5
+ name: "Workflows/UpdateWorkflow",
6
+ register (container) {
7
+ container.register(UpdateWorkflowRepository).inSingletonScope();
8
+ container.register(UpdateWorkflowUseCase);
9
+ }
10
10
  });
11
+ export { UpdateWorkflowFeature };
11
12
 
12
13
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","UpdateWorkflowUseCase","UpdateWorkflowRepository","UpdateWorkflowFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateWorkflowUseCase } from \"./UpdateWorkflowUseCase.js\";\nimport { UpdateWorkflowRepository } from \"./UpdateWorkflowRepository.js\";\n\nexport const UpdateWorkflowFeature = createFeature({\n name: \"Workflows/UpdateWorkflow\",\n register(container) {\n container.register(UpdateWorkflowRepository).inSingletonScope();\n container.register(UpdateWorkflowUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,qBAAqB;AAC9B,SAASC,wBAAwB;AAEjC,OAAO,MAAMC,qBAAqB,GAAGH,aAAa,CAAC;EAC/CI,IAAI,EAAE,0BAA0B;EAChCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,wBAAwB,CAAC,CAACK,gBAAgB,CAAC,CAAC;IAC/DD,SAAS,CAACD,QAAQ,CAACJ,qBAAqB,CAAC;EAC7C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflow/UpdateWorkflow/feature.js","sources":["../../../../src/features/workflow/UpdateWorkflow/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateWorkflowUseCase } from \"./UpdateWorkflowUseCase.js\";\nimport { UpdateWorkflowRepository } from \"./UpdateWorkflowRepository.js\";\n\nexport const UpdateWorkflowFeature = createFeature({\n name: \"Workflows/UpdateWorkflow\",\n register(container) {\n container.register(UpdateWorkflowRepository).inSingletonScope();\n container.register(UpdateWorkflowUseCase);\n }\n});\n"],"names":["UpdateWorkflowFeature","createFeature","container","UpdateWorkflowRepository","UpdateWorkflowUseCase"],"mappings":";;;AAIO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,0BAA0B,gBAAgB;QAC7DD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
@@ -1,5 +1,3 @@
1
1
  export { UpdateWorkflowFeature } from "./feature.js";
2
- export { UpdateWorkflowUseCase, UpdateWorkflowRepository } from "./abstractions.js";
3
- export { WorkflowBeforeUpdateEvent, WorkflowAfterUpdateEvent, WorkflowBeforeUpdateHandler, WorkflowAfterUpdateHandler } from "./events.js";
4
-
5
- //# sourceMappingURL=index.js.map
2
+ export { UpdateWorkflowRepository, UpdateWorkflowUseCase } from "./abstractions.js";
3
+ export { WorkflowAfterUpdateEvent, WorkflowAfterUpdateHandler, WorkflowBeforeUpdateEvent, WorkflowBeforeUpdateHandler } from "./events.js";
@@ -1,39 +1,38 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { GetWorkflowStateUseCase } from "../GetWorkflowState/index.js";
3
3
  import { UpdateWorkflowStateRepository } from "../UpdateWorkflowState/index.js";
4
- import { ApproveWorkflowStateStepUseCase as UseCase } from "./abstractions.js";
4
+ import { ApproveWorkflowStateStepUseCase } from "./abstractions.js";
5
5
  import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
6
6
  import { WorkflowStateApproveStepEvent } from "./events.js";
7
7
  class ApproveWorkflowStateStepUseCaseImpl {
8
- constructor(getWorkflowState, repository, eventPublisher) {
9
- this.getWorkflowState = getWorkflowState;
10
- this.repository = repository;
11
- this.eventPublisher = eventPublisher;
12
- }
13
- async execute(id, comment) {
14
- const stateResult = await this.getWorkflowState.execute(id);
15
- if (stateResult.isFail()) {
16
- return Result.fail(stateResult.error);
8
+ constructor(getWorkflowState, repository, eventPublisher){
9
+ this.getWorkflowState = getWorkflowState;
10
+ this.repository = repository;
11
+ this.eventPublisher = eventPublisher;
17
12
  }
18
- const state = stateResult.value;
19
- const approveResult = state.approve(comment);
20
- if (approveResult.isFail()) {
21
- return Result.fail(approveResult.error);
13
+ async execute(id, comment) {
14
+ const stateResult = await this.getWorkflowState.execute(id);
15
+ if (stateResult.isFail()) return Result.fail(stateResult.error);
16
+ const state = stateResult.value;
17
+ const approveResult = state.approve(comment);
18
+ if (approveResult.isFail()) return Result.fail(approveResult.error);
19
+ const updatedRecord = state.toRecord();
20
+ const updateResult = await this.repository.execute(id, updatedRecord);
21
+ if (updateResult.isFail()) return Result.fail(updateResult.error);
22
+ await this.eventPublisher.publish(new WorkflowStateApproveStepEvent({
23
+ state
24
+ }));
25
+ return Result.ok(state);
22
26
  }
23
- const updatedRecord = state.toRecord();
24
- const updateResult = await this.repository.execute(id, updatedRecord);
25
- if (updateResult.isFail()) {
26
- return Result.fail(updateResult.error);
27
- }
28
- await this.eventPublisher.publish(new WorkflowStateApproveStepEvent({
29
- state
30
- }));
31
- return Result.ok(state);
32
- }
33
27
  }
34
- export const ApproveWorkflowStateStepUseCase = UseCase.createImplementation({
35
- implementation: ApproveWorkflowStateStepUseCaseImpl,
36
- dependencies: [GetWorkflowStateUseCase, UpdateWorkflowStateRepository, EventPublisher]
28
+ const ApproveWorkflowStateStepUseCase_ApproveWorkflowStateStepUseCase = ApproveWorkflowStateStepUseCase.createImplementation({
29
+ implementation: ApproveWorkflowStateStepUseCaseImpl,
30
+ dependencies: [
31
+ GetWorkflowStateUseCase,
32
+ UpdateWorkflowStateRepository,
33
+ EventPublisher
34
+ ]
37
35
  });
36
+ export { ApproveWorkflowStateStepUseCase_ApproveWorkflowStateStepUseCase as ApproveWorkflowStateStepUseCase };
38
37
 
39
38
  //# sourceMappingURL=ApproveWorkflowStateStepUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","GetWorkflowStateUseCase","UpdateWorkflowStateRepository","ApproveWorkflowStateStepUseCase","UseCase","EventPublisher","WorkflowStateApproveStepEvent","ApproveWorkflowStateStepUseCaseImpl","constructor","getWorkflowState","repository","eventPublisher","execute","id","comment","stateResult","isFail","fail","error","state","value","approveResult","approve","updatedRecord","toRecord","updateResult","publish","ok","createImplementation","implementation","dependencies"],"sources":["ApproveWorkflowStateStepUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetWorkflowStateUseCase } from \"../GetWorkflowState/index.js\";\nimport { UpdateWorkflowStateRepository } from \"../UpdateWorkflowState/index.js\";\nimport { ApproveWorkflowStateStepUseCase as UseCase } from \"./abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { WorkflowStateApproveStepEvent } from \"./events.js\";\n\nclass ApproveWorkflowStateStepUseCaseImpl implements UseCase.Interface {\n constructor(\n private getWorkflowState: GetWorkflowStateUseCase.Interface,\n private repository: UpdateWorkflowStateRepository.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(id: string, comment?: string): UseCase.Return {\n const stateResult = await this.getWorkflowState.execute(id);\n if (stateResult.isFail()) {\n return Result.fail(stateResult.error);\n }\n\n const state = stateResult.value;\n\n const approveResult = state.approve(comment);\n if (approveResult.isFail()) {\n return Result.fail(approveResult.error);\n }\n\n const updatedRecord = state.toRecord();\n\n const updateResult = await this.repository.execute(id, updatedRecord);\n if (updateResult.isFail()) {\n return Result.fail(updateResult.error);\n }\n\n await this.eventPublisher.publish(\n new WorkflowStateApproveStepEvent({\n state\n })\n );\n\n return Result.ok(state);\n }\n}\n\nexport const ApproveWorkflowStateStepUseCase = UseCase.createImplementation({\n implementation: ApproveWorkflowStateStepUseCaseImpl,\n dependencies: [GetWorkflowStateUseCase, UpdateWorkflowStateRepository, EventPublisher]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,uBAAuB;AAChC,SAASC,6BAA6B;AACtC,SAASC,+BAA+B,IAAIC,OAAO;AACnD,SAASC,cAAc,QAAQ,mDAAmD;AAClF,SAASC,6BAA6B;AAEtC,MAAMC,mCAAmC,CAA8B;EACnEC,WAAWA,CACCC,gBAAmD,EACnDC,UAAmD,EACnDC,cAAwC,EAClD;IAAA,KAHUF,gBAAmD,GAAnDA,gBAAmD;IAAA,KACnDC,UAAmD,GAAnDA,UAAmD;IAAA,KACnDC,cAAwC,GAAxCA,cAAwC;EACjD;EAEH,MAAMC,OAAOA,CAACC,EAAU,EAAEC,OAAgB,EAAkB;IACxD,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACN,gBAAgB,CAACG,OAAO,CAACC,EAAE,CAAC;IAC3D,IAAIE,WAAW,CAACC,MAAM,CAAC,CAAC,EAAE;MACtB,OAAOhB,MAAM,CAACiB,IAAI,CAACF,WAAW,CAACG,KAAK,CAAC;IACzC;IAEA,MAAMC,KAAK,GAAGJ,WAAW,CAACK,KAAK;IAE/B,MAAMC,aAAa,GAAGF,KAAK,CAACG,OAAO,CAACR,OAAO,CAAC;IAC5C,IAAIO,aAAa,CAACL,MAAM,CAAC,CAAC,EAAE;MACxB,OAAOhB,MAAM,CAACiB,IAAI,CAACI,aAAa,CAACH,KAAK,CAAC;IAC3C;IAEA,MAAMK,aAAa,GAAGJ,KAAK,CAACK,QAAQ,CAAC,CAAC;IAEtC,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACf,UAAU,CAACE,OAAO,CAACC,EAAE,EAAEU,aAAa,CAAC;IACrE,IAAIE,YAAY,CAACT,MAAM,CAAC,CAAC,EAAE;MACvB,OAAOhB,MAAM,CAACiB,IAAI,CAACQ,YAAY,CAACP,KAAK,CAAC;IAC1C;IAEA,MAAM,IAAI,CAACP,cAAc,CAACe,OAAO,CAC7B,IAAIpB,6BAA6B,CAAC;MAC9Ba;IACJ,CAAC,CACL,CAAC;IAED,OAAOnB,MAAM,CAAC2B,EAAE,CAACR,KAAK,CAAC;EAC3B;AACJ;AAEA,OAAO,MAAMhB,+BAA+B,GAAGC,OAAO,CAACwB,oBAAoB,CAAC;EACxEC,cAAc,EAAEtB,mCAAmC;EACnDuB,YAAY,EAAE,CAAC7B,uBAAuB,EAAEC,6BAA6B,EAAEG,cAAc;AACzF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js","sources":["../../../../src/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetWorkflowStateUseCase } from \"../GetWorkflowState/index.js\";\nimport { UpdateWorkflowStateRepository } from \"../UpdateWorkflowState/index.js\";\nimport { ApproveWorkflowStateStepUseCase as UseCase } from \"./abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { WorkflowStateApproveStepEvent } from \"./events.js\";\n\nclass ApproveWorkflowStateStepUseCaseImpl implements UseCase.Interface {\n constructor(\n private getWorkflowState: GetWorkflowStateUseCase.Interface,\n private repository: UpdateWorkflowStateRepository.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(id: string, comment?: string): UseCase.Return {\n const stateResult = await this.getWorkflowState.execute(id);\n if (stateResult.isFail()) {\n return Result.fail(stateResult.error);\n }\n\n const state = stateResult.value;\n\n const approveResult = state.approve(comment);\n if (approveResult.isFail()) {\n return Result.fail(approveResult.error);\n }\n\n const updatedRecord = state.toRecord();\n\n const updateResult = await this.repository.execute(id, updatedRecord);\n if (updateResult.isFail()) {\n return Result.fail(updateResult.error);\n }\n\n await this.eventPublisher.publish(\n new WorkflowStateApproveStepEvent({\n state\n })\n );\n\n return Result.ok(state);\n }\n}\n\nexport const ApproveWorkflowStateStepUseCase = UseCase.createImplementation({\n implementation: ApproveWorkflowStateStepUseCaseImpl,\n dependencies: [GetWorkflowStateUseCase, UpdateWorkflowStateRepository, EventPublisher]\n});\n"],"names":["ApproveWorkflowStateStepUseCaseImpl","getWorkflowState","repository","eventPublisher","id","comment","stateResult","Result","state","approveResult","updatedRecord","updateResult","WorkflowStateApproveStepEvent","ApproveWorkflowStateStepUseCase","UseCase","GetWorkflowStateUseCase","UpdateWorkflowStateRepository","EventPublisher"],"mappings":";;;;;;AAOA,MAAMA;IACF,YACYC,gBAAmD,EACnDC,UAAmD,EACnDC,cAAwC,CAClD;aAHUF,gBAAgB,GAAhBA;aACAC,UAAU,GAAVA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QAAQC,EAAU,EAAEC,OAAgB,EAAkB;QACxD,MAAMC,cAAc,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAACF;QACxD,IAAIE,YAAY,MAAM,IAClB,OAAOC,OAAO,IAAI,CAACD,YAAY,KAAK;QAGxC,MAAME,QAAQF,YAAY,KAAK;QAE/B,MAAMG,gBAAgBD,MAAM,OAAO,CAACH;QACpC,IAAII,cAAc,MAAM,IACpB,OAAOF,OAAO,IAAI,CAACE,cAAc,KAAK;QAG1C,MAAMC,gBAAgBF,MAAM,QAAQ;QAEpC,MAAMG,eAAe,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACP,IAAIM;QACvD,IAAIC,aAAa,MAAM,IACnB,OAAOJ,OAAO,IAAI,CAACI,aAAa,KAAK;QAGzC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,8BAA8B;YAC9BJ;QACJ;QAGJ,OAAOD,OAAO,EAAE,CAACC;IACrB;AACJ;AAEO,MAAMK,kEAAkCC,gCAAAA,oBAA4B,CAAC;IACxE,gBAAgBd;IAChB,cAAc;QAACe;QAAyBC;QAA+BC;KAAe;AAC1F"}
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- export const ApproveWorkflowStateStepUseCase = createAbstraction("ApproveWorkflowStateStepUseCase");
2
+ const ApproveWorkflowStateStepUseCase = createAbstraction("ApproveWorkflowStateStepUseCase");
3
+ export { ApproveWorkflowStateStepUseCase };
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","ApproveWorkflowStateStepUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import type { Result } from \"@webiny/feature/api\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport {\n type WorkflowStateNotFoundError,\n WorkflowStatePersistenceError,\n type WorkflowStateStepCannotReviewError,\n type WorkflowStateStepNotStepOwnerError\n} from \"~/domain/workflowState/errors.js\";\nimport type { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\n\nexport interface WorkflowStateApproveStepPayload {\n state: WorkflowState;\n}\n\nexport interface IApproveWorkflowStateStepUseCase {\n execute(id: string, comment?: string): Promise<Result<WorkflowState, UseCaseError>>;\n}\n\nexport interface IApproveWorkflowStateStepUseCaseErrors {\n notFound: WorkflowStateNotFoundError;\n workflowNotFound: WorkflowNotFoundError;\n cannotReview: WorkflowStateStepCannotReviewError;\n notStepOwner: WorkflowStateStepNotStepOwnerError;\n workflowState: WorkflowState.Error;\n persistence: WorkflowStatePersistenceError;\n}\n\ntype UseCaseError =\n IApproveWorkflowStateStepUseCaseErrors[keyof IApproveWorkflowStateStepUseCaseErrors];\n\nexport const ApproveWorkflowStateStepUseCase = createAbstraction<IApproveWorkflowStateStepUseCase>(\n \"ApproveWorkflowStateStepUseCase\"\n);\n\nexport namespace ApproveWorkflowStateStepUseCase {\n export type Interface = IApproveWorkflowStateStepUseCase;\n export type Return = Promise<Result<WorkflowState, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,qBAAqB;AA8BvD,OAAO,MAAMC,+BAA+B,GAAGD,iBAAiB,CAC5D,iCACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflowState/ApproveWorkflowStateStep/abstractions.js","sources":["../../../../src/features/workflowState/ApproveWorkflowStateStep/abstractions.ts"],"sourcesContent":["import type { Result } from \"@webiny/feature/api\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport {\n type WorkflowStateNotFoundError,\n WorkflowStatePersistenceError,\n type WorkflowStateStepCannotReviewError,\n type WorkflowStateStepNotStepOwnerError\n} from \"~/domain/workflowState/errors.js\";\nimport type { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\n\nexport interface WorkflowStateApproveStepPayload {\n state: WorkflowState;\n}\n\nexport interface IApproveWorkflowStateStepUseCase {\n execute(id: string, comment?: string): Promise<Result<WorkflowState, UseCaseError>>;\n}\n\nexport interface IApproveWorkflowStateStepUseCaseErrors {\n notFound: WorkflowStateNotFoundError;\n workflowNotFound: WorkflowNotFoundError;\n cannotReview: WorkflowStateStepCannotReviewError;\n notStepOwner: WorkflowStateStepNotStepOwnerError;\n workflowState: WorkflowState.Error;\n persistence: WorkflowStatePersistenceError;\n}\n\ntype UseCaseError =\n IApproveWorkflowStateStepUseCaseErrors[keyof IApproveWorkflowStateStepUseCaseErrors];\n\nexport const ApproveWorkflowStateStepUseCase = createAbstraction<IApproveWorkflowStateStepUseCase>(\n \"ApproveWorkflowStateStepUseCase\"\n);\n\nexport namespace ApproveWorkflowStateStepUseCase {\n export type Interface = IApproveWorkflowStateStepUseCase;\n export type Return = Promise<Result<WorkflowState, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"names":["ApproveWorkflowStateStepUseCase","createAbstraction"],"mappings":";AA+BO,MAAMA,kCAAkCC,kBAC3C"}
@@ -1,5 +1,5 @@
1
- import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import type { WorkflowStateApproveStepPayload } from "./abstractions.js";
4
4
  export declare class WorkflowStateApproveStepEvent extends DomainEvent<WorkflowStateApproveStepPayload> {
5
5
  eventType: "workflowState.approveStep";