@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 +1 @@
1
- {"version":3,"names":["WorkflowStateRecordState","Result","WorkflowStateNotAuthorizedError","WorkflowStateNoPendingStepError","WorkflowStateStepCannotReviewError","WorkflowStateStepCannotTakeOverError","WorkflowStateStepNotStepOwnerError","WorkflowStateInReviewError","WorkflowStateRejectedError","WorkflowStateNoCurrentStepError","WorkflowStateNotInReview","canReview","isRejected","canTakeOver","isInReview","isStepOwner","WorkflowState","constructor","record","teams","currentIdentity","id","app","title","workflowId","targetId","targetRevisionId","isActive","comment","state","steps","map","step","enrichStep","createdBy","createdOn","savedOn","savedBy","done","length","every","approved","currentStep","inReview","find","rejected","pending","toReversed","nextStep","currentIndex","findIndex","previousStep","getActiveStep","hasRejected","some","start","stepResult","getPendingStep","isFail","fail","error","value","identity","displayName","type","updateStep","updateRecord","ok","takeOver","approve","approveStep","getNextStep","reject","rejectStep","Object","assign","input","s","Error","currentStepId","index","undefined","params","isOwner","team","t","toRecord"],"sources":["WorkflowState.ts"],"sourcesContent":["import type {\n IWorkflowState,\n IWorkflowStateRecord,\n IWorkflowStateIdentity,\n IEnrichedWorkflowStateRecordStep,\n IWorkflowStateRecordStep\n} from \"./abstractions.js\";\nimport { WorkflowStateRecordState } from \"./abstractions.js\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { IWorkflowStepTeam } from \"../workflow/abstractions.js\";\nimport {\n WorkflowStateNotAuthorizedError,\n WorkflowStateNoPendingStepError,\n WorkflowStateStepCannotReviewError,\n WorkflowStateStepCannotTakeOverError,\n WorkflowStateStepNotStepOwnerError,\n WorkflowStateInReviewError,\n WorkflowStateRejectedError,\n WorkflowStateNoCurrentStepError,\n WorkflowStateNotInReview\n} from \"./errors.js\";\nimport { canReview } from \"./guards/canReview.js\";\nimport { isRejected } from \"./guards/isRejected.js\";\nimport { canTakeOver } from \"./guards/canTakeOver.js\";\nimport { isInReview } from \"./guards/isInReview.js\";\nimport { isStepOwner } from \"./guards/isStepOwner.js\";\n\ninterface IEnrichStepWithPermissionParams {\n createdBy: Pick<IWorkflowStateIdentity, \"id\">;\n step: IWorkflowStateRecordStep;\n}\n\nexport class WorkflowState implements IWorkflowState {\n constructor(\n private record: IWorkflowStateRecord,\n private teams: IWorkflowStepTeam[],\n private currentIdentity: IWorkflowStateIdentity\n ) {}\n\n get id() {\n return this.record.id;\n }\n\n get app() {\n return this.record.app;\n }\n\n get title() {\n return this.record.title;\n }\n\n get workflowId() {\n return this.record.workflowId;\n }\n\n get targetId() {\n return this.record.targetId;\n }\n\n get targetRevisionId() {\n return this.record.targetRevisionId;\n }\n\n get isActive() {\n return this.record.isActive;\n }\n\n get comment() {\n return this.record.comment;\n }\n\n get state() {\n return this.record.state;\n }\n\n get steps() {\n return this.record.steps.map(step => {\n return this.enrichStep({ createdBy: this.record.createdBy, step });\n });\n }\n\n get createdOn() {\n return this.record.createdOn;\n }\n\n get savedOn() {\n return this.record.savedOn;\n }\n\n get createdBy() {\n return this.record.createdBy;\n }\n\n get savedBy() {\n return this.record.savedBy;\n }\n\n get done(): boolean {\n /**\n * A just-in-case check.\n */\n if (this.record.steps.length === 0) {\n return false;\n }\n return this.record.steps.every(step => {\n return step.state === WorkflowStateRecordState.approved;\n });\n }\n\n /**\n * Current step can be:\n * - in review step\n * - rejected step - can only be one\n * - first pending step\n * - last approved step\n */\n get currentStep(): IEnrichedWorkflowStateRecordStep {\n const steps = this.steps;\n const inReview = steps.find(step => step.state === WorkflowStateRecordState.inReview);\n if (inReview) {\n return inReview;\n }\n\n const rejected = steps.find(step => step.state === WorkflowStateRecordState.rejected);\n if (rejected) {\n return rejected;\n }\n const pending = steps.find(step => step.state === WorkflowStateRecordState.pending);\n if (pending) {\n return pending;\n }\n const approved = steps\n .toReversed()\n .find(step => step.state === WorkflowStateRecordState.approved);\n if (approved) {\n return approved;\n }\n throw new WorkflowStateNoCurrentStepError(steps);\n }\n\n get nextStep(): IEnrichedWorkflowStateRecordStep | null {\n const steps = this.steps;\n const currentStep = this.currentStep;\n const currentIndex = steps.findIndex(step => step.id === currentStep.id);\n if (currentIndex === -1) {\n return null;\n }\n return steps[currentIndex + 1] || null;\n }\n\n get previousStep(): IEnrichedWorkflowStateRecordStep | null {\n const steps = this.steps;\n const currentStep = this.currentStep;\n const currentIndex = steps.findIndex(step => step.id === currentStep.id);\n if (currentIndex <= 0) {\n return null;\n }\n return steps[currentIndex - 1] || null;\n }\n\n /**\n * Active step is the one that is currently \"inReview\". If there is a rejected step, returns null.\n */\n getActiveStep(): IEnrichedWorkflowStateRecordStep | null {\n const steps = this.steps;\n const hasRejected = steps.some(step => {\n return step.state === WorkflowStateRecordState.rejected;\n });\n if (hasRejected) {\n return null;\n }\n const step = steps.find(step => {\n return step.state === WorkflowStateRecordState.inReview;\n });\n return step || null;\n }\n\n start(): Result<void, WorkflowState.Error> {\n const stepResult = this.getPendingStep();\n if (stepResult.isFail()) {\n return Result.fail(stepResult.error);\n }\n\n const step = stepResult.value;\n\n if (!canReview(step)) {\n return Result.fail(new WorkflowStateStepCannotReviewError(step));\n }\n\n const identity = {\n id: this.currentIdentity.id,\n displayName: this.currentIdentity.displayName,\n type: this.currentIdentity.type\n };\n\n this.updateStep(step.id, {\n savedBy: identity,\n state: WorkflowStateRecordState.inReview\n });\n this.updateRecord({\n savedBy: identity,\n state: WorkflowStateRecordState.inReview\n });\n\n return Result.ok();\n }\n\n takeOver(): Result<void, WorkflowState.Error> {\n if (isRejected(this.record)) {\n return Result.fail(new WorkflowStateRejectedError(this.record));\n }\n const step = this.getActiveStep();\n if (!step) {\n return Result.fail(\n new WorkflowStateNotAuthorizedError(\n `Cannot take over a workflow state that is not in review.`\n )\n );\n }\n if (!canTakeOver(step)) {\n return Result.fail(new WorkflowStateStepCannotTakeOverError(step));\n }\n if (!canReview(step)) {\n return Result.fail(new WorkflowStateStepCannotReviewError(step));\n }\n\n const identity = {\n id: this.currentIdentity.id,\n displayName: this.currentIdentity.displayName,\n type: this.currentIdentity.type\n };\n\n this.updateStep(step.id, {\n savedBy: identity\n });\n this.updateRecord({\n savedBy: identity\n });\n\n return Result.ok();\n }\n\n approve(comment?: string): Result<void, WorkflowState.Error> {\n if (isRejected(this.record)) {\n return Result.fail(new WorkflowStateRejectedError(this.record));\n }\n const step = this.getActiveStep();\n /**\n * Step cannot be found - all steps are either approved or rejected.\n */\n if (!step) {\n return Result.fail(\n new WorkflowStateNotAuthorizedError(\n `Cannot approve a workflow state that is not in review.`\n )\n );\n }\n if (!canReview(step)) {\n return Result.fail(new WorkflowStateStepCannotReviewError(step));\n }\n if (!isStepOwner(step)) {\n return Result.fail(new WorkflowStateStepNotStepOwnerError(step));\n }\n\n this.approveStep(step.id, comment);\n\n const nextStep = this.getNextStep(step.id);\n\n this.updateRecord({\n state: nextStep ? WorkflowStateRecordState.pending : WorkflowStateRecordState.approved\n });\n\n return Result.ok();\n }\n\n reject(comment: string): Result<void, WorkflowState.Error> {\n if (isRejected(this.record)) {\n return Result.fail(new WorkflowStateRejectedError(this.record));\n }\n const step = this.getActiveStep();\n if (!step) {\n return Result.fail(\n new WorkflowStateNotInReview(\n `Cannot reject a workflow state that is not in review.`,\n this\n )\n );\n }\n\n if (!canReview(step)) {\n return Result.fail(new WorkflowStateStepCannotReviewError(step));\n }\n if (!isStepOwner(step)) {\n return Result.fail(new WorkflowStateStepNotStepOwnerError(step));\n }\n\n this.rejectStep(step.id, comment);\n this.updateRecord({\n state: WorkflowStateRecordState.rejected\n });\n\n return Result.ok();\n }\n\n private getPendingStep(): Result<\n IEnrichedWorkflowStateRecordStep,\n WorkflowStateRejectedError | WorkflowStateInReviewError | WorkflowStateNoPendingStepError\n > {\n if (isRejected(this.record)) {\n return Result.fail(new WorkflowStateRejectedError(this.record));\n }\n if (isInReview(this.record)) {\n return Result.fail(new WorkflowStateInReviewError(this.record));\n }\n for (const step of this.steps) {\n if (step.state === WorkflowStateRecordState.pending) {\n return Result.ok(step);\n }\n }\n return Result.fail(new WorkflowStateNoPendingStepError());\n }\n\n private updateRecord(record: Partial<Omit<IWorkflowStateRecord, \"id\">>): void {\n Object.assign(this.record, record);\n }\n\n private updateStep(id: string, input: Partial<Omit<IWorkflowStateRecordStep, \"id\">>): void {\n const step = this.record.steps.find(s => s.id === id);\n if (!step) {\n throw new Error(`Step with ID \"${id}\" not found.`);\n }\n Object.assign(step, {\n savedBy: {\n id: this.currentIdentity.id,\n displayName: this.currentIdentity.displayName,\n type: this.currentIdentity.type\n },\n ...input\n });\n }\n\n private approveStep(id: string, comment?: string): void {\n this.updateStep(id, {\n state: WorkflowStateRecordState.approved,\n comment\n });\n }\n\n private rejectStep(id: string, comment: string): void {\n this.updateStep(id, {\n state: WorkflowStateRecordState.rejected,\n comment\n });\n }\n\n private getNextStep(currentStepId: string): IWorkflowStateRecordStep | undefined {\n const index = this.record.steps.findIndex(s => s.id === currentStepId);\n if (index === -1) {\n return undefined;\n }\n return this.record.steps[index + 1];\n }\n\n private enrichStep(params: IEnrichStepWithPermissionParams): IEnrichedWorkflowStateRecordStep {\n const { step, createdBy } = params;\n const identity = this.currentIdentity;\n /**\n * User who created the workflow state cannot take part in reviewing it.\n */\n if (createdBy.id === identity.id) {\n return {\n ...step,\n isOwner: false,\n canTakeOver: false,\n canReview: false\n };\n }\n /**\n * Current user is step owner - they started the review.\n */\n const isOwner = step.savedBy?.id === identity.id;\n /**\n * Can current user actually review this step?\n */\n const canReview = step.teams.some(team => {\n return this.teams.some(t => {\n return t.id === team.id;\n });\n });\n /**\n * Can current user take over the review from another reviewer?\n * Taking over is only possible if current user did not start the review of the step - and review was actually started.\n */\n const canTakeOver =\n canReview && !!step.savedBy?.id && step.state === WorkflowStateRecordState.inReview;\n\n return {\n ...step,\n canTakeOver: !isOwner ? canTakeOver : false,\n isOwner,\n canReview\n };\n }\n\n toRecord(): IWorkflowStateRecord {\n return this.record;\n }\n}\n\nexport namespace WorkflowState {\n export type Error =\n | WorkflowStateNotAuthorizedError\n | WorkflowStateNoPendingStepError\n | WorkflowStateStepCannotReviewError\n | WorkflowStateStepCannotTakeOverError\n | WorkflowStateStepNotStepOwnerError\n | WorkflowStateInReviewError\n | WorkflowStateNotInReview\n | WorkflowStateRejectedError\n | WorkflowStateNoCurrentStepError;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"domain/workflowState/WorkflowState.js","sources":["../../../src/domain/workflowState/WorkflowState.ts"],"sourcesContent":["import type {\n IWorkflowState,\n IWorkflowStateRecord,\n IWorkflowStateIdentity,\n IEnrichedWorkflowStateRecordStep,\n IWorkflowStateRecordStep\n} from \"./abstractions.js\";\nimport { WorkflowStateRecordState } from \"./abstractions.js\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { IWorkflowStepTeam } from \"../workflow/abstractions.js\";\nimport {\n WorkflowStateNotAuthorizedError,\n WorkflowStateNoPendingStepError,\n WorkflowStateStepCannotReviewError,\n WorkflowStateStepCannotTakeOverError,\n WorkflowStateStepNotStepOwnerError,\n WorkflowStateInReviewError,\n WorkflowStateRejectedError,\n WorkflowStateNoCurrentStepError,\n WorkflowStateNotInReview\n} from \"./errors.js\";\nimport { canReview } from \"./guards/canReview.js\";\nimport { isRejected } from \"./guards/isRejected.js\";\nimport { canTakeOver } from \"./guards/canTakeOver.js\";\nimport { isInReview } from \"./guards/isInReview.js\";\nimport { isStepOwner } from \"./guards/isStepOwner.js\";\n\ninterface IEnrichStepWithPermissionParams {\n createdBy: Pick<IWorkflowStateIdentity, \"id\">;\n step: IWorkflowStateRecordStep;\n}\n\nexport class WorkflowState implements IWorkflowState {\n constructor(\n private record: IWorkflowStateRecord,\n private teams: IWorkflowStepTeam[],\n private currentIdentity: IWorkflowStateIdentity\n ) {}\n\n get id() {\n return this.record.id;\n }\n\n get app() {\n return this.record.app;\n }\n\n get title() {\n return this.record.title;\n }\n\n get workflowId() {\n return this.record.workflowId;\n }\n\n get targetId() {\n return this.record.targetId;\n }\n\n get targetRevisionId() {\n return this.record.targetRevisionId;\n }\n\n get isActive() {\n return this.record.isActive;\n }\n\n get comment() {\n return this.record.comment;\n }\n\n get state() {\n return this.record.state;\n }\n\n get steps() {\n return this.record.steps.map(step => {\n return this.enrichStep({ createdBy: this.record.createdBy, step });\n });\n }\n\n get createdOn() {\n return this.record.createdOn;\n }\n\n get savedOn() {\n return this.record.savedOn;\n }\n\n get createdBy() {\n return this.record.createdBy;\n }\n\n get savedBy() {\n return this.record.savedBy;\n }\n\n get done(): boolean {\n /**\n * A just-in-case check.\n */\n if (this.record.steps.length === 0) {\n return false;\n }\n return this.record.steps.every(step => {\n return step.state === WorkflowStateRecordState.approved;\n });\n }\n\n /**\n * Current step can be:\n * - in review step\n * - rejected step - can only be one\n * - first pending step\n * - last approved step\n */\n get currentStep(): IEnrichedWorkflowStateRecordStep {\n const steps = this.steps;\n const inReview = steps.find(step => step.state === WorkflowStateRecordState.inReview);\n if (inReview) {\n return inReview;\n }\n\n const rejected = steps.find(step => step.state === WorkflowStateRecordState.rejected);\n if (rejected) {\n return rejected;\n }\n const pending = steps.find(step => step.state === WorkflowStateRecordState.pending);\n if (pending) {\n return pending;\n }\n const approved = steps\n .toReversed()\n .find(step => step.state === WorkflowStateRecordState.approved);\n if (approved) {\n return approved;\n }\n throw new WorkflowStateNoCurrentStepError(steps);\n }\n\n get nextStep(): IEnrichedWorkflowStateRecordStep | null {\n const steps = this.steps;\n const currentStep = this.currentStep;\n const currentIndex = steps.findIndex(step => step.id === currentStep.id);\n if (currentIndex === -1) {\n return null;\n }\n return steps[currentIndex + 1] || null;\n }\n\n get previousStep(): IEnrichedWorkflowStateRecordStep | null {\n const steps = this.steps;\n const currentStep = this.currentStep;\n const currentIndex = steps.findIndex(step => step.id === currentStep.id);\n if (currentIndex <= 0) {\n return null;\n }\n return steps[currentIndex - 1] || null;\n }\n\n /**\n * Active step is the one that is currently \"inReview\". If there is a rejected step, returns null.\n */\n getActiveStep(): IEnrichedWorkflowStateRecordStep | null {\n const steps = this.steps;\n const hasRejected = steps.some(step => {\n return step.state === WorkflowStateRecordState.rejected;\n });\n if (hasRejected) {\n return null;\n }\n const step = steps.find(step => {\n return step.state === WorkflowStateRecordState.inReview;\n });\n return step || null;\n }\n\n start(): Result<void, WorkflowState.Error> {\n const stepResult = this.getPendingStep();\n if (stepResult.isFail()) {\n return Result.fail(stepResult.error);\n }\n\n const step = stepResult.value;\n\n if (!canReview(step)) {\n return Result.fail(new WorkflowStateStepCannotReviewError(step));\n }\n\n const identity = {\n id: this.currentIdentity.id,\n displayName: this.currentIdentity.displayName,\n type: this.currentIdentity.type\n };\n\n this.updateStep(step.id, {\n savedBy: identity,\n state: WorkflowStateRecordState.inReview\n });\n this.updateRecord({\n savedBy: identity,\n state: WorkflowStateRecordState.inReview\n });\n\n return Result.ok();\n }\n\n takeOver(): Result<void, WorkflowState.Error> {\n if (isRejected(this.record)) {\n return Result.fail(new WorkflowStateRejectedError(this.record));\n }\n const step = this.getActiveStep();\n if (!step) {\n return Result.fail(\n new WorkflowStateNotAuthorizedError(\n `Cannot take over a workflow state that is not in review.`\n )\n );\n }\n if (!canTakeOver(step)) {\n return Result.fail(new WorkflowStateStepCannotTakeOverError(step));\n }\n if (!canReview(step)) {\n return Result.fail(new WorkflowStateStepCannotReviewError(step));\n }\n\n const identity = {\n id: this.currentIdentity.id,\n displayName: this.currentIdentity.displayName,\n type: this.currentIdentity.type\n };\n\n this.updateStep(step.id, {\n savedBy: identity\n });\n this.updateRecord({\n savedBy: identity\n });\n\n return Result.ok();\n }\n\n approve(comment?: string): Result<void, WorkflowState.Error> {\n if (isRejected(this.record)) {\n return Result.fail(new WorkflowStateRejectedError(this.record));\n }\n const step = this.getActiveStep();\n /**\n * Step cannot be found - all steps are either approved or rejected.\n */\n if (!step) {\n return Result.fail(\n new WorkflowStateNotAuthorizedError(\n `Cannot approve a workflow state that is not in review.`\n )\n );\n }\n if (!canReview(step)) {\n return Result.fail(new WorkflowStateStepCannotReviewError(step));\n }\n if (!isStepOwner(step)) {\n return Result.fail(new WorkflowStateStepNotStepOwnerError(step));\n }\n\n this.approveStep(step.id, comment);\n\n const nextStep = this.getNextStep(step.id);\n\n this.updateRecord({\n state: nextStep ? WorkflowStateRecordState.pending : WorkflowStateRecordState.approved\n });\n\n return Result.ok();\n }\n\n reject(comment: string): Result<void, WorkflowState.Error> {\n if (isRejected(this.record)) {\n return Result.fail(new WorkflowStateRejectedError(this.record));\n }\n const step = this.getActiveStep();\n if (!step) {\n return Result.fail(\n new WorkflowStateNotInReview(\n `Cannot reject a workflow state that is not in review.`,\n this\n )\n );\n }\n\n if (!canReview(step)) {\n return Result.fail(new WorkflowStateStepCannotReviewError(step));\n }\n if (!isStepOwner(step)) {\n return Result.fail(new WorkflowStateStepNotStepOwnerError(step));\n }\n\n this.rejectStep(step.id, comment);\n this.updateRecord({\n state: WorkflowStateRecordState.rejected\n });\n\n return Result.ok();\n }\n\n private getPendingStep(): Result<\n IEnrichedWorkflowStateRecordStep,\n WorkflowStateRejectedError | WorkflowStateInReviewError | WorkflowStateNoPendingStepError\n > {\n if (isRejected(this.record)) {\n return Result.fail(new WorkflowStateRejectedError(this.record));\n }\n if (isInReview(this.record)) {\n return Result.fail(new WorkflowStateInReviewError(this.record));\n }\n for (const step of this.steps) {\n if (step.state === WorkflowStateRecordState.pending) {\n return Result.ok(step);\n }\n }\n return Result.fail(new WorkflowStateNoPendingStepError());\n }\n\n private updateRecord(record: Partial<Omit<IWorkflowStateRecord, \"id\">>): void {\n Object.assign(this.record, record);\n }\n\n private updateStep(id: string, input: Partial<Omit<IWorkflowStateRecordStep, \"id\">>): void {\n const step = this.record.steps.find(s => s.id === id);\n if (!step) {\n throw new Error(`Step with ID \"${id}\" not found.`);\n }\n Object.assign(step, {\n savedBy: {\n id: this.currentIdentity.id,\n displayName: this.currentIdentity.displayName,\n type: this.currentIdentity.type\n },\n ...input\n });\n }\n\n private approveStep(id: string, comment?: string): void {\n this.updateStep(id, {\n state: WorkflowStateRecordState.approved,\n comment\n });\n }\n\n private rejectStep(id: string, comment: string): void {\n this.updateStep(id, {\n state: WorkflowStateRecordState.rejected,\n comment\n });\n }\n\n private getNextStep(currentStepId: string): IWorkflowStateRecordStep | undefined {\n const index = this.record.steps.findIndex(s => s.id === currentStepId);\n if (index === -1) {\n return undefined;\n }\n return this.record.steps[index + 1];\n }\n\n private enrichStep(params: IEnrichStepWithPermissionParams): IEnrichedWorkflowStateRecordStep {\n const { step, createdBy } = params;\n const identity = this.currentIdentity;\n /**\n * User who created the workflow state cannot take part in reviewing it.\n */\n if (createdBy.id === identity.id) {\n return {\n ...step,\n isOwner: false,\n canTakeOver: false,\n canReview: false\n };\n }\n /**\n * Current user is step owner - they started the review.\n */\n const isOwner = step.savedBy?.id === identity.id;\n /**\n * Can current user actually review this step?\n */\n const canReview = step.teams.some(team => {\n return this.teams.some(t => {\n return t.id === team.id;\n });\n });\n /**\n * Can current user take over the review from another reviewer?\n * Taking over is only possible if current user did not start the review of the step - and review was actually started.\n */\n const canTakeOver =\n canReview && !!step.savedBy?.id && step.state === WorkflowStateRecordState.inReview;\n\n return {\n ...step,\n canTakeOver: !isOwner ? canTakeOver : false,\n isOwner,\n canReview\n };\n }\n\n toRecord(): IWorkflowStateRecord {\n return this.record;\n }\n}\n\nexport namespace WorkflowState {\n export type Error =\n | WorkflowStateNotAuthorizedError\n | WorkflowStateNoPendingStepError\n | WorkflowStateStepCannotReviewError\n | WorkflowStateStepCannotTakeOverError\n | WorkflowStateStepNotStepOwnerError\n | WorkflowStateInReviewError\n | WorkflowStateNotInReview\n | WorkflowStateRejectedError\n | WorkflowStateNoCurrentStepError;\n}\n"],"names":["WorkflowState","record","teams","currentIdentity","step","WorkflowStateRecordState","steps","inReview","rejected","pending","approved","WorkflowStateNoCurrentStepError","currentStep","currentIndex","hasRejected","stepResult","Result","canReview","WorkflowStateStepCannotReviewError","identity","isRejected","WorkflowStateRejectedError","WorkflowStateNotAuthorizedError","canTakeOver","WorkflowStateStepCannotTakeOverError","comment","isStepOwner","WorkflowStateStepNotStepOwnerError","nextStep","WorkflowStateNotInReview","isInReview","WorkflowStateInReviewError","WorkflowStateNoPendingStepError","Object","id","input","s","Error","currentStepId","index","params","createdBy","isOwner","team","t"],"mappings":"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"}
@@ -1,40 +1,41 @@
1
- import { WorkflowStateMapper as WorkflowStateMapperAbstraction } from "./abstractions.js";
1
+ import { WorkflowStateMapper } from "./abstractions.js";
2
2
  class WorkflowStateMapperImpl {
3
- fromCmsEntry(input) {
4
- return {
5
- id: input.id,
6
- workflowId: input.values.workflowId,
7
- title: input.values.title,
8
- targetId: input.values.targetId,
9
- targetRevisionId: input.values.targetRevisionId,
10
- steps: input.values.steps,
11
- isActive: input.values.isActive,
12
- app: input.values.app,
13
- state: input.values.state,
14
- comment: input.values.comment,
15
- savedBy: input.savedBy,
16
- createdBy: input.createdBy,
17
- savedOn: new Date(input.savedOn),
18
- createdOn: new Date(input.createdOn)
19
- };
20
- }
21
- toCmsEntry(input) {
22
- return {
23
- isActive: input.isActive,
24
- title: input.title,
25
- workflowId: input.workflowId,
26
- targetId: input.targetId,
27
- targetRevisionId: input.targetRevisionId,
28
- steps: input.steps,
29
- app: input.app,
30
- state: input.state,
31
- comment: input.comment
32
- };
33
- }
3
+ fromCmsEntry(input) {
4
+ return {
5
+ id: input.id,
6
+ workflowId: input.values.workflowId,
7
+ title: input.values.title,
8
+ targetId: input.values.targetId,
9
+ targetRevisionId: input.values.targetRevisionId,
10
+ steps: input.values.steps,
11
+ isActive: input.values.isActive,
12
+ app: input.values.app,
13
+ state: input.values.state,
14
+ comment: input.values.comment,
15
+ savedBy: input.savedBy,
16
+ createdBy: input.createdBy,
17
+ savedOn: new Date(input.savedOn),
18
+ createdOn: new Date(input.createdOn)
19
+ };
20
+ }
21
+ toCmsEntry(input) {
22
+ return {
23
+ isActive: input.isActive,
24
+ title: input.title,
25
+ workflowId: input.workflowId,
26
+ targetId: input.targetId,
27
+ targetRevisionId: input.targetRevisionId,
28
+ steps: input.steps,
29
+ app: input.app,
30
+ state: input.state,
31
+ comment: input.comment
32
+ };
33
+ }
34
34
  }
