@webiny/api-workflows 6.3.0 → 6.4.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/constants.js +4 -3
  2. package/constants.js.map +1 -1
  3. package/domain/notifications/abstractions.js +8 -7
  4. package/domain/notifications/abstractions.js.map +1 -1
  5. package/domain/notifications/errors.js +7 -7
  6. package/domain/notifications/errors.js.map +1 -1
  7. package/domain/workflow/WorkflowMapper.js +22 -23
  8. package/domain/workflow/WorkflowMapper.js.map +1 -1
  9. package/domain/workflow/abstractions.js +3 -3
  10. package/domain/workflow/abstractions.js.map +1 -1
  11. package/domain/workflow/errors.js +26 -29
  12. package/domain/workflow/errors.js.map +1 -1
  13. package/domain/workflow/workflowModel.js +27 -25
  14. package/domain/workflow/workflowModel.js.map +1 -1
  15. package/domain/workflowState/WorkflowState.js +216 -319
  16. package/domain/workflowState/WorkflowState.js.map +1 -1
  17. package/domain/workflowState/WorkflowStateMapper.js +36 -35
  18. package/domain/workflowState/WorkflowStateMapper.js.map +1 -1
  19. package/domain/workflowState/abstractions.js +9 -9
  20. package/domain/workflowState/abstractions.js.map +1 -1
  21. package/domain/workflowState/errors.js +109 -122
  22. package/domain/workflowState/errors.js.map +1 -1
  23. package/domain/workflowState/guards/canReview.js +2 -3
  24. package/domain/workflowState/guards/canReview.js.map +1 -1
  25. package/domain/workflowState/guards/canTakeOver.js +2 -3
  26. package/domain/workflowState/guards/canTakeOver.js.map +1 -1
  27. package/domain/workflowState/guards/isInReview.js +2 -3
  28. package/domain/workflowState/guards/isInReview.js.map +1 -1
  29. package/domain/workflowState/guards/isRejected.js +2 -3
  30. package/domain/workflowState/guards/isRejected.js.map +1 -1
  31. package/domain/workflowState/guards/isStepOwner.js +2 -3
  32. package/domain/workflowState/guards/isStepOwner.js.map +1 -1
  33. package/domain/workflowState/stateModel.js +59 -51
  34. package/domain/workflowState/stateModel.js.map +1 -1
  35. package/features/internal/GetUserTeams/GetUserTeamsUseCase.js +20 -27
  36. package/features/internal/GetUserTeams/GetUserTeamsUseCase.js.map +1 -1
  37. package/features/internal/GetUserTeams/abstractions.js +2 -1
  38. package/features/internal/GetUserTeams/abstractions.js.map +1 -1
  39. package/features/internal/GetUserTeams/feature.js +6 -5
  40. package/features/internal/GetUserTeams/feature.js.map +1 -1
  41. package/features/internal/GetUserTeams/index.js +0 -2
  42. package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js +21 -17
  43. package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js.map +1 -1
  44. package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js +22 -27
  45. package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js.map +1 -1
  46. package/features/notifications/ListNotificationTypes/abstractions.js +3 -12
  47. package/features/notifications/ListNotificationTypes/abstractions.js.map +1 -1
  48. package/features/notifications/ListNotificationTypes/feature.js +7 -6
  49. package/features/notifications/ListNotificationTypes/feature.js.map +1 -1
  50. package/features/notifications/ListNotificationTypes/index.js +0 -2
  51. package/features/notifications/NotificationTransport/MailNotificationTransport.js +29 -38
  52. package/features/notifications/NotificationTransport/MailNotificationTransport.js.map +1 -1
  53. package/features/notifications/NotificationTransport/abstractions.js +2 -1
  54. package/features/notifications/NotificationTransport/abstractions.js.map +1 -1
  55. package/features/notifications/NotificationTransport/feature.js +6 -5
  56. package/features/notifications/NotificationTransport/feature.js.map +1 -1
  57. package/features/notifications/NotificationTransport/index.js +0 -2
  58. package/features/shared/abstractions.js +0 -3
  59. package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js +35 -34
  60. package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js.map +1 -1
  61. package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js +38 -42
  62. package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js.map +1 -1
  63. package/features/workflow/CreateWorkflow/abstractions.js +3 -16
  64. package/features/workflow/CreateWorkflow/abstractions.js.map +1 -1
  65. package/features/workflow/CreateWorkflow/events.js +17 -14
  66. package/features/workflow/CreateWorkflow/events.js.map +1 -1
  67. package/features/workflow/CreateWorkflow/feature.js +7 -6
  68. package/features/workflow/CreateWorkflow/feature.js.map +1 -1
  69. package/features/workflow/CreateWorkflow/index.js +2 -4
  70. package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js +24 -22
  71. package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js.map +1 -1
  72. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js +38 -43
  73. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js.map +1 -1
  74. package/features/workflow/DeleteWorkflow/abstractions.js +3 -16
  75. package/features/workflow/DeleteWorkflow/abstractions.js.map +1 -1
  76. package/features/workflow/DeleteWorkflow/events.js +17 -14
  77. package/features/workflow/DeleteWorkflow/events.js.map +1 -1
  78. package/features/workflow/DeleteWorkflow/feature.js +7 -6
  79. package/features/workflow/DeleteWorkflow/feature.js.map +1 -1
  80. package/features/workflow/DeleteWorkflow/index.js +2 -4
  81. package/features/workflow/GetWorkflow/GetWorkflowRepository.js +33 -34
  82. package/features/workflow/GetWorkflow/GetWorkflowRepository.js.map +1 -1
  83. package/features/workflow/GetWorkflow/GetWorkflowUseCase.js +21 -23
  84. package/features/workflow/GetWorkflow/GetWorkflowUseCase.js.map +1 -1
  85. package/features/workflow/GetWorkflow/abstractions.js +3 -12
  86. package/features/workflow/GetWorkflow/abstractions.js.map +1 -1
  87. package/features/workflow/GetWorkflow/feature.js +7 -6
  88. package/features/workflow/GetWorkflow/feature.js.map +1 -1
  89. package/features/workflow/GetWorkflow/index.js +0 -2
  90. package/features/workflow/ListWorkflows/ListWorkflowsRepository.js +47 -52
  91. package/features/workflow/ListWorkflows/ListWorkflowsRepository.js.map +1 -1
  92. package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js +14 -13
  93. package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js.map +1 -1
  94. package/features/workflow/ListWorkflows/abstractions.js +3 -12
  95. package/features/workflow/ListWorkflows/abstractions.js.map +1 -1
  96. package/features/workflow/ListWorkflows/feature.js +7 -6
  97. package/features/workflow/ListWorkflows/feature.js.map +1 -1
  98. package/features/workflow/ListWorkflows/index.js +0 -2
  99. package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js +24 -26
  100. package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js.map +1 -1
  101. package/features/workflow/StoreWorkflow/abstractions.js +2 -8
  102. package/features/workflow/StoreWorkflow/abstractions.js.map +1 -1
  103. package/features/workflow/StoreWorkflow/feature.js +8 -10
  104. package/features/workflow/StoreWorkflow/feature.js.map +1 -1
  105. package/features/workflow/StoreWorkflow/index.js +0 -2
  106. package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js +38 -37
  107. package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js.map +1 -1
  108. package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js +40 -44
  109. package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js.map +1 -1
  110. package/features/workflow/UpdateWorkflow/abstractions.js +3 -16
  111. package/features/workflow/UpdateWorkflow/abstractions.js.map +1 -1
  112. package/features/workflow/UpdateWorkflow/events.js +17 -14
  113. package/features/workflow/UpdateWorkflow/events.js.map +1 -1
  114. package/features/workflow/UpdateWorkflow/feature.js +7 -6
  115. package/features/workflow/UpdateWorkflow/feature.js.map +1 -1
  116. package/features/workflow/UpdateWorkflow/index.js +2 -4
  117. package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js +26 -27
  118. package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js.map +1 -1
  119. package/features/workflowState/ApproveWorkflowStateStep/abstractions.js +2 -1
  120. package/features/workflowState/ApproveWorkflowStateStep/abstractions.js.map +1 -1
  121. package/features/workflowState/ApproveWorkflowStateStep/events.js +9 -6
  122. package/features/workflowState/ApproveWorkflowStateStep/events.js.map +1 -1
  123. package/features/workflowState/ApproveWorkflowStateStep/feature.js +6 -5
  124. package/features/workflowState/ApproveWorkflowStateStep/feature.js.map +1 -1
  125. package/features/workflowState/ApproveWorkflowStateStep/index.js +0 -2
  126. package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.js +21 -19
  127. package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.js.map +1 -1
  128. package/features/workflowState/CancelWorkflowState/abstractions.js +2 -6
  129. package/features/workflowState/CancelWorkflowState/abstractions.js.map +1 -1
  130. package/features/workflowState/CancelWorkflowState/events.js +9 -6
  131. package/features/workflowState/CancelWorkflowState/events.js.map +1 -1
  132. package/features/workflowState/CancelWorkflowState/feature.js +6 -5
  133. package/features/workflowState/CancelWorkflowState/feature.js.map +1 -1
  134. package/features/workflowState/CancelWorkflowState/index.js +0 -2
  135. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js +25 -22
  136. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js.map +1 -1
  137. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js +78 -90
  138. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js.map +1 -1
  139. package/features/workflowState/CreateWorkflowState/abstractions.js +3 -12
  140. package/features/workflowState/CreateWorkflowState/abstractions.js.map +1 -1
  141. package/features/workflowState/CreateWorkflowState/events.js +9 -6
  142. package/features/workflowState/CreateWorkflowState/events.js.map +1 -1
  143. package/features/workflowState/CreateWorkflowState/feature.js +7 -6
  144. package/features/workflowState/CreateWorkflowState/feature.js.map +1 -1
  145. package/features/workflowState/CreateWorkflowState/index.js +1 -3
  146. package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js +44 -42
  147. package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js.map +1 -1
  148. package/features/workflowState/DeleteTargetWorkflowState/abstractions.js +2 -1
  149. package/features/workflowState/DeleteTargetWorkflowState/abstractions.js.map +1 -1
  150. package/features/workflowState/DeleteTargetWorkflowState/events.js +9 -6
  151. package/features/workflowState/DeleteTargetWorkflowState/events.js.map +1 -1
  152. package/features/workflowState/DeleteTargetWorkflowState/feature.js +6 -5
  153. package/features/workflowState/DeleteTargetWorkflowState/feature.js.map +1 -1
  154. package/features/workflowState/DeleteTargetWorkflowState/index.js +0 -2
  155. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js +16 -12
  156. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js.map +1 -1
  157. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.js +22 -21
  158. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.js.map +1 -1
  159. package/features/workflowState/DeleteWorkflowState/abstractions.js +3 -2
  160. package/features/workflowState/DeleteWorkflowState/abstractions.js.map +1 -1
  161. package/features/workflowState/DeleteWorkflowState/feature.js +7 -6
  162. package/features/workflowState/DeleteWorkflowState/feature.js.map +1 -1
  163. package/features/workflowState/DeleteWorkflowState/index.js +1 -3
  164. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js +39 -43
  165. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js.map +1 -1
  166. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js +24 -25
  167. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js.map +1 -1
  168. package/features/workflowState/GetTargetWorkflowState/abstractions.js +3 -12
  169. package/features/workflowState/GetTargetWorkflowState/abstractions.js.map +1 -1
  170. package/features/workflowState/GetTargetWorkflowState/feature.js +7 -6
  171. package/features/workflowState/GetTargetWorkflowState/feature.js.map +1 -1
  172. package/features/workflowState/GetTargetWorkflowState/index.js +1 -3
  173. package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js +26 -23
  174. package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js.map +1 -1
  175. package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js +23 -20
  176. package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js.map +1 -1
  177. package/features/workflowState/GetWorkflowState/abstractions.js +3 -12
  178. package/features/workflowState/GetWorkflowState/abstractions.js.map +1 -1
  179. package/features/workflowState/GetWorkflowState/feature.js +7 -6
  180. package/features/workflowState/GetWorkflowState/feature.js.map +1 -1
  181. package/features/workflowState/GetWorkflowState/index.js +1 -3
  182. package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js +33 -32
  183. package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js.map +1 -1
  184. package/features/workflowState/ListOwnWorkflowStates/abstractions.js +2 -6
  185. package/features/workflowState/ListOwnWorkflowStates/abstractions.js.map +1 -1
  186. package/features/workflowState/ListOwnWorkflowStates/feature.js +6 -5
  187. package/features/workflowState/ListOwnWorkflowStates/feature.js.map +1 -1
  188. package/features/workflowState/ListOwnWorkflowStates/index.js +0 -2
  189. package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js +41 -38
  190. package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js.map +1 -1
  191. package/features/workflowState/ListRequestedWorkflowStates/abstractions.js +2 -6
  192. package/features/workflowState/ListRequestedWorkflowStates/abstractions.js.map +1 -1
  193. package/features/workflowState/ListRequestedWorkflowStates/feature.js +6 -5
  194. package/features/workflowState/ListRequestedWorkflowStates/feature.js.map +1 -1
  195. package/features/workflowState/ListRequestedWorkflowStates/index.js +0 -2
  196. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js +35 -32
  197. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js.map +1 -1
  198. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js +26 -26
  199. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js.map +1 -1
  200. package/features/workflowState/ListWorkflowStates/abstractions.js +3 -12
  201. package/features/workflowState/ListWorkflowStates/abstractions.js.map +1 -1
  202. package/features/workflowState/ListWorkflowStates/feature.js +7 -6
  203. package/features/workflowState/ListWorkflowStates/feature.js.map +1 -1
  204. package/features/workflowState/ListWorkflowStates/index.js +1 -3
  205. package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.js +26 -27
  206. package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.js.map +1 -1
  207. package/features/workflowState/RejectWorkflowStateStep/abstractions.js +2 -1
  208. package/features/workflowState/RejectWorkflowStateStep/abstractions.js.map +1 -1
  209. package/features/workflowState/RejectWorkflowStateStep/events.js +9 -6
  210. package/features/workflowState/RejectWorkflowStateStep/events.js.map +1 -1
  211. package/features/workflowState/RejectWorkflowStateStep/feature.js +6 -5
  212. package/features/workflowState/RejectWorkflowStateStep/feature.js.map +1 -1
  213. package/features/workflowState/RejectWorkflowStateStep/index.js +0 -2
  214. package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.js +26 -27
  215. package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.js.map +1 -1
  216. package/features/workflowState/StartWorkflowStateStep/abstractions.js +2 -1
  217. package/features/workflowState/StartWorkflowStateStep/abstractions.js.map +1 -1
  218. package/features/workflowState/StartWorkflowStateStep/events.js +9 -6
  219. package/features/workflowState/StartWorkflowStateStep/events.js.map +1 -1
  220. package/features/workflowState/StartWorkflowStateStep/feature.js +6 -5
  221. package/features/workflowState/StartWorkflowStateStep/feature.js.map +1 -1
  222. package/features/workflowState/StartWorkflowStateStep/index.js +0 -2
  223. package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.js +26 -27
  224. package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.js.map +1 -1
  225. package/features/workflowState/TakeOverWorkflowStateStep/abstractions.js +2 -1
  226. package/features/workflowState/TakeOverWorkflowStateStep/abstractions.js.map +1 -1
  227. package/features/workflowState/TakeOverWorkflowStateStep/events.js +9 -6
  228. package/features/workflowState/TakeOverWorkflowStateStep/events.js.map +1 -1
  229. package/features/workflowState/TakeOverWorkflowStateStep/feature.js +6 -5
  230. package/features/workflowState/TakeOverWorkflowStateStep/feature.js.map +1 -1
  231. package/features/workflowState/TakeOverWorkflowStateStep/index.js +0 -2
  232. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js +39 -37
  233. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js.map +1 -1
  234. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js +43 -41
  235. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js.map +1 -1
  236. package/features/workflowState/UpdateWorkflowState/abstractions.js +3 -12
  237. package/features/workflowState/UpdateWorkflowState/abstractions.js.map +1 -1
  238. package/features/workflowState/UpdateWorkflowState/events.js +9 -6
  239. package/features/workflowState/UpdateWorkflowState/events.js.map +1 -1
  240. package/features/workflowState/UpdateWorkflowState/feature.js +7 -6
  241. package/features/workflowState/UpdateWorkflowState/feature.js.map +1 -1
  242. package/features/workflowState/UpdateWorkflowState/index.js +1 -3
  243. package/graphql/notifications.js +21 -24
  244. package/graphql/notifications.js.map +1 -1
  245. package/graphql/validation/approveWorkflowState.js +4 -3
  246. package/graphql/validation/approveWorkflowState.js.map +1 -1
  247. package/graphql/validation/cancelWorkflowState.js +3 -2
  248. package/graphql/validation/cancelWorkflowState.js.map +1 -1
  249. package/graphql/validation/createWorkflowState.js +5 -4
  250. package/graphql/validation/createWorkflowState.js.map +1 -1
  251. package/graphql/validation/deleteWorkflow.js +4 -3
  252. package/graphql/validation/deleteWorkflow.js.map +1 -1
  253. package/graphql/validation/getTargetWorkflowState.js +4 -3
  254. package/graphql/validation/getTargetWorkflowState.js.map +1 -1
  255. package/graphql/validation/getWorkflow.js +4 -3
  256. package/graphql/validation/getWorkflow.js.map +1 -1
  257. package/graphql/validation/getWorkflowState.js +3 -2
  258. package/graphql/validation/getWorkflowState.js.map +1 -1
  259. package/graphql/validation/listWorkflowStates.d.ts +4 -4
  260. package/graphql/validation/listWorkflowStates.js +30 -36
  261. package/graphql/validation/listWorkflowStates.js.map +1 -1
  262. package/graphql/validation/listWorkflows.js +15 -18
  263. package/graphql/validation/listWorkflows.js.map +1 -1
  264. package/graphql/validation/rejectWorkflowState.js +4 -3
  265. package/graphql/validation/rejectWorkflowState.js.map +1 -1
  266. package/graphql/validation/startWorkflowState.js +3 -2
  267. package/graphql/validation/startWorkflowState.js.map +1 -1
  268. package/graphql/validation/step.js +12 -17
  269. package/graphql/validation/step.js.map +1 -1
  270. package/graphql/validation/storeWorkflow.js +5 -4
  271. package/graphql/validation/storeWorkflow.js.map +1 -1
  272. package/graphql/validation/takeOverWorkflowStateStep.js +3 -2
  273. package/graphql/validation/takeOverWorkflowStateStep.js.map +1 -1
  274. package/graphql/validation/workflow.js +4 -5
  275. package/graphql/validation/workflow.js.map +1 -1
  276. package/graphql/workflowState.js +132 -202
  277. package/graphql/workflowState.js.map +1 -1
  278. package/graphql/workflows.js +54 -79
  279. package/graphql/workflows.js.map +1 -1
  280. package/index.js +53 -67
  281. package/index.js.map +1 -1
  282. package/package.json +16 -16
  283. package/types.js +0 -3
  284. package/features/internal/GetUserTeams/index.js.map +0 -1
  285. package/features/notifications/ListNotificationTypes/index.js.map +0 -1
  286. package/features/notifications/NotificationTransport/index.js.map +0 -1
  287. package/features/shared/abstractions.js.map +0 -1
  288. package/features/workflow/CreateWorkflow/index.js.map +0 -1
  289. package/features/workflow/DeleteWorkflow/index.js.map +0 -1
  290. package/features/workflow/GetWorkflow/index.js.map +0 -1
  291. package/features/workflow/ListWorkflows/index.js.map +0 -1
  292. package/features/workflow/StoreWorkflow/index.js.map +0 -1
  293. package/features/workflow/UpdateWorkflow/index.js.map +0 -1
  294. package/features/workflowState/ApproveWorkflowStateStep/index.js.map +0 -1
  295. package/features/workflowState/CancelWorkflowState/index.js.map +0 -1
  296. package/features/workflowState/CreateWorkflowState/index.js.map +0 -1
  297. package/features/workflowState/DeleteTargetWorkflowState/index.js.map +0 -1
  298. package/features/workflowState/DeleteWorkflowState/index.js.map +0 -1
  299. package/features/workflowState/GetTargetWorkflowState/index.js.map +0 -1
  300. package/features/workflowState/GetWorkflowState/index.js.map +0 -1
  301. package/features/workflowState/ListOwnWorkflowStates/index.js.map +0 -1
  302. package/features/workflowState/ListRequestedWorkflowStates/index.js.map +0 -1
  303. package/features/workflowState/ListWorkflowStates/index.js.map +0 -1
  304. package/features/workflowState/RejectWorkflowStateStep/index.js.map +0 -1
  305. package/features/workflowState/StartWorkflowStateStep/index.js.map +0 -1
  306. package/features/workflowState/TakeOverWorkflowStateStep/index.js.map +0 -1
  307. package/features/workflowState/UpdateWorkflowState/index.js.map +0 -1
  308. package/types.js.map +0 -1
