@webiny/api-workflows 0.0.0-unstable.61c048f412

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 (463) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/constants.d.ts +3 -0
  4. package/constants.js +5 -0
  5. package/constants.js.map +1 -0
  6. package/domain/notifications/abstractions.d.ts +64 -0
  7. package/domain/notifications/abstractions.js +10 -0
  8. package/domain/notifications/abstractions.js.map +1 -0
  9. package/domain/notifications/errors.d.ts +5 -0
  10. package/domain/notifications/errors.js +11 -0
  11. package/domain/notifications/errors.js.map +1 -0
  12. package/domain/workflow/WorkflowMapper.d.ts +12 -0
  13. package/domain/workflow/WorkflowMapper.js +29 -0
  14. package/domain/workflow/WorkflowMapper.js.map +1 -0
  15. package/domain/workflow/abstractions.d.ts +37 -0
  16. package/domain/workflow/abstractions.js +6 -0
  17. package/domain/workflow/abstractions.js.map +1 -0
  18. package/domain/workflow/errors.d.ts +23 -0
  19. package/domain/workflow/errors.js +36 -0
  20. package/domain/workflow/errors.js.map +1 -0
  21. package/domain/workflow/workflowModel.d.ts +9 -0
  22. package/domain/workflow/workflowModel.js +32 -0
  23. package/domain/workflow/workflowModel.js.map +1 -0
  24. package/domain/workflowState/WorkflowState.d.ts +55 -0
  25. package/domain/workflowState/WorkflowState.js +327 -0
  26. package/domain/workflowState/WorkflowState.js.map +1 -0
  27. package/domain/workflowState/WorkflowStateMapper.d.ts +9 -0
  28. package/domain/workflowState/WorkflowStateMapper.js +40 -0
  29. package/domain/workflowState/WorkflowStateMapper.js.map +1 -0
  30. package/domain/workflowState/abstractions.d.ts +75 -0
  31. package/domain/workflowState/abstractions.js +13 -0
  32. package/domain/workflowState/abstractions.js.map +1 -0
  33. package/domain/workflowState/errors.d.ts +86 -0
  34. package/domain/workflowState/errors.js +139 -0
  35. package/domain/workflowState/errors.js.map +1 -0
  36. package/domain/workflowState/guards/canReview.d.ts +2 -0
  37. package/domain/workflowState/guards/canReview.js +5 -0
  38. package/domain/workflowState/guards/canReview.js.map +1 -0
  39. package/domain/workflowState/guards/canTakeOver.d.ts +2 -0
  40. package/domain/workflowState/guards/canTakeOver.js +5 -0
  41. package/domain/workflowState/guards/canTakeOver.js.map +1 -0
  42. package/domain/workflowState/guards/isInReview.d.ts +2 -0
  43. package/domain/workflowState/guards/isInReview.js +6 -0
  44. package/domain/workflowState/guards/isInReview.js.map +1 -0
  45. package/domain/workflowState/guards/isRejected.d.ts +2 -0
  46. package/domain/workflowState/guards/isRejected.js +6 -0
  47. package/domain/workflowState/guards/isRejected.js.map +1 -0
  48. package/domain/workflowState/guards/isStepOwner.d.ts +2 -0
  49. package/domain/workflowState/guards/isStepOwner.js +5 -0
  50. package/domain/workflowState/guards/isStepOwner.js.map +1 -0
  51. package/domain/workflowState/stateModel.d.ts +9 -0
  52. package/domain/workflowState/stateModel.js +58 -0
  53. package/domain/workflowState/stateModel.js.map +1 -0
  54. package/features/internal/GetUserTeams/GetUserTeamsUseCase.d.ts +12 -0
  55. package/features/internal/GetUserTeams/GetUserTeamsUseCase.js +36 -0
  56. package/features/internal/GetUserTeams/GetUserTeamsUseCase.js.map +1 -0
  57. package/features/internal/GetUserTeams/abstractions.d.ts +10 -0
  58. package/features/internal/GetUserTeams/abstractions.js +4 -0
  59. package/features/internal/GetUserTeams/abstractions.js.map +1 -0
  60. package/features/internal/GetUserTeams/feature.d.ts +1 -0
  61. package/features/internal/GetUserTeams/feature.js +10 -0
  62. package/features/internal/GetUserTeams/feature.js.map +1 -0
  63. package/features/internal/GetUserTeams/index.d.ts +1 -0
  64. package/features/internal/GetUserTeams/index.js +3 -0
  65. package/features/internal/GetUserTeams/index.js.map +1 -0
  66. package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.d.ts +11 -0
  67. package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js +24 -0
  68. package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js.map +1 -0
  69. package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.d.ts +13 -0
  70. package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js +40 -0
  71. package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js.map +1 -0
  72. package/features/notifications/ListNotificationTypes/abstractions.d.ts +31 -0
  73. package/features/notifications/ListNotificationTypes/abstractions.js +15 -0
  74. package/features/notifications/ListNotificationTypes/abstractions.js.map +1 -0
  75. package/features/notifications/ListNotificationTypes/feature.d.ts +1 -0
  76. package/features/notifications/ListNotificationTypes/feature.js +12 -0
  77. package/features/notifications/ListNotificationTypes/feature.js.map +1 -0
  78. package/features/notifications/ListNotificationTypes/index.d.ts +3 -0
  79. package/features/notifications/ListNotificationTypes/index.js +4 -0
  80. package/features/notifications/ListNotificationTypes/index.js.map +1 -0
  81. package/features/notifications/NotificationTransport/MailNotificationTransport.d.ts +13 -0
  82. package/features/notifications/NotificationTransport/MailNotificationTransport.js +47 -0
  83. package/features/notifications/NotificationTransport/MailNotificationTransport.js.map +1 -0
  84. package/features/notifications/NotificationTransport/abstractions.d.ts +21 -0
  85. package/features/notifications/NotificationTransport/abstractions.js +4 -0
  86. package/features/notifications/NotificationTransport/abstractions.js.map +1 -0
  87. package/features/notifications/NotificationTransport/feature.d.ts +1 -0
  88. package/features/notifications/NotificationTransport/feature.js +10 -0
  89. package/features/notifications/NotificationTransport/feature.js.map +1 -0
  90. package/features/notifications/NotificationTransport/index.d.ts +3 -0
  91. package/features/notifications/NotificationTransport/index.js +4 -0
  92. package/features/notifications/NotificationTransport/index.js.map +1 -0
  93. package/features/shared/abstractions.d.ts +21 -0
  94. package/features/shared/abstractions.js +3 -0
  95. package/features/shared/abstractions.js.map +1 -0
  96. package/features/workflow/CreateWorkflow/CreateWorkflowRepository.d.ts +14 -0
  97. package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js +45 -0
  98. package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js.map +1 -0
  99. package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.d.ts +15 -0
  100. package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js +57 -0
  101. package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js.map +1 -0
  102. package/features/workflow/CreateWorkflow/abstractions.d.ts +56 -0
  103. package/features/workflow/CreateWorkflow/abstractions.js +19 -0
  104. package/features/workflow/CreateWorkflow/abstractions.js.map +1 -0
  105. package/features/workflow/CreateWorkflow/events.d.ts +21 -0
  106. package/features/workflow/CreateWorkflow/events.js +20 -0
  107. package/features/workflow/CreateWorkflow/events.js.map +1 -0
  108. package/features/workflow/CreateWorkflow/feature.d.ts +1 -0
  109. package/features/workflow/CreateWorkflow/feature.js +12 -0
  110. package/features/workflow/CreateWorkflow/feature.js.map +1 -0
  111. package/features/workflow/CreateWorkflow/index.d.ts +4 -0
  112. package/features/workflow/CreateWorkflow/index.js +5 -0
  113. package/features/workflow/CreateWorkflow/index.js.map +1 -0
  114. package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.d.ts +13 -0
  115. package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js +33 -0
  116. package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js.map +1 -0
  117. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.d.ts +17 -0
  118. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js +59 -0
  119. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js.map +1 -0
  120. package/features/workflow/DeleteWorkflow/abstractions.d.ts +50 -0
  121. package/features/workflow/DeleteWorkflow/abstractions.js +19 -0
  122. package/features/workflow/DeleteWorkflow/abstractions.js.map +1 -0
  123. package/features/workflow/DeleteWorkflow/events.d.ts +21 -0
  124. package/features/workflow/DeleteWorkflow/events.js +20 -0
  125. package/features/workflow/DeleteWorkflow/events.js.map +1 -0
  126. package/features/workflow/DeleteWorkflow/feature.d.ts +1 -0
  127. package/features/workflow/DeleteWorkflow/feature.js +12 -0
  128. package/features/workflow/DeleteWorkflow/feature.js.map +1 -0
  129. package/features/workflow/DeleteWorkflow/index.d.ts +4 -0
  130. package/features/workflow/DeleteWorkflow/index.js +5 -0
  131. package/features/workflow/DeleteWorkflow/index.js.map +1 -0
  132. package/features/workflow/GetWorkflow/GetWorkflowRepository.d.ts +14 -0
  133. package/features/workflow/GetWorkflow/GetWorkflowRepository.js +46 -0
  134. package/features/workflow/GetWorkflow/GetWorkflowRepository.js.map +1 -0
  135. package/features/workflow/GetWorkflow/GetWorkflowUseCase.d.ts +13 -0
  136. package/features/workflow/GetWorkflow/GetWorkflowUseCase.js +34 -0
  137. package/features/workflow/GetWorkflow/GetWorkflowUseCase.js.map +1 -0
  138. package/features/workflow/GetWorkflow/abstractions.d.ts +45 -0
  139. package/features/workflow/GetWorkflow/abstractions.js +15 -0
  140. package/features/workflow/GetWorkflow/abstractions.js.map +1 -0
  141. package/features/workflow/GetWorkflow/feature.d.ts +1 -0
  142. package/features/workflow/GetWorkflow/feature.js +12 -0
  143. package/features/workflow/GetWorkflow/feature.js.map +1 -0
  144. package/features/workflow/GetWorkflow/index.d.ts +1 -0
  145. package/features/workflow/GetWorkflow/index.js +3 -0
  146. package/features/workflow/GetWorkflow/index.js.map +1 -0
  147. package/features/workflow/ListWorkflows/ListWorkflowsRepository.d.ts +18 -0
  148. package/features/workflow/ListWorkflows/ListWorkflowsRepository.js +67 -0
  149. package/features/workflow/ListWorkflows/ListWorkflowsRepository.js.map +1 -0
  150. package/features/workflow/ListWorkflows/ListWorkflowsUseCase.d.ts +10 -0
  151. package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js +20 -0
  152. package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js.map +1 -0
  153. package/features/workflow/ListWorkflows/abstractions.d.ts +60 -0
  154. package/features/workflow/ListWorkflows/abstractions.js +15 -0
  155. package/features/workflow/ListWorkflows/abstractions.js.map +1 -0
  156. package/features/workflow/ListWorkflows/feature.d.ts +1 -0
  157. package/features/workflow/ListWorkflows/feature.js +12 -0
  158. package/features/workflow/ListWorkflows/feature.js.map +1 -0
  159. package/features/workflow/ListWorkflows/index.d.ts +1 -0
  160. package/features/workflow/ListWorkflows/index.js +3 -0
  161. package/features/workflow/ListWorkflows/index.js.map +1 -0
  162. package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.d.ts +15 -0
  163. package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js +37 -0
  164. package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js.map +1 -0
  165. package/features/workflow/StoreWorkflow/abstractions.d.ts +32 -0
  166. package/features/workflow/StoreWorkflow/abstractions.js +11 -0
  167. package/features/workflow/StoreWorkflow/abstractions.js.map +1 -0
  168. package/features/workflow/StoreWorkflow/feature.d.ts +1 -0
  169. package/features/workflow/StoreWorkflow/feature.js +17 -0
  170. package/features/workflow/StoreWorkflow/feature.js.map +1 -0
  171. package/features/workflow/StoreWorkflow/index.d.ts +3 -0
  172. package/features/workflow/StoreWorkflow/index.js +4 -0
  173. package/features/workflow/StoreWorkflow/index.js.map +1 -0
  174. package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.d.ts +15 -0
  175. package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js +49 -0
  176. package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js.map +1 -0
  177. package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.d.ts +15 -0
  178. package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js +59 -0
  179. package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js.map +1 -0
  180. package/features/workflow/UpdateWorkflow/abstractions.d.ts +57 -0
  181. package/features/workflow/UpdateWorkflow/abstractions.js +19 -0
  182. package/features/workflow/UpdateWorkflow/abstractions.js.map +1 -0
  183. package/features/workflow/UpdateWorkflow/events.d.ts +21 -0
  184. package/features/workflow/UpdateWorkflow/events.js +20 -0
  185. package/features/workflow/UpdateWorkflow/events.js.map +1 -0
  186. package/features/workflow/UpdateWorkflow/feature.d.ts +1 -0
  187. package/features/workflow/UpdateWorkflow/feature.js +12 -0
  188. package/features/workflow/UpdateWorkflow/feature.js.map +1 -0
  189. package/features/workflow/UpdateWorkflow/index.d.ts +4 -0
  190. package/features/workflow/UpdateWorkflow/index.js +5 -0
  191. package/features/workflow/UpdateWorkflow/index.js.map +1 -0
  192. package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.d.ts +15 -0
  193. package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js +39 -0
  194. package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js.map +1 -0
  195. package/features/workflowState/ApproveWorkflowStateStep/abstractions.d.ts +26 -0
  196. package/features/workflowState/ApproveWorkflowStateStep/abstractions.js +4 -0
  197. package/features/workflowState/ApproveWorkflowStateStep/abstractions.js.map +1 -0
  198. package/features/workflowState/ApproveWorkflowStateStep/events.d.ts +12 -0
  199. package/features/workflowState/ApproveWorkflowStateStep/events.js +11 -0
  200. package/features/workflowState/ApproveWorkflowStateStep/events.js.map +1 -0
  201. package/features/workflowState/ApproveWorkflowStateStep/feature.d.ts +1 -0
  202. package/features/workflowState/ApproveWorkflowStateStep/feature.js +10 -0
  203. package/features/workflowState/ApproveWorkflowStateStep/feature.js.map +1 -0
  204. package/features/workflowState/ApproveWorkflowStateStep/index.d.ts +2 -0
  205. package/features/workflowState/ApproveWorkflowStateStep/index.js +4 -0
  206. package/features/workflowState/ApproveWorkflowStateStep/index.js.map +1 -0
  207. package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.d.ts +13 -0
  208. package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.js +29 -0
  209. package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.js.map +1 -0
  210. package/features/workflowState/CancelWorkflowState/abstractions.d.ts +26 -0
  211. package/features/workflowState/CancelWorkflowState/abstractions.js +9 -0
  212. package/features/workflowState/CancelWorkflowState/abstractions.js.map +1 -0
  213. package/features/workflowState/CancelWorkflowState/events.d.ts +12 -0
  214. package/features/workflowState/CancelWorkflowState/events.js +11 -0
  215. package/features/workflowState/CancelWorkflowState/events.js.map +1 -0
  216. package/features/workflowState/CancelWorkflowState/feature.d.ts +1 -0
  217. package/features/workflowState/CancelWorkflowState/feature.js +10 -0
  218. package/features/workflowState/CancelWorkflowState/feature.js.map +1 -0
  219. package/features/workflowState/CancelWorkflowState/index.d.ts +2 -0
  220. package/features/workflowState/CancelWorkflowState/index.js +4 -0
  221. package/features/workflowState/CancelWorkflowState/index.js.map +1 -0
  222. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.d.ts +14 -0
  223. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js +32 -0
  224. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js.map +1 -0
  225. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.d.ts +20 -0
  226. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js +108 -0
  227. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js.map +1 -0
  228. package/features/workflowState/CreateWorkflowState/abstractions.d.ts +54 -0
  229. package/features/workflowState/CreateWorkflowState/abstractions.js +15 -0
  230. package/features/workflowState/CreateWorkflowState/abstractions.js.map +1 -0
  231. package/features/workflowState/CreateWorkflowState/events.d.ts +12 -0
  232. package/features/workflowState/CreateWorkflowState/events.js +11 -0
  233. package/features/workflowState/CreateWorkflowState/events.js.map +1 -0
  234. package/features/workflowState/CreateWorkflowState/feature.d.ts +1 -0
  235. package/features/workflowState/CreateWorkflowState/feature.js +12 -0
  236. package/features/workflowState/CreateWorkflowState/feature.js.map +1 -0
  237. package/features/workflowState/CreateWorkflowState/index.d.ts +2 -0
  238. package/features/workflowState/CreateWorkflowState/index.js +4 -0
  239. package/features/workflowState/CreateWorkflowState/index.js.map +1 -0
  240. package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.d.ts +21 -0
  241. package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js +59 -0
  242. package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js.map +1 -0
  243. package/features/workflowState/DeleteTargetWorkflowState/abstractions.d.ts +23 -0
  244. package/features/workflowState/DeleteTargetWorkflowState/abstractions.js +4 -0
  245. package/features/workflowState/DeleteTargetWorkflowState/abstractions.js.map +1 -0
  246. package/features/workflowState/DeleteTargetWorkflowState/events.d.ts +12 -0
  247. package/features/workflowState/DeleteTargetWorkflowState/events.js +11 -0
  248. package/features/workflowState/DeleteTargetWorkflowState/events.js.map +1 -0
  249. package/features/workflowState/DeleteTargetWorkflowState/feature.d.ts +1 -0
  250. package/features/workflowState/DeleteTargetWorkflowState/feature.js +10 -0
  251. package/features/workflowState/DeleteTargetWorkflowState/feature.js.map +1 -0
  252. package/features/workflowState/DeleteTargetWorkflowState/index.d.ts +2 -0
  253. package/features/workflowState/DeleteTargetWorkflowState/index.js +4 -0
  254. package/features/workflowState/DeleteTargetWorkflowState/index.js.map +1 -0
  255. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.d.ts +13 -0
  256. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js +20 -0
  257. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js.map +1 -0
  258. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.d.ts +14 -0
  259. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.js +32 -0
  260. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.js.map +1 -0
  261. package/features/workflowState/DeleteWorkflowState/abstractions.d.ts +25 -0
  262. package/features/workflowState/DeleteWorkflowState/abstractions.js +5 -0
  263. package/features/workflowState/DeleteWorkflowState/abstractions.js.map +1 -0
  264. package/features/workflowState/DeleteWorkflowState/feature.d.ts +1 -0
  265. package/features/workflowState/DeleteWorkflowState/feature.js +12 -0
  266. package/features/workflowState/DeleteWorkflowState/feature.js.map +1 -0
  267. package/features/workflowState/DeleteWorkflowState/index.d.ts +1 -0
  268. package/features/workflowState/DeleteWorkflowState/index.js +3 -0
  269. package/features/workflowState/DeleteWorkflowState/index.js.map +1 -0
  270. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.d.ts +14 -0
  271. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js +52 -0
  272. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js.map +1 -0
  273. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.d.ts +14 -0
  274. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js +38 -0
  275. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js.map +1 -0
  276. package/features/workflowState/GetTargetWorkflowState/abstractions.d.ts +48 -0
  277. package/features/workflowState/GetTargetWorkflowState/abstractions.js +15 -0
  278. package/features/workflowState/GetTargetWorkflowState/abstractions.js.map +1 -0
  279. package/features/workflowState/GetTargetWorkflowState/feature.d.ts +1 -0
  280. package/features/workflowState/GetTargetWorkflowState/feature.js +12 -0
  281. package/features/workflowState/GetTargetWorkflowState/feature.js.map +1 -0
  282. package/features/workflowState/GetTargetWorkflowState/index.d.ts +1 -0
  283. package/features/workflowState/GetTargetWorkflowState/index.js +3 -0
  284. package/features/workflowState/GetTargetWorkflowState/index.js.map +1 -0
  285. package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.d.ts +14 -0
  286. package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js +32 -0
  287. package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js.map +1 -0
  288. package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.d.ts +14 -0
  289. package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js +30 -0
  290. package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js.map +1 -0
  291. package/features/workflowState/GetWorkflowState/abstractions.d.ts +39 -0
  292. package/features/workflowState/GetWorkflowState/abstractions.js +15 -0
  293. package/features/workflowState/GetWorkflowState/abstractions.js.map +1 -0
  294. package/features/workflowState/GetWorkflowState/feature.d.ts +1 -0
  295. package/features/workflowState/GetWorkflowState/feature.js +12 -0
  296. package/features/workflowState/GetWorkflowState/feature.js.map +1 -0
  297. package/features/workflowState/GetWorkflowState/index.d.ts +1 -0
  298. package/features/workflowState/GetWorkflowState/index.js +3 -0
  299. package/features/workflowState/GetWorkflowState/index.js.map +1 -0
  300. package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.d.ts +13 -0
  301. package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js +41 -0
  302. package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js.map +1 -0
  303. package/features/workflowState/ListOwnWorkflowStates/abstractions.d.ts +22 -0
  304. package/features/workflowState/ListOwnWorkflowStates/abstractions.js +9 -0
  305. package/features/workflowState/ListOwnWorkflowStates/abstractions.js.map +1 -0
  306. package/features/workflowState/ListOwnWorkflowStates/feature.d.ts +1 -0
  307. package/features/workflowState/ListOwnWorkflowStates/feature.js +10 -0
  308. package/features/workflowState/ListOwnWorkflowStates/feature.js.map +1 -0
  309. package/features/workflowState/ListOwnWorkflowStates/index.d.ts +1 -0
  310. package/features/workflowState/ListOwnWorkflowStates/index.js +3 -0
  311. package/features/workflowState/ListOwnWorkflowStates/index.js.map +1 -0
  312. package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.d.ts +15 -0
  313. package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js +49 -0
  314. package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js.map +1 -0
  315. package/features/workflowState/ListRequestedWorkflowStates/abstractions.d.ts +22 -0
  316. package/features/workflowState/ListRequestedWorkflowStates/abstractions.js +9 -0
  317. package/features/workflowState/ListRequestedWorkflowStates/abstractions.js.map +1 -0
  318. package/features/workflowState/ListRequestedWorkflowStates/feature.d.ts +1 -0
  319. package/features/workflowState/ListRequestedWorkflowStates/feature.js +10 -0
  320. package/features/workflowState/ListRequestedWorkflowStates/feature.js.map +1 -0
  321. package/features/workflowState/ListRequestedWorkflowStates/index.d.ts +1 -0
  322. package/features/workflowState/ListRequestedWorkflowStates/index.js +3 -0
  323. package/features/workflowState/ListRequestedWorkflowStates/index.js.map +1 -0
  324. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.d.ts +16 -0
  325. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js +43 -0
  326. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js.map +1 -0
  327. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.d.ts +14 -0
  328. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js +36 -0
  329. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js.map +1 -0
  330. package/features/workflowState/ListWorkflowStates/abstractions.d.ts +56 -0
  331. package/features/workflowState/ListWorkflowStates/abstractions.js +15 -0
  332. package/features/workflowState/ListWorkflowStates/abstractions.js.map +1 -0
  333. package/features/workflowState/ListWorkflowStates/feature.d.ts +1 -0
  334. package/features/workflowState/ListWorkflowStates/feature.js +12 -0
  335. package/features/workflowState/ListWorkflowStates/feature.js.map +1 -0
  336. package/features/workflowState/ListWorkflowStates/index.d.ts +1 -0
  337. package/features/workflowState/ListWorkflowStates/index.js +3 -0
  338. package/features/workflowState/ListWorkflowStates/index.js.map +1 -0
  339. package/features/workflowState/README.md +8 -0
  340. package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.d.ts +15 -0
  341. package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.js +39 -0
  342. package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.js.map +1 -0
  343. package/features/workflowState/RejectWorkflowStateStep/abstractions.d.ts +26 -0
  344. package/features/workflowState/RejectWorkflowStateStep/abstractions.js +4 -0
  345. package/features/workflowState/RejectWorkflowStateStep/abstractions.js.map +1 -0
  346. package/features/workflowState/RejectWorkflowStateStep/events.d.ts +12 -0
  347. package/features/workflowState/RejectWorkflowStateStep/events.js +11 -0
  348. package/features/workflowState/RejectWorkflowStateStep/events.js.map +1 -0
  349. package/features/workflowState/RejectWorkflowStateStep/feature.d.ts +1 -0
  350. package/features/workflowState/RejectWorkflowStateStep/feature.js +10 -0
  351. package/features/workflowState/RejectWorkflowStateStep/feature.js.map +1 -0
  352. package/features/workflowState/RejectWorkflowStateStep/index.d.ts +2 -0
  353. package/features/workflowState/RejectWorkflowStateStep/index.js +4 -0
  354. package/features/workflowState/RejectWorkflowStateStep/index.js.map +1 -0
  355. package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.d.ts +15 -0
  356. package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.js +39 -0
  357. package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.js.map +1 -0
  358. package/features/workflowState/StartWorkflowStateStep/abstractions.d.ts +25 -0
  359. package/features/workflowState/StartWorkflowStateStep/abstractions.js +4 -0
  360. package/features/workflowState/StartWorkflowStateStep/abstractions.js.map +1 -0
  361. package/features/workflowState/StartWorkflowStateStep/events.d.ts +12 -0
  362. package/features/workflowState/StartWorkflowStateStep/events.js +11 -0
  363. package/features/workflowState/StartWorkflowStateStep/events.js.map +1 -0
  364. package/features/workflowState/StartWorkflowStateStep/feature.d.ts +1 -0
  365. package/features/workflowState/StartWorkflowStateStep/feature.js +10 -0
  366. package/features/workflowState/StartWorkflowStateStep/feature.js.map +1 -0
  367. package/features/workflowState/StartWorkflowStateStep/index.d.ts +2 -0
  368. package/features/workflowState/StartWorkflowStateStep/index.js +4 -0
  369. package/features/workflowState/StartWorkflowStateStep/index.js.map +1 -0
  370. package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.d.ts +15 -0
  371. package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.js +39 -0
  372. package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.js.map +1 -0
  373. package/features/workflowState/TakeOverWorkflowStateStep/abstractions.d.ts +26 -0
  374. package/features/workflowState/TakeOverWorkflowStateStep/abstractions.js +4 -0
  375. package/features/workflowState/TakeOverWorkflowStateStep/abstractions.js.map +1 -0
  376. package/features/workflowState/TakeOverWorkflowStateStep/events.d.ts +12 -0
  377. package/features/workflowState/TakeOverWorkflowStateStep/events.js +11 -0
  378. package/features/workflowState/TakeOverWorkflowStateStep/events.js.map +1 -0
  379. package/features/workflowState/TakeOverWorkflowStateStep/feature.d.ts +1 -0
  380. package/features/workflowState/TakeOverWorkflowStateStep/feature.js +10 -0
  381. package/features/workflowState/TakeOverWorkflowStateStep/feature.js.map +1 -0
  382. package/features/workflowState/TakeOverWorkflowStateStep/index.d.ts +2 -0
  383. package/features/workflowState/TakeOverWorkflowStateStep/index.js +4 -0
  384. package/features/workflowState/TakeOverWorkflowStateStep/index.js.map +1 -0
  385. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.d.ts +17 -0
  386. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js +48 -0
  387. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js.map +1 -0
  388. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.d.ts +20 -0
  389. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js +57 -0
  390. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js.map +1 -0
  391. package/features/workflowState/UpdateWorkflowState/abstractions.d.ts +48 -0
  392. package/features/workflowState/UpdateWorkflowState/abstractions.js +15 -0
  393. package/features/workflowState/UpdateWorkflowState/abstractions.js.map +1 -0
  394. package/features/workflowState/UpdateWorkflowState/events.d.ts +12 -0
  395. package/features/workflowState/UpdateWorkflowState/events.js +11 -0
  396. package/features/workflowState/UpdateWorkflowState/events.js.map +1 -0
  397. package/features/workflowState/UpdateWorkflowState/feature.d.ts +1 -0
  398. package/features/workflowState/UpdateWorkflowState/feature.js +12 -0
  399. package/features/workflowState/UpdateWorkflowState/feature.js.map +1 -0
  400. package/features/workflowState/UpdateWorkflowState/index.d.ts +2 -0
  401. package/features/workflowState/UpdateWorkflowState/index.js +4 -0
  402. package/features/workflowState/UpdateWorkflowState/index.js.map +1 -0
  403. package/graphql/notifications.d.ts +2 -0
  404. package/graphql/notifications.js +51 -0
  405. package/graphql/notifications.js.map +1 -0
  406. package/graphql/validation/approveWorkflowState.d.ts +11 -0
  407. package/graphql/validation/approveWorkflowState.js +7 -0
  408. package/graphql/validation/approveWorkflowState.js.map +1 -0
  409. package/graphql/validation/cancelWorkflowState.d.ts +8 -0
  410. package/graphql/validation/cancelWorkflowState.js +6 -0
  411. package/graphql/validation/cancelWorkflowState.js.map +1 -0
  412. package/graphql/validation/createWorkflowState.d.ts +14 -0
  413. package/graphql/validation/createWorkflowState.js +8 -0
  414. package/graphql/validation/createWorkflowState.js.map +1 -0
  415. package/graphql/validation/deleteWorkflow.d.ts +11 -0
  416. package/graphql/validation/deleteWorkflow.js +7 -0
  417. package/graphql/validation/deleteWorkflow.js.map +1 -0
  418. package/graphql/validation/getTargetWorkflowState.d.ts +11 -0
  419. package/graphql/validation/getTargetWorkflowState.js +7 -0
  420. package/graphql/validation/getTargetWorkflowState.js.map +1 -0
  421. package/graphql/validation/getWorkflow.d.ts +11 -0
  422. package/graphql/validation/getWorkflow.js +7 -0
  423. package/graphql/validation/getWorkflow.js.map +1 -0
  424. package/graphql/validation/getWorkflowState.d.ts +8 -0
  425. package/graphql/validation/getWorkflowState.js +6 -0
  426. package/graphql/validation/getWorkflowState.js.map +1 -0
  427. package/graphql/validation/listWorkflowStates.d.ts +108 -0
  428. package/graphql/validation/listWorkflowStates.js +42 -0
  429. package/graphql/validation/listWorkflowStates.js.map +1 -0
  430. package/graphql/validation/listWorkflows.d.ts +42 -0
  431. package/graphql/validation/listWorkflows.js +22 -0
  432. package/graphql/validation/listWorkflows.js.map +1 -0
  433. package/graphql/validation/rejectWorkflowState.d.ts +11 -0
  434. package/graphql/validation/rejectWorkflowState.js +7 -0
  435. package/graphql/validation/rejectWorkflowState.js.map +1 -0
  436. package/graphql/validation/startWorkflowState.d.ts +8 -0
  437. package/graphql/validation/startWorkflowState.js +6 -0
  438. package/graphql/validation/startWorkflowState.js.map +1 -0
  439. package/graphql/validation/step.d.ts +49 -0
  440. package/graphql/validation/step.js +21 -0
  441. package/graphql/validation/step.js.map +1 -0
  442. package/graphql/validation/storeWorkflow.d.ts +107 -0
  443. package/graphql/validation/storeWorkflow.js +9 -0
  444. package/graphql/validation/storeWorkflow.js.map +1 -0
  445. package/graphql/validation/takeOverWorkflowStateStep.d.ts +8 -0
  446. package/graphql/validation/takeOverWorkflowStateStep.js +6 -0
  447. package/graphql/validation/takeOverWorkflowStateStep.js.map +1 -0
  448. package/graphql/validation/workflow.d.ts +80 -0
  449. package/graphql/validation/workflow.js +10 -0
  450. package/graphql/validation/workflow.js.map +1 -0
  451. package/graphql/workflowState.d.ts +2 -0
  452. package/graphql/workflowState.js +398 -0
  453. package/graphql/workflowState.js.map +1 -0
  454. package/graphql/workflows.d.ts +2 -0
  455. package/graphql/workflows.js +216 -0
  456. package/graphql/workflows.js.map +1 -0
  457. package/index.d.ts +2 -0
  458. package/index.js +102 -0
  459. package/index.js.map +1 -0
  460. package/package.json +41 -0
  461. package/types.d.ts +13 -0
  462. package/types.js +7 -0
  463. package/types.js.map +1 -0