35
- export const WorkflowStateMapper = WorkflowStateMapperAbstraction.createImplementation({
36
- implementation: WorkflowStateMapperImpl,
37
- dependencies: []
35
+ const WorkflowStateMapper_WorkflowStateMapper = WorkflowStateMapper.createImplementation({
36
+ implementation: WorkflowStateMapperImpl,
37
+ dependencies: []
38
38
  });
39
+ export { WorkflowStateMapper_WorkflowStateMapper as WorkflowStateMapper };
39
40
 
40
41
  //# sourceMappingURL=WorkflowStateMapper.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["WorkflowStateMapper","WorkflowStateMapperAbstraction","WorkflowStateMapperImpl","fromCmsEntry","input","id","workflowId","values","title","targetId","targetRevisionId","steps","isActive","app","state","comment","savedBy","createdBy","savedOn","Date","createdOn","toCmsEntry","createImplementation","implementation","dependencies"],"sources":["WorkflowStateMapper.ts"],"sourcesContent":["import type {\n IWorkflowStateMapper,\n IWorkflowStateTransformerFromCmsEntryInput,\n IWorkflowStateTransformerFromCmsEntryOutput,\n IWorkflowStateTransformerToCmsEntryInput,\n IWorkflowStateTransformerToCmsEntryOutput\n} from \"./abstractions.js\";\nimport { WorkflowStateMapper as WorkflowStateMapperAbstraction } from \"./abstractions.js\";\n\nclass WorkflowStateMapperImpl implements IWorkflowStateMapper {\n public fromCmsEntry(\n input: IWorkflowStateTransformerFromCmsEntryInput\n ): IWorkflowStateTransformerFromCmsEntryOutput {\n return {\n id: input.id,\n workflowId: input.values.workflowId,\n title: input.values.title,\n targetId: input.values.targetId,\n targetRevisionId: input.values.targetRevisionId,\n steps: input.values.steps,\n isActive: input.values.isActive,\n app: input.values.app,\n state: input.values.state,\n comment: input.values.comment,\n savedBy: input.savedBy,\n createdBy: input.createdBy,\n savedOn: new Date(input.savedOn),\n createdOn: new Date(input.createdOn)\n };\n }\n\n public toCmsEntry(\n input: IWorkflowStateTransformerToCmsEntryInput\n ): IWorkflowStateTransformerToCmsEntryOutput {\n return {\n isActive: input.isActive,\n title: input.title,\n workflowId: input.workflowId,\n targetId: input.targetId,\n targetRevisionId: input.targetRevisionId,\n steps: input.steps,\n app: input.app,\n state: input.state,\n comment: input.comment\n };\n }\n}\n\nexport const WorkflowStateMapper = WorkflowStateMapperAbstraction.createImplementation({\n implementation: WorkflowStateMapperImpl,\n dependencies: []\n});\n"],"mappings":"AAOA,SAASA,mBAAmB,IAAIC,8BAA8B;AAE9D,MAAMC,uBAAuB,CAAiC;EACnDC,YAAYA,CACfC,KAAiD,EACN;IAC3C,OAAO;MACHC,EAAE,EAAED,KAAK,CAACC,EAAE;MACZC,UAAU,EAAEF,KAAK,CAACG,MAAM,CAACD,UAAU;MACnCE,KAAK,EAAEJ,KAAK,CAACG,MAAM,CAACC,KAAK;MACzBC,QAAQ,EAAEL,KAAK,CAACG,MAAM,CAACE,QAAQ;MAC/BC,gBAAgB,EAAEN,KAAK,CAACG,MAAM,CAACG,gBAAgB;MAC/CC,KAAK,EAAEP,KAAK,CAACG,MAAM,CAACI,KAAK;MACzBC,QAAQ,EAAER,KAAK,CAACG,MAAM,CAACK,QAAQ;MAC/BC,GAAG,EAAET,KAAK,CAACG,MAAM,CAACM,GAAG;MACrBC,KAAK,EAAEV,KAAK,CAACG,MAAM,CAACO,KAAK;MACzBC,OAAO,EAAEX,KAAK,CAACG,MAAM,CAACQ,OAAO;MAC7BC,OAAO,EAAEZ,KAAK,CAACY,OAAO;MACtBC,SAAS,EAAEb,KAAK,CAACa,SAAS;MAC1BC,OAAO,EAAE,IAAIC,IAAI,CAACf,KAAK,CAACc,OAAO,CAAC;MAChCE,SAAS,EAAE,IAAID,IAAI,CAACf,KAAK,CAACgB,SAAS;IACvC,CAAC;EACL;EAEOC,UAAUA,CACbjB,KAA+C,EACN;IACzC,OAAO;MACHQ,QAAQ,EAAER,KAAK,CAACQ,QAAQ;MACxBJ,KAAK,EAAEJ,KAAK,CAACI,KAAK;MAClBF,UAAU,EAAEF,KAAK,CAACE,UAAU;MAC5BG,QAAQ,EAAEL,KAAK,CAACK,QAAQ;MACxBC,gBAAgB,EAAEN,KAAK,CAACM,gBAAgB;MACxCC,KAAK,EAAEP,KAAK,CAACO,KAAK;MAClBE,GAAG,EAAET,KAAK,CAACS,GAAG;MACdC,KAAK,EAAEV,KAAK,CAACU,KAAK;MAClBC,OAAO,EAAEX,KAAK,CAACW;IACnB,CAAC;EACL;AACJ;AAEA,OAAO,MAAMf,mBAAmB,GAAGC,8BAA8B,CAACqB,oBAAoB,CAAC;EACnFC,cAAc,EAAErB,uBAAuB;EACvCsB,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"domain/workflowState/WorkflowStateMapper.js","sources":["../../../src/domain/workflowState/WorkflowStateMapper.ts"],"sourcesContent":["import type {\n IWorkflowStateMapper,\n IWorkflowStateTransformerFromCmsEntryInput,\n IWorkflowStateTransformerFromCmsEntryOutput,\n IWorkflowStateTransformerToCmsEntryInput,\n IWorkflowStateTransformerToCmsEntryOutput\n} from \"./abstractions.js\";\nimport { WorkflowStateMapper as WorkflowStateMapperAbstraction } from \"./abstractions.js\";\n\nclass WorkflowStateMapperImpl implements IWorkflowStateMapper {\n public fromCmsEntry(\n input: IWorkflowStateTransformerFromCmsEntryInput\n ): IWorkflowStateTransformerFromCmsEntryOutput {\n return {\n id: input.id,\n workflowId: input.values.workflowId,\n title: input.values.title,\n targetId: input.values.targetId,\n targetRevisionId: input.values.targetRevisionId,\n steps: input.values.steps,\n isActive: input.values.isActive,\n app: input.values.app,\n state: input.values.state,\n comment: input.values.comment,\n savedBy: input.savedBy,\n createdBy: input.createdBy,\n savedOn: new Date(input.savedOn),\n createdOn: new Date(input.createdOn)\n };\n }\n\n public toCmsEntry(\n input: IWorkflowStateTransformerToCmsEntryInput\n ): IWorkflowStateTransformerToCmsEntryOutput {\n return {\n isActive: input.isActive,\n title: input.title,\n workflowId: input.workflowId,\n targetId: input.targetId,\n targetRevisionId: input.targetRevisionId,\n steps: input.steps,\n app: input.app,\n state: input.state,\n comment: input.comment\n };\n }\n}\n\nexport const WorkflowStateMapper = WorkflowStateMapperAbstraction.createImplementation({\n implementation: WorkflowStateMapperImpl,\n dependencies: []\n});\n"],"names":["WorkflowStateMapperImpl","input","Date","WorkflowStateMapper","WorkflowStateMapperAbstraction"],"mappings":";AASA,MAAMA;IACK,aACHC,KAAiD,EACN;QAC3C,OAAO;YACH,IAAIA,MAAM,EAAE;YACZ,YAAYA,MAAM,MAAM,CAAC,UAAU;YACnC,OAAOA,MAAM,MAAM,CAAC,KAAK;YACzB,UAAUA,MAAM,MAAM,CAAC,QAAQ;YAC/B,kBAAkBA,MAAM,MAAM,CAAC,gBAAgB;YAC/C,OAAOA,MAAM,MAAM,CAAC,KAAK;YACzB,UAAUA,MAAM,MAAM,CAAC,QAAQ;YAC/B,KAAKA,MAAM,MAAM,CAAC,GAAG;YACrB,OAAOA,MAAM,MAAM,CAAC,KAAK;YACzB,SAASA,MAAM,MAAM,CAAC,OAAO;YAC7B,SAASA,MAAM,OAAO;YACtB,WAAWA,MAAM,SAAS;YAC1B,SAAS,IAAIC,KAAKD,MAAM,OAAO;YAC/B,WAAW,IAAIC,KAAKD,MAAM,SAAS;QACvC;IACJ;IAEO,WACHA,KAA+C,EACN;QACzC,OAAO;YACH,UAAUA,MAAM,QAAQ;YACxB,OAAOA,MAAM,KAAK;YAClB,YAAYA,MAAM,UAAU;YAC5B,UAAUA,MAAM,QAAQ;YACxB,kBAAkBA,MAAM,gBAAgB;YACxC,OAAOA,MAAM,KAAK;YAClB,KAAKA,MAAM,GAAG;YACd,OAAOA,MAAM,KAAK;YAClB,SAASA,MAAM,OAAO;QAC1B;IACJ;AACJ;AAEO,MAAME,0CAAsBC,oBAAAA,oBAAmD,CAAC;IACnF,gBAAgBJ;IAChB,cAAc,EAAE;AACpB"}
@@ -1,13 +1,13 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- export let WorkflowStateRecordState = /*#__PURE__*/function (WorkflowStateRecordState) {
3
- WorkflowStateRecordState["pending"] = "pending";
4
- WorkflowStateRecordState["inReview"] = "inReview";
5
- WorkflowStateRecordState["approved"] = "approved";
6
- WorkflowStateRecordState["rejected"] = "rejected";
7
- return WorkflowStateRecordState;
2
+ var abstractions_WorkflowStateRecordState = /*#__PURE__*/ function(WorkflowStateRecordState) {
3
+ WorkflowStateRecordState["pending"] = "pending";
4
+ WorkflowStateRecordState["inReview"] = "inReview";
5
+ WorkflowStateRecordState["approved"] = "approved";
6
+ WorkflowStateRecordState["rejected"] = "rejected";
7
+ return WorkflowStateRecordState;
8
8
  }({});
9
- // Abstractions
10
- export const WorkflowStateModel = createAbstraction("WorkflowStateModel");
11
- export const WorkflowStateMapper = createAbstraction("WorkflowStateMapper");
9
+ const WorkflowStateModel = createAbstraction("WorkflowStateModel");
10
+ const WorkflowStateMapper = createAbstraction("WorkflowStateMapper");
11
+ export { WorkflowStateMapper, WorkflowStateModel, abstractions_WorkflowStateRecordState as WorkflowStateRecordState };
12
12
 
13
13
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","WorkflowStateRecordState","WorkflowStateModel","WorkflowStateMapper"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsEntry, CmsModel } from \"@webiny/api-headless-cms/types\";\nimport type { IWorkflowStep } from \"../workflow/abstractions.js\";\n\nexport enum WorkflowStateRecordState {\n pending = \"pending\",\n inReview = \"inReview\",\n approved = \"approved\",\n rejected = \"rejected\"\n}\n\nexport interface IWorkflowStateIdentity {\n id: string;\n displayName: string;\n type: string;\n}\n\nexport interface IWorkflowStateRecordStep extends IWorkflowStep {\n state: WorkflowStateRecordState;\n comment: string | null;\n savedBy: IWorkflowStateIdentity | null;\n}\n\nexport interface IWorkflowStateRecord<\n Steps extends IWorkflowStateRecordStep = IWorkflowStateRecordStep\n> {\n id: string;\n app: string;\n title: string;\n workflowId: string;\n targetId: string;\n targetRevisionId: string;\n isActive: boolean;\n comment: string | undefined;\n state: WorkflowStateRecordState;\n steps: Steps[];\n createdOn: Date;\n savedOn: Date;\n createdBy: IWorkflowStateIdentity;\n savedBy: IWorkflowStateIdentity;\n}\n\nexport interface IEnrichedWorkflowStateRecordStep extends IWorkflowStateRecordStep {\n isOwner: boolean;\n canTakeOver: boolean;\n canReview: boolean;\n}\n\nexport interface IWorkflowState {\n readonly id: string;\n readonly app: string;\n readonly title: string;\n readonly workflowId: string;\n readonly targetId: string;\n readonly targetRevisionId: string;\n readonly isActive: boolean;\n readonly comment: string | undefined;\n readonly state: WorkflowStateRecordState;\n readonly steps: IEnrichedWorkflowStateRecordStep[];\n readonly createdOn: Date;\n readonly savedOn: Date;\n readonly createdBy: IWorkflowStateIdentity;\n readonly savedBy: IWorkflowStateIdentity;\n readonly done: boolean;\n readonly currentStep: IEnrichedWorkflowStateRecordStep;\n readonly nextStep: IEnrichedWorkflowStateRecordStep | null;\n readonly previousStep: IEnrichedWorkflowStateRecordStep | null;\n}\n\n// Abstractions\nexport const WorkflowStateModel = createAbstraction<CmsModel>(\"WorkflowStateModel\");\n\nexport namespace WorkflowStateModel {\n export type Interface = CmsModel;\n}\n\nexport type IWorkflowStateTransformerFromCmsEntryInput = CmsEntry<\n Omit<IWorkflowStateRecord, \"id\" | \"savedOn\" | \"createdOn\" | \"savedBy\" | \"createdBy\">\n>;\n\nexport type IWorkflowStateTransformerFromCmsEntryOutput = IWorkflowStateRecord;\n\nexport type IWorkflowStateTransformerToCmsEntryInput = Omit<\n IWorkflowStateRecord,\n \"savedOn\" | \"createdOn\" | \"savedBy\"\n>;\n\nexport type IWorkflowStateTransformerToCmsEntryOutput = Omit<\n IWorkflowStateRecord,\n \"id\" | \"savedOn\" | \"createdOn\" | \"savedBy\" | \"createdBy\"\n>;\n\nexport interface IWorkflowStateMapper {\n fromCmsEntry(\n input: IWorkflowStateTransformerFromCmsEntryInput\n ): IWorkflowStateTransformerFromCmsEntryOutput;\n toCmsEntry(\n input: IWorkflowStateTransformerToCmsEntryInput\n ): IWorkflowStateTransformerToCmsEntryOutput;\n}\n\nexport const WorkflowStateMapper = createAbstraction<IWorkflowStateMapper>(\"WorkflowStateMapper\");\n\nexport namespace WorkflowStateMapper {\n export type Interface = IWorkflowStateMapper;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAIvD,WAAYC,wBAAwB,0BAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAA,OAAxBA,wBAAwB;AAAA;AAiEpC;AACA,OAAO,MAAMC,kBAAkB,GAAGF,iBAAiB,CAAW,oBAAoB,CAAC;AA+BnF,OAAO,MAAMG,mBAAmB,GAAGH,iBAAiB,CAAuB,qBAAqB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"domain/workflowState/abstractions.js","sources":["../../../src/domain/workflowState/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsEntry, CmsModel } from \"@webiny/api-headless-cms/types\";\nimport type { IWorkflowStep } from \"../workflow/abstractions.js\";\n\nexport enum WorkflowStateRecordState {\n pending = \"pending\",\n inReview = \"inReview\",\n approved = \"approved\",\n rejected = \"rejected\"\n}\n\nexport interface IWorkflowStateIdentity {\n id: string;\n displayName: string;\n type: string;\n}\n\nexport interface IWorkflowStateRecordStep extends IWorkflowStep {\n state: WorkflowStateRecordState;\n comment: string | null;\n savedBy: IWorkflowStateIdentity | null;\n}\n\nexport interface IWorkflowStateRecord<\n Steps extends IWorkflowStateRecordStep = IWorkflowStateRecordStep\n> {\n id: string;\n app: string;\n title: string;\n workflowId: string;\n targetId: string;\n targetRevisionId: string;\n isActive: boolean;\n comment: string | undefined;\n state: WorkflowStateRecordState;\n steps: Steps[];\n createdOn: Date;\n savedOn: Date;\n createdBy: IWorkflowStateIdentity;\n savedBy: IWorkflowStateIdentity;\n}\n\nexport interface IEnrichedWorkflowStateRecordStep extends IWorkflowStateRecordStep {\n isOwner: boolean;\n canTakeOver: boolean;\n canReview: boolean;\n}\n\nexport interface IWorkflowState {\n readonly id: string;\n readonly app: string;\n readonly title: string;\n readonly workflowId: string;\n readonly targetId: string;\n readonly targetRevisionId: string;\n readonly isActive: boolean;\n readonly comment: string | undefined;\n readonly state: WorkflowStateRecordState;\n readonly steps: IEnrichedWorkflowStateRecordStep[];\n readonly createdOn: Date;\n readonly savedOn: Date;\n readonly createdBy: IWorkflowStateIdentity;\n readonly savedBy: IWorkflowStateIdentity;\n readonly done: boolean;\n readonly currentStep: IEnrichedWorkflowStateRecordStep;\n readonly nextStep: IEnrichedWorkflowStateRecordStep | null;\n readonly previousStep: IEnrichedWorkflowStateRecordStep | null;\n}\n\n// Abstractions\nexport const WorkflowStateModel = createAbstraction<CmsModel>(\"WorkflowStateModel\");\n\nexport namespace WorkflowStateModel {\n export type Interface = CmsModel;\n}\n\nexport type IWorkflowStateTransformerFromCmsEntryInput = CmsEntry<\n Omit<IWorkflowStateRecord, \"id\" | \"savedOn\" | \"createdOn\" | \"savedBy\" | \"createdBy\">\n>;\n\nexport type IWorkflowStateTransformerFromCmsEntryOutput = IWorkflowStateRecord;\n\nexport type IWorkflowStateTransformerToCmsEntryInput = Omit<\n IWorkflowStateRecord,\n \"savedOn\" | \"createdOn\" | \"savedBy\"\n>;\n\nexport type IWorkflowStateTransformerToCmsEntryOutput = Omit<\n IWorkflowStateRecord,\n \"id\" | \"savedOn\" | \"createdOn\" | \"savedBy\" | \"createdBy\"\n>;\n\nexport interface IWorkflowStateMapper {\n fromCmsEntry(\n input: IWorkflowStateTransformerFromCmsEntryInput\n ): IWorkflowStateTransformerFromCmsEntryOutput;\n toCmsEntry(\n input: IWorkflowStateTransformerToCmsEntryInput\n ): IWorkflowStateTransformerToCmsEntryOutput;\n}\n\nexport const WorkflowStateMapper = createAbstraction<IWorkflowStateMapper>(\"WorkflowStateMapper\");\n\nexport namespace WorkflowStateMapper {\n export type Interface = IWorkflowStateMapper;\n}\n"],"names":["WorkflowStateRecordState","WorkflowStateModel","createAbstraction","WorkflowStateMapper"],"mappings":";AAIO,IAAKA,wCAAwBA,WAAAA,GAAAA,SAAxBA,wBAAwB;;;;;WAAxBA;;AAkEL,MAAMC,qBAAqBC,kBAA4B;AA+BvD,MAAMC,sBAAsBD,kBAAwC"}
@@ -1,139 +1,126 @@
1
1
  import { BaseError } from "@webiny/feature/api";
