@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","isRejected","state","rejected"],"sources":["isRejected.ts"],"sourcesContent":["import { type IWorkflowStateRecord, WorkflowStateRecordState } from \"../abstractions.js\";\n\nexport const isRejected = (state: IWorkflowStateRecord): boolean => {\n return state.state === WorkflowStateRecordState.rejected;\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/isRejected.js","sources":["../../../../src/domain/workflowState/guards/isRejected.ts"],"sourcesContent":["import { type IWorkflowStateRecord, WorkflowStateRecordState } from \"../abstractions.js\";\n\nexport const isRejected = (state: IWorkflowStateRecord): boolean => {\n return state.state === WorkflowStateRecordState.rejected;\n};\n"],"names":["isRejected","state","WorkflowStateRecordState"],"mappings":";AAEO,MAAMA,aAAa,CAACC,QAChBA,MAAM,KAAK,KAAKC,yBAAyB,QAAQ"}
@@ -1,5 +1,4 @@
1
- export const isStepOwner = step => {
2
- return step.isOwner;
3
- };
1
+ const isStepOwner = (step)=>step.isOwner;
2
+ export { isStepOwner };
4
3
 
5
4
  //# sourceMappingURL=isStepOwner.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isStepOwner","step","isOwner"],"sources":["isStepOwner.ts"],"sourcesContent":["import type { IEnrichedWorkflowStateRecordStep } from \"../abstractions.js\";\n\nexport const isStepOwner = (step: IEnrichedWorkflowStateRecordStep): boolean => {\n return step.isOwner;\n};\n"],"mappings":"AAEA,OAAO,MAAMA,WAAW,GAAIC,IAAsC,IAAc;EAC5E,OAAOA,IAAI,CAACC,OAAO;AACvB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"domain/workflowState/guards/isStepOwner.js","sources":["../../../../src/domain/workflowState/guards/isStepOwner.ts"],"sourcesContent":["import type { IEnrichedWorkflowStateRecordStep } from \"../abstractions.js\";\n\nexport const isStepOwner = (step: IEnrichedWorkflowStateRecordStep): boolean => {\n return step.isOwner;\n};\n"],"names":["isStepOwner","step"],"mappings":"AAEO,MAAMA,cAAc,CAACC,OACjBA,KAAK,OAAO"}
@@ -1,58 +1,66 @@
1
1
  import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
2
  import { WorkflowStateRecordState } from "./abstractions.js";
3
- export const WORKFLOW_STATE_MODEL_ID = "wbyWorkflowState";
4
- const states = [{
5
- label: "Pending",
6
- value: WorkflowStateRecordState.pending
7
- }, {
8
- label: "In Review",
9
- value: WorkflowStateRecordState.inReview
10
- }, {
11
- label: "Approved",
12
- value: WorkflowStateRecordState.approved
13
- }, {
14
- label: "Rejected",
15
- value: WorkflowStateRecordState.rejected
16
- }];
3
+ const WORKFLOW_STATE_MODEL_ID = "wbyWorkflowState";
4
+ const states = [
5
+ {
6
+ label: "Pending",
7
+ value: WorkflowStateRecordState.pending
8
+ },
9
+ {
10
+ label: "In Review",
11
+ value: WorkflowStateRecordState.inReview
12
+ },
13
+ {
14
+ label: "Approved",
15
+ value: WorkflowStateRecordState.approved
16
+ },
17
+ {
18
+ label: "Rejected",
19
+ value: WorkflowStateRecordState.rejected
20
+ }
21
+ ];
17
22
  class WorkflowStateModelImpl {
18
- async execute(builder) {
19
- return [builder.private({
20
- modelId: WORKFLOW_STATE_MODEL_ID,
21
- name: "RecordWorkflow State"
22
- }).fields(fields => ({
23
- workflowId: fields.text().label("Workflow ID"),
24
- app: fields.text().label("App").required("App is required."),
25
- title: fields.text().label("Title").required("Title is required."),
26
- targetRevisionId: fields.text().label("Target Revision ID"),
27
- targetId: fields.text().label("Target ID"),
28
- isActive: fields.boolean().label("Is Active"),
29
- comment: fields.text().label("Comment"),
30
- state: fields.text().label("State").predefinedValues(states),
31
- steps: fields.object().label("Steps").list().required("Steps are required.").listMinLength(1, "At least one step is required.").fields(stepFields => ({
32
- id: stepFields.text().label("ID").required("ID is required."),
33
- title: stepFields.text().label("Title").required("Title is required."),
34
- color: stepFields.text().label("Color").required("Color is required."),
35
- description: stepFields.text().label("Description"),
36
- teams: stepFields.object().label("Teams").list().required("At least one team is required.").listMinLength(1, "At least one team is required.").fields(teamFields => ({
37
- id: teamFields.text().label("ID").required("ID is required.")
38
- })),
39
- notifications: stepFields.object().label("Notifications").list().fields(notificationFields => ({
40
- id: notificationFields.text().label("ID").required("ID is required.")
41
- })),
42
- state: stepFields.text().label("State").predefinedValues(states),
43
- savedBy: stepFields.object().label("User").fields(userFields => ({
44
- id: userFields.text().label("ID").required("ID is required."),
45
- displayName: userFields.text().label("Display Name").required("Display name is required."),
46
- type: userFields.text().label("Type").required("Type is required.")
47
- })),
48
- comment: stepFields.text().label("Comment")
49
- }))
50
- }))];
51
- }
23
+ async execute(builder) {
24
+ return [
25
+ builder.private({
26
+ modelId: WORKFLOW_STATE_MODEL_ID,
27
+ name: "RecordWorkflow State"
28
+ }).fields((fields)=>({
29
+ workflowId: fields.text().label("Workflow ID"),
30
+ app: fields.text().label("App").required("App is required."),
31
+ title: fields.text().label("Title").required("Title is required."),
32
+ targetRevisionId: fields.text().label("Target Revision ID"),
33
+ targetId: fields.text().label("Target ID"),
34
+ isActive: fields.boolean().label("Is Active"),
35
+ comment: fields.text().label("Comment"),
36
+ state: fields.text().label("State").predefinedValues(states),
37
+ steps: fields.object().label("Steps").list().required("Steps are required.").listMinLength(1, "At least one step is required.").fields((stepFields)=>({
38
+ id: stepFields.text().label("ID").required("ID is required."),
39
+ title: stepFields.text().label("Title").required("Title is required."),
40
+ color: stepFields.text().label("Color").required("Color is required."),
41
+ description: stepFields.text().label("Description"),
42
+ teams: stepFields.object().label("Teams").list().required("At least one team is required.").listMinLength(1, "At least one team is required.").fields((teamFields)=>({
43
+ id: teamFields.text().label("ID").required("ID is required.")
44
+ })),
45
+ notifications: stepFields.object().label("Notifications").list().fields((notificationFields)=>({
46
+ id: notificationFields.text().label("ID").required("ID is required.")
47
+ })),
48
+ state: stepFields.text().label("State").predefinedValues(states),
49
+ savedBy: stepFields.object().label("User").fields((userFields)=>({
50
+ id: userFields.text().label("ID").required("ID is required."),
51
+ displayName: userFields.text().label("Display Name").required("Display name is required."),
52
+ type: userFields.text().label("Type").required("Type is required.")
53
+ })),
54
+ comment: stepFields.text().label("Comment")
55
+ }))
56
+ }))
57
+ ];
58
+ }
52
59
  }