@@ -0,0 +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 WorkflowStateStateValue {\n pending\n inReview\n approved\n rejected\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: WorkflowStateStateValue!\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: WorkflowStateStateValue!\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: WorkflowStateStateValue\n state_in: [WorkflowStateStateValue!]\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: WorkflowStateStateValue\n state_in: [WorkflowStateStateValue!]\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":[]}
@@ -0,0 +1,2 @@
1
+ import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
2
+ export declare const createWorkflowsSchema: () => GraphQLSchemaPlugin<import("@webiny/api/types.js").Context>;
@@ -0,0 +1,216 @@
1
+ import { GraphQLSchemaPlugin, NotFoundError, resolve, resolveList } from "@webiny/handler-graphql";
2
+ import { createZodError } from "@webiny/utils";
3
+ import { listWorkflowsValidation } from "./validation/listWorkflows.js";
4
+ import { getWorkflowValidation } from "./validation/getWorkflow.js";
5
+ import { storeWorkflowValidation } from "./validation/storeWorkflow.js";
6
+ import { deleteWorkflowValidation } from "./validation/deleteWorkflow.js";
7
+ import { GetWorkflowUseCase } from "../features/workflow/GetWorkflow/index.js";
8
+ import { ListWorkflowsUseCase } from "../features/workflow/ListWorkflows/index.js";
9
+ import { StoreWorkflowUseCase } from "../features/workflow/StoreWorkflow/index.js";
10
+ import { DeleteWorkflowUseCase } from "../features/workflow/DeleteWorkflow/index.js";
11
+ export const createWorkflowsSchema = () => {
12
+ return new GraphQLSchemaPlugin({
13
+ typeDefs: /* GraphQL */`
14
+ type WorkflowError {
15
+ code: String
16
+ message: String
17
+ data: JSON
18
+ stack: String
19
+ }
20
+
21
+ input WorkflowStepNotificationInput {
22
+ id: String!
23
+ }
24
+
25
+ input WorkflowStepTeamInput {
26
+ id: String!
27
+ }
28
+
29
+ input WorkflowStepInput {
30
+ id: String!
31
+ title: String!
32
+ color: String!
33
+ description: String
34
+ teams: [WorkflowStepTeamInput!]!
35
+ notifications: [WorkflowStepNotificationInput!]
36
+ }
37
+
38
+ input StoreWorkflowInput {
39
+ name: String!
40
+ steps: [WorkflowStepInput!]!
41
+ }
42
+
43
+ type WorkflowStepNotification {
44
+ id: String!
45
+ }
46
+
47
+ type WorkflowStepTeam {
48
+ id: String!
49
+ }
50
+
51
+ type WorkflowStep {
52
+ id: String!
53
+ title: String!
54
+ color: String!
55
+ description: String
56
+ teams: [WorkflowStepTeam!]!
57
+ notifications: [WorkflowStepNotification!]
58
+ }
59
+
60
+ type Workflow {
61
+ id: String!
62
+ app: String!
63
+ name: String!
64
+ steps: [WorkflowStep!]!
65
+ }
66
+
67
+ type ListWorkflowsMeta {
68
+ cursor: String
69
+ hasMoreItems: Boolean!
70
+ totalCount: Int!
71
+ }
72
+
73
+ type ListWorkflowsResponse {
74
+ data: [Workflow!]
75
+ meta: ListWorkflowsMeta
76
+ error: WorkflowError
77
+ }
78
+
79
+ type GetWorkflowResponse {
80
+ data: Workflow
81
+ error: WorkflowError
82
+ }
83
+
84
+ input ListWorkflowsWhereInput {
85
+ app: String
86
+ app_in: [String!]
87
+ id: String
88
+ id_in: [String!]
89
+ }
90
+
91
+ enum ListWorkflowsSort {
92
+ createdOn_ASC
93
+ createdOn_DESC
94
+ }
95
+
96
+ type WorkflowsQuery {
97
+ listWorkflows(
98
+ where: ListWorkflowsWhereInput
99
+ limit: Int
100
+ sort: [ListWorkflowsSort!]
101
+ after: String
102
+ ): ListWorkflowsResponse!
103
+ getWorkflow(app: String!, id: ID!): GetWorkflowResponse!
104
+ }
105
+
106
+ type CreateWorkflowResponse {
107
+ data: Workflow
108
+ error: WorkflowError
109
+ }
110
+
111
+ type StoreWorkflowResponse {
112
+ data: Workflow
113
+ error: WorkflowError
114
+ }
115
+
116
+ type DeleteWorkflowResponse {
117
+ data: Boolean
118
+ error: WorkflowError
119
+ }
120
+
121
+ type WorkflowsMutation {
122
+ storeWorkflow(
123
+ app: String!
124
+ id: ID!
125
+ data: StoreWorkflowInput!
126
+ ): StoreWorkflowResponse!
127
+ deleteWorkflow(app: String!, id: ID!): DeleteWorkflowResponse!
128
+ }
129
+
130
+ extend type Query {
131
+ workflows: WorkflowsQuery
132
+ }
133
+
134
+ extend type Mutation {
135
+ workflows: WorkflowsMutation
136
+ }
137
+ `,
138
+ resolvers: {
139
+ Query: {
140
+ workflows: () => ({})
141
+ },
142
+ Mutation: {
143
+ workflows: () => ({})
144
+ },
145
+ WorkflowsQuery: {
146
+ getWorkflow: async (_, args, context) => {
147
+ return resolve(async () => {
148
+ const result = await getWorkflowValidation.safeParseAsync(args);
149
+ if (!result.success) {
150
+ throw createZodError(result.error);
151
+ }
152
+ const getWorkflow = context.container.resolve(GetWorkflowUseCase);
153
+ const workflowResult = await getWorkflow.execute(args);
154
+ if (workflowResult.isFail()) {
155
+ throw new NotFoundError(`Workflow in app "${args.app}" with id "${args.id}" was not found!`);
156
+ }
157
+ return workflowResult.value;
158
+ });
159
+ },
160
+ listWorkflows: async (_, args, context) => {
161
+ return resolveList(async () => {
162
+ const result = await listWorkflowsValidation.safeParseAsync(args);
163
+ if (!result.success) {
164
+ throw createZodError(result.error);
165
+ }
166
+ const listWorkflows = context.container.resolve(ListWorkflowsUseCase);
167
+ const listResult = await listWorkflows.execute(result.data);
168
+ if (listResult.isFail()) {
169
+ throw listResult.error;
170
+ }
171
+ return listResult.value;
172
+ });
173
+ }
174
+ },
175
+ WorkflowsMutation: {
176
+ storeWorkflow: async (_, args, context) => {
177
+ return resolve(async () => {
178
+ const result = await storeWorkflowValidation.safeParseAsync(args);
179
+ if (!result.success) {
180
+ throw createZodError(result.error);
181
+ }
182
+ const storeWorkflow = context.container.resolve(StoreWorkflowUseCase);
183
+ const storeResult = await storeWorkflow.execute({
184
+ app: result.data.app,
185
+ id: result.data.id,
186
+ ...result.data.data
187
+ });
188
+ if (storeResult.isFail()) {
189
+ throw storeResult.error;
190
+ }
191
+ return storeResult.value;
192
+ });
193
+ },
194
+ deleteWorkflow: async (_, args, context) => {
195
+ return resolve(async () => {
196
+ const result = await deleteWorkflowValidation.safeParseAsync(args);
197
+ if (!result.success) {
198
+ throw createZodError(result.error);
199
+ }
200
+ const deleteWorkflow = context.container.resolve(DeleteWorkflowUseCase);
201
+ const deleteResult = await deleteWorkflow.execute({
202
+ app: result.data.app,
203
+ id: result.data.id
204
+ });
205
+ if (deleteResult.isFail()) {
206
+ throw deleteResult.error;
207
+ }
208
+ return true;
209
+ });
210
+ }
211
+ }
212
+ }
213
+ });
214
+ };
215
+
216
+ //# sourceMappingURL=workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GraphQLSchemaPlugin","NotFoundError","resolve","resolveList","createZodError","listWorkflowsValidation","getWorkflowValidation","storeWorkflowValidation","deleteWorkflowValidation","GetWorkflowUseCase","ListWorkflowsUseCase","StoreWorkflowUseCase","DeleteWorkflowUseCase","createWorkflowsSchema","typeDefs","resolvers","Query","workflows","Mutation","WorkflowsQuery","getWorkflow","_","args","context","result","safeParseAsync","success","error","container","workflowResult","execute","isFail","app","id","value","listWorkflows","listResult","data","WorkflowsMutation","storeWorkflow","storeResult","deleteWorkflow","deleteResult"],"sources":["workflows.ts"],"sourcesContent":["import { GraphQLSchemaPlugin, NotFoundError, resolve, resolveList } from \"@webiny/handler-graphql\";\nimport { createZodError } from \"@webiny/utils\";\nimport { listWorkflowsValidation } from \"./validation/listWorkflows.js\";\nimport { getWorkflowValidation } from \"./validation/getWorkflow.js\";\nimport { storeWorkflowValidation } from \"./validation/storeWorkflow.js\";\nimport { deleteWorkflowValidation } from \"./validation/deleteWorkflow.js\";\nimport { GetWorkflowUseCase } from \"~/features/workflow/GetWorkflow/index.js\";\nimport { ListWorkflowsUseCase } from \"~/features/workflow/ListWorkflows/index.js\";\nimport { StoreWorkflowUseCase } from \"~/features/workflow/StoreWorkflow/index.js\";\nimport { DeleteWorkflowUseCase } from \"~/features/workflow/DeleteWorkflow/index.js\";\n\nexport const createWorkflowsSchema = () => {\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type WorkflowError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n input WorkflowStepNotificationInput {\n id: String!\n }\n\n input WorkflowStepTeamInput {\n id: String!\n }\n\n input WorkflowStepInput {\n id: String!\n title: String!\n color: String!\n description: String\n teams: [WorkflowStepTeamInput!]!\n notifications: [WorkflowStepNotificationInput!]\n }\n\n input StoreWorkflowInput {\n name: String!\n steps: [WorkflowStepInput!]!\n }\n\n type WorkflowStepNotification {\n id: String!\n }\n\n type WorkflowStepTeam {\n id: String!\n }\n\n type WorkflowStep {\n id: String!\n title: String!\n color: String!\n description: String\n teams: [WorkflowStepTeam!]!\n notifications: [WorkflowStepNotification!]\n }\n\n type Workflow {\n id: String!\n app: String!\n name: String!\n steps: [WorkflowStep!]!\n }\n\n type ListWorkflowsMeta {\n cursor: String\n hasMoreItems: Boolean!\n totalCount: Int!\n }\n\n type ListWorkflowsResponse {\n data: [Workflow!]\n meta: ListWorkflowsMeta\n error: WorkflowError\n }\n\n type GetWorkflowResponse {\n data: Workflow\n error: WorkflowError\n }\n\n input ListWorkflowsWhereInput {\n app: String\n app_in: [String!]\n id: String\n id_in: [String!]\n }\n\n enum ListWorkflowsSort {\n createdOn_ASC\n createdOn_DESC\n }\n\n type WorkflowsQuery {\n listWorkflows(\n where: ListWorkflowsWhereInput\n limit: Int\n sort: [ListWorkflowsSort!]\n after: String\n ): ListWorkflowsResponse!\n getWorkflow(app: String!, id: ID!): GetWorkflowResponse!\n }\n\n type CreateWorkflowResponse {\n data: Workflow\n error: WorkflowError\n }\n\n type StoreWorkflowResponse {\n data: Workflow\n error: WorkflowError\n }\n\n type DeleteWorkflowResponse {\n data: Boolean\n error: WorkflowError\n }\n\n type WorkflowsMutation {\n storeWorkflow(\n app: String!\n id: ID!\n data: StoreWorkflowInput!\n ): StoreWorkflowResponse!\n deleteWorkflow(app: String!, id: ID!): DeleteWorkflowResponse!\n }\n\n extend type Query {\n workflows: WorkflowsQuery\n }\n\n extend type Mutation {\n workflows: WorkflowsMutation\n }\n `,\n resolvers: {\n Query: {\n workflows: () => ({})\n },\n Mutation: {\n workflows: () => ({})\n },\n WorkflowsQuery: {\n getWorkflow: async (_, args, context) => {\n return resolve(async () => {\n const result = await getWorkflowValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const getWorkflow = context.container.resolve(GetWorkflowUseCase);\n const workflowResult = await getWorkflow.execute(args);\n\n if (workflowResult.isFail()) {\n throw new NotFoundError(\n `Workflow in app \"${args.app}\" with id \"${args.id}\" was not found!`\n );\n }\n\n return workflowResult.value;\n });\n },\n listWorkflows: async (_, args, context) => {\n return resolveList(async () => {\n const result = await listWorkflowsValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const listWorkflows = context.container.resolve(ListWorkflowsUseCase);\n const listResult = await listWorkflows.execute(result.data);\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n return listResult.value;\n });\n }\n },\n WorkflowsMutation: {\n storeWorkflow: async (_, args, context) => {\n return resolve(async () => {\n const result = await storeWorkflowValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const storeWorkflow = context.container.resolve(StoreWorkflowUseCase);\n const storeResult = await storeWorkflow.execute({\n app: result.data.app,\n id: result.data.id,\n ...result.data.data\n });\n\n if (storeResult.isFail()) {\n throw storeResult.error;\n }\n\n return storeResult.value;\n });\n },\n deleteWorkflow: async (_, args, context) => {\n return resolve(async () => {\n const result = await deleteWorkflowValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const deleteWorkflow = context.container.resolve(DeleteWorkflowUseCase);\n const deleteResult = await deleteWorkflow.execute({\n app: result.data.app,\n id: result.data.id\n });\n\n if (deleteResult.isFail()) {\n throw deleteResult.error;\n }\n\n return true;\n });\n }\n }\n }\n });\n};\n"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,aAAa,EAAEC,OAAO,EAAEC,WAAW,QAAQ,yBAAyB;AAClG,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,uBAAuB;AAChC,SAASC,qBAAqB;AAC9B,SAASC,uBAAuB;AAChC,SAASC,wBAAwB;AACjC,SAASC,kBAAkB;AAC3B,SAASC,oBAAoB;AAC7B,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;EACvC,OAAO,IAAIb,mBAAmB,CAAC;IAC3Bc,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,SAAS;IACDC,SAAS,EAAE;MACPC,KAAK,EAAE;QACHC,SAAS,EAAEA,CAAA,MAAO,CAAC,CAAC;MACxB,CAAC;MACDC,QAAQ,EAAE;QACND,SAAS,EAAEA,CAAA,MAAO,CAAC,CAAC;MACxB,CAAC;MACDE,cAAc,EAAE;QACZC,WAAW,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;UACrC,OAAOrB,OAAO,CAA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","ignoreList":[]}
package/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import { ContextPlugin } from "@webiny/handler";
2
+ export declare const createWorkflows: () => ContextPlugin<import("@webiny/handler/types.js").Context>;
package/index.js ADDED
@@ -0,0 +1,102 @@
1
+ import { ContextPlugin } from "@webiny/handler";
2
+ import { TenantContext } from "@webiny/api-core/features/TenantContext";
3
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
4
+ import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
5
+ import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
6
+ import { WorkflowModel as WorkflowPrivateModel, WORKFLOW_MODEL_ID } from "./domain/workflow/workflowModel.js";
7
+ import { WorkflowStateModel as WorkflowStatePrivateModel, WORKFLOW_STATE_MODEL_ID } from "./domain/workflowState/stateModel.js";
8
+ import { createWorkflowsSchema } from "./graphql/workflows.js";
9
+ import { createWorkflowStateSchema } from "./graphql/workflowState.js";
10
+ import { WorkflowModel } from "./domain/workflow/abstractions.js";
11
+ import { WorkflowStateModel } from "./domain/workflowState/abstractions.js";
12
+ import { WorkflowMapper } from "./domain/workflow/WorkflowMapper.js";
13
+ import { WorkflowStateMapper } from "./domain/workflowState/WorkflowStateMapper.js";
14
+ import { GetWorkflowFeature } from "./features/workflow/GetWorkflow/feature.js";
15
+ import { ListWorkflowsFeature } from "./features/workflow/ListWorkflows/feature.js";
16
+ import { CreateWorkflowFeature } from "./features/workflow/CreateWorkflow/feature.js";
17
+ import { DeleteWorkflowFeature } from "./features/workflow/DeleteWorkflow/feature.js";
18
+ import { UpdateWorkflowFeature } from "./features/workflow/UpdateWorkflow/feature.js";
19
+ import { StoreWorkflowFeature } from "./features/workflow/StoreWorkflow/feature.js";
20
+ import { GetWorkflowStateFeature } from "./features/workflowState/GetWorkflowState/feature.js";
21
+ import { GetTargetWorkflowStateFeature } from "./features/workflowState/GetTargetWorkflowState/feature.js";
22
+ import { ListOwnWorkflowStatesFeature } from "./features/workflowState/ListOwnWorkflowStates/feature.js";
23
+ import { ListWorkflowStatesFeature } from "./features/workflowState/ListWorkflowStates/feature.js";
24
+ import { ListRequestedWorkflowStatesFeature } from "./features/workflowState/ListRequestedWorkflowStates/feature.js";
25
+ import { CreateWorkflowStateFeature } from "./features/workflowState/CreateWorkflowState/feature.js";
26
+ import { UpdateWorkflowStateFeature } from "./features/workflowState/UpdateWorkflowState/feature.js";
27
+ import { CancelWorkflowStateFeature } from "./features/workflowState/CancelWorkflowState/feature.js";
28
+ import { DeleteWorkflowStateFeature } from "./features/workflowState/DeleteWorkflowState/feature.js";
29
+ import { DeleteTargetWorkflowStateFeature } from "./features/workflowState/DeleteTargetWorkflowState/feature.js";
30
+ import { StartWorkflowStateStepFeature } from "./features/workflowState/StartWorkflowStateStep/feature.js";
31
+ import { ApproveWorkflowStateStepFeature } from "./features/workflowState/ApproveWorkflowStateStep/feature.js";
32
+ import { RejectWorkflowStateStepFeature } from "./features/workflowState/RejectWorkflowStateStep/feature.js";
33
+ import { TakeOverWorkflowStateStepFeature } from "./features/workflowState/TakeOverWorkflowStateStep/feature.js";
34
+ import { GetUserTeamsFeature } from "./features/internal/GetUserTeams/feature.js";
35
+ import { ListNotificationTypesFeature } from "./features/notifications/ListNotificationTypes/index.js";
36
+ import { NotificationTransportFeature } from "./features/notifications/NotificationTransport/index.js";
37
+ import { createNotificationsGraphQL } from "./graphql/notifications.js";
38
+ export const createWorkflows = () => {
39
+ const plugin = new ContextPlugin(async context => {
40
+ const tenantContext = context.container.resolve(TenantContext);
41
+ const identityContext = context.container.resolve(IdentityContext);
42
+ const wcpContext = context.container.resolve(WcpContext);
43
+ if (!tenantContext.getTenant()) {
44
+ return;
45
+ }
46
+ if (!wcpContext.canUseWorkflows()) {
47
+ return;
48
+ }
49
+
50
+ // Register private models
51
+ context.container.register(WorkflowPrivateModel);
52
+ context.container.register(WorkflowStatePrivateModel);
53
+
54
+ // Fetch and register CMS models
55
+ const getModel = context.container.resolve(GetModelUseCase);
56
+ await identityContext.withoutAuthorization(async () => {
57
+ const [workflowModel, workflowStateModel] = await Promise.all([getModel.execute(WORKFLOW_MODEL_ID), getModel.execute(WORKFLOW_STATE_MODEL_ID)]);
58
+ context.container.registerInstance(WorkflowModel, workflowModel.value);
59
+ context.container.registerInstance(WorkflowStateModel, workflowStateModel.value);
60
+ });
61
+
62
+ // Register mappers
63
+ context.container.register(WorkflowMapper);
64
+ context.container.register(WorkflowStateMapper);
65
+
66
+ // Register notification features
67
+ ListNotificationTypesFeature.register(context.container);
68
+ NotificationTransportFeature.register(context.container);
69
+
70
+ // Register workflow features
71
+ GetWorkflowFeature.register(context.container);
72
+ ListWorkflowsFeature.register(context.container);
73
+ CreateWorkflowFeature.register(context.container);
74
+ DeleteWorkflowFeature.register(context.container);
75
+ UpdateWorkflowFeature.register(context.container);
76
+ StoreWorkflowFeature.register(context.container);
77
+
78
+ // Register internal features
79
+ GetUserTeamsFeature.register(context.container);
80
+
81
+ // Register workflow state features
82
+ GetWorkflowStateFeature.register(context.container);
83
+ GetTargetWorkflowStateFeature.register(context.container);
84
+ ListOwnWorkflowStatesFeature.register(context.container);
85
+ ListWorkflowStatesFeature.register(context.container);
86
+ ListRequestedWorkflowStatesFeature.register(context.container);
87
+ CreateWorkflowStateFeature.register(context.container);
88
+ UpdateWorkflowStateFeature.register(context.container);
89
+ CancelWorkflowStateFeature.register(context.container);
90
+ DeleteWorkflowStateFeature.register(context.container);
91
+ DeleteTargetWorkflowStateFeature.register(context.container);
92
+ StartWorkflowStateStepFeature.register(context.container);
93
+ ApproveWorkflowStateStepFeature.register(context.container);
94
+ RejectWorkflowStateStepFeature.register(context.container);
95
+ TakeOverWorkflowStateStepFeature.register(context.container);
96
+ context.plugins.register(createNotificationsGraphQL(), createWorkflowsSchema(), createWorkflowStateSchema());
97
+ });
98
+ plugin.name = "workflows.context";
99
+ return plugin;
100
+ };
101
+
102
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ContextPlugin","TenantContext","IdentityContext","WcpContext","GetModelUseCase","WorkflowModel","WorkflowPrivateModel","WORKFLOW_MODEL_ID","WorkflowStateModel","WorkflowStatePrivateModel","WORKFLOW_STATE_MODEL_ID","createWorkflowsSchema","createWorkflowStateSchema","WorkflowMapper","WorkflowStateMapper","GetWorkflowFeature","ListWorkflowsFeature","CreateWorkflowFeature","DeleteWorkflowFeature","UpdateWorkflowFeature","StoreWorkflowFeature","GetWorkflowStateFeature","GetTargetWorkflowStateFeature","ListOwnWorkflowStatesFeature","ListWorkflowStatesFeature","ListRequestedWorkflowStatesFeature","CreateWorkflowStateFeature","UpdateWorkflowStateFeature","CancelWorkflowStateFeature","DeleteWorkflowStateFeature","DeleteTargetWorkflowStateFeature","StartWorkflowStateStepFeature","ApproveWorkflowStateStepFeature","RejectWorkflowStateStepFeature","TakeOverWorkflowStateStepFeature","GetUserTeamsFeature","ListNotificationTypesFeature","NotificationTransportFeature","createNotificationsGraphQL","createWorkflows","plugin","context","tenantContext","container","resolve","identityContext","wcpContext","getTenant","canUseWorkflows","register","getModel","withoutAuthorization","workflowModel","workflowStateModel","Promise","all","execute","registerInstance","value","plugins","name"],"sources":["index.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/handler\";\nimport { TenantContext } from \"@webiny/api-core/features/TenantContext\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { WcpContext } from \"@webiny/api-core/features/wcp/WcpContext/index.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport {\n WorkflowModel as WorkflowPrivateModel,\n WORKFLOW_MODEL_ID\n} from \"./domain/workflow/workflowModel.js\";\nimport {\n WorkflowStateModel as WorkflowStatePrivateModel,\n WORKFLOW_STATE_MODEL_ID\n} from \"./domain/workflowState/stateModel.js\";\nimport { createWorkflowsSchema } from \"~/graphql/workflows.js\";\nimport { createWorkflowStateSchema } from \"~/graphql/workflowState.js\";\nimport { WorkflowModel } from \"./domain/workflow/abstractions.js\";\nimport { WorkflowStateModel } from \"./domain/workflowState/abstractions.js\";\nimport { WorkflowMapper } from \"~/domain/workflow/WorkflowMapper.js\";\nimport { WorkflowStateMapper } from \"~/domain/workflowState/WorkflowStateMapper.js\";\nimport { GetWorkflowFeature } from \"~/features/workflow/GetWorkflow/feature.js\";\nimport { ListWorkflowsFeature } from \"~/features/workflow/ListWorkflows/feature.js\";\nimport { CreateWorkflowFeature } from \"~/features/workflow/CreateWorkflow/feature.js\";\nimport { DeleteWorkflowFeature } from \"~/features/workflow/DeleteWorkflow/feature.js\";\nimport { UpdateWorkflowFeature } from \"~/features/workflow/UpdateWorkflow/feature.js\";\nimport { StoreWorkflowFeature } from \"~/features/workflow/StoreWorkflow/feature.js\";\nimport { GetWorkflowStateFeature } from \"~/features/workflowState/GetWorkflowState/feature.js\";\nimport { GetTargetWorkflowStateFeature } from \"~/features/workflowState/GetTargetWorkflowState/feature.js\";\nimport { ListOwnWorkflowStatesFeature } from \"~/features/workflowState/ListOwnWorkflowStates/feature.js\";\nimport { ListWorkflowStatesFeature } from \"~/features/workflowState/ListWorkflowStates/feature.js\";\nimport { ListRequestedWorkflowStatesFeature } from \"~/features/workflowState/ListRequestedWorkflowStates/feature.js\";\nimport { CreateWorkflowStateFeature } from \"~/features/workflowState/CreateWorkflowState/feature.js\";\nimport { UpdateWorkflowStateFeature } from \"~/features/workflowState/UpdateWorkflowState/feature.js\";\nimport { CancelWorkflowStateFeature } from \"~/features/workflowState/CancelWorkflowState/feature.js\";\nimport { DeleteWorkflowStateFeature } from \"~/features/workflowState/DeleteWorkflowState/feature.js\";\nimport { DeleteTargetWorkflowStateFeature } from \"~/features/workflowState/DeleteTargetWorkflowState/feature.js\";\nimport { StartWorkflowStateStepFeature } from \"~/features/workflowState/StartWorkflowStateStep/feature.js\";\nimport { ApproveWorkflowStateStepFeature } from \"~/features/workflowState/ApproveWorkflowStateStep/feature.js\";\nimport { RejectWorkflowStateStepFeature } from \"~/features/workflowState/RejectWorkflowStateStep/feature.js\";\nimport { TakeOverWorkflowStateStepFeature } from \"~/features/workflowState/TakeOverWorkflowStateStep/feature.js\";\nimport { GetUserTeamsFeature } from \"~/features/internal/GetUserTeams/feature.js\";\nimport { ListNotificationTypesFeature } from \"~/features/notifications/ListNotificationTypes/index.js\";\nimport { NotificationTransportFeature } from \"./features/notifications/NotificationTransport/index.js\";\nimport { createNotificationsGraphQL } from \"~/graphql/notifications.js\";\n\nexport const createWorkflows = () => {\n const plugin = new ContextPlugin(async context => {\n const tenantContext = context.container.resolve(TenantContext);\n const identityContext = context.container.resolve(IdentityContext);\n const wcpContext = context.container.resolve(WcpContext);\n\n if (!tenantContext.getTenant()) {\n return;\n }\n\n if (!wcpContext.canUseWorkflows()) {\n return;\n }\n\n // Register private models\n context.container.register(WorkflowPrivateModel);\n context.container.register(WorkflowStatePrivateModel);\n\n // Fetch and register CMS models\n const getModel = context.container.resolve(GetModelUseCase);\n\n await identityContext.withoutAuthorization(async () => {\n const [workflowModel, workflowStateModel] = await Promise.all([\n getModel.execute(WORKFLOW_MODEL_ID),\n getModel.execute(WORKFLOW_STATE_MODEL_ID)\n ]);\n\n context.container.registerInstance(WorkflowModel, workflowModel.value);\n context.container.registerInstance(WorkflowStateModel, workflowStateModel.value);\n });\n\n // Register mappers\n context.container.register(WorkflowMapper);\n context.container.register(WorkflowStateMapper);\n\n // Register notification features\n ListNotificationTypesFeature.register(context.container);\n NotificationTransportFeature.register(context.container);\n\n // Register workflow features\n GetWorkflowFeature.register(context.container);\n ListWorkflowsFeature.register(context.container);\n CreateWorkflowFeature.register(context.container);\n DeleteWorkflowFeature.register(context.container);\n UpdateWorkflowFeature.register(context.container);\n StoreWorkflowFeature.register(context.container);\n\n // Register internal features\n GetUserTeamsFeature.register(context.container);\n\n // Register workflow state features\n GetWorkflowStateFeature.register(context.container);\n GetTargetWorkflowStateFeature.register(context.container);\n ListOwnWorkflowStatesFeature.register(context.container);\n ListWorkflowStatesFeature.register(context.container);\n ListRequestedWorkflowStatesFeature.register(context.container);\n CreateWorkflowStateFeature.register(context.container);\n UpdateWorkflowStateFeature.register(context.container);\n CancelWorkflowStateFeature.register(context.container);\n DeleteWorkflowStateFeature.register(context.container);\n DeleteTargetWorkflowStateFeature.register(context.container);\n StartWorkflowStateStepFeature.register(context.container);\n ApproveWorkflowStateStepFeature.register(context.container);\n RejectWorkflowStateStepFeature.register(context.container);\n TakeOverWorkflowStateStepFeature.register(context.container);\n\n context.plugins.register(\n createNotificationsGraphQL(),\n createWorkflowsSchema(),\n createWorkflowStateSchema()\n );\n });\n\n plugin.name = \"workflows.context\";\n\n return plugin;\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@webiny/api-workflows",
3
+ "version": "0.0.0-unstable.61c048f412",
4
+ "type": "module",
5
+ "main": "index.js",
6
+ "description": "Workflows API",
7
+ "keywords": [
8
+ "api-workflows:base"
9
+ ],
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/webiny/webiny-js.git",
13
+ "directory": "packages/api-workflows"
14
+ },
15
+ "license": "MIT",
16
+ "dependencies": {
17
+ "@webiny/api": "0.0.0-unstable.61c048f412",
18
+ "@webiny/api-core": "0.0.0-unstable.61c048f412",
19
+ "@webiny/api-headless-cms": "0.0.0-unstable.61c048f412",
20
+ "@webiny/api-mailer": "0.0.0-unstable.61c048f412",
21
+ "@webiny/feature": "0.0.0-unstable.61c048f412",
22
+ "@webiny/handler": "0.0.0-unstable.61c048f412",
23
+ "@webiny/handler-graphql": "0.0.0-unstable.61c048f412",
24
+ "@webiny/utils": "0.0.0-unstable.61c048f412",
25
+ "zod": "3.25.76"
26
+ },
27
+ "devDependencies": {
28
+ "@webiny/build-tools": "0.0.0-unstable.61c048f412",
29
+ "@webiny/plugins": "0.0.0-unstable.61c048f412",
30
+ "@webiny/project-utils": "0.0.0-unstable.61c048f412",
31
+ "@webiny/testing": "0.0.0-unstable.61c048f412",
32
+ "type-fest": "5.4.4",
33
+ "typescript": "5.9.3",
34
+ "vitest": "3.2.4"
35
+ },
36
+ "publishConfig": {
37
+ "access": "public",
38
+ "directory": "dist"
39
+ },
40
+ "gitHead": "61c048f412d6b4aa70c1d105aab21e3fa69730f3"
41
+ }
package/types.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import type { SecurityPermission } from "@webiny/api-core/types/security.js";
2
+ export declare enum WorkflowsSecurityPermissionAccessLevel {
3
+ NO = "no",
4
+ YES = "yes"
5
+ }
6
+ export interface IWorkflowsSecurityPermission extends SecurityPermission {
7
+ editor: WorkflowsSecurityPermissionAccessLevel;
8
+ }
9
+ export interface IMeta {
10
+ totalCount: number;
11
+ hasMoreItems: boolean;
12
+ cursor: string | null;
13
+ }
package/types.js ADDED
@@ -0,0 +1,7 @@
1
+ export let WorkflowsSecurityPermissionAccessLevel = /*#__PURE__*/function (WorkflowsSecurityPermissionAccessLevel) {
2
+ WorkflowsSecurityPermissionAccessLevel["NO"] = "no";
3
+ WorkflowsSecurityPermissionAccessLevel["YES"] = "yes";
4
+ return WorkflowsSecurityPermissionAccessLevel;
5
+ }({});
6
+
7
+ //# sourceMappingURL=types.js.map
package/types.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WorkflowsSecurityPermissionAccessLevel"],"sources":["types.ts"],"sourcesContent":["import type { SecurityPermission } from \"@webiny/api-core/types/security.js\";\n\nexport enum WorkflowsSecurityPermissionAccessLevel {\n NO = \"no\",\n YES = \"yes\"\n}\n\nexport interface IWorkflowsSecurityPermission extends SecurityPermission {\n editor: WorkflowsSecurityPermissionAccessLevel;\n}\n\nexport interface IMeta {\n totalCount: number;\n hasMoreItems: boolean;\n cursor: string | null;\n}\n"],"mappings":"AAEA,WAAYA,sCAAsC,0BAAtCA,sCAAsC;EAAtCA,sCAAsC;EAAtCA,sCAAsC;EAAA,OAAtCA,sCAAsC;AAAA","ignoreList":[]}