@@ -1,4 +1,2 @@
1
1
  export { CancelWorkflowStateUseCase } from "./abstractions.js";
2
2
  export { WorkflowStateCancelEvent } from "./events.js";
3
-
4
- //# sourceMappingURL=index.js.map
@@ -2,31 +2,34 @@ import { Result } from "@webiny/feature/api";
2
2
  import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js";
3
3
  import { WorkflowStateMapper, WorkflowStateModel } from "../../../domain/workflowState/abstractions.js";
4
4
  import { WorkflowStatePersistenceError } from "../../../domain/workflowState/errors.js";
5
- import { CreateWorkflowStateRepository as Repository } from "./abstractions.js";
5
+ import { CreateWorkflowStateRepository } from "./abstractions.js";
6
6
  class CreateWorkflowStateRepositoryImpl {
7
- constructor(createEntry, model, mapper) {
8
- this.createEntry = createEntry;
9
- this.model = model;
10
- this.mapper = mapper;
11
- }
12
- async execute(input) {
13
- try {
14
- const createResult = await this.createEntry.execute(this.model, {
15
- values: input
16
- });
17
- if (createResult.isFail()) {
18
- return Result.fail(new WorkflowStatePersistenceError(createResult.error));
19
- }
20
- const record = this.mapper.fromCmsEntry(createResult.value);
21
- return Result.ok(record);
22
- } catch (error) {
23
- return Result.fail(new WorkflowStatePersistenceError(error));
7
+ constructor(createEntry, model, mapper){
8
+ this.createEntry = createEntry;
9
+ this.model = model;
10
+ this.mapper = mapper;
11
+ }
12
+ async execute(input) {
13
+ try {
14
+ const createResult = await this.createEntry.execute(this.model, {
15
+ values: input
16
+ });
17
+ if (createResult.isFail()) return Result.fail(new WorkflowStatePersistenceError(createResult.error));
18
+ const record = this.mapper.fromCmsEntry(createResult.value);
19
+ return Result.ok(record);
20
+ } catch (error) {
21
+ return Result.fail(new WorkflowStatePersistenceError(error));
22
+ }
24
23
  }
25
- }
26
24
  }
27
- export const CreateWorkflowStateRepository = Repository.createImplementation({
28
- implementation: CreateWorkflowStateRepositoryImpl,
29
- dependencies: [CreateEntryUseCase, WorkflowStateModel, WorkflowStateMapper]
25
+ const CreateWorkflowStateRepository_CreateWorkflowStateRepository = CreateWorkflowStateRepository.createImplementation({
26
+ implementation: CreateWorkflowStateRepositoryImpl,
27
+ dependencies: [
28
+ CreateEntryUseCase,
29
+ WorkflowStateModel,
30
+ WorkflowStateMapper
31
+ ]
30
32
  });
33
+ export { CreateWorkflowStateRepository_CreateWorkflowStateRepository as CreateWorkflowStateRepository };
31
34
 
32
35
  //# sourceMappingURL=CreateWorkflowStateRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","CreateEntryUseCase","WorkflowStateMapper","WorkflowStateModel","WorkflowStatePersistenceError","CreateWorkflowStateRepository","Repository","CreateWorkflowStateRepositoryImpl","constructor","createEntry","model","mapper","execute","input","createResult","values","isFail","fail","error","record","fromCmsEntry","value","ok","createImplementation","implementation","dependencies"],"sources":["CreateWorkflowStateRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport { WorkflowStateMapper, WorkflowStateModel } from \"~/domain/workflowState/abstractions.js\";\nimport { WorkflowStatePersistenceError } from \"~/domain/workflowState/errors.js\";\nimport { CreateWorkflowStateRepository as Repository } from \"./abstractions.js\";\n\nclass CreateWorkflowStateRepositoryImpl implements Repository.Interface {\n constructor(\n private createEntry: CreateEntryUseCase.Interface,\n private model: WorkflowStateModel.Interface,\n private mapper: WorkflowStateMapper.Interface\n ) {}\n\n async execute(input: Repository.Input): Repository.Return {\n try {\n const createResult = await this.createEntry.execute<Repository.Input>(this.model, {\n values: input\n });\n\n if (createResult.isFail()) {\n return Result.fail(new WorkflowStatePersistenceError(createResult.error));\n }\n\n const record = this.mapper.fromCmsEntry(createResult.value);\n return Result.ok(record);\n } catch (error) {\n return Result.fail(new WorkflowStatePersistenceError(error as Error));\n }\n }\n}\n\nexport const CreateWorkflowStateRepository = Repository.createImplementation({\n implementation: CreateWorkflowStateRepositoryImpl,\n dependencies: [CreateEntryUseCase, WorkflowStateModel, WorkflowStateMapper]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,kBAAkB,QAAQ,qEAAqE;AACxG,SAASC,mBAAmB,EAAEC,kBAAkB;AAChD,SAASC,6BAA6B;AACtC,SAASC,6BAA6B,IAAIC,UAAU;AAEpD,MAAMC,iCAAiC,CAAiC;EACpEC,WAAWA,CACCC,WAAyC,EACzCC,KAAmC,EACnCC,MAAqC,EAC/C;IAAA,KAHUF,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,KAAmC,GAAnCA,KAAmC;IAAA,KACnCC,MAAqC,GAArCA,MAAqC;EAC9C;EAEH,MAAMC,OAAOA,CAACC,KAAuB,EAAqB;IACtD,IAAI;MACA,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACL,WAAW,CAACG,OAAO,CAAmB,IAAI,CAACF,KAAK,EAAE;QAC9EK,MAAM,EAAEF;MACZ,CAAC,CAAC;MAEF,IAAIC,YAAY,CAACE,MAAM,CAAC,CAAC,EAAE;QACvB,OAAOhB,MAAM,CAACiB,IAAI,CAAC,IAAIb,6BAA6B,CAACU,YAAY,CAACI,KAAK,CAAC,CAAC;MAC7E;MAEA,MAAMC,MAAM,GAAG,IAAI,CAACR,MAAM,CAACS,YAAY,CAACN,YAAY,CAACO,KAAK,CAAC;MAC3D,OAAOrB,MAAM,CAACsB,EAAE,CAACH,MAAM,CAAC;IAC5B,CAAC,CAAC,OAAOD,KAAK,EAAE;MACZ,OAAOlB,MAAM,CAACiB,IAAI,CAAC,IAAIb,6BAA6B,CAACc,KAAc,CAAC,CAAC;IACzE;EACJ;AACJ;AAEA,OAAO,MAAMb,6BAA6B,GAAGC,UAAU,CAACiB,oBAAoB,CAAC;EACzEC,cAAc,EAAEjB,iCAAiC;EACjDkB,YAAY,EAAE,CAACxB,kBAAkB,EAAEE,kBAAkB,EAAED,mBAAmB;AAC9E,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js","sources":["../../../../src/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport { WorkflowStateMapper, WorkflowStateModel } from \"~/domain/workflowState/abstractions.js\";\nimport { WorkflowStatePersistenceError } from \"~/domain/workflowState/errors.js\";\nimport { CreateWorkflowStateRepository as Repository } from \"./abstractions.js\";\n\nclass CreateWorkflowStateRepositoryImpl implements Repository.Interface {\n constructor(\n private createEntry: CreateEntryUseCase.Interface,\n private model: WorkflowStateModel.Interface,\n private mapper: WorkflowStateMapper.Interface\n ) {}\n\n async execute(input: Repository.Input): Repository.Return {\n try {\n const createResult = await this.createEntry.execute<Repository.Input>(this.model, {\n values: input\n });\n\n if (createResult.isFail()) {\n return Result.fail(new WorkflowStatePersistenceError(createResult.error));\n }\n\n const record = this.mapper.fromCmsEntry(createResult.value);\n return Result.ok(record);\n } catch (error) {\n return Result.fail(new WorkflowStatePersistenceError(error as Error));\n }\n }\n}\n\nexport const CreateWorkflowStateRepository = Repository.createImplementation({\n implementation: CreateWorkflowStateRepositoryImpl,\n dependencies: [CreateEntryUseCase, WorkflowStateModel, WorkflowStateMapper]\n});\n"],"names":["CreateWorkflowStateRepositoryImpl","createEntry","model","mapper","input","createResult","Result","WorkflowStatePersistenceError","record","error","CreateWorkflowStateRepository","Repository","CreateEntryUseCase","WorkflowStateModel","WorkflowStateMapper"],"mappings":";;;;;AAMA,MAAMA;IACF,YACYC,WAAyC,EACzCC,KAAmC,EACnCC,MAAqC,CAC/C;aAHUF,WAAW,GAAXA;aACAC,KAAK,GAALA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,QAAQC,KAAuB,EAAqB;QACtD,IAAI;YACA,MAAMC,eAAe,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAmB,IAAI,CAAC,KAAK,EAAE;gBAC9E,QAAQD;YACZ;YAEA,IAAIC,aAAa,MAAM,IACnB,OAAOC,OAAO,IAAI,CAAC,IAAIC,8BAA8BF,aAAa,KAAK;YAG3E,MAAMG,SAAS,IAAI,CAAC,MAAM,CAAC,YAAY,CAACH,aAAa,KAAK;YAC1D,OAAOC,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOH,OAAO,IAAI,CAAC,IAAIC,8BAA8BE;QACzD;IACJ;AACJ;AAEO,MAAMC,8DAAgCC,8BAAAA,oBAA+B,CAAC;IACzE,gBAAgBX;IAChB,cAAc;QAACY;QAAoBC;QAAoBC;KAAoB;AAC/E"}
@@ -5,104 +5,92 @@ import { GetUserTeamsUseCase } from "../../internal/GetUserTeams/index.js";
5
5
  import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
6
6
  import { ListWorkflowsUseCase } from "../../workflow/ListWorkflows/index.js";
7
7
  import { GetTargetWorkflowStateUseCase } from "../GetTargetWorkflowState/index.js";
8
- import { CreateWorkflowStateRepository, CreateWorkflowStateUseCase as UseCase } from "./abstractions.js";
8
+ import { CreateWorkflowStateRepository, CreateWorkflowStateUseCase } from "./abstractions.js";
9
9
  import { WorkflowStateAfterCreateEvent } from "./events.js";
10
10
  import { WorkflowState } from "../../../domain/workflowState/WorkflowState.js";
11
11
  import { WorkflowStateRecordState } from "../../../domain/workflowState/abstractions.js";
12
- import { WorkflowStateValidationError, ActiveStateExistsError, MultipleWorkflowsFoundError, WorkflowStatePersistenceError } from "../../../domain/workflowState/errors.js";
12
+ import { ActiveStateExistsError, MultipleWorkflowsFoundError, WorkflowStatePersistenceError, WorkflowStateValidationError } from "../../../domain/workflowState/errors.js";
13
13
  import { WorkflowNotFoundError } from "../../../domain/workflow/errors.js";
14
14
  class CreateWorkflowStateUseCaseImpl {
15
- constructor(identityContext, getUserTeams, eventPublisher, listWorkflows, getTargetState, repository) {
16
- this.identityContext = identityContext;
17
- this.getUserTeams = getUserTeams;
18
- this.eventPublisher = eventPublisher;
19
- this.listWorkflows = listWorkflows;
20
- this.getTargetState = getTargetState;
21
- this.repository = repository;
22
- }
23
- async execute(input) {
24
- const {
25
- id: targetId,
26
- version
27
- } = parseIdentifier(input.targetRevisionId);
28
- if (!version) {
29
- return Result.fail(new WorkflowStateValidationError("Cannot create a workflow state without version of a target record."));
15
+ constructor(identityContext, getUserTeams, eventPublisher, listWorkflows, getTargetState, repository){
16
+ this.identityContext = identityContext;
17
+ this.getUserTeams = getUserTeams;
18
+ this.eventPublisher = eventPublisher;
19
+ this.listWorkflows = listWorkflows;
20
+ this.getTargetState = getTargetState;
21
+ this.repository = repository;
30
22
  }
31
- const workflowsResult = await this.listWorkflows.execute({
32
- where: {
33
- app: input.app
34
- },
35
- limit: 1
36
- });
37
- if (workflowsResult.isFail()) {
38
- return Result.fail(new WorkflowStatePersistenceError(workflowsResult.error));
23
+ async execute(input) {
24
+ const { id: targetId, version } = parseIdentifier(input.targetRevisionId);
25
+ if (!version) return Result.fail(new WorkflowStateValidationError("Cannot create a workflow state without version of a target record."));
26
+ const workflowsResult = await this.listWorkflows.execute({
27
+ where: {
28
+ app: input.app
29
+ },
30
+ limit: 1
31
+ });
32
+ if (workflowsResult.isFail()) return Result.fail(new WorkflowStatePersistenceError(workflowsResult.error));
33
+ const { items: workflows, meta } = workflowsResult.value;
34
+ const workflow = workflows[0];
35
+ if (!workflow) return Result.fail(new WorkflowNotFoundError({
36
+ id: "",
37
+ app: input.app
38
+ }));
39
+ if (meta.totalCount > 1) return Result.fail(new MultipleWorkflowsFoundError({
40
+ app: input.app,
41
+ targetRevisionId: input.targetRevisionId,
42
+ workflows,
43
+ meta
44
+ }));
45
+ const existingStateResult = await this.getTargetState.execute({
46
+ app: input.app,
47
+ targetRevisionId: input.targetRevisionId
48
+ });
49
+ if (existingStateResult.isOk()) return Result.fail(new ActiveStateExistsError({
50
+ app: input.app,
51
+ targetRevisionId: input.targetRevisionId
52
+ }));
53
+ if (0 === workflow.steps.length) return Result.fail(new WorkflowStateValidationError("Cannot create a workflow state for a workflow that has no steps defined."));
54
+ const identity = this.identityContext.getIdentity();
55
+ const record = {
56
+ workflowId: workflow.id,
57
+ comment: void 0,
58
+ state: WorkflowStateRecordState.pending,
59
+ app: input.app,
60
+ title: input.title,
61
+ targetId,
62
+ isActive: true,
63
+ targetRevisionId: input.targetRevisionId,
64
+ steps: workflow.steps.map((step)=>({
65
+ ...step,
66
+ state: WorkflowStateRecordState.pending,
67
+ savedBy: null,
68
+ comment: null
69
+ }))
70
+ };
71
+ const createResult = await this.repository.execute(record);
72
+ if (createResult.isFail()) return Result.fail(createResult.error);
73
+ const createdRecord = createResult.value;
74
+ const teamsResult = await this.getUserTeams.execute(identity.id);
75
+ const teams = teamsResult.value;
76
+ const workflowState = new WorkflowState(createdRecord, teams, identity);
77
+ await this.eventPublisher.publish(new WorkflowStateAfterCreateEvent({
78
+ state: workflowState
79
+ }));
80
+ return Result.ok(workflowState);
39
81
  }
40
- const {
41
- items: workflows,
42
- meta
43
- } = workflowsResult.value;
44
- const workflow = workflows[0];
45
- if (!workflow) {
46
- return Result.fail(new WorkflowNotFoundError({
47
- id: "",
48
- app: input.app
49
- }));
50
- }
51
- if (meta.totalCount > 1) {
52
- return Result.fail(new MultipleWorkflowsFoundError({
53
- app: input.app,
54
- targetRevisionId: input.targetRevisionId,
55
- workflows,
56
- meta
57
- }));
58
- }
59
- const existingStateResult = await this.getTargetState.execute({
60
- app: input.app,
61
- targetRevisionId: input.targetRevisionId
62
- });
63
- if (existingStateResult.isOk()) {
64
- return Result.fail(new ActiveStateExistsError({
65
- app: input.app,
66
- targetRevisionId: input.targetRevisionId
67
- }));
68
- }
69
- if (workflow.steps.length === 0) {
70
- return Result.fail(new WorkflowStateValidationError("Cannot create a workflow state for a workflow that has no steps defined."));
71
- }
72
- const identity = this.identityContext.getIdentity();
73
- const record = {
74
- workflowId: workflow.id,
75
- comment: undefined,
76
- state: WorkflowStateRecordState.pending,
77
- app: input.app,
78
- title: input.title,
79
- targetId,
80
- isActive: true,
81
- targetRevisionId: input.targetRevisionId,
82
- steps: workflow.steps.map(step => ({
83
- ...step,
84
- state: WorkflowStateRecordState.pending,
85
- savedBy: null,
86
- comment: null
87
- }))
88
- };
89
- const createResult = await this.repository.execute(record);
90
- if (createResult.isFail()) {
91
- return Result.fail(createResult.error);
92
- }
93
- const createdRecord = createResult.value;
94
- const teamsResult = await this.getUserTeams.execute(identity.id);
95
- const teams = teamsResult.value;
96
- const workflowState = new WorkflowState(createdRecord, teams, identity);
97
- await this.eventPublisher.publish(new WorkflowStateAfterCreateEvent({
98
- state: workflowState
99
- }));
100
- return Result.ok(workflowState);
101
- }
102
82
  }
103
- export const CreateWorkflowStateUseCase = UseCase.createImplementation({
104
- implementation: CreateWorkflowStateUseCaseImpl,
105
- dependencies: [IdentityContext, GetUserTeamsUseCase, EventPublisher, ListWorkflowsUseCase, GetTargetWorkflowStateUseCase, CreateWorkflowStateRepository]
83
+ const CreateWorkflowStateUseCase_CreateWorkflowStateUseCase = CreateWorkflowStateUseCase.createImplementation({
84
+ implementation: CreateWorkflowStateUseCaseImpl,
85
+ dependencies: [
86
+ IdentityContext,
87
+ GetUserTeamsUseCase,
88
+ EventPublisher,
89
+ ListWorkflowsUseCase,
90
+ GetTargetWorkflowStateUseCase,
91
+ CreateWorkflowStateRepository
92
+ ]
106
93
  });
94
+ export { CreateWorkflowStateUseCase_CreateWorkflowStateUseCase as CreateWorkflowStateUseCase };
107
95
 
108
96
  //# sourceMappingURL=CreateWorkflowStateUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","parseIdentifier","IdentityContext","GetUserTeamsUseCase","EventPublisher","ListWorkflowsUseCase","GetTargetWorkflowStateUseCase","CreateWorkflowStateRepository","CreateWorkflowStateUseCase","UseCase","WorkflowStateAfterCreateEvent","WorkflowState","WorkflowStateRecordState","WorkflowStateValidationError","ActiveStateExistsError","MultipleWorkflowsFoundError","WorkflowStatePersistenceError","WorkflowNotFoundError","CreateWorkflowStateUseCaseImpl","constructor","identityContext","getUserTeams","eventPublisher","listWorkflows","getTargetState","repository","execute","input","id","targetId","version","targetRevisionId","fail","workflowsResult","where","app","limit","isFail","error","items","workflows","meta","value","workflow","totalCount","existingStateResult","isOk","steps","length","identity","getIdentity","record","workflowId","comment","undefined","state","pending","title","isActive","map","step","savedBy","createResult","createdRecord","teamsResult","teams","workflowState","publish","ok","createImplementation","implementation","dependencies"],"sources":["CreateWorkflowStateUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { parseIdentifier } from \"@webiny/utils/parseIdentifier.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { GetUserTeamsUseCase } from \"~/features/internal/GetUserTeams/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { ListWorkflowsUseCase } from \"~/features/workflow/ListWorkflows/index.js\";\nimport { GetTargetWorkflowStateUseCase } from \"../GetTargetWorkflowState/index.js\";\nimport {\n CreateWorkflowStateRepository,\n CreateWorkflowStateUseCase as UseCase\n} from \"./abstractions.js\";\nimport { WorkflowStateAfterCreateEvent } from \"./events.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\nimport { WorkflowStateRecordState } from \"~/domain/workflowState/abstractions.js\";\nimport {\n WorkflowStateValidationError,\n ActiveStateExistsError,\n MultipleWorkflowsFoundError,\n WorkflowStatePersistenceError\n} from \"~/domain/workflowState/errors.js\";\nimport { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\n\nclass CreateWorkflowStateUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private getUserTeams: GetUserTeamsUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private listWorkflows: ListWorkflowsUseCase.Interface,\n private getTargetState: GetTargetWorkflowStateUseCase.Interface,\n private repository: CreateWorkflowStateRepository.Interface\n ) {}\n\n async execute(input: UseCase.Input): UseCase.Return {\n const { id: targetId, version } = parseIdentifier(input.targetRevisionId);\n if (!version) {\n return Result.fail(\n new WorkflowStateValidationError(\n \"Cannot create a workflow state without version of a target record.\"\n )\n );\n }\n\n const workflowsResult = await this.listWorkflows.execute({\n where: {\n app: input.app\n },\n limit: 1\n });\n\n if (workflowsResult.isFail()) {\n return Result.fail(new WorkflowStatePersistenceError(workflowsResult.error));\n }\n\n const { items: workflows, meta } = workflowsResult.value;\n const workflow = workflows[0];\n\n if (!workflow) {\n return Result.fail(\n new WorkflowNotFoundError({\n id: \"\",\n app: input.app\n })\n );\n }\n\n if (meta.totalCount > 1) {\n return Result.fail(\n new MultipleWorkflowsFoundError({\n app: input.app,\n targetRevisionId: input.targetRevisionId,\n workflows,\n meta\n })\n );\n }\n\n const existingStateResult = await this.getTargetState.execute({\n app: input.app,\n targetRevisionId: input.targetRevisionId\n });\n\n if (existingStateResult.isOk()) {\n return Result.fail(\n new ActiveStateExistsError({\n app: input.app,\n targetRevisionId: input.targetRevisionId\n })\n );\n }\n\n if (workflow.steps.length === 0) {\n return Result.fail(\n new WorkflowStateValidationError(\n \"Cannot create a workflow state for a workflow that has no steps defined.\"\n )\n );\n }\n\n const identity = this.identityContext.getIdentity();\n\n const record: CreateWorkflowStateRepository.Input = {\n workflowId: workflow.id,\n comment: undefined,\n state: WorkflowStateRecordState.pending,\n app: input.app,\n title: input.title,\n targetId,\n isActive: true,\n targetRevisionId: input.targetRevisionId,\n steps: workflow.steps.map(step => ({\n ...step,\n state: WorkflowStateRecordState.pending,\n savedBy: null,\n comment: null\n }))\n };\n\n const createResult = await this.repository.execute(record);\n if (createResult.isFail()) {\n return Result.fail(createResult.error);\n }\n\n const createdRecord = createResult.value;\n\n const teamsResult = await this.getUserTeams.execute(identity.id);\n const teams = teamsResult.value;\n const workflowState = new WorkflowState(createdRecord, teams, identity);\n\n await this.eventPublisher.publish(\n new WorkflowStateAfterCreateEvent({\n state: workflowState\n })\n );\n\n return Result.ok(workflowState);\n }\n}\n\nexport const CreateWorkflowStateUseCase = UseCase.createImplementation({\n implementation: CreateWorkflowStateUseCaseImpl,\n dependencies: [\n IdentityContext,\n GetUserTeamsUseCase,\n EventPublisher,\n ListWorkflowsUseCase,\n GetTargetWorkflowStateUseCase,\n CreateWorkflowStateRepository\n ]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js","sources":["../../../../src/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { parseIdentifier } from \"@webiny/utils/parseIdentifier.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { GetUserTeamsUseCase } from \"~/features/internal/GetUserTeams/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { ListWorkflowsUseCase } from \"~/features/workflow/ListWorkflows/index.js\";\nimport { GetTargetWorkflowStateUseCase } from \"../GetTargetWorkflowState/index.js\";\nimport {\n CreateWorkflowStateRepository,\n CreateWorkflowStateUseCase as UseCase\n} from \"./abstractions.js\";\nimport { WorkflowStateAfterCreateEvent } from \"./events.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\nimport { WorkflowStateRecordState } from \"~/domain/workflowState/abstractions.js\";\nimport {\n WorkflowStateValidationError,\n ActiveStateExistsError,\n MultipleWorkflowsFoundError,\n WorkflowStatePersistenceError\n} from \"~/domain/workflowState/errors.js\";\nimport { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\n\nclass CreateWorkflowStateUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private getUserTeams: GetUserTeamsUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private listWorkflows: ListWorkflowsUseCase.Interface,\n private getTargetState: GetTargetWorkflowStateUseCase.Interface,\n private repository: CreateWorkflowStateRepository.Interface\n ) {}\n\n async execute(input: UseCase.Input): UseCase.Return {\n const { id: targetId, version } = parseIdentifier(input.targetRevisionId);\n if (!version) {\n return Result.fail(\n new WorkflowStateValidationError(\n \"Cannot create a workflow state without version of a target record.\"\n )\n );\n }\n\n const workflowsResult = await this.listWorkflows.execute({\n where: {\n app: input.app\n },\n limit: 1\n });\n\n if (workflowsResult.isFail()) {\n return Result.fail(new WorkflowStatePersistenceError(workflowsResult.error));\n }\n\n const { items: workflows, meta } = workflowsResult.value;\n const workflow = workflows[0];\n\n if (!workflow) {\n return Result.fail(\n new WorkflowNotFoundError({\n id: \"\",\n app: input.app\n })\n );\n }\n\n if (meta.totalCount > 1) {\n return Result.fail(\n new MultipleWorkflowsFoundError({\n app: input.app,\n targetRevisionId: input.targetRevisionId,\n workflows,\n meta\n })\n );\n }\n\n const existingStateResult = await this.getTargetState.execute({\n app: input.app,\n targetRevisionId: input.targetRevisionId\n });\n\n if (existingStateResult.isOk()) {\n return Result.fail(\n new ActiveStateExistsError({\n app: input.app,\n targetRevisionId: input.targetRevisionId\n })\n );\n }\n\n if (workflow.steps.length === 0) {\n return Result.fail(\n new WorkflowStateValidationError(\n \"Cannot create a workflow state for a workflow that has no steps defined.\"\n )\n );\n }\n\n const identity = this.identityContext.getIdentity();\n\n const record: CreateWorkflowStateRepository.Input = {\n workflowId: workflow.id,\n comment: undefined,\n state: WorkflowStateRecordState.pending,\n app: input.app,\n title: input.title,\n targetId,\n isActive: true,\n targetRevisionId: input.targetRevisionId,\n steps: workflow.steps.map(step => ({\n ...step,\n state: WorkflowStateRecordState.pending,\n savedBy: null,\n comment: null\n }))\n };\n\n const createResult = await this.repository.execute(record);\n if (createResult.isFail()) {\n return Result.fail(createResult.error);\n }\n\n const createdRecord = createResult.value;\n\n const teamsResult = await this.getUserTeams.execute(identity.id);\n const teams = teamsResult.value;\n const workflowState = new WorkflowState(createdRecord, teams, identity);\n\n await this.eventPublisher.publish(\n new WorkflowStateAfterCreateEvent({\n state: workflowState\n })\n );\n\n return Result.ok(workflowState);\n }\n}\n\nexport const CreateWorkflowStateUseCase = UseCase.createImplementation({\n implementation: CreateWorkflowStateUseCaseImpl,\n dependencies: [\n IdentityContext,\n GetUserTeamsUseCase,\n EventPublisher,\n ListWorkflowsUseCase,\n GetTargetWorkflowStateUseCase,\n CreateWorkflowStateRepository\n ]\n});\n"],"names":["CreateWorkflowStateUseCaseImpl","identityContext","getUserTeams","eventPublisher","listWorkflows","getTargetState","repository","input","targetId","version","parseIdentifier","Result","WorkflowStateValidationError","workflowsResult","WorkflowStatePersistenceError","workflows","meta","workflow","WorkflowNotFoundError","MultipleWorkflowsFoundError","existingStateResult","ActiveStateExistsError","identity","record","undefined","WorkflowStateRecordState","step","createResult","createdRecord","teamsResult","teams","workflowState","WorkflowState","WorkflowStateAfterCreateEvent","CreateWorkflowStateUseCase","UseCase","IdentityContext","GetUserTeamsUseCase","EventPublisher","ListWorkflowsUseCase","GetTargetWorkflowStateUseCase","CreateWorkflowStateRepository"],"mappings":";;;;;;;;;;;;;AAsBA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,YAA2C,EAC3CC,cAAwC,EACxCC,aAA6C,EAC7CC,cAAuD,EACvDC,UAAmD,CAC7D;aANUL,eAAe,GAAfA;aACAC,YAAY,GAAZA;aACAC,cAAc,GAAdA;aACAC,aAAa,GAAbA;aACAC,cAAc,GAAdA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,KAAoB,EAAkB;QAChD,MAAM,EAAE,IAAIC,QAAQ,EAAEC,OAAO,EAAE,GAAGC,gBAAgBH,MAAM,gBAAgB;QACxE,IAAI,CAACE,SACD,OAAOE,OAAO,IAAI,CACd,IAAIC,6BACA;QAKZ,MAAMC,kBAAkB,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YACrD,OAAO;gBACH,KAAKN,MAAM,GAAG;YAClB;YACA,OAAO;QACX;QAEA,IAAIM,gBAAgB,MAAM,IACtB,OAAOF,OAAO,IAAI,CAAC,IAAIG,8BAA8BD,gBAAgB,KAAK;QAG9E,MAAM,EAAE,OAAOE,SAAS,EAAEC,IAAI,EAAE,GAAGH,gBAAgB,KAAK;QACxD,MAAMI,WAAWF,SAAS,CAAC,EAAE;QAE7B,IAAI,CAACE,UACD,OAAON,OAAO,IAAI,CACd,IAAIO,sBAAsB;YACtB,IAAI;YACJ,KAAKX,MAAM,GAAG;QAClB;QAIR,IAAIS,KAAK,UAAU,GAAG,GAClB,OAAOL,OAAO,IAAI,CACd,IAAIQ,4BAA4B;YAC5B,KAAKZ,MAAM,GAAG;YACd,kBAAkBA,MAAM,gBAAgB;YACxCQ;YACAC;QACJ;QAIR,MAAMI,sBAAsB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAC1D,KAAKb,MAAM,GAAG;YACd,kBAAkBA,MAAM,gBAAgB;QAC5C;QAEA,IAAIa,oBAAoB,IAAI,IACxB,OAAOT,OAAO,IAAI,CACd,IAAIU,uBAAuB;YACvB,KAAKd,MAAM,GAAG;YACd,kBAAkBA,MAAM,gBAAgB;QAC5C;QAIR,IAAIU,AAA0B,MAA1BA,SAAS,KAAK,CAAC,MAAM,EACrB,OAAON,OAAO,IAAI,CACd,IAAIC,6BACA;QAKZ,MAAMU,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;QAEjD,MAAMC,SAA8C;YAChD,YAAYN,SAAS,EAAE;YACvB,SAASO;YACT,OAAOC,yBAAyB,OAAO;YACvC,KAAKlB,MAAM,GAAG;YACd,OAAOA,MAAM,KAAK;YAClBC;YACA,UAAU;YACV,kBAAkBD,MAAM,gBAAgB;YACxC,OAAOU,SAAS,KAAK,CAAC,GAAG,CAACS,CAAAA,OAAS;oBAC/B,GAAGA,IAAI;oBACP,OAAOD,yBAAyB,OAAO;oBACvC,SAAS;oBACT,SAAS;gBACb;QACJ;QAEA,MAAME,eAAe,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACJ;QACnD,IAAII,aAAa,MAAM,IACnB,OAAOhB,OAAO,IAAI,CAACgB,aAAa,KAAK;QAGzC,MAAMC,gBAAgBD,aAAa,KAAK;QAExC,MAAME,cAAc,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAACP,SAAS,EAAE;QAC/D,MAAMQ,QAAQD,YAAY,KAAK;QAC/B,MAAME,gBAAgB,IAAIC,cAAcJ,eAAeE,OAAOR;QAE9D,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIW,8BAA8B;YAC9B,OAAOF;QACX;QAGJ,OAAOpB,OAAO,EAAE,CAACoB;IACrB;AACJ;AAEO,MAAMG,wDAA6BC,2BAAAA,oBAA4B,CAAC;IACnE,gBAAgBnC;IAChB,cAAc;QACVoC;QACAC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -1,15 +1,6 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * CreateWorkflowState use case interface
5
- */
6
-
7
- export const CreateWorkflowStateUseCase = createAbstraction("CreateWorkflowStateUseCase");
8
-
9
- /**
10
- * CreateWorkflowState repository interface
11
- */
12
-
13
- export const CreateWorkflowStateRepository = createAbstraction("CreateWorkflowStateRepository");
2
+ const CreateWorkflowStateUseCase = createAbstraction("CreateWorkflowStateUseCase");
3
+ const CreateWorkflowStateRepository = createAbstraction("CreateWorkflowStateRepository");
4
+ export { CreateWorkflowStateRepository, CreateWorkflowStateUseCase };
14
5
 
15
6
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","CreateWorkflowStateUseCase","CreateWorkflowStateRepository"],"sources":["abstractions.ts"],"sourcesContent":["import type { Result } from \"@webiny/feature/api\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { IWorkflowStateRecord } from \"~/domain/workflowState/abstractions.js\";\nimport {\n type ActiveStateExistsError,\n MultipleWorkflowsFoundError,\n type WorkflowStateNotFoundError,\n type WorkflowStatePersistenceError,\n type WorkflowStateValidationError\n} from \"~/domain/workflowState/errors.js\";\nimport type { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\nimport type { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\n\nexport interface ICreateWorkflowStateUseCaseInput {\n app: string;\n targetRevisionId: string;\n title: string;\n}\n\nexport interface WorkflowStateAfterCreatePayload {\n state: WorkflowState;\n}\n\n/**\n * CreateWorkflowState use case interface\n */\nexport interface ICreateWorkflowStateUseCase {\n execute(input: ICreateWorkflowStateUseCaseInput): Promise<Result<WorkflowState, UseCaseError>>;\n}\n\nexport interface ICreateWorkflowStateUseCaseErrors {\n notFound: WorkflowStateNotFoundError;\n workflowNotFound: WorkflowNotFoundError;\n multipleWorkflows: MultipleWorkflowsFoundError;\n activeExists: ActiveStateExistsError;\n validation: WorkflowStateValidationError;\n persistence: WorkflowStatePersistenceError;\n}\n\ntype UseCaseError = ICreateWorkflowStateUseCaseErrors[keyof ICreateWorkflowStateUseCaseErrors];\n\nexport const CreateWorkflowStateUseCase = createAbstraction<ICreateWorkflowStateUseCase>(\n \"CreateWorkflowStateUseCase\"\n);\n\nexport namespace CreateWorkflowStateUseCase {\n export type Interface = ICreateWorkflowStateUseCase;\n export type Input = ICreateWorkflowStateUseCaseInput;\n export type Return = Promise<Result<WorkflowState, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n/**\n * CreateWorkflowState repository interface\n */\n\nexport type ICreateWorkflowStateRepositoryInput = Omit<\n IWorkflowStateRecord,\n \"id\" | \"savedBy\" | \"createdOn\" | \"savedOn\" | \"createdBy\"\n>;\n\nexport interface ICreateWorkflowStateRepository {\n execute(\n input: ICreateWorkflowStateRepositoryInput\n ): Promise<Result<IWorkflowStateRecord, RepositoryError>>;\n}\n\nexport interface ICreateWorkflowStateRepositoryErrors {\n persistence: WorkflowStatePersistenceError;\n}\n\ntype RepositoryError =\n ICreateWorkflowStateRepositoryErrors[keyof ICreateWorkflowStateRepositoryErrors];\n\nexport const CreateWorkflowStateRepository = createAbstraction<ICreateWorkflowStateRepository>(\n \"CreateWorkflowStateRepository\"\n);\n\nexport namespace CreateWorkflowStateRepository {\n export type Interface = ICreateWorkflowStateRepository;\n export type Input = ICreateWorkflowStateRepositoryInput;\n export type Return = Promise<Result<IWorkflowStateRecord, RepositoryError>>;\n export type Error = RepositoryError;\n}\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAsBvD;AACA;AACA;;AAgBA,OAAO,MAAMC,0BAA0B,GAAGD,iBAAiB,CACvD,4BACJ,CAAC;;AASD;AACA;AACA;;AAoBA,OAAO,MAAME,6BAA6B,GAAGF,iBAAiB,CAC1D,+BACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflowState/CreateWorkflowState/abstractions.js","sources":["../../../../src/features/workflowState/CreateWorkflowState/abstractions.ts"],"sourcesContent":["import type { Result } from \"@webiny/feature/api\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { IWorkflowStateRecord } from \"~/domain/workflowState/abstractions.js\";\nimport {\n type ActiveStateExistsError,\n MultipleWorkflowsFoundError,\n type WorkflowStateNotFoundError,\n type WorkflowStatePersistenceError,\n type WorkflowStateValidationError\n} from \"~/domain/workflowState/errors.js\";\nimport type { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\nimport type { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\n\nexport interface ICreateWorkflowStateUseCaseInput {\n app: string;\n targetRevisionId: string;\n title: string;\n}\n\nexport interface WorkflowStateAfterCreatePayload {\n state: WorkflowState;\n}\n\n/**\n * CreateWorkflowState use case interface\n */\nexport interface ICreateWorkflowStateUseCase {\n execute(input: ICreateWorkflowStateUseCaseInput): Promise<Result<WorkflowState, UseCaseError>>;\n}\n\nexport interface ICreateWorkflowStateUseCaseErrors {\n notFound: WorkflowStateNotFoundError;\n workflowNotFound: WorkflowNotFoundError;\n multipleWorkflows: MultipleWorkflowsFoundError;\n activeExists: ActiveStateExistsError;\n validation: WorkflowStateValidationError;\n persistence: WorkflowStatePersistenceError;\n}\n\ntype UseCaseError = ICreateWorkflowStateUseCaseErrors[keyof ICreateWorkflowStateUseCaseErrors];\n\nexport const CreateWorkflowStateUseCase = createAbstraction<ICreateWorkflowStateUseCase>(\n \"CreateWorkflowStateUseCase\"\n);\n\nexport namespace CreateWorkflowStateUseCase {\n export type Interface = ICreateWorkflowStateUseCase;\n export type Input = ICreateWorkflowStateUseCaseInput;\n export type Return = Promise<Result<WorkflowState, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n/**\n * CreateWorkflowState repository interface\n */\n\nexport type ICreateWorkflowStateRepositoryInput = Omit<\n IWorkflowStateRecord,\n \"id\" | \"savedBy\" | \"createdOn\" | \"savedOn\" | \"createdBy\"\n>;\n\nexport interface ICreateWorkflowStateRepository {\n execute(\n input: ICreateWorkflowStateRepositoryInput\n ): Promise<Result<IWorkflowStateRecord, RepositoryError>>;\n}\n\nexport interface ICreateWorkflowStateRepositoryErrors {\n persistence: WorkflowStatePersistenceError;\n}\n\ntype RepositoryError =\n ICreateWorkflowStateRepositoryErrors[keyof ICreateWorkflowStateRepositoryErrors];\n\nexport const CreateWorkflowStateRepository = createAbstraction<ICreateWorkflowStateRepository>(\n \"CreateWorkflowStateRepository\"\n);\n\nexport namespace CreateWorkflowStateRepository {\n export type Interface = ICreateWorkflowStateRepository;\n export type Input = ICreateWorkflowStateRepositoryInput;\n export type Return = Promise<Result<IWorkflowStateRecord, RepositoryError>>;\n export type Error = RepositoryError;\n}\n"],"names":["CreateWorkflowStateUseCase","createAbstraction","CreateWorkflowStateRepository"],"mappings":";AAyCO,MAAMA,6BAA6BC,kBACtC;AAgCG,MAAMC,gCAAgCD,kBACzC"}
@@ -1,11 +1,14 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
2
  import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
- export class WorkflowStateAfterCreateEvent extends DomainEvent {
4
- eventType = "workflowState.afterCreate";
5
- getHandlerAbstraction() {
6
- return WorkflowStateAfterCreateHandler;
7
- }
3
+ class WorkflowStateAfterCreateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return WorkflowStateAfterCreateHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "workflowState.afterCreate";
9
+ }
8
10
  }
9
- export const WorkflowStateAfterCreateHandler = createAbstraction("WorkflowStateAfterCreateHandler");
11
+ const WorkflowStateAfterCreateHandler = createAbstraction("WorkflowStateAfterCreateHandler");
12
+ export { WorkflowStateAfterCreateEvent, WorkflowStateAfterCreateHandler };
10
13
 
11
14
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","WorkflowStateAfterCreateEvent","eventType","getHandlerAbstraction","WorkflowStateAfterCreateHandler"],"sources":["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 { WorkflowStateAfterCreatePayload } from \"./abstractions.js\";\n\nexport class WorkflowStateAfterCreateEvent extends DomainEvent<WorkflowStateAfterCreatePayload> {\n eventType = \"workflowState.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowStateAfterCreateHandler;\n }\n}\n\nexport const WorkflowStateAfterCreateHandler = createAbstraction<\n IEventHandler<WorkflowStateAfterCreateEvent>\n>(\"WorkflowStateAfterCreateHandler\");\n\nexport namespace WorkflowStateAfterCreateHandler {\n export type Interface = IEventHandler<WorkflowStateAfterCreateEvent>;\n export type Event = WorkflowStateAfterCreateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,mDAAmD;AAI/E,OAAO,MAAMC,6BAA6B,SAASD,WAAW,CAAkC;EAC5FE,SAAS,GAAG,2BAA2B;EAEvCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,+BAA+B;EAC1C;AACJ;AAEA,OAAO,MAAMA,+BAA+B,GAAGL,iBAAiB,CAE9D,iCAAiC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflowState/CreateWorkflowState/events.js","sources":["../../../../src/features/workflowState/CreateWorkflowState/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 { WorkflowStateAfterCreatePayload } from \"./abstractions.js\";\n\nexport class WorkflowStateAfterCreateEvent extends DomainEvent<WorkflowStateAfterCreatePayload> {\n eventType = \"workflowState.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowStateAfterCreateHandler;\n }\n}\n\nexport const WorkflowStateAfterCreateHandler = createAbstraction<\n IEventHandler<WorkflowStateAfterCreateEvent>\n>(\"WorkflowStateAfterCreateHandler\");\n\nexport namespace WorkflowStateAfterCreateHandler {\n export type Interface = IEventHandler<WorkflowStateAfterCreateEvent>;\n export type Event = WorkflowStateAfterCreateEvent;\n}\n"],"names":["WorkflowStateAfterCreateEvent","DomainEvent","WorkflowStateAfterCreateHandler","createAbstraction"],"mappings":";;AAKO,MAAMA,sCAAsCC;IAG/C,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAEO,MAAMA,kCAAkCC,kBAE7C"}
@@ -1,12 +1,13 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { CreateWorkflowStateUseCase } from "./CreateWorkflowStateUseCase.js";
3
3
  import { CreateWorkflowStateRepository } from "./CreateWorkflowStateRepository.js";
4
- export const CreateWorkflowStateFeature = createFeature({
5
- name: "WorkflowState/CreateWorkflowState",
6
- register(container) {
7
- container.register(CreateWorkflowStateRepository).inSingletonScope();
8
- container.register(CreateWorkflowStateUseCase);
9
- }
4
+ const CreateWorkflowStateFeature = createFeature({
5
+ name: "WorkflowState/CreateWorkflowState",
6
+ register (container) {
7
+ container.register(CreateWorkflowStateRepository).inSingletonScope();
8
+ container.register(CreateWorkflowStateUseCase);
9
+ }
10
10
  });
11
+ export { CreateWorkflowStateFeature };
11
12
 
12
13
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","CreateWorkflowStateUseCase","CreateWorkflowStateRepository","CreateWorkflowStateFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateWorkflowStateUseCase } from \"./CreateWorkflowStateUseCase.js\";\nimport { CreateWorkflowStateRepository } from \"./CreateWorkflowStateRepository.js\";\n\nexport const CreateWorkflowStateFeature = createFeature({\n name: \"WorkflowState/CreateWorkflowState\",\n register(container) {\n container.register(CreateWorkflowStateRepository).inSingletonScope();\n container.register(CreateWorkflowStateUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,0BAA0B;AACnC,SAASC,6BAA6B;AAEtC,OAAO,MAAMC,0BAA0B,GAAGH,aAAa,CAAC;EACpDI,IAAI,EAAE,mCAAmC;EACzCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,6BAA6B,CAAC,CAACK,gBAAgB,CAAC,CAAC;IACpED,SAAS,CAACD,QAAQ,CAACJ,0BAA0B,CAAC;EAClD;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflowState/CreateWorkflowState/feature.js","sources":["../../../../src/features/workflowState/CreateWorkflowState/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateWorkflowStateUseCase } from \"./CreateWorkflowStateUseCase.js\";\nimport { CreateWorkflowStateRepository } from \"./CreateWorkflowStateRepository.js\";\n\nexport const CreateWorkflowStateFeature = createFeature({\n name: \"WorkflowState/CreateWorkflowState\",\n register(container) {\n container.register(CreateWorkflowStateRepository).inSingletonScope();\n container.register(CreateWorkflowStateUseCase);\n }\n});\n"],"names":["CreateWorkflowStateFeature","createFeature","container","CreateWorkflowStateRepository","CreateWorkflowStateUseCase"],"mappings":";;;AAIO,MAAMA,6BAA6BC,cAAc;IACpD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,+BAA+B,gBAAgB;QAClED,UAAU,QAAQ,CAACE;IACvB;AACJ"}
@@ -1,4 +1,2 @@
1
- export { CreateWorkflowStateUseCase, CreateWorkflowStateRepository } from "./abstractions.js";
1
+ export { CreateWorkflowStateRepository, CreateWorkflowStateUseCase } from "./abstractions.js";
2
2
  export { WorkflowStateAfterCreateHandler } from "./events.js";
3
-
4
- //# sourceMappingURL=index.js.map
@@ -5,55 +5,57 @@ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.j
5
5
  import { GetWorkflowUseCase } from "../../workflow/GetWorkflow/index.js";
6
6
  import { GetTargetWorkflowStateUseCase } from "../GetTargetWorkflowState/index.js";
7
7
  import { DeleteWorkflowStateRepository } from "../DeleteWorkflowState/index.js";
8
- import { DeleteTargetWorkflowStateUseCase as UseCase } from "./abstractions.js";
8
+ import { DeleteTargetWorkflowStateUseCase } from "./abstractions.js";
9
9
  import { WorkflowStateAfterDeleteEvent } from "./events.js";
10
10
  import { WorkflowState } from "../../../domain/workflowState/WorkflowState.js";
11
11
  import { WorkflowNotFoundError } from "../../../domain/workflow/errors.js";
12
12
  class DeleteTargetWorkflowStateUseCaseImpl {
13
- constructor(identityContext, getUserTeams, eventPublisher, getWorkflow, getTargetWorkflowState, repository) {
14
- this.identityContext = identityContext;
15
- this.getUserTeams = getUserTeams;
16
- this.eventPublisher = eventPublisher;
17
- this.getWorkflow = getWorkflow;
18
- this.getTargetWorkflowState = getTargetWorkflowState;
19
- this.repository = repository;
20
- }
21
- async execute(app, targetRevisionId) {
22
- const stateResult = await this.getTargetWorkflowState.execute({
23
- app,
24
- targetRevisionId
25
- });
26
- if (stateResult.isFail()) {
27
- return Result.ok();
13
+ constructor(identityContext, getUserTeams, eventPublisher, getWorkflow, getTargetWorkflowState, repository){
14
+ this.identityContext = identityContext;
15
+ this.getUserTeams = getUserTeams;
16
+ this.eventPublisher = eventPublisher;
17
+ this.getWorkflow = getWorkflow;
18
+ this.getTargetWorkflowState = getTargetWorkflowState;
19
+ this.repository = repository;
28
20
  }
29
- const record = stateResult.value;
30
- const workflowResult = await this.getWorkflow.execute({
31
- app: record.app,
32
- id: record.workflowId
33
- });
34
- if (workflowResult.isFail()) {
35
- return Result.fail(new WorkflowNotFoundError({
36
- id: record.workflowId,
37
- app: record.app
38
- }));
21
+ async execute(app, targetRevisionId) {
22
+ const stateResult = await this.getTargetWorkflowState.execute({
23
+ app,
24
+ targetRevisionId
25
+ });
26
+ if (stateResult.isFail()) return Result.ok();
27
+ const record = stateResult.value;
28
+ const workflowResult = await this.getWorkflow.execute({
29
+ app: record.app,
30
+ id: record.workflowId
31
+ });
32
+ if (workflowResult.isFail()) return Result.fail(new WorkflowNotFoundError({
33
+ id: record.workflowId,
34
+ app: record.app
35
+ }));
36
+ const deleteResult = await this.repository.execute(record.id);
37
+ if (deleteResult.isFail()) return deleteResult;
38
+ const identity = this.identityContext.getIdentity();
39
+ const teamsResult = await this.getUserTeams.execute(identity.id);
40
+ const teams = teamsResult.value;
41
+ const state = new WorkflowState(record, teams, identity);
42
+ await this.eventPublisher.publish(new WorkflowStateAfterDeleteEvent({
43
+ state
44
+ }));
45
+ return Result.ok();
39
46
  }
40
- const deleteResult = await this.repository.execute(record.id);
41
- if (deleteResult.isFail()) {
42
- return deleteResult;
43
- }
44
- const identity = this.identityContext.getIdentity();
45
- const teamsResult = await this.getUserTeams.execute(identity.id);
46
- const teams = teamsResult.value;
47
- const state = new WorkflowState(record, teams, identity);
48
- await this.eventPublisher.publish(new WorkflowStateAfterDeleteEvent({
49
- state
50
- }));
51
- return Result.ok();
52
- }
53
47
  }
54
- export const DeleteTargetWorkflowStateUseCase = UseCase.createImplementation({
55
- implementation: DeleteTargetWorkflowStateUseCaseImpl,
56
- dependencies: [IdentityContext, GetUserTeamsUseCase, EventPublisher, GetWorkflowUseCase, GetTargetWorkflowStateUseCase, DeleteWorkflowStateRepository]
48
+ const DeleteTargetWorkflowStateUseCase_DeleteTargetWorkflowStateUseCase = DeleteTargetWorkflowStateUseCase.createImplementation({
49
+ implementation: DeleteTargetWorkflowStateUseCaseImpl,
50
+ dependencies: [
51
+ IdentityContext,
52
+ GetUserTeamsUseCase,
53
+ EventPublisher,
54
+ GetWorkflowUseCase,
55
+ GetTargetWorkflowStateUseCase,
56
+ DeleteWorkflowStateRepository
57
+ ]
57
58
  });
59
+ export { DeleteTargetWorkflowStateUseCase_DeleteTargetWorkflowStateUseCase as DeleteTargetWorkflowStateUseCase };
58
60
 
59
61
  //# sourceMappingURL=DeleteTargetWorkflowStateUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","IdentityContext","GetUserTeamsUseCase","EventPublisher","GetWorkflowUseCase","GetTargetWorkflowStateUseCase","DeleteWorkflowStateRepository","DeleteTargetWorkflowStateUseCase","UseCase","WorkflowStateAfterDeleteEvent","WorkflowState","WorkflowNotFoundError","DeleteTargetWorkflowStateUseCaseImpl","constructor","identityContext","getUserTeams","eventPublisher","getWorkflow","getTargetWorkflowState","repository","execute","app","targetRevisionId","stateResult","isFail","ok","record","value","workflowResult","id","workflowId","fail","deleteResult","identity","getIdentity","teamsResult","teams","state","publish","createImplementation","implementation","dependencies"],"sources":["DeleteTargetWorkflowStateUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { GetUserTeamsUseCase } from \"~/features/internal/GetUserTeams/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { GetWorkflowUseCase } from \"~/features/workflow/GetWorkflow/index.js\";\nimport { GetTargetWorkflowStateUseCase } from \"../GetTargetWorkflowState/index.js\";\nimport { DeleteWorkflowStateRepository } from \"../DeleteWorkflowState/index.js\";\nimport { DeleteTargetWorkflowStateUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowStateAfterDeleteEvent } from \"./events.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\nimport { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\n\nclass DeleteTargetWorkflowStateUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private getUserTeams: GetUserTeamsUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private getWorkflow: GetWorkflowUseCase.Interface,\n private getTargetWorkflowState: GetTargetWorkflowStateUseCase.Interface,\n private repository: DeleteWorkflowStateRepository.Interface\n ) {}\n\n async execute(app: string, targetRevisionId: string): UseCase.Return {\n const stateResult = await this.getTargetWorkflowState.execute({ app, targetRevisionId });\n if (stateResult.isFail()) {\n return Result.ok();\n }\n\n const record = stateResult.value;\n\n const workflowResult = await this.getWorkflow.execute({\n app: record.app,\n id: record.workflowId\n });\n\n if (workflowResult.isFail()) {\n return Result.fail(\n new WorkflowNotFoundError({\n id: record.workflowId,\n app: record.app\n })\n );\n }\n\n const deleteResult = await this.repository.execute(record.id);\n if (deleteResult.isFail()) {\n return deleteResult;\n }\n\n const identity = this.identityContext.getIdentity();\n const teamsResult = await this.getUserTeams.execute(identity.id);\n const teams = teamsResult.value;\n const state = new WorkflowState(record, teams, identity);\n\n await this.eventPublisher.publish(\n new WorkflowStateAfterDeleteEvent({\n state\n })\n );\n\n return Result.ok();\n }\n}\n\nexport const DeleteTargetWorkflowStateUseCase = UseCase.createImplementation({\n implementation: DeleteTargetWorkflowStateUseCaseImpl,\n dependencies: [\n IdentityContext,\n GetUserTeamsUseCase,\n EventPublisher,\n GetWorkflowUseCase,\n GetTargetWorkflowStateUseCase,\n DeleteWorkflowStateRepository\n ]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,6DAA6D;AAC7F,SAASC,mBAAmB;AAC5B,SAASC,cAAc,QAAQ,mDAAmD;AAClF,SAASC,kBAAkB;AAC3B,SAASC,6BAA6B;AACtC,SAASC,6BAA6B;AACtC,SAASC,gCAAgC,IAAIC,OAAO;AACpD,SAASC,6BAA6B;AACtC,SAASC,aAAa;AACtB,SAASC,qBAAqB;AAE9B,MAAMC,oCAAoC,CAA8B;EACpEC,WAAWA,CACCC,eAA0C,EAC1CC,YAA2C,EAC3CC,cAAwC,EACxCC,WAAyC,EACzCC,sBAA+D,EAC/DC,UAAmD,EAC7D;IAAA,KANUL,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,sBAA+D,GAA/DA,sBAA+D;IAAA,KAC/DC,UAAmD,GAAnDA,UAAmD;EAC5D;EAEH,MAAMC,OAAOA,CAACC,GAAW,EAAEC,gBAAwB,EAAkB;IACjE,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACL,sBAAsB,CAACE,OAAO,CAAC;MAAEC,GAAG;MAAEC;IAAiB,CAAC,CAAC;IACxF,IAAIC,WAAW,CAACC,MAAM,CAAC,CAAC,EAAE;MACtB,OAAOxB,MAAM,CAACyB,EAAE,CAAC,CAAC;IACtB;IAEA,MAAMC,MAAM,GAAGH,WAAW,CAACI,KAAK;IAEhC,MAAMC,cAAc,GAAG,MAAM,IAAI,CAACX,WAAW,CAACG,OAAO,CAAC;MAClDC,GAAG,EAAEK,MAAM,CAACL,GAAG;MACfQ,EAAE,EAAEH,MAAM,CAACI;IACf,CAAC,CAAC;IAEF,IAAIF,cAAc,CAACJ,MAAM,CAAC,CAAC,EAAE;MACzB,OAAOxB,MAAM,CAAC+B,IAAI,CACd,IAAIpB,qBAAqB,CAAC;QACtBkB,EAAE,EAAEH,MAAM,CAACI,UAAU;QACrBT,GAAG,EAAEK,MAAM,CAACL;MAChB,CAAC,CACL,CAAC;IACL;IAEA,MAAMW,YAAY,GAAG,MAAM,IAAI,CAACb,UAAU,CAACC,OAAO,CAACM,MAAM,CAACG,EAAE,CAAC;IAC7D,IAAIG,YAAY,CAACR,MAAM,CAAC,CAAC,EAAE;MACvB,OAAOQ,YAAY;IACvB;IAEA,MAAMC,QAAQ,GAAG,IAAI,CAACnB,eAAe,CAACoB,WAAW,CAAC,CAAC;IACnD,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACpB,YAAY,CAACK,OAAO,CAACa,QAAQ,CAACJ,EAAE,CAAC;IAChE,MAAMO,KAAK,GAAGD,WAAW,CAACR,KAAK;IAC/B,MAAMU,KAAK,GAAG,IAAI3B,aAAa,CAACgB,MAAM,EAAEU,KAAK,EAAEH,QAAQ,CAAC;IAExD,MAAM,IAAI,CAACjB,cAAc,CAACsB,OAAO,CAC7B,IAAI7B,6BAA6B,CAAC;MAC9B4B;IACJ,CAAC,CACL,CAAC;IAED,OAAOrC,MAAM,CAACyB,EAAE,CAAC,CAAC;EACtB;AACJ;AAEA,OAAO,MAAMlB,gCAAgC,GAAGC,OAAO,CAAC+B,oBAAoB,CAAC;EACzEC,cAAc,EAAE5B,oCAAoC;EACpD6B,YAAY,EAAE,CACVxC,eAAe,EACfC,mBAAmB,EACnBC,cAAc,EACdC,kBAAkB,EAClBC,6BAA6B,EAC7BC,6BAA6B;AAErC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js","sources":["../../../../src/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { GetUserTeamsUseCase } from \"~/features/internal/GetUserTeams/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { GetWorkflowUseCase } from \"~/features/workflow/GetWorkflow/index.js\";\nimport { GetTargetWorkflowStateUseCase } from \"../GetTargetWorkflowState/index.js\";\nimport { DeleteWorkflowStateRepository } from \"../DeleteWorkflowState/index.js\";\nimport { DeleteTargetWorkflowStateUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowStateAfterDeleteEvent } from \"./events.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\nimport { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\n\nclass DeleteTargetWorkflowStateUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private getUserTeams: GetUserTeamsUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private getWorkflow: GetWorkflowUseCase.Interface,\n private getTargetWorkflowState: GetTargetWorkflowStateUseCase.Interface,\n private repository: DeleteWorkflowStateRepository.Interface\n ) {}\n\n async execute(app: string, targetRevisionId: string): UseCase.Return {\n const stateResult = await this.getTargetWorkflowState.execute({ app, targetRevisionId });\n if (stateResult.isFail()) {\n return Result.ok();\n }\n\n const record = stateResult.value;\n\n const workflowResult = await this.getWorkflow.execute({\n app: record.app,\n id: record.workflowId\n });\n\n if (workflowResult.isFail()) {\n return Result.fail(\n new WorkflowNotFoundError({\n id: record.workflowId,\n app: record.app\n })\n );\n }\n\n const deleteResult = await this.repository.execute(record.id);\n if (deleteResult.isFail()) {\n return deleteResult;\n }\n\n const identity = this.identityContext.getIdentity();\n const teamsResult = await this.getUserTeams.execute(identity.id);\n const teams = teamsResult.value;\n const state = new WorkflowState(record, teams, identity);\n\n await this.eventPublisher.publish(\n new WorkflowStateAfterDeleteEvent({\n state\n })\n );\n\n return Result.ok();\n }\n}\n\nexport const DeleteTargetWorkflowStateUseCase = UseCase.createImplementation({\n implementation: DeleteTargetWorkflowStateUseCaseImpl,\n dependencies: [\n IdentityContext,\n GetUserTeamsUseCase,\n EventPublisher,\n GetWorkflowUseCase,\n GetTargetWorkflowStateUseCase,\n DeleteWorkflowStateRepository\n ]\n});\n"],"names":["DeleteTargetWorkflowStateUseCaseImpl","identityContext","getUserTeams","eventPublisher","getWorkflow","getTargetWorkflowState","repository","app","targetRevisionId","stateResult","Result","record","workflowResult","WorkflowNotFoundError","deleteResult","identity","teamsResult","teams","state","WorkflowState","WorkflowStateAfterDeleteEvent","DeleteTargetWorkflowStateUseCase","UseCase","IdentityContext","GetUserTeamsUseCase","EventPublisher","GetWorkflowUseCase","GetTargetWorkflowStateUseCase","DeleteWorkflowStateRepository"],"mappings":";;;;;;;;;;;AAYA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,YAA2C,EAC3CC,cAAwC,EACxCC,WAAyC,EACzCC,sBAA+D,EAC/DC,UAAmD,CAC7D;aANUL,eAAe,GAAfA;aACAC,YAAY,GAAZA;aACAC,cAAc,GAAdA;aACAC,WAAW,GAAXA;aACAC,sBAAsB,GAAtBA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,GAAW,EAAEC,gBAAwB,EAAkB;QACjE,MAAMC,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;YAAEF;YAAKC;QAAiB;QACtF,IAAIC,YAAY,MAAM,IAClB,OAAOC,OAAO,EAAE;QAGpB,MAAMC,SAASF,YAAY,KAAK;QAEhC,MAAMG,iBAAiB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAClD,KAAKD,OAAO,GAAG;YACf,IAAIA,OAAO,UAAU;QACzB;QAEA,IAAIC,eAAe,MAAM,IACrB,OAAOF,OAAO,IAAI,CACd,IAAIG,sBAAsB;YACtB,IAAIF,OAAO,UAAU;YACrB,KAAKA,OAAO,GAAG;QACnB;QAIR,MAAMG,eAAe,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACH,OAAO,EAAE;QAC5D,IAAIG,aAAa,MAAM,IACnB,OAAOA;QAGX,MAAMC,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;QACjD,MAAMC,cAAc,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAACD,SAAS,EAAE;QAC/D,MAAME,QAAQD,YAAY,KAAK;QAC/B,MAAME,QAAQ,IAAIC,cAAcR,QAAQM,OAAOF;QAE/C,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIK,8BAA8B;YAC9BF;QACJ;QAGJ,OAAOR,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMW,oEAAmCC,iCAAAA,oBAA4B,CAAC;IACzE,gBAAgBtB;IAChB,cAAc;QACVuB;QACAC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- export const DeleteTargetWorkflowStateUseCase = createAbstraction("DeleteTargetWorkflowStateUseCase");
2
+ const DeleteTargetWorkflowStateUseCase = createAbstraction("DeleteTargetWorkflowStateUseCase");
3
+ export { DeleteTargetWorkflowStateUseCase };
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DeleteTargetWorkflowStateUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import type { Result } from \"@webiny/feature/api\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport {\n type WorkflowStateNotFoundError,\n WorkflowStatePersistenceError\n} from \"~/domain/workflowState/errors.js\";\nimport type { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\nimport type { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\n\nexport interface WorkflowStateAfterDeletePayload {\n state: WorkflowState;\n}\n\nexport interface IDeleteTargetWorkflowStateUseCase {\n execute(app: string, targetRevisionId: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteTargetWorkflowStateUseCaseErrors {\n notFound: WorkflowStateNotFoundError;\n workflowNotFound: WorkflowNotFoundError;\n persistence: WorkflowStatePersistenceError;\n}\n\ntype UseCaseError =\n IDeleteTargetWorkflowStateUseCaseErrors[keyof IDeleteTargetWorkflowStateUseCaseErrors];\n\nexport const DeleteTargetWorkflowStateUseCase =\n createAbstraction<IDeleteTargetWorkflowStateUseCase>(\"DeleteTargetWorkflowStateUseCase\");\n\nexport namespace DeleteTargetWorkflowStateUseCase {\n export type Interface = IDeleteTargetWorkflowStateUseCase;\n export type Return = Promise<Result<void, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,qBAAqB;AAyBvD,OAAO,MAAMC,gCAAgC,GACzCD,iBAAiB,CAAoC,kCAAkC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/workflowState/DeleteTargetWorkflowState/abstractions.js","sources":["../../../../src/features/workflowState/DeleteTargetWorkflowState/abstractions.ts"],"sourcesContent":["import type { Result } from \"@webiny/feature/api\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport {\n type WorkflowStateNotFoundError,\n WorkflowStatePersistenceError\n} from \"~/domain/workflowState/errors.js\";\nimport type { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\nimport type { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\n\nexport interface WorkflowStateAfterDeletePayload {\n state: WorkflowState;\n}\n\nexport interface IDeleteTargetWorkflowStateUseCase {\n execute(app: string, targetRevisionId: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteTargetWorkflowStateUseCaseErrors {\n notFound: WorkflowStateNotFoundError;\n workflowNotFound: WorkflowNotFoundError;\n persistence: WorkflowStatePersistenceError;\n}\n\ntype UseCaseError =\n IDeleteTargetWorkflowStateUseCaseErrors[keyof IDeleteTargetWorkflowStateUseCaseErrors];\n\nexport const DeleteTargetWorkflowStateUseCase =\n createAbstraction<IDeleteTargetWorkflowStateUseCase>(\"DeleteTargetWorkflowStateUseCase\");\n\nexport namespace DeleteTargetWorkflowStateUseCase {\n export type Interface = IDeleteTargetWorkflowStateUseCase;\n export type Return = Promise<Result<void, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"names":["DeleteTargetWorkflowStateUseCase","createAbstraction"],"mappings":";AA0BO,MAAMA,mCACTC,kBAAqD"}