53
- export const WorkflowStateModel = ModelFactory.createImplementation({
54
- implementation: WorkflowStateModelImpl,
55
- dependencies: []
60
+ const WorkflowStateModel = ModelFactory.createImplementation({
61
+ implementation: WorkflowStateModelImpl,
62
+ dependencies: []
56
63
  });
64
+ export { WORKFLOW_STATE_MODEL_ID, WorkflowStateModel };
57
65
 
58
66
  //# sourceMappingURL=stateModel.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ModelFactory","WorkflowStateRecordState","WORKFLOW_STATE_MODEL_ID","states","label","value","pending","inReview","approved","rejected","WorkflowStateModelImpl","execute","builder","private","modelId","name","fields","workflowId","text","app","required","title","targetRevisionId","targetId","isActive","boolean","comment","state","predefinedValues","steps","object","list","listMinLength","stepFields","id","color","description","teams","teamFields","notifications","notificationFields","savedBy","userFields","displayName","type","WorkflowStateModel","createImplementation","implementation","dependencies"],"sources":["stateModel.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\nimport { WorkflowStateRecordState } from \"~/domain/workflowState/abstractions.js\";\n\nexport const WORKFLOW_STATE_MODEL_ID = \"wbyWorkflowState\";\n\nconst states = [\n {\n label: \"Pending\",\n value: WorkflowStateRecordState.pending\n },\n {\n label: \"In Review\",\n value: WorkflowStateRecordState.inReview\n },\n {\n label: \"Approved\",\n value: WorkflowStateRecordState.approved\n },\n {\n label: \"Rejected\",\n value: WorkflowStateRecordState.rejected\n }\n];\n\nclass WorkflowStateModelImpl implements ModelFactory.Interface {\n public async execute(builder: ModelFactory.Builder) {\n return [\n builder\n .private({\n modelId: WORKFLOW_STATE_MODEL_ID,\n name: \"RecordWorkflow State\"\n })\n .fields(fields => ({\n workflowId: fields.text().label(\"Workflow ID\"),\n app: fields.text().label(\"App\").required(\"App is required.\"),\n title: fields.text().label(\"Title\").required(\"Title is required.\"),\n targetRevisionId: fields.text().label(\"Target Revision ID\"),\n targetId: fields.text().label(\"Target ID\"),\n isActive: fields.boolean().label(\"Is Active\"),\n comment: fields.text().label(\"Comment\"),\n state: fields.text().label(\"State\").predefinedValues(states),\n steps: fields\n .object()\n .label(\"Steps\")\n .list()\n .required(\"Steps are required.\")\n .listMinLength(1, \"At least one step is required.\")\n .fields(stepFields => ({\n id: stepFields.text().label(\"ID\").required(\"ID is required.\"),\n title: stepFields.text().label(\"Title\").required(\"Title is required.\"),\n color: stepFields.text().label(\"Color\").required(\"Color is required.\"),\n description: stepFields.text().label(\"Description\"),\n teams: stepFields\n .object()\n .label(\"Teams\")\n .list()\n .required(\"At least one team is required.\")\n .listMinLength(1, \"At least one team is required.\")\n .fields(teamFields => ({\n id: teamFields.text().label(\"ID\").required(\"ID is required.\")\n })),\n notifications: stepFields\n .object()\n .label(\"Notifications\")\n .list()\n .fields(notificationFields => ({\n id: notificationFields\n .text()\n .label(\"ID\")\n .required(\"ID is required.\")\n })),\n state: stepFields.text().label(\"State\").predefinedValues(states),\n savedBy: stepFields\n .object()\n .label(\"User\")\n .fields(userFields => ({\n id: userFields.text().label(\"ID\").required(\"ID is required.\"),\n displayName: userFields\n .text()\n .label(\"Display Name\")\n .required(\"Display name is required.\"),\n type: userFields\n .text()\n .label(\"Type\")\n .required(\"Type is required.\")\n })),\n comment: stepFields.text().label(\"Comment\")\n }))\n }))\n ];\n }\n}\n\nexport const WorkflowStateModel = ModelFactory.createImplementation({\n implementation: WorkflowStateModelImpl,\n dependencies: []\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"domain/workflowState/stateModel.js","sources":["../../../src/domain/workflowState/stateModel.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\nimport { WorkflowStateRecordState } from \"~/domain/workflowState/abstractions.js\";\n\nexport const WORKFLOW_STATE_MODEL_ID = \"wbyWorkflowState\";\n\nconst states = [\n {\n label: \"Pending\",\n value: WorkflowStateRecordState.pending\n },\n {\n label: \"In Review\",\n value: WorkflowStateRecordState.inReview\n },\n {\n label: \"Approved\",\n value: WorkflowStateRecordState.approved\n },\n {\n label: \"Rejected\",\n value: WorkflowStateRecordState.rejected\n }\n];\n\nclass WorkflowStateModelImpl implements ModelFactory.Interface {\n public async execute(builder: ModelFactory.Builder) {\n return [\n builder\n .private({\n modelId: WORKFLOW_STATE_MODEL_ID,\n name: \"RecordWorkflow State\"\n })\n .fields(fields => ({\n workflowId: fields.text().label(\"Workflow ID\"),\n app: fields.text().label(\"App\").required(\"App is required.\"),\n title: fields.text().label(\"Title\").required(\"Title is required.\"),\n targetRevisionId: fields.text().label(\"Target Revision ID\"),\n targetId: fields.text().label(\"Target ID\"),\n isActive: fields.boolean().label(\"Is Active\"),\n comment: fields.text().label(\"Comment\"),\n state: fields.text().label(\"State\").predefinedValues(states),\n steps: fields\n .object()\n .label(\"Steps\")\n .list()\n .required(\"Steps are required.\")\n .listMinLength(1, \"At least one step is required.\")\n .fields(stepFields => ({\n id: stepFields.text().label(\"ID\").required(\"ID is required.\"),\n title: stepFields.text().label(\"Title\").required(\"Title is required.\"),\n color: stepFields.text().label(\"Color\").required(\"Color is required.\"),\n description: stepFields.text().label(\"Description\"),\n teams: stepFields\n .object()\n .label(\"Teams\")\n .list()\n .required(\"At least one team is required.\")\n .listMinLength(1, \"At least one team is required.\")\n .fields(teamFields => ({\n id: teamFields.text().label(\"ID\").required(\"ID is required.\")\n })),\n notifications: stepFields\n .object()\n .label(\"Notifications\")\n .list()\n .fields(notificationFields => ({\n id: notificationFields\n .text()\n .label(\"ID\")\n .required(\"ID is required.\")\n })),\n state: stepFields.text().label(\"State\").predefinedValues(states),\n savedBy: stepFields\n .object()\n .label(\"User\")\n .fields(userFields => ({\n id: userFields.text().label(\"ID\").required(\"ID is required.\"),\n displayName: userFields\n .text()\n .label(\"Display Name\")\n .required(\"Display name is required.\"),\n type: userFields\n .text()\n .label(\"Type\")\n .required(\"Type is required.\")\n })),\n comment: stepFields.text().label(\"Comment\")\n }))\n }))\n ];\n }\n}\n\nexport const WorkflowStateModel = ModelFactory.createImplementation({\n implementation: WorkflowStateModelImpl,\n dependencies: []\n});\n"],"names":["WORKFLOW_STATE_MODEL_ID","states","WorkflowStateRecordState","WorkflowStateModelImpl","builder","fields","stepFields","teamFields","notificationFields","userFields","WorkflowStateModel","ModelFactory"],"mappings":";;AAGO,MAAMA,0BAA0B;AAEvC,MAAMC,SAAS;IACX;QACI,OAAO;QACP,OAAOC,yBAAyB,OAAO;IAC3C;IACA;QACI,OAAO;QACP,OAAOA,yBAAyB,QAAQ;IAC5C;IACA;QACI,OAAO;QACP,OAAOA,yBAAyB,QAAQ;IAC5C;IACA;QACI,OAAO;QACP,OAAOA,yBAAyB,QAAQ;IAC5C;CACH;AAED,MAAMC;IACF,MAAa,QAAQC,OAA6B,EAAE;QAChD,OAAO;YACHA,QACK,OAAO,CAAC;gBACL,SAASJ;gBACT,MAAM;YACV,GACC,MAAM,CAACK,CAAAA,SAAW;oBACf,YAAYA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAChC,KAAKA,OAAO,IAAI,GAAG,KAAK,CAAC,OAAO,QAAQ,CAAC;oBACzC,OAAOA,OAAO,IAAI,GAAG,KAAK,CAAC,SAAS,QAAQ,CAAC;oBAC7C,kBAAkBA,OAAO,IAAI,GAAG,KAAK,CAAC;oBACtC,UAAUA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAC9B,UAAUA,OAAO,OAAO,GAAG,KAAK,CAAC;oBACjC,SAASA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAC7B,OAAOA,OAAO,IAAI,GAAG,KAAK,CAAC,SAAS,gBAAgB,CAACJ;oBACrD,OAAOI,OACF,MAAM,GACN,KAAK,CAAC,SACN,IAAI,GACJ,QAAQ,CAAC,uBACT,aAAa,CAAC,GAAG,kCACjB,MAAM,CAACC,CAAAA,aAAe;4BACnB,IAAIA,WAAW,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;4BAC3C,OAAOA,WAAW,IAAI,GAAG,KAAK,CAAC,SAAS,QAAQ,CAAC;4BACjD,OAAOA,WAAW,IAAI,GAAG,KAAK,CAAC,SAAS,QAAQ,CAAC;4BACjD,aAAaA,WAAW,IAAI,GAAG,KAAK,CAAC;4BACrC,OAAOA,WACF,MAAM,GACN,KAAK,CAAC,SACN,IAAI,GACJ,QAAQ,CAAC,kCACT,aAAa,CAAC,GAAG,kCACjB,MAAM,CAACC,CAAAA,aAAe;oCACnB,IAAIA,WAAW,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;gCAC/C;4BACJ,eAAeD,WACV,MAAM,GACN,KAAK,CAAC,iBACN,IAAI,GACJ,MAAM,CAACE,CAAAA,qBAAuB;oCAC3B,IAAIA,mBACC,IAAI,GACJ,KAAK,CAAC,MACN,QAAQ,CAAC;gCAClB;4BACJ,OAAOF,WAAW,IAAI,GAAG,KAAK,CAAC,SAAS,gBAAgB,CAACL;4BACzD,SAASK,WACJ,MAAM,GACN,KAAK,CAAC,QACN,MAAM,CAACG,CAAAA,aAAe;oCACnB,IAAIA,WAAW,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;oCAC3C,aAAaA,WACR,IAAI,GACJ,KAAK,CAAC,gBACN,QAAQ,CAAC;oCACd,MAAMA,WACD,IAAI,GACJ,KAAK,CAAC,QACN,QAAQ,CAAC;gCAClB;4BACJ,SAASH,WAAW,IAAI,GAAG,KAAK,CAAC;wBACrC;gBACR;SACP;IACL;AACJ;AAEO,MAAMI,qBAAqBC,aAAa,oBAAoB,CAAC;IAChE,gBAAgBR;IAChB,cAAc,EAAE;AACpB"}
@@ -1,36 +1,29 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { ListUserTeamsUseCase } from "@webiny/api-core/features/users/ListUserTeams";
3
- import { GetUserTeamsUseCase as UseCase } from "./abstractions.js";
3
+ import { GetUserTeamsUseCase } from "./abstractions.js";
4
4
  class GetUserTeamsUseCaseImpl {
5
- cache = new Map();
6
- constructor(listUserTeams) {
7
- this.listUserTeams = listUserTeams;
8
- }
9
- async execute(userId) {
10
- // Check cache first
11
- const cached = this.cache.get(userId);
12
- if (cached) {
13
- return Result.ok(cached);
5
+ constructor(listUserTeams){
6
+ this.listUserTeams = listUserTeams;
7
+ this.cache = new Map();
14
8
  }
15
-
16
- // Fetch teams
17
- const result = await this.listUserTeams.execute(userId);
18
- if (result.isFail()) {
19
- // If fetching teams fails, return an empty array (user has no teams)
20
- return Result.ok([]);
9
+ async execute(userId) {
10
+ const cached = this.cache.get(userId);
11
+ if (cached) return Result.ok(cached);
12
+ const result = await this.listUserTeams.execute(userId);
13
+ if (result.isFail()) return Result.ok([]);
14
+ const teams = result.value.map((team)=>({
15
+ id: team.id
16
+ }));
17
+ this.cache.set(userId, teams);
18
+ return Result.ok(teams);
21
19
  }
22
- const teams = result.value.map(team => ({
23
- id: team.id
24
- }));
25
-
26
- // Cache the result
27
- this.cache.set(userId, teams);
28
- return Result.ok(teams);
29
- }
30
20
  }
31
- export const GetUserTeamsUseCase = UseCase.createImplementation({
32
- implementation: GetUserTeamsUseCaseImpl,
33
- dependencies: [ListUserTeamsUseCase]
21
+ const GetUserTeamsUseCase_GetUserTeamsUseCase = GetUserTeamsUseCase.createImplementation({
22
+ implementation: GetUserTeamsUseCaseImpl,
23
+ dependencies: [
24
+ ListUserTeamsUseCase
25
+ ]
34
26
  });
27
+ export { GetUserTeamsUseCase_GetUserTeamsUseCase as GetUserTeamsUseCase };
35
28
 
36
29
  //# sourceMappingURL=GetUserTeamsUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","ListUserTeamsUseCase","GetUserTeamsUseCase","UseCase","GetUserTeamsUseCaseImpl","cache","Map","constructor","listUserTeams","execute","userId","cached","get","ok","result","isFail","teams","value","map","team","id","set","createImplementation","implementation","dependencies"],"sources":["GetUserTeamsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListUserTeamsUseCase } from \"@webiny/api-core/features/users/ListUserTeams\";\nimport { GetUserTeamsUseCase as UseCase } from \"./abstractions.js\";\nimport type { IWorkflowStepTeam } from \"~/domain/workflow/abstractions.js\";\n\nclass GetUserTeamsUseCaseImpl implements UseCase.Interface {\n private cache = new Map<string, IWorkflowStepTeam[]>();\n\n constructor(private listUserTeams: ListUserTeamsUseCase.Interface) {}\n\n async execute(userId: string): UseCase.Return {\n // Check cache first\n const cached = this.cache.get(userId);\n if (cached) {\n return Result.ok(cached);\n }\n\n // Fetch teams\n const result = await this.listUserTeams.execute(userId);\n\n if (result.isFail()) {\n // If fetching teams fails, return an empty array (user has no teams)\n return Result.ok([]);\n }\n\n const teams = result.value.map(team => ({ id: team.id }));\n\n // Cache the result\n this.cache.set(userId, teams);\n\n return Result.ok(teams);\n }\n}\n\nexport const GetUserTeamsUseCase = UseCase.createImplementation({\n implementation: GetUserTeamsUseCaseImpl,\n dependencies: [ListUserTeamsUseCase]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,oBAAoB,QAAQ,+CAA+C;AACpF,SAASC,mBAAmB,IAAIC,OAAO;AAGvC,MAAMC,uBAAuB,CAA8B;EAC/CC,KAAK,GAAG,IAAIC,GAAG,CAA8B,CAAC;EAEtDC,WAAWA,CAASC,aAA6C,EAAE;IAAA,KAA/CA,aAA6C,GAA7CA,aAA6C;EAAG;EAEpE,MAAMC,OAAOA,CAACC,MAAc,EAAkB;IAC1C;IACA,MAAMC,MAAM,GAAG,IAAI,CAACN,KAAK,CAACO,GAAG,CAACF,MAAM,CAAC;IACrC,IAAIC,MAAM,EAAE;MACR,OAAOX,MAAM,CAACa,EAAE,CAACF,MAAM,CAAC;IAC5B;;IAEA;IACA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACN,aAAa,CAACC,OAAO,CAACC,MAAM,CAAC;IAEvD,IAAII,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;MACjB;MACA,OAAOf,MAAM,CAACa,EAAE,CAAC,EAAE,CAAC;IACxB;IAEA,MAAMG,KAAK,GAAGF,MAAM,CAACG,KAAK,CAACC,GAAG,CAACC,IAAI,KAAK;MAAEC,EAAE,EAAED,IAAI,CAACC;IAAG,CAAC,CAAC,CAAC;;IAEzD;IACA,IAAI,CAACf,KAAK,CAACgB,GAAG,CAACX,MAAM,EAAEM,KAAK,CAAC;IAE7B,OAAOhB,MAAM,CAACa,EAAE,CAACG,KAAK,CAAC;EAC3B;AACJ;AAEA,OAAO,MAAMd,mBAAmB,GAAGC,OAAO,CAACmB,oBAAoB,CAAC;EAC5DC,cAAc,EAAEnB,uBAAuB;EACvCoB,YAAY,EAAE,CAACvB,oBAAoB;AACvC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/internal/GetUserTeams/GetUserTeamsUseCase.js","sources":["../../../../src/features/internal/GetUserTeams/GetUserTeamsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListUserTeamsUseCase } from \"@webiny/api-core/features/users/ListUserTeams\";\nimport { GetUserTeamsUseCase as UseCase } from \"./abstractions.js\";\nimport type { IWorkflowStepTeam } from \"~/domain/workflow/abstractions.js\";\n\nclass GetUserTeamsUseCaseImpl implements UseCase.Interface {\n private cache = new Map<string, IWorkflowStepTeam[]>();\n\n constructor(private listUserTeams: ListUserTeamsUseCase.Interface) {}\n\n async execute(userId: string): UseCase.Return {\n // Check cache first\n const cached = this.cache.get(userId);\n if (cached) {\n return Result.ok(cached);\n }\n\n // Fetch teams\n const result = await this.listUserTeams.execute(userId);\n\n if (result.isFail()) {\n // If fetching teams fails, return an empty array (user has no teams)\n return Result.ok([]);\n }\n\n const teams = result.value.map(team => ({ id: team.id }));\n\n // Cache the result\n this.cache.set(userId, teams);\n\n return Result.ok(teams);\n }\n}\n\nexport const GetUserTeamsUseCase = UseCase.createImplementation({\n implementation: GetUserTeamsUseCaseImpl,\n dependencies: [ListUserTeamsUseCase]\n});\n"],"names":["GetUserTeamsUseCaseImpl","listUserTeams","Map","userId","cached","Result","result","teams","team","GetUserTeamsUseCase","UseCase","ListUserTeamsUseCase"],"mappings":";;;AAKA,MAAMA;IAGF,YAAoBC,aAA6C,CAAE;aAA/CA,aAAa,GAAbA;aAFZ,KAAK,GAAG,IAAIC;IAEgD;IAEpE,MAAM,QAAQC,MAAc,EAAkB;QAE1C,MAAMC,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAACD;QAC9B,IAAIC,QACA,OAAOC,OAAO,EAAE,CAACD;QAIrB,MAAME,SAAS,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAACH;QAEhD,IAAIG,OAAO,MAAM,IAEb,OAAOD,OAAO,EAAE,CAAC,EAAE;QAGvB,MAAME,QAAQD,OAAO,KAAK,CAAC,GAAG,CAACE,CAAAA,OAAS;gBAAE,IAAIA,KAAK,EAAE;YAAC;QAGtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAACL,QAAQI;QAEvB,OAAOF,OAAO,EAAE,CAACE;IACrB;AACJ;AAEO,MAAME,0CAAsBC,oBAAAA,oBAA4B,CAAC;IAC5D,gBAAgBV;IAChB,cAAc;QAACW;KAAqB;AACxC"}
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- export const GetUserTeamsUseCase = createAbstraction("GetUserTeamsUseCase");
2
+ const GetUserTeamsUseCase = createAbstraction("GetUserTeamsUseCase");
3
+ export { GetUserTeamsUseCase };
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","GetUserTeamsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { IWorkflowStepTeam } from \"~/domain/workflow/abstractions.js\";\n\nexport interface IGetUserTeamsUseCase {\n execute(userId: string): Promise<Result<IWorkflowStepTeam[], never>>;\n}\n\nexport const GetUserTeamsUseCase = createAbstraction<IGetUserTeamsUseCase>(\"GetUserTeamsUseCase\");\n\nexport namespace GetUserTeamsUseCase {\n export type Interface = IGetUserTeamsUseCase;\n export type Return = ReturnType<Interface[\"execute\"]>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAQvD,OAAO,MAAMC,mBAAmB,GAAGD,iBAAiB,CAAuB,qBAAqB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/internal/GetUserTeams/abstractions.js","sources":["../../../../src/features/internal/GetUserTeams/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { IWorkflowStepTeam } from \"~/domain/workflow/abstractions.js\";\n\nexport interface IGetUserTeamsUseCase {\n execute(userId: string): Promise<Result<IWorkflowStepTeam[], never>>;\n}\n\nexport const GetUserTeamsUseCase = createAbstraction<IGetUserTeamsUseCase>(\"GetUserTeamsUseCase\");\n\nexport namespace GetUserTeamsUseCase {\n export type Interface = IGetUserTeamsUseCase;\n export type Return = ReturnType<Interface[\"execute\"]>;\n}\n"],"names":["GetUserTeamsUseCase","createAbstraction"],"mappings":";AAQO,MAAMA,sBAAsBC,kBAAwC"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { GetUserTeamsUseCase } from "./GetUserTeamsUseCase.js";
3
- export const GetUserTeamsFeature = createFeature({
4
- name: "workflows.internal.getUserTeams",
5
- register(container) {
6
- container.register(GetUserTeamsUseCase).inSingletonScope();
7
- }
3
+ const GetUserTeamsFeature = createFeature({
4
+ name: "workflows.internal.getUserTeams",
5
+ register (container) {
6
+ container.register(GetUserTeamsUseCase).inSingletonScope();
7
+ }
8
8
  });
9
+ export { GetUserTeamsFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","GetUserTeamsUseCase","GetUserTeamsFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetUserTeamsUseCase } from \"./GetUserTeamsUseCase.js\";\n\nexport const GetUserTeamsFeature = createFeature({\n name: \"workflows.internal.getUserTeams\",\n register(container) {\n container.register(GetUserTeamsUseCase).inSingletonScope();\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,mBAAmB;AAE5B,OAAO,MAAMC,mBAAmB,GAAGF,aAAa,CAAC;EAC7CG,IAAI,EAAE,iCAAiC;EACvCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,mBAAmB,CAAC,CAACK,gBAAgB,CAAC,CAAC;EAC9D;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/internal/GetUserTeams/feature.js","sources":["../../../../src/features/internal/GetUserTeams/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetUserTeamsUseCase } from \"./GetUserTeamsUseCase.js\";\n\nexport const GetUserTeamsFeature = createFeature({\n name: \"workflows.internal.getUserTeams\",\n register(container) {\n container.register(GetUserTeamsUseCase).inSingletonScope();\n }\n});\n"],"names":["GetUserTeamsFeature","createFeature","container","GetUserTeamsUseCase"],"mappings":";;AAGO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,qBAAqB,gBAAgB;IAC5D;AACJ"}
@@ -1,3 +1 @@
1
1
  export * from "./abstractions.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1,24 +1,28 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { ListNotificationTypesRepository as Repository } from "./abstractions.js";
2
+ import { ListNotificationTypesRepository } from "./abstractions.js";
3
3
  import { NotificationTransport } from "../NotificationTransport/index.js";
4
4
  class ListNotificationTypesRepositoryImpl {
5
- constructor(types) {
6
- this.types = types;
7
- }
8
- async execute() {
9
- return Result.ok(this.types.map(type => {
10
- return {
11
- id: type.id,
12
- title: type.title
13
- };
14
- }));
15
- }
5
+ constructor(types){
6
+ this.types = types;
7
+ }
8
+ async execute() {
9
+ return Result.ok(this.types.map((type)=>({
10
+ id: type.id,
11
+ title: type.title
12
+ })));
13
+ }
16
14
  }
17
- export const ListNotificationTypesRepository = Repository.createImplementation({
18
- implementation: ListNotificationTypesRepositoryImpl,
19
- dependencies: [[NotificationTransport, {
20
- multiple: true
21
- }]]
15
+ const ListNotificationTypesRepository_ListNotificationTypesRepository = ListNotificationTypesRepository.createImplementation({
16
+ implementation: ListNotificationTypesRepositoryImpl,
17
+ dependencies: [
18
+ [
19
+ NotificationTransport,
20
+ {
21
+ multiple: true
22
+ }
23
+ ]
24
+ ]
22
25
  });
26
+ export { ListNotificationTypesRepository_ListNotificationTypesRepository as ListNotificationTypesRepository };
23
27
 
24
28
  //# sourceMappingURL=ListNotificationTypesRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","ListNotificationTypesRepository","Repository","NotificationTransport","ListNotificationTypesRepositoryImpl","constructor","types","execute","ok","map","type","id","title","createImplementation","implementation","dependencies","multiple"],"sources":["ListNotificationTypesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListNotificationTypesRepository as Repository } from \"./abstractions.js\";\nimport { NotificationTransport } from \"~/features/notifications/NotificationTransport/index.js\";\n\nclass ListNotificationTypesRepositoryImpl implements Repository.Interface {\n private readonly types;\n\n public constructor(types: NotificationTransport.Interface[]) {\n this.types = types;\n }\n\n public async execute(): Repository.Return {\n return Result.ok(\n this.types.map(type => {\n return {\n id: type.id,\n title: type.title\n };\n })\n );\n }\n}\n\nexport const ListNotificationTypesRepository = Repository.createImplementation({\n implementation: ListNotificationTypesRepositoryImpl,\n dependencies: [[NotificationTransport, { multiple: true }]]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,+BAA+B,IAAIC,UAAU;AACtD,SAASC,qBAAqB;AAE9B,MAAMC,mCAAmC,CAAiC;EAG/DC,WAAWA,CAACC,KAAwC,EAAE;IACzD,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB;EAEA,MAAaC,OAAOA,CAAA,EAAsB;IACtC,OAAOP,MAAM,CAACQ,EAAE,CACZ,IAAI,CAACF,KAAK,CAACG,GAAG,CAACC,IAAI,IAAI;MACnB,OAAO;QACHC,EAAE,EAAED,IAAI,CAACC,EAAE;QACXC,KAAK,EAAEF,IAAI,CAACE;MAChB,CAAC;IACL,CAAC,CACL,CAAC;EACL;AACJ;AAEA,OAAO,MAAMX,+BAA+B,GAAGC,UAAU,CAACW,oBAAoB,CAAC;EAC3EC,cAAc,EAAEV,mCAAmC;EACnDW,YAAY,EAAE,CAAC,CAACZ,qBAAqB,EAAE;IAAEa,QAAQ,EAAE;EAAK,CAAC,CAAC;AAC9D,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js","sources":["../../../../src/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListNotificationTypesRepository as Repository } from \"./abstractions.js\";\nimport { NotificationTransport } from \"~/features/notifications/NotificationTransport/index.js\";\n\nclass ListNotificationTypesRepositoryImpl implements Repository.Interface {\n private readonly types;\n\n public constructor(types: NotificationTransport.Interface[]) {\n this.types = types;\n }\n\n public async execute(): Repository.Return {\n return Result.ok(\n this.types.map(type => {\n return {\n id: type.id,\n title: type.title\n };\n })\n );\n }\n}\n\nexport const ListNotificationTypesRepository = Repository.createImplementation({\n implementation: ListNotificationTypesRepositoryImpl,\n dependencies: [[NotificationTransport, { multiple: true }]]\n});\n"],"names":["ListNotificationTypesRepositoryImpl","types","Result","type","ListNotificationTypesRepository","Repository","NotificationTransport"],"mappings":";;;AAIA,MAAMA;IAGF,YAAmBC,KAAwC,CAAE;QACzD,IAAI,CAAC,KAAK,GAAGA;IACjB;IAEA,MAAa,UAA6B;QACtC,OAAOC,OAAO,EAAE,CACZ,IAAI,CAAC,KAAK,CAAC,GAAG,CAACC,CAAAA,OACJ;gBACH,IAAIA,KAAK,EAAE;gBACX,OAAOA,KAAK,KAAK;YACrB;IAGZ;AACJ;AAEO,MAAMC,kEAAkCC,gCAAAA,oBAA+B,CAAC;IAC3E,gBAAgBL;IAChB,cAAc;QAAC;YAACM;YAAuB;gBAAE,UAAU;YAAK;SAAE;KAAC;AAC/D"}
@@ -1,39 +1,34 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
3
- import { ListNotificationTypesRepository, ListNotificationTypesUseCase as UseCase } from "./abstractions.js";
3
+ import { ListNotificationTypesRepository, ListNotificationTypesUseCase } from "./abstractions.js";
4
4
  import { WORKFLOWS_PERMISSION } from "../../../constants.js";
5
5
  import { NotificationAuthorizedError } from "../../../domain/notifications/errors.js";
6
6
  class ListNotificationTypesUseCaseImpl {
7
- constructor(identityContext, repository) {
8
- this.identityContext = identityContext;
9
- this.repository = repository;
10
- }
11
- async execute() {
12
- const hasAccess = await this.ensureAccess();
13
- if (hasAccess.isFail()) {
14
- return Result.fail(hasAccess.error);
7
+ constructor(identityContext, repository){
8
+ this.identityContext = identityContext;
9
+ this.repository = repository;
15
10
  }
16
- const result = await this.repository.execute();
17
- if (result.isFail()) {
18
- return result;
11
+ async execute() {
12
+ const hasAccess = await this.ensureAccess();
13
+ if (hasAccess.isFail()) return Result.fail(hasAccess.error);
14
+ const result = await this.repository.execute();
15
+ if (result.isFail()) return result;
16
+ return Result.ok(result.value);
19
17
  }
20
- return Result.ok(result.value);
21
- }
22
- async ensureAccess() {
23
- const permissions = await this.identityContext.getPermissions(WORKFLOWS_PERMISSION);
24
- for (const permission of permissions) {
25
- if (permission.name === "*") {
26
- return Result.ok();
27
- } else if (permission.editor) {
28
- return Result.ok();
29
- }
18
+ async ensureAccess() {
19
+ const permissions = await this.identityContext.getPermissions(WORKFLOWS_PERMISSION);
20
+ for (const permission of permissions)if ("*" === permission.name) return Result.ok();
21
+ else if (permission.editor) return Result.ok();
22
+ return Result.fail(new NotificationAuthorizedError("You cannot list notifications."));
30
23
  }
31
- return Result.fail(new NotificationAuthorizedError("You cannot list notifications."));
32
- }
33
24
  }
34
- export const ListNotificationTypesUseCase = UseCase.createImplementation({
35
- implementation: ListNotificationTypesUseCaseImpl,
36
- dependencies: [IdentityContext, ListNotificationTypesRepository]
25
+ const ListNotificationTypesUseCase_ListNotificationTypesUseCase = ListNotificationTypesUseCase.createImplementation({
26
+ implementation: ListNotificationTypesUseCaseImpl,
27
+ dependencies: [
28
+ IdentityContext,
29
+ ListNotificationTypesRepository
30
+ ]
37
31
  });
32
+ export { ListNotificationTypesUseCase_ListNotificationTypesUseCase as ListNotificationTypesUseCase };
38
33
 
39
34
  //# sourceMappingURL=ListNotificationTypesUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","IdentityContext","ListNotificationTypesRepository","ListNotificationTypesUseCase","UseCase","WORKFLOWS_PERMISSION","NotificationAuthorizedError","ListNotificationTypesUseCaseImpl","constructor","identityContext","repository","execute","hasAccess","ensureAccess","isFail","fail","error","result","ok","value","permissions","getPermissions","permission","name","editor","createImplementation","implementation","dependencies"],"sources":["ListNotificationTypesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport {\n ListNotificationTypesRepository,\n ListNotificationTypesUseCase as UseCase\n} from \"./abstractions.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\nimport { NotificationAuthorizedError } from \"~/domain/notifications/errors.js\";\n\nclass ListNotificationTypesUseCaseImpl implements UseCase.Interface {\n public constructor(\n private identityContext: IdentityContext.Interface,\n private repository: ListNotificationTypesRepository.Interface\n ) {}\n\n public async execute(): UseCase.Return {\n const hasAccess = await this.ensureAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const result = await this.repository.execute();\n if (result.isFail()) {\n return result;\n }\n\n return Result.ok(result.value);\n }\n\n private async ensureAccess(): Promise<Result<void, NotificationAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new NotificationAuthorizedError(\"You cannot list notifications.\"));\n }\n}\n\nexport const ListNotificationTypesUseCase = UseCase.createImplementation({\n implementation: ListNotificationTypesUseCaseImpl,\n dependencies: [IdentityContext, ListNotificationTypesRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,6DAA6D;AAC7F,SACIC,+BAA+B,EAC/BC,4BAA4B,IAAIC,OAAO;AAE3C,SAASC,oBAAoB;AAE7B,SAASC,2BAA2B;AAEpC,MAAMC,gCAAgC,CAA8B;EACzDC,WAAWA,CACNC,eAA0C,EAC1CC,UAAqD,EAC/D;IAAA,KAFUD,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,UAAqD,GAArDA,UAAqD;EAC9D;EAEH,MAAaC,OAAOA,CAAA,EAAmB;IACnC,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,YAAY,CAAC,CAAC;IAC3C,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOd,MAAM,CAACe,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACP,UAAU,CAACC,OAAO,CAAC,CAAC;IAC9C,IAAIM,MAAM,CAACH,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOG,MAAM;IACjB;IAEA,OAAOjB,MAAM,CAACkB,EAAE,CAACD,MAAM,CAACE,KAAK,CAAC;EAClC;EAEA,MAAcN,YAAYA,CAAA,EAAuD;IAC7E,MAAMO,WAAW,GACb,MAAM,IAAI,CAACX,eAAe,CAACY,cAAc,CACrChB,oBACJ,CAAC;IAEL,KAAK,MAAMiB,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACC,IAAI,KAAK,GAAG,EAAE;QACzB,OAAOvB,MAAM,CAACkB,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAII,UAAU,CAACE,MAAM,EAAE;QAC1B,OAAOxB,MAAM,CAACkB,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAOlB,MAAM,CAACe,IAAI,CAAC,IAAIT,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;EACzF;AACJ;AAEA,OAAO,MAAMH,4BAA4B,GAAGC,OAAO,CAACqB,oBAAoB,CAAC;EACrEC,cAAc,EAAEnB,gCAAgC;EAChDoB,YAAY,EAAE,CAAC1B,eAAe,EAAEC,+BAA+B;AACnE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js","sources":["../../../../src/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport {\n ListNotificationTypesRepository,\n ListNotificationTypesUseCase as UseCase\n} from \"./abstractions.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\nimport { NotificationAuthorizedError } from \"~/domain/notifications/errors.js\";\n\nclass ListNotificationTypesUseCaseImpl implements UseCase.Interface {\n public constructor(\n private identityContext: IdentityContext.Interface,\n private repository: ListNotificationTypesRepository.Interface\n ) {}\n\n public async execute(): UseCase.Return {\n const hasAccess = await this.ensureAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const result = await this.repository.execute();\n if (result.isFail()) {\n return result;\n }\n\n return Result.ok(result.value);\n }\n\n private async ensureAccess(): Promise<Result<void, NotificationAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new NotificationAuthorizedError(\"You cannot list notifications.\"));\n }\n}\n\nexport const ListNotificationTypesUseCase = UseCase.createImplementation({\n implementation: ListNotificationTypesUseCaseImpl,\n dependencies: [IdentityContext, ListNotificationTypesRepository]\n});\n"],"names":["ListNotificationTypesUseCaseImpl","identityContext","repository","hasAccess","Result","result","permissions","WORKFLOWS_PERMISSION","permission","NotificationAuthorizedError","ListNotificationTypesUseCase","UseCase","IdentityContext","ListNotificationTypesRepository"],"mappings":";;;;;AAUA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,UAAqD,CAC/D;aAFUD,eAAe,GAAfA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAa,UAA0B;QACnC,MAAMC,YAAY,MAAM,IAAI,CAAC,YAAY;QACzC,IAAIA,UAAU,MAAM,IAChB,OAAOC,OAAO,IAAI,CAACD,UAAU,KAAK;QAGtC,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO;QAC5C,IAAIA,OAAO,MAAM,IACb,OAAOA;QAGX,OAAOD,OAAO,EAAE,CAACC,OAAO,KAAK;IACjC;IAEA,MAAc,eAAmE;QAC7E,MAAMC,cACF,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CACrCC;QAGR,KAAK,MAAMC,cAAcF,YACrB,IAAIE,AAAoB,QAApBA,WAAW,IAAI,EACf,OAAOJ,OAAO,EAAE;aACb,IAAII,WAAW,MAAM,EACxB,OAAOJ,OAAO,EAAE;QAIxB,OAAOA,OAAO,IAAI,CAAC,IAAIK,4BAA4B;IACvD;AACJ;AAEO,MAAMC,4DAA+BC,6BAAAA,oBAA4B,CAAC;IACrE,gBAAgBX;IAChB,cAAc;QAACY;QAAiBC;KAAgC;AACpE"}
@@ -1,15 +1,6 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * ListNotificationTypes use case interface
5
- */
6
-
7
- export const ListNotificationTypesUseCase = createAbstraction("ListNotificationTypesUseCase");
8
-
9
- /**
10
- * ListNotificationTypes repository interface
11
- */
12
-
13
- export const ListNotificationTypesRepository = createAbstraction("ListNotificationTypesRepository");
2
+ const ListNotificationTypesUseCase = createAbstraction("ListNotificationTypesUseCase");
3
+ const ListNotificationTypesRepository = createAbstraction("ListNotificationTypesRepository");
4
+ export { ListNotificationTypesRepository, ListNotificationTypesUseCase };
14
5
 
15
6
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","ListNotificationTypesUseCase","ListNotificationTypesRepository"],"sources":["abstractions.ts"],"sourcesContent":["import type { Result } from \"@webiny/feature/api\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { INotificationType } from \"~/domain/notifications/abstractions.js\";\nimport { NotificationAuthorizedError } from \"~/domain/notifications/errors.js\";\n\n/**\n * ListNotificationTypes use case interface\n */\nexport interface IListNotificationTypesUseCase {\n execute(): Promise<Result<INotificationType[], UseCaseError>>;\n}\n\nexport interface IListNotificationTypesUseCaseErrors {\n notAuthorized: NotificationAuthorizedError;\n}\n\ntype UseCaseError = IListNotificationTypesUseCaseErrors[keyof IListNotificationTypesUseCaseErrors];\n\nexport const ListNotificationTypesUseCase = createAbstraction<IListNotificationTypesUseCase>(\n \"ListNotificationTypesUseCase\"\n);\n\nexport namespace ListNotificationTypesUseCase {\n export type Interface = IListNotificationTypesUseCase;\n export type Return = Promise<Result<INotificationType[], UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n/**\n * ListNotificationTypes repository interface\n */\nexport interface IListNotificationTypesRepository {\n execute(): Promise<Result<INotificationType[]>>;\n}\n\nexport const ListNotificationTypesRepository = createAbstraction<IListNotificationTypesRepository>(\n \"ListNotificationTypesRepository\"\n);\n\nexport namespace ListNotificationTypesRepository {\n export type Interface = IListNotificationTypesRepository;\n export type Return = Promise<Result<INotificationType[]>>;\n}\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAIvD;AACA;AACA;;AAWA,OAAO,MAAMC,4BAA4B,GAAGD,iBAAiB,CACzD,8BACJ,CAAC;;AAQD;AACA;AACA;;AAKA,OAAO,MAAME,+BAA+B,GAAGF,iBAAiB,CAC5D,iCACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/notifications/ListNotificationTypes/abstractions.js","sources":["../../../../src/features/notifications/ListNotificationTypes/abstractions.ts"],"sourcesContent":["import type { Result } from \"@webiny/feature/api\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { INotificationType } from \"~/domain/notifications/abstractions.js\";\nimport { NotificationAuthorizedError } from \"~/domain/notifications/errors.js\";\n\n/**\n * ListNotificationTypes use case interface\n */\nexport interface IListNotificationTypesUseCase {\n execute(): Promise<Result<INotificationType[], UseCaseError>>;\n}\n\nexport interface IListNotificationTypesUseCaseErrors {\n notAuthorized: NotificationAuthorizedError;\n}\n\ntype UseCaseError = IListNotificationTypesUseCaseErrors[keyof IListNotificationTypesUseCaseErrors];\n\nexport const ListNotificationTypesUseCase = createAbstraction<IListNotificationTypesUseCase>(\n \"ListNotificationTypesUseCase\"\n);\n\nexport namespace ListNotificationTypesUseCase {\n export type Interface = IListNotificationTypesUseCase;\n export type Return = Promise<Result<INotificationType[], UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n/**\n * ListNotificationTypes repository interface\n */\nexport interface IListNotificationTypesRepository {\n execute(): Promise<Result<INotificationType[]>>;\n}\n\nexport const ListNotificationTypesRepository = createAbstraction<IListNotificationTypesRepository>(\n \"ListNotificationTypesRepository\"\n);\n\nexport namespace ListNotificationTypesRepository {\n export type Interface = IListNotificationTypesRepository;\n export type Return = Promise<Result<INotificationType[]>>;\n}\n"],"names":["ListNotificationTypesUseCase","createAbstraction","ListNotificationTypesRepository"],"mappings":";AAkBO,MAAMA,+BAA+BC,kBACxC;AAgBG,MAAMC,kCAAkCD,kBAC3C"}
@@ -1,12 +1,13 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { ListNotificationTypesUseCase } from "./ListNotificationTypesUseCase.js";
3
3
  import { ListNotificationTypesRepository } from "./ListNotificationTypesRepository.js";
4
- export const ListNotificationTypesFeature = createFeature({
5
- name: "WorkflowNotifications/ListNotificationTypes",
6
- register(container) {
7
- container.register(ListNotificationTypesRepository).inSingletonScope();
8
- container.register(ListNotificationTypesUseCase);
9
- }
4
+ const ListNotificationTypesFeature = createFeature({
5
+ name: "WorkflowNotifications/ListNotificationTypes",
6
+ register (container) {
7
+ container.register(ListNotificationTypesRepository).inSingletonScope();
8
+ container.register(ListNotificationTypesUseCase);
9
+ }
10
10
  });
11
+ export { ListNotificationTypesFeature };
11
12
 
12
13
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","ListNotificationTypesUseCase","ListNotificationTypesRepository","ListNotificationTypesFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListNotificationTypesUseCase } from \"./ListNotificationTypesUseCase.js\";\nimport { ListNotificationTypesRepository } from \"./ListNotificationTypesRepository.js\";\n\nexport const ListNotificationTypesFeature = createFeature({\n name: \"WorkflowNotifications/ListNotificationTypes\",\n register(container) {\n container.register(ListNotificationTypesRepository).inSingletonScope();\n container.register(ListNotificationTypesUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,4BAA4B;AACrC,SAASC,+BAA+B;AAExC,OAAO,MAAMC,4BAA4B,GAAGH,aAAa,CAAC;EACtDI,IAAI,EAAE,6CAA6C;EACnDC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,+BAA+B,CAAC,CAACK,gBAAgB,CAAC,CAAC;IACtED,SAAS,CAACD,QAAQ,CAACJ,4BAA4B,CAAC;EACpD;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/notifications/ListNotificationTypes/feature.js","sources":["../../../../src/features/notifications/ListNotificationTypes/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListNotificationTypesUseCase } from \"./ListNotificationTypesUseCase.js\";\nimport { ListNotificationTypesRepository } from \"./ListNotificationTypesRepository.js\";\n\nexport const ListNotificationTypesFeature = createFeature({\n name: \"WorkflowNotifications/ListNotificationTypes\",\n register(container) {\n container.register(ListNotificationTypesRepository).inSingletonScope();\n container.register(ListNotificationTypesUseCase);\n }\n});\n"],"names":["ListNotificationTypesFeature","createFeature","container","ListNotificationTypesRepository","ListNotificationTypesUseCase"],"mappings":";;;AAIO,MAAMA,+BAA+BC,cAAc;IACtD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,iCAAiC,gBAAgB;QACpED,UAAU,QAAQ,CAACE;IACvB;AACJ"}
@@ -1,4 +1,2 @@
1
1
  export { ListNotificationTypesFeature } from "./feature.js";
2
2
  export { ListNotificationTypesRepository, ListNotificationTypesUseCase } from "./abstractions.js";
3
-
4
- //# sourceMappingURL=index.js.map