2
- export class WorkflowStateNotFoundError extends BaseError {
3
- code = "Workflows/State/NotFound";
4
- constructor(data) {
5
- super({
6
- message: "Workflow state not found.",
7
- data
8
- });
9
- }
2
+ class WorkflowStateNotFoundError extends BaseError {
3
+ constructor(data){
4
+ super({
5
+ message: "Workflow state not found.",
6
+ data
7
+ }), this.code = "Workflows/State/NotFound";
8
+ }
10
9
  }
11
- export class WorkflowStateNotAuthorizedError extends BaseError {
12
- code = "Workflows/State/NotAuthorized";
13
- constructor(message) {
14
- super({
15
- message
16
- });
17
- }
10
+ class WorkflowStateNotAuthorizedError extends BaseError {
11
+ constructor(message){
12
+ super({
13
+ message
14
+ }), this.code = "Workflows/State/NotAuthorized";
15
+ }
18
16
  }
19
- export class WorkflowStatePersistenceError extends BaseError {
20
- code = "Workflows/State/Persistence";
21
- constructor(error) {
22
- super({
23
- message: error.message
24
- });
25
- }
17
+ class WorkflowStatePersistenceError extends BaseError {
18
+ constructor(error){
19
+ super({
20
+ message: error.message
21
+ }), this.code = "Workflows/State/Persistence";
22
+ }
26
23
  }
27
- export class WorkflowStateValidationError extends BaseError {
28
- code = "Workflows/State/Validation";
29
- constructor(message) {
30
- super({
31
- message
32
- });
33
- }
24
+ class WorkflowStateValidationError extends BaseError {
25
+ constructor(message){
26
+ super({
27
+ message
28
+ }), this.code = "Workflows/State/Validation";
29
+ }
34
30
  }
35
- export class ActiveStateExistsError extends BaseError {
36
- code = "Workflows/State/ActiveExists";
37
- constructor(data) {
38
- super({
39
- message: "An active workflow state already exists for this target",
40
- data
41
- });
42
- }
31
+ class ActiveStateExistsError extends BaseError {
32
+ constructor(data){
33
+ super({
34
+ message: "An active workflow state already exists for this target",
35
+ data
36
+ }), this.code = "Workflows/State/ActiveExists";
37
+ }
43
38
  }
44
- export class MultipleWorkflowsFoundError extends BaseError {
45
- code = "Workflows/State/MultipleFound";
46
- constructor(data) {
47
- super({
48
- message: "Multiple workflows found when only one was expected",
49
- data
50
- });
51
- }
39
+ class MultipleWorkflowsFoundError extends BaseError {
40
+ constructor(data){
41
+ super({
42
+ message: "Multiple workflows found when only one was expected",
43
+ data
44
+ }), this.code = "Workflows/State/MultipleFound";
45
+ }
52
46
  }
53
- export class WorkflowStateNoPendingStepError extends BaseError {
54
- code = "Workflows/State/NoPendingStep";
55
- constructor() {
56
- super({
57
- message: "No pending step found in workflow state"
58
- });
59
- }
47
+ class WorkflowStateNoPendingStepError extends BaseError {
48
+ constructor(){
49
+ super({
50
+ message: "No pending step found in workflow state"
51
+ }), this.code = "Workflows/State/NoPendingStep";
52
+ }
60
53
  }
61
- export class WorkflowStateStepCannotReviewError extends BaseError {
62
- code = "Workflows/State/Step/CannotReview";
63
- constructor(step) {
64
- super({
65
- message: "You do not have permissions to review this content review step.",
66
- data: {
67
- step
68
- }
69
- });
70
- }
54
+ class WorkflowStateStepCannotReviewError extends BaseError {
55
+ constructor(step){
56
+ super({
57
+ message: "You do not have permissions to review this content review step.",
58
+ data: {
59
+ step
60
+ }
61
+ }), this.code = "Workflows/State/Step/CannotReview";
62
+ }
71
63
  }
72
- export class WorkflowStateStepCannotTakeOverError extends BaseError {
73
- code = "Workflows/State/Step/CannotTakeOver";
74
- constructor(step) {
75
- super({
76
- message: "You do not have permissions to take over this workflow state step.",
77
- data: {
78
- step
79
- }
80
- });
81
- }
64
+ class WorkflowStateStepCannotTakeOverError extends BaseError {
65
+ constructor(step){
66
+ super({
67
+ message: "You do not have permissions to take over this workflow state step.",
68
+ data: {
69
+ step
70
+ }
71
+ }), this.code = "Workflows/State/Step/CannotTakeOver";
72
+ }
82
73
  }
83
- export class WorkflowStateStepNotStepOwnerError extends BaseError {
84
- code = "Workflows/State/Step/NotStepOwner";
85
- constructor(step) {
86
- super({
87
- message: "You must be the owner of this workflow state step to perform this action.",
88
- data: {
89
- step
90
- }
91
- });
92
- }
74
+ class WorkflowStateStepNotStepOwnerError extends BaseError {
75
+ constructor(step){
76
+ super({
77
+ message: "You must be the owner of this workflow state step to perform this action.",
78
+ data: {
79
+ step
80
+ }
81
+ }), this.code = "Workflows/State/Step/NotStepOwner";
82
+ }
93
83
  }
94
- export class WorkflowStateInReviewError extends BaseError {
95
- code = "Workflows/State/InReview";
96
- constructor(state) {
97
- super({
98
- message: "The workflow state is already in review and cannot proceed.",
99
- data: {
100
- state
101
- }
102
- });
103
- }
84
+ class WorkflowStateInReviewError extends BaseError {
85
+ constructor(state){
86
+ super({
87
+ message: "The workflow state is already in review and cannot proceed.",
88
+ data: {
89
+ state
90
+ }
91
+ }), this.code = "Workflows/State/InReview";
92
+ }
104
93
  }
105
- export class WorkflowStateRejectedError extends BaseError {
106
- code = "Workflows/State/Rejected";
107
- constructor(state) {
108
- super({
109
- message: "Cannot perform this action on a workflow state that has been rejected.",
110
- data: {
111
- state
112
- }
113
- });
114
- }
94
+ class WorkflowStateRejectedError extends BaseError {
95
+ constructor(state){
96
+ super({
97
+ message: "Cannot perform this action on a workflow state that has been rejected.",
98
+ data: {
99
+ state
100
+ }
101
+ }), this.code = "Workflows/State/Rejected";
102
+ }
115
103
  }
116
- export class WorkflowStateNotInReview extends BaseError {
117
- code = "Workflows/State/NotInReview";
118
- constructor(message, state) {
119
- super({
120
- message,
121
- data: {
122
- state
123
- }
124
- });
125
- }
104
+ class WorkflowStateNotInReview extends BaseError {
105
+ constructor(message, state){
106
+ super({
107
+ message,
108
+ data: {
109
+ state
110
+ }
111
+ }), this.code = "Workflows/State/NotInReview";
112
+ }
126
113
  }
127
- export class WorkflowStateNoCurrentStepError extends BaseError {
128
- code = "Workflows/State/NoCurrentStep";
129
- constructor(steps) {
130
- super({
131
- message: "Cannot determine the current step of the workflow state.",
132
- data: {
133
- steps
134
- }
135
- });
136
- }
114
+ class WorkflowStateNoCurrentStepError extends BaseError {
115
+ constructor(steps){
116
+ super({
117
+ message: "Cannot determine the current step of the workflow state.",
118
+ data: {
119
+ steps
120
+ }
121
+ }), this.code = "Workflows/State/NoCurrentStep";
122
+ }
137
123
  }
124
+ export { ActiveStateExistsError, MultipleWorkflowsFoundError, WorkflowStateInReviewError, WorkflowStateNoCurrentStepError, WorkflowStateNoPendingStepError, WorkflowStateNotAuthorizedError, WorkflowStateNotFoundError, WorkflowStateNotInReview, WorkflowStatePersistenceError, WorkflowStateRejectedError, WorkflowStateStepCannotReviewError, WorkflowStateStepCannotTakeOverError, WorkflowStateStepNotStepOwnerError, WorkflowStateValidationError };
138
125
 
139
126
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseError","WorkflowStateNotFoundError","code","constructor","data","message","WorkflowStateNotAuthorizedError","WorkflowStatePersistenceError","error","WorkflowStateValidationError","ActiveStateExistsError","MultipleWorkflowsFoundError","WorkflowStateNoPendingStepError","WorkflowStateStepCannotReviewError","step","WorkflowStateStepCannotTakeOverError","WorkflowStateStepNotStepOwnerError","WorkflowStateInReviewError","state","WorkflowStateRejectedError","WorkflowStateNotInReview","WorkflowStateNoCurrentStepError","steps"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\nimport type { IWorkflowStateRecord, IWorkflowStateRecordStep } from \"./abstractions.js\";\n\nexport class WorkflowStateNotFoundError extends BaseError<{\n id?: string;\n app?: string;\n targetRevisionId?: string;\n}> {\n override readonly code = \"Workflows/State/NotFound\" as const;\n\n constructor(data: { id?: string; app?: string; targetRevisionId?: string }) {\n super({\n message: \"Workflow state not found.\",\n data\n });\n }\n}\n\nexport class WorkflowStateNotAuthorizedError extends BaseError {\n override readonly code = \"Workflows/State/NotAuthorized\" as const;\n\n constructor(message: string) {\n super({ message });\n }\n}\n\nexport class WorkflowStatePersistenceError extends BaseError {\n override readonly code = \"Workflows/State/Persistence\" as const;\n\n constructor(error: Error) {\n super({ message: error.message });\n }\n}\n\nexport class WorkflowStateValidationError extends BaseError {\n override readonly code = \"Workflows/State/Validation\" as const;\n\n constructor(message: string) {\n super({ message });\n }\n}\n\nexport class ActiveStateExistsError extends BaseError<{ app: string; targetRevisionId: string }> {\n override readonly code = \"Workflows/State/ActiveExists\" as const;\n\n constructor(data: { app: string; targetRevisionId: string }) {\n super({\n message: \"An active workflow state already exists for this target\",\n data\n });\n }\n}\n\nexport class MultipleWorkflowsFoundError extends BaseError {\n override readonly code = \"Workflows/State/MultipleFound\" as const;\n\n constructor(data: any) {\n super({\n message: \"Multiple workflows found when only one was expected\",\n data\n });\n }\n}\n\nexport class WorkflowStateNoPendingStepError extends BaseError {\n override readonly code = \"Workflows/State/NoPendingStep\" as const;\n\n constructor() {\n super({\n message: \"No pending step found in workflow state\"\n });\n }\n}\n\nexport class WorkflowStateStepCannotReviewError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/CannotReview\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You do not have permissions to review this content review step.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateStepCannotTakeOverError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/CannotTakeOver\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You do not have permissions to take over this workflow state step.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateStepNotStepOwnerError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/NotStepOwner\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You must be the owner of this workflow state step to perform this action.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateInReviewError extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/InReview\" as const;\n\n constructor(state: IWorkflowStateRecord) {\n super({\n message: \"The workflow state is already in review and cannot proceed.\",\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateRejectedError extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/Rejected\" as const;\n\n constructor(state: IWorkflowStateRecord) {\n super({\n message: \"Cannot perform this action on a workflow state that has been rejected.\",\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateNotInReview extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/NotInReview\" as const;\n\n constructor(message: string, state: IWorkflowStateRecord) {\n super({\n message,\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateNoCurrentStepError extends BaseError<{\n steps: IWorkflowStateRecordStep[];\n}> {\n override readonly code = \"Workflows/State/NoCurrentStep\" as const;\n\n constructor(steps: IWorkflowStateRecordStep[]) {\n super({\n message: \"Cannot determine the current step of the workflow state.\",\n data: { steps }\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"domain/workflowState/errors.js","sources":["../../../src/domain/workflowState/errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\nimport type { IWorkflowStateRecord, IWorkflowStateRecordStep } from \"./abstractions.js\";\n\nexport class WorkflowStateNotFoundError extends BaseError<{\n id?: string;\n app?: string;\n targetRevisionId?: string;\n}> {\n override readonly code = \"Workflows/State/NotFound\" as const;\n\n constructor(data: { id?: string; app?: string; targetRevisionId?: string }) {\n super({\n message: \"Workflow state not found.\",\n data\n });\n }\n}\n\nexport class WorkflowStateNotAuthorizedError extends BaseError {\n override readonly code = \"Workflows/State/NotAuthorized\" as const;\n\n constructor(message: string) {\n super({ message });\n }\n}\n\nexport class WorkflowStatePersistenceError extends BaseError {\n override readonly code = \"Workflows/State/Persistence\" as const;\n\n constructor(error: Error) {\n super({ message: error.message });\n }\n}\n\nexport class WorkflowStateValidationError extends BaseError {\n override readonly code = \"Workflows/State/Validation\" as const;\n\n constructor(message: string) {\n super({ message });\n }\n}\n\nexport class ActiveStateExistsError extends BaseError<{ app: string; targetRevisionId: string }> {\n override readonly code = \"Workflows/State/ActiveExists\" as const;\n\n constructor(data: { app: string; targetRevisionId: string }) {\n super({\n message: \"An active workflow state already exists for this target\",\n data\n });\n }\n}\n\nexport class MultipleWorkflowsFoundError extends BaseError {\n override readonly code = \"Workflows/State/MultipleFound\" as const;\n\n constructor(data: any) {\n super({\n message: \"Multiple workflows found when only one was expected\",\n data\n });\n }\n}\n\nexport class WorkflowStateNoPendingStepError extends BaseError {\n override readonly code = \"Workflows/State/NoPendingStep\" as const;\n\n constructor() {\n super({\n message: \"No pending step found in workflow state\"\n });\n }\n}\n\nexport class WorkflowStateStepCannotReviewError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/CannotReview\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You do not have permissions to review this content review step.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateStepCannotTakeOverError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/CannotTakeOver\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You do not have permissions to take over this workflow state step.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateStepNotStepOwnerError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/NotStepOwner\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You must be the owner of this workflow state step to perform this action.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateInReviewError extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/InReview\" as const;\n\n constructor(state: IWorkflowStateRecord) {\n super({\n message: \"The workflow state is already in review and cannot proceed.\",\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateRejectedError extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/Rejected\" as const;\n\n constructor(state: IWorkflowStateRecord) {\n super({\n message: \"Cannot perform this action on a workflow state that has been rejected.\",\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateNotInReview extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/NotInReview\" as const;\n\n constructor(message: string, state: IWorkflowStateRecord) {\n super({\n message,\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateNoCurrentStepError extends BaseError<{\n steps: IWorkflowStateRecordStep[];\n}> {\n override readonly code = \"Workflows/State/NoCurrentStep\" as const;\n\n constructor(steps: IWorkflowStateRecordStep[]) {\n super({\n message: \"Cannot determine the current step of the workflow state.\",\n data: { steps }\n });\n }\n}\n"],"names":["WorkflowStateNotFoundError","BaseError","data","WorkflowStateNotAuthorizedError","message","WorkflowStatePersistenceError","error","WorkflowStateValidationError","ActiveStateExistsError","MultipleWorkflowsFoundError","WorkflowStateNoPendingStepError","WorkflowStateStepCannotReviewError","step","WorkflowStateStepCannotTakeOverError","WorkflowStateStepNotStepOwnerError","WorkflowStateInReviewError","state","WorkflowStateRejectedError","WorkflowStateNotInReview","WorkflowStateNoCurrentStepError","steps"],"mappings":";AAGO,MAAMA,mCAAmCC;IAO5C,YAAYC,IAA8D,CAAE;QACxE,KAAK,CAAC;YACF,SAAS;YACTA;QACJ,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAMC,wCAAwCF;IAGjD,YAAYG,OAAe,CAAE;QACzB,KAAK,CAAC;YAAEA;QAAQ,SAHF,IAAI,GAAG;IAIzB;AACJ;AAEO,MAAMC,sCAAsCJ;IAG/C,YAAYK,KAAY,CAAE;QACtB,KAAK,CAAC;YAAE,SAASA,MAAM,OAAO;QAAC,SAHjB,IAAI,GAAG;IAIzB;AACJ;AAEO,MAAMC,qCAAqCN;IAG9C,YAAYG,OAAe,CAAE;QACzB,KAAK,CAAC;YAAEA;QAAQ,SAHF,IAAI,GAAG;IAIzB;AACJ;AAEO,MAAMI,+BAA+BP;IAGxC,YAAYC,IAA+C,CAAE;QACzD,KAAK,CAAC;YACF,SAAS;YACTA;QACJ,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAMO,oCAAoCR;IAG7C,YAAYC,IAAS,CAAE;QACnB,KAAK,CAAC;YACF,SAAS;YACTA;QACJ,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAMQ,wCAAwCT;IAGjD,aAAc;QACV,KAAK,CAAC;YACF,SAAS;QACb,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMU,2CAA2CV;IAKpD,YAAYW,IAA8B,CAAE;QACxC,KAAK,CAAC;YACF,SAAS;YACT,MAAM;gBAAEA;YAAK;QACjB,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAMC,6CAA6CZ;IAKtD,YAAYW,IAA8B,CAAE;QACxC,KAAK,CAAC;YACF,SAAS;YACT,MAAM;gBAAEA;YAAK;QACjB,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAME,2CAA2Cb;IAKpD,YAAYW,IAA8B,CAAE;QACxC,KAAK,CAAC;YACF,SAAS;YACT,MAAM;gBAAEA;YAAK;QACjB,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAMG,mCAAmCd;IAG5C,YAAYe,KAA2B,CAAE;QACrC,KAAK,CAAC;YACF,SAAS;YACT,MAAM;gBAAEA;YAAM;QAClB,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAMC,mCAAmChB;IAG5C,YAAYe,KAA2B,CAAE;QACrC,KAAK,CAAC;YACF,SAAS;YACT,MAAM;gBAAEA;YAAM;QAClB,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAME,iCAAiCjB;IAG1C,YAAYG,OAAe,EAAEY,KAA2B,CAAE;QACtD,KAAK,CAAC;YACFZ;YACA,MAAM;gBAAEY;YAAM;QAClB,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAMG,wCAAwClB;IAKjD,YAAYmB,KAAiC,CAAE;QAC3C,KAAK,CAAC;YACF,SAAS;YACT,MAAM;gBAAEA;YAAM;QAClB,SANc,IAAI,GAAG;IAOzB;AACJ"}
@@ -1,5 +1,4 @@
1
- export const canReview = step => {
2
- return step.canReview;
3
- };
1
+ const canReview = (step)=>step.canReview;
2
+ export { canReview };
4
3
 
5
4
  //# sourceMappingURL=canReview.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["canReview","step"],"sources":["canReview.ts"],"sourcesContent":["import type { IEnrichedWorkflowStateRecordStep } from \"../abstractions.js\";\n\nexport const canReview = (step: IEnrichedWorkflowStateRecordStep): boolean => {\n return step.canReview;\n};\n"],"mappings":"AAEA,OAAO,MAAMA,SAAS,GAAIC,IAAsC,IAAc;EAC1E,OAAOA,IAAI,CAACD,SAAS;AACzB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"domain/workflowState/guards/canReview.js","sources":["../../../../src/domain/workflowState/guards/canReview.ts"],"sourcesContent":["import type { IEnrichedWorkflowStateRecordStep } from \"../abstractions.js\";\n\nexport const canReview = (step: IEnrichedWorkflowStateRecordStep): boolean => {\n return step.canReview;\n};\n"],"names":["canReview","step"],"mappings":"AAEO,MAAMA,YAAY,CAACC,OACfA,KAAK,SAAS"}
@@ -1,5 +1,4 @@
1
- export const canTakeOver = step => {
2
- return step.canTakeOver;
3
- };
1
+ const canTakeOver = (step)=>step.canTakeOver;
2
+ export { canTakeOver };
4
3
 
5
4
  //# sourceMappingURL=canTakeOver.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["canTakeOver","step"],"sources":["canTakeOver.ts"],"sourcesContent":["import type { IEnrichedWorkflowStateRecordStep } from \"../abstractions.js\";\n\nexport const canTakeOver = (step: IEnrichedWorkflowStateRecordStep): boolean => {\n return step.canTakeOver;\n};\n"],"mappings":"AAEA,OAAO,MAAMA,WAAW,GAAIC,IAAsC,IAAc;EAC5E,OAAOA,IAAI,CAACD,WAAW;AAC3B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"domain/workflowState/guards/canTakeOver.js","sources":["../../../../src/domain/workflowState/guards/canTakeOver.ts"],"sourcesContent":["import type { IEnrichedWorkflowStateRecordStep } from \"../abstractions.js\";\n\nexport const canTakeOver = (step: IEnrichedWorkflowStateRecordStep): boolean => {\n return step.canTakeOver;\n};\n"],"names":["canTakeOver","step"],"mappings":"AAEO,MAAMA,cAAc,CAACC,OACjBA,KAAK,WAAW"}
@@ -1,6 +1,5 @@
1
1
  import { WorkflowStateRecordState } from "../abstractions.js";
2
- export const isInReview = state => {
3
- return state.state === WorkflowStateRecordState.inReview;
4
- };
2
+ const isInReview = (state)=>state.state === WorkflowStateRecordState.inReview;
3
+ export { isInReview };
5
4
 
6
5
  //# sourceMappingURL=isInReview.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["WorkflowStateRecordState","isInReview","state","inReview"],"sources":["isInReview.ts"],"sourcesContent":["import { type IWorkflowStateRecord, WorkflowStateRecordState } from \"../abstractions.js\";\n\nexport const isInReview = (state: IWorkflowStateRecord): boolean => {\n return state.state === WorkflowStateRecordState.inReview;\n};\n"],"mappings":"AAAA,SAAoCA,wBAAwB;AAE5D,OAAO,MAAMC,UAAU,GAAIC,KAA2B,IAAc;EAChE,OAAOA,KAAK,CAACA,KAAK,KAAKF,wBAAwB,CAACG,QAAQ;AAC5D,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"domain/workflowState/guards/isInReview.js","sources":["../../../../src/domain/workflowState/guards/isInReview.ts"],"sourcesContent":["import { type IWorkflowStateRecord, WorkflowStateRecordState } from \"../abstractions.js\";\n\nexport const isInReview = (state: IWorkflowStateRecord): boolean => {\n return state.state === WorkflowStateRecordState.inReview;\n};\n"],"names":["isInReview","state","WorkflowStateRecordState"],"mappings":";AAEO,MAAMA,aAAa,CAACC,QAChBA,MAAM,KAAK,KAAKC,yBAAyB,QAAQ"}
@@ -1,6 +1,5 @@
1
1
  import { WorkflowStateRecordState } from "../abstractions.js";
2
- export const isRejected = state => {
3
- return state.state === WorkflowStateRecordState.rejected;
4
- };
2
+ const isRejected = (state)=>state.state === WorkflowStateRecordState.rejected;
3
+ export { isRejected };
5
4
 
6
5
  //# sourceMappingURL=isRejected.js.map