@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
@@ -21,9 +21,8 @@ import { RejectWorkflowStateStepUseCase } from "../features/workflowState/Reject
21
21
  import { CancelWorkflowStateUseCase } from "../features/workflowState/CancelWorkflowState/index.js";
22
22
  import { TakeOverWorkflowStateStepUseCase } from "../features/workflowState/TakeOverWorkflowStateStep/index.js";
23
23
  import { WorkflowStateNotFoundError } from "../domain/workflowState/errors.js";
24
- export const createWorkflowStateSchema = () => {
25
- return new GraphQLSchemaPlugin({
26
- typeDefs: /* GraphQL */`
24
+ const createWorkflowStateSchema = ()=>new GraphQLSchemaPlugin({
25
+ typeDefs: `
27
26
  enum CmsEntryStateValue {
28
27
  pending
29
28
  inReview
@@ -222,206 +221,137 @@ export const createWorkflowStateSchema = () => {
222
221
  takeOverWorkflowStateStep(id: ID!): TakeOverWorkflowStateStepResponse!
223
222
  }
224
223
  `,
225
- resolvers: {
226
- WorkflowState: {
227
- isActive: parent => {
228
- return parent.isActive || false;
229
- }
230
- },
231
- WorkflowsQuery: {
232
- getWorkflowState: async (_, args, context) => {
233
- return resolve(async () => {
234
- const result = await getWorkflowStateValidation.safeParseAsync(args);
235
- if (!result.success) {
236
- throw createZodError(result.error);
237
- }
238
- const getWorkflowState = context.container.resolve(GetWorkflowStateUseCase);
239
- const stateResult = await getWorkflowState.execute(result.data.id);
240
- if (stateResult.isFail()) {
241
- throw stateResult.error;
242
- }
243
- return stateResult.value;
244
- });
245
- },
246
- getTargetWorkflowState: async (_, args, context) => {
247
- return resolve(async () => {
248
- const result = await getTargetWorkflowStateValidation.safeParseAsync(args);
249
- if (!result.success) {
250
- throw createZodError(result.error);
251
- }
252
- const getTargetWorkflowState = context.container.resolve(GetTargetWorkflowStateUseCase);
253
- const stateResult = await getTargetWorkflowState.execute({
254
- app: result.data.app,
255
- targetRevisionId: result.data.targetRevisionId
256
- });
257
- /**
258
- * TODO determine if we want to throw error or return null when not found.
259
- */
260
- if (stateResult.isFail()) {
261
- if (stateResult.error instanceof WorkflowStateNotFoundError) {
262
- return null;
263
- }
264
- throw stateResult.error;
265
- }
266
- return stateResult.value;
267
- });
268
- },
269
- listWorkflowStates: async (_, args, context) => {
270
- return resolveList(async () => {
271
- const result = await listWorkflowStatesValidation.safeParseAsync(args);
272
- if (!result.success) {
273
- throw createZodError(result.error);
274
- }
275
- const listWorkflowStates = context.container.resolve(ListWorkflowStatesUseCase);
276
- const listResult = await listWorkflowStates.execute({
277
- ...result.data,
278
- where: {
279
- values: {
280
- ...result.data?.where
281
- }
282
- }
283
- });
284
- if (listResult.isFail()) {
285
- throw listResult.error;
286
- }
287
- return listResult.value;
288
- });
289
- },
290
- listOwnWorkflowStates: async (_, args, context) => {
291
- return resolveList(async () => {
292
- const result = await listWorkflowStatesValidation.safeParseAsync(args);
293
- if (!result.success) {
294
- throw createZodError(result.error);
295
- }
296
- const listOwnWorkflowStates = context.container.resolve(ListOwnWorkflowStatesUseCase);
297
- const listResult = await listOwnWorkflowStates.execute({
298
- ...result.data,
299
- where: {
300
- values: {
301
- ...result.data?.where
302
- }
303
- }
304
- });
305
- if (listResult.isFail()) {
306
- throw listResult.error;
307
- }
308
- return listResult.value;
309
- });
310
- },
311
- listRequestedWorkflowStates: async (_, args, context) => {
312
- return resolveList(async () => {
313
- const result = await listWorkflowStatesValidation.safeParseAsync(args);
314
- if (!result.success) {
315
- throw createZodError(result.error);
316
- }
317
- const listRequestedWorkflowStates = context.container.resolve(ListRequestedWorkflowStatesUseCase);
318
- const listResult = await listRequestedWorkflowStates.execute({
319
- ...result.data,
320
- where: {
321
- values: {
322
- ...result.data?.where
323
- }
324
- }
325
- });
326
- if (listResult.isFail()) {
327
- throw listResult.error;
328
- }
329
- return listResult.value;
330
- });
331
- }
332
- },
333
- WorkflowsMutation: {
334
- createWorkflowState: async (_, args, context) => {
335
- return resolve(async () => {
336
- const result = await createWorkflowStateValidation.safeParseAsync(args);
337
- if (!result.success) {
338
- throw createZodError(result.error);
339
- }
340
- const createWorkflowState = context.container.resolve(CreateWorkflowStateUseCase);
341
- const createResult = await createWorkflowState.execute({
342
- app: result.data.app,
343
- targetRevisionId: result.data.targetRevisionId,
344
- title: result.data.title
345
- });
346
- if (createResult.isFail()) {
347
- throw createResult.error;
348
- }
349
- return createResult.value;
350
- });
351
- },
352
- startWorkflowStateStep(_, args, context) {
353
- return resolve(async () => {
354
- const result = await startWorkflowStateValidation.safeParseAsync(args);
355
- if (!result.success) {
356
- throw createZodError(result.error);
357
- }
358
- const startWorkflowStateStep = context.container.resolve(StartWorkflowStateStepUseCase);
359
- const startResult = await startWorkflowStateStep.execute(result.data.id);
360
- if (startResult.isFail()) {
361
- throw startResult.error;
362
- }
363
- return startResult.value;
364
- });
365
- },
366
- approveWorkflowStateStep: (_, args, context) => {
367
- return resolve(async () => {
368
- const result = await approveWorkflowStateValidation.safeParseAsync(args);
369
- if (!result.success) {
370
- throw createZodError(result.error);
371
- }
372
- const approveWorkflowStateStep = context.container.resolve(ApproveWorkflowStateStepUseCase);
373
- const approveResult = await approveWorkflowStateStep.execute(result.data.id, result.data.comment);
374
- if (approveResult.isFail()) {
375
- throw approveResult.error;
376
- }
377
- return approveResult.value;
378
- });
379
- },
380
- rejectWorkflowStateStep: (_, args, context) => {
381
- return resolve(async () => {
382
- const result = await rejectWorkflowStateValidation.safeParseAsync(args);
383
- if (!result.success) {
384
- throw createZodError(result.error);
385
- }
386
- const rejectWorkflowStateStep = context.container.resolve(RejectWorkflowStateStepUseCase);
387
- const rejectResult = await rejectWorkflowStateStep.execute(result.data.id, result.data.comment);
388
- if (rejectResult.isFail()) {
389
- throw rejectResult.error;
390
- }
391
- return rejectResult.value;
392
- });
393
- },
394
- cancelWorkflowState: (_, args, context) => {
395
- return resolve(async () => {
396
- const result = await cancelWorkflowStateValidation.safeParseAsync(args);
397
- if (!result.success) {
398
- throw createZodError(result.error);
399
- }
400
- const cancelWorkflowState = context.container.resolve(CancelWorkflowStateUseCase);
401
- const cancelResult = await cancelWorkflowState.execute(result.data.id);
402
- if (cancelResult.isFail()) {
403
- throw cancelResult.error;
404
- }
405
- return true;
406
- });
407
- },
408
- takeOverWorkflowStateStep: (_, args, context) => {
409
- return resolve(async () => {
410
- const result = await takeOverWorkflowStateStepValidation.safeParseAsync(args);
411
- if (!result.success) {
412
- throw createZodError(result.error);
413
- }
414
- const takeOverWorkflowStateStep = context.container.resolve(TakeOverWorkflowStateStepUseCase);
415
- const takeOverResult = await takeOverWorkflowStateStep.execute(result.data.id);
416
- if (takeOverResult.isFail()) {
417
- throw takeOverResult.error;
224
+ resolvers: {
225
+ WorkflowState: {
226
+ isActive: (parent)=>parent.isActive || false
227
+ },
228
+ WorkflowsQuery: {
229
+ getWorkflowState: async (_, args, context)=>resolve(async ()=>{
230
+ const result = await getWorkflowStateValidation.safeParseAsync(args);
231
+ if (!result.success) throw createZodError(result.error);
232
+ const getWorkflowState = context.container.resolve(GetWorkflowStateUseCase);
233
+ const stateResult = await getWorkflowState.execute(result.data.id);
234
+ if (stateResult.isFail()) throw stateResult.error;
235
+ return stateResult.value;
236
+ }),
237
+ getTargetWorkflowState: async (_, args, context)=>resolve(async ()=>{
238
+ const result = await getTargetWorkflowStateValidation.safeParseAsync(args);
239
+ if (!result.success) throw createZodError(result.error);
240
+ const getTargetWorkflowState = context.container.resolve(GetTargetWorkflowStateUseCase);
241
+ const stateResult = await getTargetWorkflowState.execute({
242
+ app: result.data.app,
243
+ targetRevisionId: result.data.targetRevisionId
244
+ });
245
+ if (stateResult.isFail()) {
246
+ if (stateResult.error instanceof WorkflowStateNotFoundError) return null;
247
+ throw stateResult.error;
248
+ }
249
+ return stateResult.value;
250
+ }),
251
+ listWorkflowStates: async (_, args, context)=>resolveList(async ()=>{
252
+ const result = await listWorkflowStatesValidation.safeParseAsync(args);
253
+ if (!result.success) throw createZodError(result.error);
254
+ const listWorkflowStates = context.container.resolve(ListWorkflowStatesUseCase);
255
+ const listResult = await listWorkflowStates.execute({
256
+ ...result.data,
257
+ where: {
258
+ values: {
259
+ ...result.data?.where
260
+ }
261
+ }
262
+ });
263
+ if (listResult.isFail()) throw listResult.error;
264
+ return listResult.value;
265
+ }),
266
+ listOwnWorkflowStates: async (_, args, context)=>resolveList(async ()=>{
267
+ const result = await listWorkflowStatesValidation.safeParseAsync(args);
268
+ if (!result.success) throw createZodError(result.error);
269
+ const listOwnWorkflowStates = context.container.resolve(ListOwnWorkflowStatesUseCase);
270
+ const listResult = await listOwnWorkflowStates.execute({
271
+ ...result.data,
272
+ where: {
273
+ values: {
274
+ ...result.data?.where
275
+ }
276
+ }
277
+ });
278
+ if (listResult.isFail()) throw listResult.error;
279
+ return listResult.value;
280
+ }),
281
+ listRequestedWorkflowStates: async (_, args, context)=>resolveList(async ()=>{
282
+ const result = await listWorkflowStatesValidation.safeParseAsync(args);
283
+ if (!result.success) throw createZodError(result.error);
284
+ const listRequestedWorkflowStates = context.container.resolve(ListRequestedWorkflowStatesUseCase);
285
+ const listResult = await listRequestedWorkflowStates.execute({
286
+ ...result.data,
287
+ where: {
288
+ values: {
289
+ ...result.data?.where
290
+ }
291
+ }
292
+ });
293
+ if (listResult.isFail()) throw listResult.error;
294
+ return listResult.value;
295
+ })
296
+ },
297
+ WorkflowsMutation: {
298
+ createWorkflowState: async (_, args, context)=>resolve(async ()=>{
299
+ const result = await createWorkflowStateValidation.safeParseAsync(args);
300
+ if (!result.success) throw createZodError(result.error);
301
+ const createWorkflowState = context.container.resolve(CreateWorkflowStateUseCase);
302
+ const createResult = await createWorkflowState.execute({
303
+ app: result.data.app,
304
+ targetRevisionId: result.data.targetRevisionId,
305
+ title: result.data.title
306
+ });
307
+ if (createResult.isFail()) throw createResult.error;
308
+ return createResult.value;
309
+ }),
310
+ startWorkflowStateStep (_, args, context) {
311
+ return resolve(async ()=>{
312
+ const result = await startWorkflowStateValidation.safeParseAsync(args);
313
+ if (!result.success) throw createZodError(result.error);
314
+ const startWorkflowStateStep = context.container.resolve(StartWorkflowStateStepUseCase);
315
+ const startResult = await startWorkflowStateStep.execute(result.data.id);
316
+ if (startResult.isFail()) throw startResult.error;
317
+ return startResult.value;
318
+ });
319
+ },
320
+ approveWorkflowStateStep: (_, args, context)=>resolve(async ()=>{
321
+ const result = await approveWorkflowStateValidation.safeParseAsync(args);
322
+ if (!result.success) throw createZodError(result.error);
323
+ const approveWorkflowStateStep = context.container.resolve(ApproveWorkflowStateStepUseCase);
324
+ const approveResult = await approveWorkflowStateStep.execute(result.data.id, result.data.comment);
325
+ if (approveResult.isFail()) throw approveResult.error;
326
+ return approveResult.value;
327
+ }),
328
+ rejectWorkflowStateStep: (_, args, context)=>resolve(async ()=>{
329
+ const result = await rejectWorkflowStateValidation.safeParseAsync(args);
330
+ if (!result.success) throw createZodError(result.error);
331
+ const rejectWorkflowStateStep = context.container.resolve(RejectWorkflowStateStepUseCase);
332
+ const rejectResult = await rejectWorkflowStateStep.execute(result.data.id, result.data.comment);
333
+ if (rejectResult.isFail()) throw rejectResult.error;
334
+ return rejectResult.value;
335
+ }),
336
+ cancelWorkflowState: (_, args, context)=>resolve(async ()=>{
337
+ const result = await cancelWorkflowStateValidation.safeParseAsync(args);
338
+ if (!result.success) throw createZodError(result.error);
339
+ const cancelWorkflowState = context.container.resolve(CancelWorkflowStateUseCase);
340
+ const cancelResult = await cancelWorkflowState.execute(result.data.id);
341
+ if (cancelResult.isFail()) throw cancelResult.error;
342
+ return true;
343
+ }),
344
+ takeOverWorkflowStateStep: (_, args, context)=>resolve(async ()=>{
345
+ const result = await takeOverWorkflowStateStepValidation.safeParseAsync(args);
346
+ if (!result.success) throw createZodError(result.error);
347
+ const takeOverWorkflowStateStep = context.container.resolve(TakeOverWorkflowStateStepUseCase);
348
+ const takeOverResult = await takeOverWorkflowStateStep.execute(result.data.id);
349
+ if (takeOverResult.isFail()) throw takeOverResult.error;
350
+ return takeOverResult.value;
351
+ })
418
352
  }
419
- return takeOverResult.value;
420
- });
421
353
  }
422
- }
423
- }
424
- });
425
- };
354
+ });
355
+ export { createWorkflowStateSchema };
426
356
 
427
357
  //# sourceMappingURL=workflowState.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GraphQLSchemaPlugin","resolve","resolveList","createZodError","listWorkflowStatesValidation","startWorkflowStateValidation","approveWorkflowStateValidation","rejectWorkflowStateValidation","cancelWorkflowStateValidation","createWorkflowStateValidation","getTargetWorkflowStateValidation","getWorkflowStateValidation","takeOverWorkflowStateStepValidation","GetWorkflowStateUseCase","GetTargetWorkflowStateUseCase","ListWorkflowStatesUseCase","ListOwnWorkflowStatesUseCase","ListRequestedWorkflowStatesUseCase","CreateWorkflowStateUseCase","StartWorkflowStateStepUseCase","ApproveWorkflowStateStepUseCase","RejectWorkflowStateStepUseCase","CancelWorkflowStateUseCase","TakeOverWorkflowStateStepUseCase","WorkflowStateNotFoundError","createWorkflowStateSchema","typeDefs","resolvers","WorkflowState","isActive","parent","WorkflowsQuery","getWorkflowState","_","args","context","result","safeParseAsync","success","error","container","stateResult","execute","data","id","isFail","value","getTargetWorkflowState","app","targetRevisionId","listWorkflowStates","listResult","where","values","listOwnWorkflowStates","listRequestedWorkflowStates","WorkflowsMutation","createWorkflowState","createResult","title","startWorkflowStateStep","startResult","approveWorkflowStateStep","approveResult","comment","rejectWorkflowStateStep","rejectResult","cancelWorkflowState","cancelResult","takeOverWorkflowStateStep","takeOverResult"],"sources":["workflowState.ts"],"sourcesContent":["import { GraphQLSchemaPlugin, resolve, resolveList } from \"@webiny/handler-graphql\";\nimport { createZodError } from \"@webiny/utils\";\nimport { listWorkflowStatesValidation } from \"./validation/listWorkflowStates.js\";\nimport { startWorkflowStateValidation } from \"./validation/startWorkflowState.js\";\nimport { approveWorkflowStateValidation } from \"./validation/approveWorkflowState.js\";\nimport { rejectWorkflowStateValidation } from \"./validation/rejectWorkflowState.js\";\nimport { cancelWorkflowStateValidation } from \"./validation/cancelWorkflowState.js\";\nimport { createWorkflowStateValidation } from \"./validation/createWorkflowState.js\";\nimport { getTargetWorkflowStateValidation } from \"./validation/getTargetWorkflowState.js\";\nimport { getWorkflowStateValidation } from \"./validation/getWorkflowState.js\";\nimport { takeOverWorkflowStateStepValidation } from \"./validation/takeOverWorkflowStateStep.js\";\nimport { GetWorkflowStateUseCase } from \"~/features/workflowState/GetWorkflowState/index.js\";\nimport { GetTargetWorkflowStateUseCase } from \"~/features/workflowState/GetTargetWorkflowState/index.js\";\nimport { ListWorkflowStatesUseCase } from \"~/features/workflowState/ListWorkflowStates/index.js\";\nimport { ListOwnWorkflowStatesUseCase } from \"~/features/workflowState/ListOwnWorkflowStates/index.js\";\nimport { ListRequestedWorkflowStatesUseCase } from \"~/features/workflowState/ListRequestedWorkflowStates/index.js\";\nimport { CreateWorkflowStateUseCase } from \"~/features/workflowState/CreateWorkflowState/index.js\";\nimport { StartWorkflowStateStepUseCase } from \"~/features/workflowState/StartWorkflowStateStep/index.js\";\nimport { ApproveWorkflowStateStepUseCase } from \"~/features/workflowState/ApproveWorkflowStateStep/index.js\";\nimport { RejectWorkflowStateStepUseCase } from \"~/features/workflowState/RejectWorkflowStateStep/index.js\";\nimport { CancelWorkflowStateUseCase } from \"~/features/workflowState/CancelWorkflowState/index.js\";\nimport { TakeOverWorkflowStateStepUseCase } from \"~/features/workflowState/TakeOverWorkflowStateStep/index.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\nimport { WorkflowStateNotFoundError } from \"~/domain/workflowState/errors.js\";\n\nexport const createWorkflowStateSchema = () => {\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n enum CmsEntryStateValue {\n pending\n inReview\n approved\n rejected\n }\n\n type CmsEntrySystemWorkflow {\n workflowId: String\n stepId: ID\n stepName: String\n state: CmsEntryStateValue\n }\n\n extend type CmsEntrySystem {\n workflow: CmsEntrySystemWorkflow\n }\n\n input ListWhereInputCmsEntrySystemWorkflowStateInput {\n workflowId: String\n stepId: ID\n stepName: String\n state: CmsEntryStateValue\n }\n\n input ListWhereInputCmsEntrySystemWorkflowInput {\n workflowId: String\n stepId: ID\n state: ListWhereInputCmsEntrySystemWorkflowStateInput\n stepName: String\n }\n\n extend input ListWhereInputCmsEntrySystem {\n workflow: ListWhereInputCmsEntrySystemWorkflowInput\n }\n\n type WorkflowStateIdentity {\n id: String!\n displayName: String\n type: String\n }\n\n type WorkflowStateStepNotification {\n id: String!\n }\n\n type WorkflowStateStepTeam {\n id: String!\n }\n\n type WorkflowStateStep {\n # workflow related\n id: String!\n title: String!\n color: String!\n description: String\n teams: [WorkflowStateStepTeam!]!\n notifications: [WorkflowStateStepNotification!]\n # state related\n state: CmsEntryStateValue!\n comment: String\n savedBy: WorkflowStateIdentity\n # current user can take action on this step?\n canReview: Boolean!\n # is current user an owner of the step?\n isOwner: Boolean!\n # can current user take over this step?\n canTakeOver: Boolean!\n }\n\n type WorkflowState {\n id: String!\n app: String!\n title: String!\n isActive: Boolean!\n done: Boolean!\n workflowId: String!\n targetId: String!\n targetRevisionId: String!\n comment: String\n state: CmsEntryStateValue!\n steps: [WorkflowStateStep!]\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: WorkflowStateIdentity!\n savedBy: WorkflowStateIdentity!\n currentStep: WorkflowStateStep!\n nextStep: WorkflowStateStep\n previousStep: WorkflowStateStep\n }\n\n type ListWorkflowStatesResponse {\n data: [WorkflowState!]\n error: WorkflowError\n meta: ListWorkflowsMeta\n }\n\n enum ListWorkflowStatesSort {\n createdOn_ASC\n createdOn_DESC\n savedOn_ASC\n savedOn_DESC\n }\n\n input ListWorkflowStatesWhereStepsInput {\n id: String\n id_in: [String!]\n state: CmsEntryStateValue\n state_in: [CmsEntryStateValue!]\n savedBy: String\n savedBy_in: [String!]\n }\n\n input ListWorkflowStatesWhereTeamsInput {\n id: String\n id_in: [String!]\n }\n\n input ListWorkflowStatesWhereNotificationsInput {\n id: String\n id_in: [String!]\n }\n\n input ListWorkflowStatesWhereInput {\n app: String\n app_in: [String!]\n workflowId: String\n workflowId_in: [String!]\n targetId: String\n targetId_in: [String!]\n targetRevisionId: String\n targetRevisionId_in: [String!]\n state: CmsEntryStateValue\n state_in: [CmsEntryStateValue!]\n createdOn_gte: DateTime\n createdOn_lte: DateTime\n savedOn_gte: DateTime\n savedOn_lte: DateTime\n createdBy: String\n savedBy: String\n isActive: Boolean\n steps: ListWorkflowStatesWhereStepsInput\n teams: ListWorkflowStatesWhereTeamsInput\n notifications: ListWorkflowStatesWhereNotificationsInput\n }\n\n type WorkflowStateResponse {\n data: WorkflowState\n error: WorkflowError\n }\n\n type CancelWorkflowStateResponse {\n data: Boolean\n error: WorkflowError\n }\n\n type TakeOverWorkflowStateStepResponse {\n data: WorkflowState\n error: WorkflowError\n }\n\n extend type WorkflowsQuery {\n getWorkflowState(id: ID!): WorkflowStateResponse!\n # always returns active workflow state for the given targetRevisionId - or null\n getTargetWorkflowState(app: String!, targetRevisionId: ID!): WorkflowStateResponse!\n listWorkflowStates(\n where: ListWorkflowStatesWhereInput\n sort: [ListWorkflowStatesSort!]\n limit: Int\n after: String\n ): ListWorkflowStatesResponse!\n listOwnWorkflowStates(\n where: ListWorkflowStatesWhereInput\n sort: [ListWorkflowStatesSort!]\n limit: Int\n after: String\n ): ListWorkflowStatesResponse!\n listRequestedWorkflowStates(\n where: ListWorkflowStatesWhereInput\n sort: [ListWorkflowStatesSort!]\n limit: Int\n after: String\n ): ListWorkflowStatesResponse!\n }\n\n extend type WorkflowsMutation {\n createWorkflowState(\n app: String!\n targetRevisionId: ID!\n title: String!\n ): WorkflowStateResponse!\n startWorkflowStateStep(id: ID!): WorkflowStateResponse!\n approveWorkflowStateStep(id: ID!, comment: String): WorkflowStateResponse!\n rejectWorkflowStateStep(id: ID!, comment: String!): WorkflowStateResponse!\n cancelWorkflowState(id: ID!): CancelWorkflowStateResponse!\n takeOverWorkflowStateStep(id: ID!): TakeOverWorkflowStateStepResponse!\n }\n `,\n resolvers: {\n WorkflowState: {\n isActive: (parent: Partial<WorkflowState>) => {\n return parent.isActive || false;\n }\n },\n WorkflowsQuery: {\n getWorkflowState: async (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await getWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const getWorkflowState = context.container.resolve(GetWorkflowStateUseCase);\n const stateResult = await getWorkflowState.execute(result.data.id);\n\n if (stateResult.isFail()) {\n throw stateResult.error;\n }\n\n return stateResult.value;\n });\n },\n getTargetWorkflowState: async (_, args, context) => {\n return resolve<WorkflowState | null>(async () => {\n const result = await getTargetWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const getTargetWorkflowState = context.container.resolve(\n GetTargetWorkflowStateUseCase\n );\n const stateResult = await getTargetWorkflowState.execute({\n app: result.data.app,\n targetRevisionId: result.data.targetRevisionId\n });\n /**\n * TODO determine if we want to throw error or return null when not found.\n */\n if (stateResult.isFail()) {\n if (stateResult.error instanceof WorkflowStateNotFoundError) {\n return null;\n }\n throw stateResult.error;\n }\n\n return stateResult.value;\n });\n },\n listWorkflowStates: async (_, args, context) => {\n return resolveList<WorkflowState>(async () => {\n const result = await listWorkflowStatesValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const listWorkflowStates =\n context.container.resolve(ListWorkflowStatesUseCase);\n const listResult = await listWorkflowStates.execute({\n ...result.data,\n where: {\n values: {\n ...result.data?.where\n }\n }\n });\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n return listResult.value;\n });\n },\n listOwnWorkflowStates: async (_, args, context) => {\n return resolveList<WorkflowState>(async () => {\n const result = await listWorkflowStatesValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const listOwnWorkflowStates = context.container.resolve(\n ListOwnWorkflowStatesUseCase\n );\n const listResult = await listOwnWorkflowStates.execute({\n ...result.data,\n where: {\n values: {\n ...result.data?.where\n }\n }\n });\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n return listResult.value;\n });\n },\n listRequestedWorkflowStates: async (_, args, context) => {\n return resolveList<WorkflowState>(async () => {\n const result = await listWorkflowStatesValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const listRequestedWorkflowStates = context.container.resolve(\n ListRequestedWorkflowStatesUseCase\n );\n const listResult = await listRequestedWorkflowStates.execute({\n ...result.data,\n where: {\n values: {\n ...result.data?.where\n }\n }\n });\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n return listResult.value;\n });\n }\n },\n WorkflowsMutation: {\n createWorkflowState: async (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await createWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const createWorkflowState = context.container.resolve(\n CreateWorkflowStateUseCase\n );\n const createResult = await createWorkflowState.execute({\n app: result.data.app,\n targetRevisionId: result.data.targetRevisionId,\n title: result.data.title\n });\n\n if (createResult.isFail()) {\n throw createResult.error;\n }\n\n return createResult.value;\n });\n },\n startWorkflowStateStep(_, args, context) {\n return resolve<WorkflowState>(async () => {\n const result = await startWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const startWorkflowStateStep = context.container.resolve(\n StartWorkflowStateStepUseCase\n );\n const startResult = await startWorkflowStateStep.execute(result.data.id);\n\n if (startResult.isFail()) {\n throw startResult.error;\n }\n\n return startResult.value;\n });\n },\n approveWorkflowStateStep: (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await approveWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const approveWorkflowStateStep = context.container.resolve(\n ApproveWorkflowStateStepUseCase\n );\n const approveResult = await approveWorkflowStateStep.execute(\n result.data.id,\n result.data.comment\n );\n\n if (approveResult.isFail()) {\n throw approveResult.error;\n }\n\n return approveResult.value;\n });\n },\n rejectWorkflowStateStep: (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await rejectWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const rejectWorkflowStateStep = context.container.resolve(\n RejectWorkflowStateStepUseCase\n );\n const rejectResult = await rejectWorkflowStateStep.execute(\n result.data.id,\n result.data.comment\n );\n\n if (rejectResult.isFail()) {\n throw rejectResult.error;\n }\n\n return rejectResult.value;\n });\n },\n cancelWorkflowState: (_, args, context) => {\n return resolve<boolean>(async () => {\n const result = await cancelWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const cancelWorkflowState = context.container.resolve(\n CancelWorkflowStateUseCase\n );\n const cancelResult = await cancelWorkflowState.execute(result.data.id);\n\n if (cancelResult.isFail()) {\n throw cancelResult.error;\n }\n\n return true;\n });\n },\n takeOverWorkflowStateStep: (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result =\n await takeOverWorkflowStateStepValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const takeOverWorkflowStateStep = context.container.resolve(\n TakeOverWorkflowStateStepUseCase\n );\n const takeOverResult = await takeOverWorkflowStateStep.execute(\n result.data.id\n );\n\n if (takeOverResult.isFail()) {\n throw takeOverResult.error;\n }\n\n return takeOverResult.value;\n });\n }\n }\n }\n });\n};\n"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,OAAO,EAAEC,WAAW,QAAQ,yBAAyB;AACnF,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,4BAA4B;AACrC,SAASC,4BAA4B;AACrC,SAASC,8BAA8B;AACvC,SAASC,6BAA6B;AACtC,SAASC,6BAA6B;AACtC,SAASC,6BAA6B;AACtC,SAASC,gCAAgC;AACzC,SAASC,0BAA0B;AACnC,SAASC,mCAAmC;AAC5C,SAASC,uBAAuB;AAChC,SAASC,6BAA6B;AACtC,SAASC,yBAAyB;AAClC,SAASC,4BAA4B;AACrC,SAASC,kCAAkC;AAC3C,SAASC,0BAA0B;AACnC,SAASC,6BAA6B;AACtC,SAASC,+BAA+B;AACxC,SAASC,8BAA8B;AACvC,SAASC,0BAA0B;AACnC,SAASC,gCAAgC;AAEzC,SAASC,0BAA0B;AAEnC,OAAO,MAAMC,yBAAyB,GAAGA,CAAA,KAAM;EAC3C,OAAO,IAAIzB,mBAAmB,CAAC;IAC3B0B,QAAQ,EAAE,aAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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","ignoreList":[]}
1
+ {"version":3,"file":"graphql/workflowState.js","sources":["../../src/graphql/workflowState.ts"],"sourcesContent":["import { GraphQLSchemaPlugin, resolve, resolveList } from \"@webiny/handler-graphql\";\nimport { createZodError } from \"@webiny/utils\";\nimport { listWorkflowStatesValidation } from \"./validation/listWorkflowStates.js\";\nimport { startWorkflowStateValidation } from \"./validation/startWorkflowState.js\";\nimport { approveWorkflowStateValidation } from \"./validation/approveWorkflowState.js\";\nimport { rejectWorkflowStateValidation } from \"./validation/rejectWorkflowState.js\";\nimport { cancelWorkflowStateValidation } from \"./validation/cancelWorkflowState.js\";\nimport { createWorkflowStateValidation } from \"./validation/createWorkflowState.js\";\nimport { getTargetWorkflowStateValidation } from \"./validation/getTargetWorkflowState.js\";\nimport { getWorkflowStateValidation } from \"./validation/getWorkflowState.js\";\nimport { takeOverWorkflowStateStepValidation } from \"./validation/takeOverWorkflowStateStep.js\";\nimport { GetWorkflowStateUseCase } from \"~/features/workflowState/GetWorkflowState/index.js\";\nimport { GetTargetWorkflowStateUseCase } from \"~/features/workflowState/GetTargetWorkflowState/index.js\";\nimport { ListWorkflowStatesUseCase } from \"~/features/workflowState/ListWorkflowStates/index.js\";\nimport { ListOwnWorkflowStatesUseCase } from \"~/features/workflowState/ListOwnWorkflowStates/index.js\";\nimport { ListRequestedWorkflowStatesUseCase } from \"~/features/workflowState/ListRequestedWorkflowStates/index.js\";\nimport { CreateWorkflowStateUseCase } from \"~/features/workflowState/CreateWorkflowState/index.js\";\nimport { StartWorkflowStateStepUseCase } from \"~/features/workflowState/StartWorkflowStateStep/index.js\";\nimport { ApproveWorkflowStateStepUseCase } from \"~/features/workflowState/ApproveWorkflowStateStep/index.js\";\nimport { RejectWorkflowStateStepUseCase } from \"~/features/workflowState/RejectWorkflowStateStep/index.js\";\nimport { CancelWorkflowStateUseCase } from \"~/features/workflowState/CancelWorkflowState/index.js\";\nimport { TakeOverWorkflowStateStepUseCase } from \"~/features/workflowState/TakeOverWorkflowStateStep/index.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\nimport { WorkflowStateNotFoundError } from \"~/domain/workflowState/errors.js\";\n\nexport const createWorkflowStateSchema = () => {\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n enum CmsEntryStateValue {\n pending\n inReview\n approved\n rejected\n }\n\n type CmsEntrySystemWorkflow {\n workflowId: String\n stepId: ID\n stepName: String\n state: CmsEntryStateValue\n }\n\n extend type CmsEntrySystem {\n workflow: CmsEntrySystemWorkflow\n }\n\n input ListWhereInputCmsEntrySystemWorkflowStateInput {\n workflowId: String\n stepId: ID\n stepName: String\n state: CmsEntryStateValue\n }\n\n input ListWhereInputCmsEntrySystemWorkflowInput {\n workflowId: String\n stepId: ID\n state: ListWhereInputCmsEntrySystemWorkflowStateInput\n stepName: String\n }\n\n extend input ListWhereInputCmsEntrySystem {\n workflow: ListWhereInputCmsEntrySystemWorkflowInput\n }\n\n type WorkflowStateIdentity {\n id: String!\n displayName: String\n type: String\n }\n\n type WorkflowStateStepNotification {\n id: String!\n }\n\n type WorkflowStateStepTeam {\n id: String!\n }\n\n type WorkflowStateStep {\n # workflow related\n id: String!\n title: String!\n color: String!\n description: String\n teams: [WorkflowStateStepTeam!]!\n notifications: [WorkflowStateStepNotification!]\n # state related\n state: CmsEntryStateValue!\n comment: String\n savedBy: WorkflowStateIdentity\n # current user can take action on this step?\n canReview: Boolean!\n # is current user an owner of the step?\n isOwner: Boolean!\n # can current user take over this step?\n canTakeOver: Boolean!\n }\n\n type WorkflowState {\n id: String!\n app: String!\n title: String!\n isActive: Boolean!\n done: Boolean!\n workflowId: String!\n targetId: String!\n targetRevisionId: String!\n comment: String\n state: CmsEntryStateValue!\n steps: [WorkflowStateStep!]\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: WorkflowStateIdentity!\n savedBy: WorkflowStateIdentity!\n currentStep: WorkflowStateStep!\n nextStep: WorkflowStateStep\n previousStep: WorkflowStateStep\n }\n\n type ListWorkflowStatesResponse {\n data: [WorkflowState!]\n error: WorkflowError\n meta: ListWorkflowsMeta\n }\n\n enum ListWorkflowStatesSort {\n createdOn_ASC\n createdOn_DESC\n savedOn_ASC\n savedOn_DESC\n }\n\n input ListWorkflowStatesWhereStepsInput {\n id: String\n id_in: [String!]\n state: CmsEntryStateValue\n state_in: [CmsEntryStateValue!]\n savedBy: String\n savedBy_in: [String!]\n }\n\n input ListWorkflowStatesWhereTeamsInput {\n id: String\n id_in: [String!]\n }\n\n input ListWorkflowStatesWhereNotificationsInput {\n id: String\n id_in: [String!]\n }\n\n input ListWorkflowStatesWhereInput {\n app: String\n app_in: [String!]\n workflowId: String\n workflowId_in: [String!]\n targetId: String\n targetId_in: [String!]\n targetRevisionId: String\n targetRevisionId_in: [String!]\n state: CmsEntryStateValue\n state_in: [CmsEntryStateValue!]\n createdOn_gte: DateTime\n createdOn_lte: DateTime\n savedOn_gte: DateTime\n savedOn_lte: DateTime\n createdBy: String\n savedBy: String\n isActive: Boolean\n steps: ListWorkflowStatesWhereStepsInput\n teams: ListWorkflowStatesWhereTeamsInput\n notifications: ListWorkflowStatesWhereNotificationsInput\n }\n\n type WorkflowStateResponse {\n data: WorkflowState\n error: WorkflowError\n }\n\n type CancelWorkflowStateResponse {\n data: Boolean\n error: WorkflowError\n }\n\n type TakeOverWorkflowStateStepResponse {\n data: WorkflowState\n error: WorkflowError\n }\n\n extend type WorkflowsQuery {\n getWorkflowState(id: ID!): WorkflowStateResponse!\n # always returns active workflow state for the given targetRevisionId - or null\n getTargetWorkflowState(app: String!, targetRevisionId: ID!): WorkflowStateResponse!\n listWorkflowStates(\n where: ListWorkflowStatesWhereInput\n sort: [ListWorkflowStatesSort!]\n limit: Int\n after: String\n ): ListWorkflowStatesResponse!\n listOwnWorkflowStates(\n where: ListWorkflowStatesWhereInput\n sort: [ListWorkflowStatesSort!]\n limit: Int\n after: String\n ): ListWorkflowStatesResponse!\n listRequestedWorkflowStates(\n where: ListWorkflowStatesWhereInput\n sort: [ListWorkflowStatesSort!]\n limit: Int\n after: String\n ): ListWorkflowStatesResponse!\n }\n\n extend type WorkflowsMutation {\n createWorkflowState(\n app: String!\n targetRevisionId: ID!\n title: String!\n ): WorkflowStateResponse!\n startWorkflowStateStep(id: ID!): WorkflowStateResponse!\n approveWorkflowStateStep(id: ID!, comment: String): WorkflowStateResponse!\n rejectWorkflowStateStep(id: ID!, comment: String!): WorkflowStateResponse!\n cancelWorkflowState(id: ID!): CancelWorkflowStateResponse!\n takeOverWorkflowStateStep(id: ID!): TakeOverWorkflowStateStepResponse!\n }\n `,\n resolvers: {\n WorkflowState: {\n isActive: (parent: Partial<WorkflowState>) => {\n return parent.isActive || false;\n }\n },\n WorkflowsQuery: {\n getWorkflowState: async (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await getWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const getWorkflowState = context.container.resolve(GetWorkflowStateUseCase);\n const stateResult = await getWorkflowState.execute(result.data.id);\n\n if (stateResult.isFail()) {\n throw stateResult.error;\n }\n\n return stateResult.value;\n });\n },\n getTargetWorkflowState: async (_, args, context) => {\n return resolve<WorkflowState | null>(async () => {\n const result = await getTargetWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const getTargetWorkflowState = context.container.resolve(\n GetTargetWorkflowStateUseCase\n );\n const stateResult = await getTargetWorkflowState.execute({\n app: result.data.app,\n targetRevisionId: result.data.targetRevisionId\n });\n /**\n * TODO determine if we want to throw error or return null when not found.\n */\n if (stateResult.isFail()) {\n if (stateResult.error instanceof WorkflowStateNotFoundError) {\n return null;\n }\n throw stateResult.error;\n }\n\n return stateResult.value;\n });\n },\n listWorkflowStates: async (_, args, context) => {\n return resolveList<WorkflowState>(async () => {\n const result = await listWorkflowStatesValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const listWorkflowStates =\n context.container.resolve(ListWorkflowStatesUseCase);\n const listResult = await listWorkflowStates.execute({\n ...result.data,\n where: {\n values: {\n ...result.data?.where\n }\n }\n });\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n return listResult.value;\n });\n },\n listOwnWorkflowStates: async (_, args, context) => {\n return resolveList<WorkflowState>(async () => {\n const result = await listWorkflowStatesValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const listOwnWorkflowStates = context.container.resolve(\n ListOwnWorkflowStatesUseCase\n );\n const listResult = await listOwnWorkflowStates.execute({\n ...result.data,\n where: {\n values: {\n ...result.data?.where\n }\n }\n });\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n return listResult.value;\n });\n },\n listRequestedWorkflowStates: async (_, args, context) => {\n return resolveList<WorkflowState>(async () => {\n const result = await listWorkflowStatesValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const listRequestedWorkflowStates = context.container.resolve(\n ListRequestedWorkflowStatesUseCase\n );\n const listResult = await listRequestedWorkflowStates.execute({\n ...result.data,\n where: {\n values: {\n ...result.data?.where\n }\n }\n });\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n return listResult.value;\n });\n }\n },\n WorkflowsMutation: {\n createWorkflowState: async (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await createWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const createWorkflowState = context.container.resolve(\n CreateWorkflowStateUseCase\n );\n const createResult = await createWorkflowState.execute({\n app: result.data.app,\n targetRevisionId: result.data.targetRevisionId,\n title: result.data.title\n });\n\n if (createResult.isFail()) {\n throw createResult.error;\n }\n\n return createResult.value;\n });\n },\n startWorkflowStateStep(_, args, context) {\n return resolve<WorkflowState>(async () => {\n const result = await startWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const startWorkflowStateStep = context.container.resolve(\n StartWorkflowStateStepUseCase\n );\n const startResult = await startWorkflowStateStep.execute(result.data.id);\n\n if (startResult.isFail()) {\n throw startResult.error;\n }\n\n return startResult.value;\n });\n },\n approveWorkflowStateStep: (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await approveWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const approveWorkflowStateStep = context.container.resolve(\n ApproveWorkflowStateStepUseCase\n );\n const approveResult = await approveWorkflowStateStep.execute(\n result.data.id,\n result.data.comment\n );\n\n if (approveResult.isFail()) {\n throw approveResult.error;\n }\n\n return approveResult.value;\n });\n },\n rejectWorkflowStateStep: (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await rejectWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const rejectWorkflowStateStep = context.container.resolve(\n RejectWorkflowStateStepUseCase\n );\n const rejectResult = await rejectWorkflowStateStep.execute(\n result.data.id,\n result.data.comment\n );\n\n if (rejectResult.isFail()) {\n throw rejectResult.error;\n }\n\n return rejectResult.value;\n });\n },\n cancelWorkflowState: (_, args, context) => {\n return resolve<boolean>(async () => {\n const result = await cancelWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const cancelWorkflowState = context.container.resolve(\n CancelWorkflowStateUseCase\n );\n const cancelResult = await cancelWorkflowState.execute(result.data.id);\n\n if (cancelResult.isFail()) {\n throw cancelResult.error;\n }\n\n return true;\n });\n },\n takeOverWorkflowStateStep: (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result =\n await takeOverWorkflowStateStepValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const takeOverWorkflowStateStep = context.container.resolve(\n TakeOverWorkflowStateStepUseCase\n );\n const takeOverResult = await takeOverWorkflowStateStep.execute(\n result.data.id\n );\n\n if (takeOverResult.isFail()) {\n throw takeOverResult.error;\n }\n\n return takeOverResult.value;\n });\n }\n }\n }\n });\n};\n"],"names":["createWorkflowStateSchema","GraphQLSchemaPlugin","parent","_","args","context","resolve","result","getWorkflowStateValidation","createZodError","getWorkflowState","GetWorkflowStateUseCase","stateResult","getTargetWorkflowStateValidation","getTargetWorkflowState","GetTargetWorkflowStateUseCase","WorkflowStateNotFoundError","resolveList","listWorkflowStatesValidation","listWorkflowStates","ListWorkflowStatesUseCase","listResult","listOwnWorkflowStates","ListOwnWorkflowStatesUseCase","listRequestedWorkflowStates","ListRequestedWorkflowStatesUseCase","createWorkflowStateValidation","createWorkflowState","CreateWorkflowStateUseCase","createResult","startWorkflowStateValidation","startWorkflowStateStep","StartWorkflowStateStepUseCase","startResult","approveWorkflowStateValidation","approveWorkflowStateStep","ApproveWorkflowStateStepUseCase","approveResult","rejectWorkflowStateValidation","rejectWorkflowStateStep","RejectWorkflowStateStepUseCase","rejectResult","cancelWorkflowStateValidation","cancelWorkflowState","CancelWorkflowStateUseCase","cancelResult","takeOverWorkflowStateStepValidation","takeOverWorkflowStateStep","TakeOverWorkflowStateStepUseCase","takeOverResult"],"mappings":"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"}