@things-factory/worklist 9.0.0-beta.27 → 9.0.0-beta.29

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 (447) hide show
  1. package/dist-client/activity-summary-generator.d.ts +2 -0
  2. package/dist-client/activity-summary-generator.js +114 -0
  3. package/dist-client/activity-summary-generator.js.map +1 -0
  4. package/dist-client/bootstrap.d.ts +5 -0
  5. package/dist-client/bootstrap.js +66 -0
  6. package/dist-client/bootstrap.js.map +1 -0
  7. package/dist-client/components/activity-/bowner-view.d.ts +1 -0
  8. package/dist-client/components/activity-/bowner-view.js +104 -0
  9. package/dist-client/components/activity-/bowner-view.js.map +1 -0
  10. package/dist-client/components/activity-approval-ribon.d.ts +12 -0
  11. package/dist-client/components/activity-approval-ribon.js +164 -0
  12. package/dist-client/components/activity-approval-ribon.js.map +1 -0
  13. package/dist-client/components/activity-instance-preview.d.ts +2 -0
  14. package/dist-client/components/activity-instance-preview.js +185 -0
  15. package/dist-client/components/activity-instance-preview.js.map +1 -0
  16. package/dist-client/components/activity-instance-ribon.d.ts +13 -0
  17. package/dist-client/components/activity-instance-ribon.js +158 -0
  18. package/dist-client/components/activity-instance-ribon.js.map +1 -0
  19. package/dist-client/components/activity-intro-view.d.ts +1 -0
  20. package/dist-client/components/activity-intro-view.js +104 -0
  21. package/dist-client/components/activity-intro-view.js.map +1 -0
  22. package/dist-client/components/activity-reporter-view.d.ts +1 -0
  23. package/dist-client/components/activity-reporter-view.js +103 -0
  24. package/dist-client/components/activity-reporter-view.js.map +1 -0
  25. package/dist-client/components/activity-starter-form.d.ts +19 -0
  26. package/dist-client/components/activity-starter-form.js +262 -0
  27. package/dist-client/components/activity-starter-form.js.map +1 -0
  28. package/dist-client/components/activity-thread-ribon.d.ts +13 -0
  29. package/dist-client/components/activity-thread-ribon.js +152 -0
  30. package/dist-client/components/activity-thread-ribon.js.map +1 -0
  31. package/dist-client/components/activity-thread-timeline.d.ts +24 -0
  32. package/dist-client/components/activity-thread-timeline.js +219 -0
  33. package/dist-client/components/activity-thread-timeline.js.map +1 -0
  34. package/dist-client/grist-editor/grist-editor-activity-search-key.d.ts +12 -0
  35. package/dist-client/grist-editor/grist-editor-activity-search-key.js +71 -0
  36. package/dist-client/grist-editor/grist-editor-activity-search-key.js.map +1 -0
  37. package/dist-client/grist-editor/grist-renderer-activity-search-key.d.ts +3 -0
  38. package/dist-client/grist-editor/grist-renderer-activity-search-key.js +25 -0
  39. package/dist-client/grist-editor/grist-renderer-activity-search-key.js.map +1 -0
  40. package/dist-client/grist-editor/popup-activity-search-keys-input.d.ts +17 -0
  41. package/dist-client/grist-editor/popup-activity-search-keys-input.js +175 -0
  42. package/dist-client/grist-editor/popup-activity-search-keys-input.js.map +1 -0
  43. package/dist-client/index.d.ts +3 -0
  44. package/dist-client/index.js +4 -0
  45. package/dist-client/index.js.map +1 -0
  46. package/dist-client/pages/activity/activity-list-page.d.ts +56 -0
  47. package/dist-client/pages/activity/activity-list-page.js +697 -0
  48. package/dist-client/pages/activity/activity-list-page.js.map +1 -0
  49. package/dist-client/pages/activity/activity-model-item-list.d.ts +24 -0
  50. package/dist-client/pages/activity/activity-model-item-list.js +292 -0
  51. package/dist-client/pages/activity/activity-model-item-list.js.map +1 -0
  52. package/dist-client/pages/activity/activity-page.d.ts +56 -0
  53. package/dist-client/pages/activity/activity-page.js +385 -0
  54. package/dist-client/pages/activity/activity-page.js.map +1 -0
  55. package/dist-client/pages/activity/activity-partial-view.d.ts +13 -0
  56. package/dist-client/pages/activity/activity-partial-view.js +56 -0
  57. package/dist-client/pages/activity/activity-partial-view.js.map +1 -0
  58. package/dist-client/pages/activity/starter-list-page.d.ts +37 -0
  59. package/dist-client/pages/activity/starter-list-page.js +209 -0
  60. package/dist-client/pages/activity/starter-list-page.js.map +1 -0
  61. package/dist-client/pages/activity-approval/activity-approval-importer.d.ts +23 -0
  62. package/dist-client/pages/activity-approval/activity-approval-importer.js +94 -0
  63. package/dist-client/pages/activity-approval/activity-approval-importer.js.map +1 -0
  64. package/dist-client/pages/activity-approval/activity-approval-list-page.d.ts +61 -0
  65. package/dist-client/pages/activity-approval/activity-approval-list-page.js +295 -0
  66. package/dist-client/pages/activity-approval/activity-approval-list-page.js.map +1 -0
  67. package/dist-client/pages/activity-approval/activity-approval-page.d.ts +61 -0
  68. package/dist-client/pages/activity-approval/activity-approval-page.js +471 -0
  69. package/dist-client/pages/activity-approval/activity-approval-page.js.map +1 -0
  70. package/dist-client/pages/activity-instance/activity-instance-list-page.d.ts +35 -0
  71. package/dist-client/pages/activity-instance/activity-instance-list-page.js +212 -0
  72. package/dist-client/pages/activity-instance/activity-instance-list-page.js.map +1 -0
  73. package/dist-client/pages/activity-instance/activity-instance-search-page.d.ts +75 -0
  74. package/dist-client/pages/activity-instance/activity-instance-search-page.js +357 -0
  75. package/dist-client/pages/activity-instance/activity-instance-search-page.js.map +1 -0
  76. package/dist-client/pages/activity-instance/activity-instance-start-page.d.ts +52 -0
  77. package/dist-client/pages/activity-instance/activity-instance-start-page.js +481 -0
  78. package/dist-client/pages/activity-instance/activity-instance-start-page.js.map +1 -0
  79. package/dist-client/pages/activity-instance/activity-instance-view.d.ts +19 -0
  80. package/dist-client/pages/activity-instance/activity-instance-view.js +490 -0
  81. package/dist-client/pages/activity-instance/activity-instance-view.js.map +1 -0
  82. package/dist-client/pages/activity-stats/activity-stats-importer.d.ts +23 -0
  83. package/dist-client/pages/activity-stats/activity-stats-importer.js +94 -0
  84. package/dist-client/pages/activity-stats/activity-stats-importer.js.map +1 -0
  85. package/dist-client/pages/activity-stats/activity-stats-list-page.d.ts +61 -0
  86. package/dist-client/pages/activity-stats/activity-stats-list-page.js +295 -0
  87. package/dist-client/pages/activity-stats/activity-stats-list-page.js.map +1 -0
  88. package/dist-client/pages/activity-store/activity-store-page.d.ts +47 -0
  89. package/dist-client/pages/activity-store/activity-store-page.js +217 -0
  90. package/dist-client/pages/activity-store/activity-store-page.js.map +1 -0
  91. package/dist-client/pages/activity-supervisor/reporter-list-page.d.ts +36 -0
  92. package/dist-client/pages/activity-supervisor/reporter-list-page.js +228 -0
  93. package/dist-client/pages/activity-supervisor/reporter-list-page.js.map +1 -0
  94. package/dist-client/pages/activity-template/activity-template-importer.d.ts +11 -0
  95. package/dist-client/pages/activity-template/activity-template-importer.js +98 -0
  96. package/dist-client/pages/activity-template/activity-template-importer.js.map +1 -0
  97. package/dist-client/pages/activity-template/activity-template-list-page.d.ts +59 -0
  98. package/dist-client/pages/activity-template/activity-template-list-page.js +445 -0
  99. package/dist-client/pages/activity-template/activity-template-list-page.js.map +1 -0
  100. package/dist-client/pages/activity-template/activity-template-model-item-list.d.ts +1 -0
  101. package/dist-client/pages/activity-template/activity-template-model-item-list.js +41 -0
  102. package/dist-client/pages/activity-template/activity-template-model-item-list.js.map +1 -0
  103. package/dist-client/pages/activity-thread/activity-thread-importer.d.ts +11 -0
  104. package/dist-client/pages/activity-thread/activity-thread-importer.js +96 -0
  105. package/dist-client/pages/activity-thread/activity-thread-importer.js.map +1 -0
  106. package/dist-client/pages/activity-thread/activity-thread-list-page.d.ts +58 -0
  107. package/dist-client/pages/activity-thread/activity-thread-list-page.js +295 -0
  108. package/dist-client/pages/activity-thread/activity-thread-list-page.js.map +1 -0
  109. package/dist-client/pages/activity-thread/activity-thread-page.d.ts +62 -0
  110. package/dist-client/pages/activity-thread/activity-thread-page.js +494 -0
  111. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -0
  112. package/dist-client/pages/activity-thread/activity-thread-view-page.d.ts +56 -0
  113. package/dist-client/pages/activity-thread/activity-thread-view-page.js +313 -0
  114. package/dist-client/pages/activity-thread/activity-thread-view-page.js.map +1 -0
  115. package/dist-client/pages/activity-thread/activity-thread-view.d.ts +14 -0
  116. package/dist-client/pages/activity-thread/activity-thread-view.js +339 -0
  117. package/dist-client/pages/activity-thread/activity-thread-view.js.map +1 -0
  118. package/dist-client/pages/dashboard/dashboard-home.d.ts +1 -0
  119. package/dist-client/pages/dashboard/dashboard-home.js +24 -0
  120. package/dist-client/pages/dashboard/dashboard-home.js.map +1 -0
  121. package/dist-client/pages/installable-activity/installable-activity-list-page.d.ts +44 -0
  122. package/dist-client/pages/installable-activity/installable-activity-list-page.js +433 -0
  123. package/dist-client/pages/installable-activity/installable-activity-list-page.js.map +1 -0
  124. package/dist-client/pages/installable-activity/installable-activity-model-item-list.d.ts +1 -0
  125. package/dist-client/pages/installable-activity/installable-activity-model-item-list.js +20 -0
  126. package/dist-client/pages/installable-activity/installable-activity-model-item-list.js.map +1 -0
  127. package/dist-client/pages/todo/approval-done-list-page.d.ts +41 -0
  128. package/dist-client/pages/todo/approval-done-list-page.js +345 -0
  129. package/dist-client/pages/todo/approval-done-list-page.js.map +1 -0
  130. package/dist-client/pages/todo/approval-pending-list-page.d.ts +47 -0
  131. package/dist-client/pages/todo/approval-pending-list-page.js +419 -0
  132. package/dist-client/pages/todo/approval-pending-list-page.js.map +1 -0
  133. package/dist-client/pages/todo/done-list-calendar-page.d.ts +24 -0
  134. package/dist-client/pages/todo/done-list-calendar-page.js +109 -0
  135. package/dist-client/pages/todo/done-list-calendar-page.js.map +1 -0
  136. package/dist-client/pages/todo/done-list-page.d.ts +41 -0
  137. package/dist-client/pages/todo/done-list-page.js +364 -0
  138. package/dist-client/pages/todo/done-list-page.js.map +1 -0
  139. package/dist-client/pages/todo/draft-list-page.d.ts +38 -0
  140. package/dist-client/pages/todo/draft-list-page.js +285 -0
  141. package/dist-client/pages/todo/draft-list-page.js.map +1 -0
  142. package/dist-client/pages/todo/pickable-list-page.d.ts +41 -0
  143. package/dist-client/pages/todo/pickable-list-page.js +321 -0
  144. package/dist-client/pages/todo/pickable-list-page.js.map +1 -0
  145. package/dist-client/pages/todo/todo-list-page.d.ts +47 -0
  146. package/dist-client/pages/todo/todo-list-page.js +398 -0
  147. package/dist-client/pages/todo/todo-list-page.js.map +1 -0
  148. package/dist-client/pages/worklist-home.d.ts +1 -0
  149. package/dist-client/pages/worklist-home.js +18 -0
  150. package/dist-client/pages/worklist-home.js.map +1 -0
  151. package/dist-client/route.d.ts +1 -0
  152. package/dist-client/route.js +80 -0
  153. package/dist-client/route.js.map +1 -0
  154. package/dist-client/templates/activity-approval-context-template.d.ts +3 -0
  155. package/dist-client/templates/activity-approval-context-template.js +186 -0
  156. package/dist-client/templates/activity-approval-context-template.js.map +1 -0
  157. package/dist-client/templates/activity-instance-context-template.d.ts +3 -0
  158. package/dist-client/templates/activity-instance-context-template.js +281 -0
  159. package/dist-client/templates/activity-instance-context-template.js.map +1 -0
  160. package/dist-client/templates/activity-thread-context-template.d.ts +3 -0
  161. package/dist-client/templates/activity-thread-context-template.js +169 -0
  162. package/dist-client/templates/activity-thread-context-template.js.map +1 -0
  163. package/dist-client/tsconfig.tsbuildinfo +1 -0
  164. package/dist-client/types/activity-approval.d.ts +36 -0
  165. package/dist-client/types/activity-approval.js +17 -0
  166. package/dist-client/types/activity-approval.js.map +1 -0
  167. package/dist-client/types/activity-instance-type.d.ts +77 -0
  168. package/dist-client/types/activity-instance-type.js +11 -0
  169. package/dist-client/types/activity-instance-type.js.map +1 -0
  170. package/dist-client/types/activity-instance.d.ts +72 -0
  171. package/dist-client/types/activity-instance.js +36 -0
  172. package/dist-client/types/activity-instance.js.map +1 -0
  173. package/dist-client/types/activity-model-type.d.ts +31 -0
  174. package/dist-client/types/activity-model-type.js +18 -0
  175. package/dist-client/types/activity-model-type.js.map +1 -0
  176. package/dist-client/types/activity-search-key-item-type.d.ts +6 -0
  177. package/dist-client/types/activity-search-key-item-type.js +3 -0
  178. package/dist-client/types/activity-search-key-item-type.js.map +1 -0
  179. package/dist-client/types/activity-thread-history.d.ts +28 -0
  180. package/dist-client/types/activity-thread-history.js +7 -0
  181. package/dist-client/types/activity-thread-history.js.map +1 -0
  182. package/dist-client/types/activity-thread-type.d.ts +15 -0
  183. package/dist-client/types/activity-thread-type.js +7 -0
  184. package/dist-client/types/activity-thread-type.js.map +1 -0
  185. package/dist-client/types/activity-thread.d.ts +39 -0
  186. package/dist-client/types/activity-thread.js +18 -0
  187. package/dist-client/types/activity-thread.js.map +1 -0
  188. package/dist-client/types/activity.d.ts +66 -0
  189. package/dist-client/types/activity.js +40 -0
  190. package/dist-client/types/activity.js.map +1 -0
  191. package/dist-client/types/types.d.ts +23 -0
  192. package/dist-client/types/types.js +42 -0
  193. package/dist-client/types/types.js.map +1 -0
  194. package/dist-server/controllers/activity-approval/_abort.d.ts +5 -0
  195. package/dist-server/controllers/activity-approval/_abort.js +12 -0
  196. package/dist-server/controllers/activity-approval/_abort.js.map +1 -0
  197. package/dist-server/controllers/activity-approval/abort.d.ts +5 -0
  198. package/dist-server/controllers/activity-approval/abort.js +35 -0
  199. package/dist-server/controllers/activity-approval/abort.js.map +1 -0
  200. package/dist-server/controllers/activity-approval/approve.d.ts +5 -0
  201. package/dist-server/controllers/activity-approval/approve.js +90 -0
  202. package/dist-server/controllers/activity-approval/approve.js.map +1 -0
  203. package/dist-server/controllers/activity-approval/check-authority.d.ts +2 -0
  204. package/dist-server/controllers/activity-approval/check-authority.js +24 -0
  205. package/dist-server/controllers/activity-approval/check-authority.js.map +1 -0
  206. package/dist-server/controllers/activity-approval/delegate.d.ts +7 -0
  207. package/dist-server/controllers/activity-approval/delegate.js +42 -0
  208. package/dist-server/controllers/activity-approval/delegate.js.map +1 -0
  209. package/dist-server/controllers/activity-approval/reject.d.ts +5 -0
  210. package/dist-server/controllers/activity-approval/reject.js +36 -0
  211. package/dist-server/controllers/activity-approval/reject.js.map +1 -0
  212. package/dist-server/controllers/activity-approval/save.d.ts +5 -0
  213. package/dist-server/controllers/activity-approval/save.js +28 -0
  214. package/dist-server/controllers/activity-approval/save.js.map +1 -0
  215. package/dist-server/controllers/activity-installation/activity-installation-controller.d.ts +18 -0
  216. package/dist-server/controllers/activity-installation/activity-installation-controller.js +33 -0
  217. package/dist-server/controllers/activity-installation/activity-installation-controller.js.map +1 -0
  218. package/dist-server/controllers/activity-installation/call-webhook.d.ts +3 -0
  219. package/dist-server/controllers/activity-installation/call-webhook.js +42 -0
  220. package/dist-server/controllers/activity-installation/call-webhook.js.map +1 -0
  221. package/dist-server/controllers/activity-instance/abort.d.ts +5 -0
  222. package/dist-server/controllers/activity-instance/abort.js +54 -0
  223. package/dist-server/controllers/activity-instance/abort.js.map +1 -0
  224. package/dist-server/controllers/activity-instance/assign.d.ts +7 -0
  225. package/dist-server/controllers/activity-instance/assign.js +40 -0
  226. package/dist-server/controllers/activity-instance/assign.js.map +1 -0
  227. package/dist-server/controllers/activity-instance/draft.d.ts +3 -0
  228. package/dist-server/controllers/activity-instance/draft.js +57 -0
  229. package/dist-server/controllers/activity-instance/draft.js.map +1 -0
  230. package/dist-server/controllers/activity-instance/end.d.ts +6 -0
  231. package/dist-server/controllers/activity-instance/end.js +57 -0
  232. package/dist-server/controllers/activity-instance/end.js.map +1 -0
  233. package/dist-server/controllers/activity-instance/index.d.ts +6 -0
  234. package/dist-server/controllers/activity-instance/index.js +10 -0
  235. package/dist-server/controllers/activity-instance/index.js.map +1 -0
  236. package/dist-server/controllers/activity-instance/issue.d.ts +3 -0
  237. package/dist-server/controllers/activity-instance/issue.js +130 -0
  238. package/dist-server/controllers/activity-instance/issue.js.map +1 -0
  239. package/dist-server/controllers/activity-instance/pick.d.ts +2 -0
  240. package/dist-server/controllers/activity-instance/pick.js +32 -0
  241. package/dist-server/controllers/activity-instance/pick.js.map +1 -0
  242. package/dist-server/controllers/activity-thread/_abort.d.ts +5 -0
  243. package/dist-server/controllers/activity-thread/_abort.js +28 -0
  244. package/dist-server/controllers/activity-thread/_abort.js.map +1 -0
  245. package/dist-server/controllers/activity-thread/abort.d.ts +5 -0
  246. package/dist-server/controllers/activity-thread/abort.js +38 -0
  247. package/dist-server/controllers/activity-thread/abort.js.map +1 -0
  248. package/dist-server/controllers/activity-thread/check-authority.d.ts +2 -0
  249. package/dist-server/controllers/activity-thread/check-authority.js +33 -0
  250. package/dist-server/controllers/activity-thread/check-authority.js.map +1 -0
  251. package/dist-server/controllers/activity-thread/delegate.d.ts +7 -0
  252. package/dist-server/controllers/activity-thread/delegate.js +36 -0
  253. package/dist-server/controllers/activity-thread/delegate.js.map +1 -0
  254. package/dist-server/controllers/activity-thread/end.d.ts +6 -0
  255. package/dist-server/controllers/activity-thread/end.js +37 -0
  256. package/dist-server/controllers/activity-thread/end.js.map +1 -0
  257. package/dist-server/controllers/activity-thread/index.d.ts +7 -0
  258. package/dist-server/controllers/activity-thread/index.js +11 -0
  259. package/dist-server/controllers/activity-thread/index.js.map +1 -0
  260. package/dist-server/controllers/activity-thread/restart.d.ts +2 -0
  261. package/dist-server/controllers/activity-thread/restart.js +37 -0
  262. package/dist-server/controllers/activity-thread/restart.js.map +1 -0
  263. package/dist-server/controllers/activity-thread/save.d.ts +3 -0
  264. package/dist-server/controllers/activity-thread/save.js +39 -0
  265. package/dist-server/controllers/activity-thread/save.js.map +1 -0
  266. package/dist-server/controllers/activity-thread/start.d.ts +2 -0
  267. package/dist-server/controllers/activity-thread/start.js +36 -0
  268. package/dist-server/controllers/activity-thread/start.js.map +1 -0
  269. package/dist-server/controllers/activity-thread/submit.d.ts +6 -0
  270. package/dist-server/controllers/activity-thread/submit.js +92 -0
  271. package/dist-server/controllers/activity-thread/submit.js.map +1 -0
  272. package/dist-server/controllers/common.d.ts +21 -0
  273. package/dist-server/controllers/common.js +268 -0
  274. package/dist-server/controllers/common.js.map +1 -0
  275. package/dist-server/controllers/index.d.ts +3 -0
  276. package/dist-server/controllers/index.js +7 -0
  277. package/dist-server/controllers/index.js.map +1 -0
  278. package/dist-server/index.d.ts +3 -0
  279. package/dist-server/index.js +7 -0
  280. package/dist-server/index.js.map +1 -0
  281. package/dist-server/routes.d.ts +1 -0
  282. package/dist-server/routes.js +54 -0
  283. package/dist-server/routes.js.map +1 -0
  284. package/dist-server/service/activity/activity-history.d.ts +45 -0
  285. package/dist-server/service/activity/activity-history.js +224 -0
  286. package/dist-server/service/activity/activity-history.js.map +1 -0
  287. package/dist-server/service/activity/activity-model-type.d.ts +49 -0
  288. package/dist-server/service/activity/activity-model-type.js +138 -0
  289. package/dist-server/service/activity/activity-model-type.js.map +1 -0
  290. package/dist-server/service/activity/activity-mutation.d.ts +12 -0
  291. package/dist-server/service/activity/activity-mutation.js +334 -0
  292. package/dist-server/service/activity/activity-mutation.js.map +1 -0
  293. package/dist-server/service/activity/activity-query.d.ts +21 -0
  294. package/dist-server/service/activity/activity-query.js +306 -0
  295. package/dist-server/service/activity/activity-query.js.map +1 -0
  296. package/dist-server/service/activity/activity-search-key-item-type.d.ts +6 -0
  297. package/dist-server/service/activity/activity-search-key-item-type.js +28 -0
  298. package/dist-server/service/activity/activity-search-key-item-type.js.map +1 -0
  299. package/dist-server/service/activity/activity-type.d.ts +67 -0
  300. package/dist-server/service/activity/activity-type.js +247 -0
  301. package/dist-server/service/activity/activity-type.js.map +1 -0
  302. package/dist-server/service/activity/activity.d.ts +87 -0
  303. package/dist-server/service/activity/activity.js +301 -0
  304. package/dist-server/service/activity/activity.js.map +1 -0
  305. package/dist-server/service/activity/event-subscriber.d.ts +7 -0
  306. package/dist-server/service/activity/event-subscriber.js +21 -0
  307. package/dist-server/service/activity/event-subscriber.js.map +1 -0
  308. package/dist-server/service/activity/index.d.ts +8 -0
  309. package/dist-server/service/activity/index.js +12 -0
  310. package/dist-server/service/activity/index.js.map +1 -0
  311. package/dist-server/service/activity-approval/activity-approval-mutation.d.ts +8 -0
  312. package/dist-server/service/activity-approval/activity-approval-mutation.js +80 -0
  313. package/dist-server/service/activity-approval/activity-approval-mutation.js.map +1 -0
  314. package/dist-server/service/activity-approval/activity-approval-query.d.ts +17 -0
  315. package/dist-server/service/activity-approval/activity-approval-query.js +215 -0
  316. package/dist-server/service/activity-approval/activity-approval-query.js.map +1 -0
  317. package/dist-server/service/activity-approval/activity-approval-subscription.d.ts +6 -0
  318. package/dist-server/service/activity-approval/activity-approval-subscription.js +48 -0
  319. package/dist-server/service/activity-approval/activity-approval-subscription.js.map +1 -0
  320. package/dist-server/service/activity-approval/activity-approval-type.d.ts +10 -0
  321. package/dist-server/service/activity-approval/activity-approval-type.js +39 -0
  322. package/dist-server/service/activity-approval/activity-approval-type.js.map +1 -0
  323. package/dist-server/service/activity-approval/activity-approval.d.ts +39 -0
  324. package/dist-server/service/activity-approval/activity-approval.js +164 -0
  325. package/dist-server/service/activity-approval/activity-approval.js.map +1 -0
  326. package/dist-server/service/activity-approval/event-subscriber.d.ts +7 -0
  327. package/dist-server/service/activity-approval/event-subscriber.js +46 -0
  328. package/dist-server/service/activity-approval/event-subscriber.js.map +1 -0
  329. package/dist-server/service/activity-approval/index.d.ts +8 -0
  330. package/dist-server/service/activity-approval/index.js +12 -0
  331. package/dist-server/service/activity-approval/index.js.map +1 -0
  332. package/dist-server/service/activity-instance/activity-instance-history-query.d.ts +12 -0
  333. package/dist-server/service/activity-instance/activity-instance-history-query.js +79 -0
  334. package/dist-server/service/activity-instance/activity-instance-history-query.js.map +1 -0
  335. package/dist-server/service/activity-instance/activity-instance-history-type.d.ts +5 -0
  336. package/dist-server/service/activity-instance/activity-instance-history-type.js +21 -0
  337. package/dist-server/service/activity-instance/activity-instance-history-type.js.map +1 -0
  338. package/dist-server/service/activity-instance/activity-instance-history.d.ts +61 -0
  339. package/dist-server/service/activity-instance/activity-instance-history.js +298 -0
  340. package/dist-server/service/activity-instance/activity-instance-history.js.map +1 -0
  341. package/dist-server/service/activity-instance/activity-instance-mutation.d.ts +15 -0
  342. package/dist-server/service/activity-instance/activity-instance-mutation.js +144 -0
  343. package/dist-server/service/activity-instance/activity-instance-mutation.js.map +1 -0
  344. package/dist-server/service/activity-instance/activity-instance-query.d.ts +27 -0
  345. package/dist-server/service/activity-instance/activity-instance-query.js +378 -0
  346. package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -0
  347. package/dist-server/service/activity-instance/activity-instance-subscription.d.ts +6 -0
  348. package/dist-server/service/activity-instance/activity-instance-subscription.js +54 -0
  349. package/dist-server/service/activity-instance/activity-instance-subscription.js.map +1 -0
  350. package/dist-server/service/activity-instance/activity-instance-type.d.ts +87 -0
  351. package/dist-server/service/activity-instance/activity-instance-type.js +284 -0
  352. package/dist-server/service/activity-instance/activity-instance-type.js.map +1 -0
  353. package/dist-server/service/activity-instance/activity-instance.d.ts +75 -0
  354. package/dist-server/service/activity-instance/activity-instance.js +311 -0
  355. package/dist-server/service/activity-instance/activity-instance.js.map +1 -0
  356. package/dist-server/service/activity-instance/event-subscriber.d.ts +13 -0
  357. package/dist-server/service/activity-instance/event-subscriber.js +43 -0
  358. package/dist-server/service/activity-instance/event-subscriber.js.map +1 -0
  359. package/dist-server/service/activity-instance/index.d.ts +10 -0
  360. package/dist-server/service/activity-instance/index.js +14 -0
  361. package/dist-server/service/activity-instance/index.js.map +1 -0
  362. package/dist-server/service/activity-stats/activity-stats-query.d.ts +4 -0
  363. package/dist-server/service/activity-stats/activity-stats-query.js +92 -0
  364. package/dist-server/service/activity-stats/activity-stats-query.js.map +1 -0
  365. package/dist-server/service/activity-stats/activity-stats-type.d.ts +14 -0
  366. package/dist-server/service/activity-stats/activity-stats-type.js +47 -0
  367. package/dist-server/service/activity-stats/activity-stats-type.js.map +1 -0
  368. package/dist-server/service/activity-stats/index.d.ts +2 -0
  369. package/dist-server/service/activity-stats/index.js +6 -0
  370. package/dist-server/service/activity-stats/index.js.map +1 -0
  371. package/dist-server/service/activity-summary/activity-summary-query.d.ts +8 -0
  372. package/dist-server/service/activity-summary/activity-summary-query.js +163 -0
  373. package/dist-server/service/activity-summary/activity-summary-query.js.map +1 -0
  374. package/dist-server/service/activity-summary/activity-summary.d.ts +6 -0
  375. package/dist-server/service/activity-summary/activity-summary.js +28 -0
  376. package/dist-server/service/activity-summary/activity-summary.js.map +1 -0
  377. package/dist-server/service/activity-summary/index.d.ts +4 -0
  378. package/dist-server/service/activity-summary/index.js +8 -0
  379. package/dist-server/service/activity-summary/index.js.map +1 -0
  380. package/dist-server/service/activity-template/activity-template-history.d.ts +32 -0
  381. package/dist-server/service/activity-template/activity-template-history.js +165 -0
  382. package/dist-server/service/activity-template/activity-template-history.js.map +1 -0
  383. package/dist-server/service/activity-template/activity-template-mutation.d.ts +10 -0
  384. package/dist-server/service/activity-template/activity-template-mutation.js +170 -0
  385. package/dist-server/service/activity-template/activity-template-mutation.js.map +1 -0
  386. package/dist-server/service/activity-template/activity-template-query.d.ts +14 -0
  387. package/dist-server/service/activity-template/activity-template-query.js +112 -0
  388. package/dist-server/service/activity-template/activity-template-query.js.map +1 -0
  389. package/dist-server/service/activity-template/activity-template-type.d.ts +44 -0
  390. package/dist-server/service/activity-template/activity-template-type.js +164 -0
  391. package/dist-server/service/activity-template/activity-template-type.js.map +1 -0
  392. package/dist-server/service/activity-template/activity-template.d.ts +36 -0
  393. package/dist-server/service/activity-template/activity-template.js +154 -0
  394. package/dist-server/service/activity-template/activity-template.js.map +1 -0
  395. package/dist-server/service/activity-template/event-subscriber.d.ts +7 -0
  396. package/dist-server/service/activity-template/event-subscriber.js +21 -0
  397. package/dist-server/service/activity-template/event-subscriber.js.map +1 -0
  398. package/dist-server/service/activity-template/index.d.ts +8 -0
  399. package/dist-server/service/activity-template/index.js +12 -0
  400. package/dist-server/service/activity-template/index.js.map +1 -0
  401. package/dist-server/service/activity-thread/activity-thread-history-query.d.ts +10 -0
  402. package/dist-server/service/activity-thread/activity-thread-history-query.js +69 -0
  403. package/dist-server/service/activity-thread/activity-thread-history-query.js.map +1 -0
  404. package/dist-server/service/activity-thread/activity-thread-history.d.ts +39 -0
  405. package/dist-server/service/activity-thread/activity-thread-history.js +211 -0
  406. package/dist-server/service/activity-thread/activity-thread-history.js.map +1 -0
  407. package/dist-server/service/activity-thread/activity-thread-mutation.d.ts +23 -0
  408. package/dist-server/service/activity-thread/activity-thread-mutation.js +134 -0
  409. package/dist-server/service/activity-thread/activity-thread-mutation.js.map +1 -0
  410. package/dist-server/service/activity-thread/activity-thread-query.d.ts +21 -0
  411. package/dist-server/service/activity-thread/activity-thread-query.js +227 -0
  412. package/dist-server/service/activity-thread/activity-thread-query.js.map +1 -0
  413. package/dist-server/service/activity-thread/activity-thread-subscription.d.ts +6 -0
  414. package/dist-server/service/activity-thread/activity-thread-subscription.js +45 -0
  415. package/dist-server/service/activity-thread/activity-thread-subscription.js.map +1 -0
  416. package/dist-server/service/activity-thread/activity-thread-type.d.ts +15 -0
  417. package/dist-server/service/activity-thread/activity-thread-type.js +50 -0
  418. package/dist-server/service/activity-thread/activity-thread-type.js.map +1 -0
  419. package/dist-server/service/activity-thread/activity-thread.d.ts +47 -0
  420. package/dist-server/service/activity-thread/activity-thread.js +197 -0
  421. package/dist-server/service/activity-thread/activity-thread.js.map +1 -0
  422. package/dist-server/service/activity-thread/event-subscriber.d.ts +13 -0
  423. package/dist-server/service/activity-thread/event-subscriber.js +45 -0
  424. package/dist-server/service/activity-thread/event-subscriber.js.map +1 -0
  425. package/dist-server/service/activity-thread/index.d.ts +10 -0
  426. package/dist-server/service/activity-thread/index.js +14 -0
  427. package/dist-server/service/activity-thread/index.js.map +1 -0
  428. package/dist-server/service/index.d.ts +12 -0
  429. package/dist-server/service/index.js +52 -0
  430. package/dist-server/service/index.js.map +1 -0
  431. package/dist-server/service/installable-activity/index.d.ts +6 -0
  432. package/dist-server/service/installable-activity/index.js +10 -0
  433. package/dist-server/service/installable-activity/index.js.map +1 -0
  434. package/dist-server/service/installable-activity/installable-activity-mutation.d.ts +5 -0
  435. package/dist-server/service/installable-activity/installable-activity-mutation.js +60 -0
  436. package/dist-server/service/installable-activity/installable-activity-mutation.js.map +1 -0
  437. package/dist-server/service/installable-activity/installable-activity-query.d.ts +7 -0
  438. package/dist-server/service/installable-activity/installable-activity-query.js +48 -0
  439. package/dist-server/service/installable-activity/installable-activity-query.js.map +1 -0
  440. package/dist-server/service/installable-activity/installable-activity-type.d.ts +5 -0
  441. package/dist-server/service/installable-activity/installable-activity-type.js +21 -0
  442. package/dist-server/service/installable-activity/installable-activity-type.js.map +1 -0
  443. package/dist-server/service/installable-activity/installable-activity.d.ts +24 -0
  444. package/dist-server/service/installable-activity/installable-activity.js +92 -0
  445. package/dist-server/service/installable-activity/installable-activity.js.map +1 -0
  446. package/dist-server/tsconfig.tsbuildinfo +1 -0
  447. package/package.json +10 -10
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.abort = abort;
4
+ const activity_thread_js_1 = require("../../service/activity-thread/activity-thread.js");
5
+ const activity_instance_js_1 = require("../../service/activity-instance/activity-instance.js");
6
+ const common_js_1 = require("../common.js");
7
+ const _abort_js_1 = require("../activity-thread/_abort.js");
8
+ async function abort({ id, reason }, context) {
9
+ const { domain, user, tx } = context.state;
10
+ var repository = tx.getRepository(activity_instance_js_1.ActivityInstance);
11
+ var activityInstance = await repository.findOne({
12
+ where: { domain: { id: domain.id }, id },
13
+ relations: [
14
+ 'domain',
15
+ 'activity',
16
+ 'activityThreads',
17
+ 'assigneeRole',
18
+ 'supervisoryRole',
19
+ 'updater',
20
+ 'creator',
21
+ 'starter',
22
+ 'terminator'
23
+ ]
24
+ });
25
+ if (!activityInstance) {
26
+ throw new Error(context.t('error.activity-instance not found', {
27
+ activityInstance: id
28
+ }));
29
+ }
30
+ /*
31
+ Prerequisites for a Task to Be Aborted.
32
+ - The previous state of the task must not be End or Aborted.
33
+ */
34
+ if (activityInstance.state == activity_instance_js_1.ActivityInstanceStatus.Aborted ||
35
+ activityInstance.state == activity_instance_js_1.ActivityInstanceStatus.Ended) {
36
+ throw new Error(context.t(`error.activity-instance is already terminated`, {
37
+ id,
38
+ state: activityInstance.state
39
+ }));
40
+ }
41
+ /*
42
+ Actions to be processed when a task is aborted
43
+ - All related activity threads must be aborted.
44
+ */
45
+ const TERMINATED = [activity_thread_js_1.ActivityThreadStatus.Aborted, activity_thread_js_1.ActivityThreadStatus.Ended];
46
+ for (let activityThread of activityInstance.activityThreads) {
47
+ if (TERMINATED.includes(activityThread.state)) {
48
+ continue;
49
+ }
50
+ await (0, _abort_js_1._abort)({ activityThread, reason }, context);
51
+ }
52
+ return await repository.save(Object.assign(Object.assign(Object.assign(Object.assign({}, activityInstance), { reason }), (await (0, common_js_1.evalActivityInstanceState)(id, context))), { transaction: 'abort', updater: user, terminatedAt: new Date(), terminator: user }));
53
+ }
54
+ //# sourceMappingURL=abort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/abort.ts"],"names":[],"mappings":";;AAMA,sBAuEC;AA7ED,yFAAuF;AACvF,+FAA+G;AAC/G,4CAAwD;AAExD,4DAA4E;AAErE,KAAK,UAAU,KAAK,CACzB,EAAE,EAAE,EAAE,MAAM,EAAkC,EAC9C,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,uCAAgB,CAAC,CAAA;IAEnD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE;YACT,QAAQ;YACR,UAAU;YACV,iBAAiB;YACjB,cAAc;YACd,iBAAiB;YACjB,SAAS;YACT,SAAS;YACT,SAAS;YACT,YAAY;SACb;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;IACH,CAAC;IAED;;;MAGE;IACF,IACE,gBAAgB,CAAC,KAAK,IAAI,6CAAsB,CAAC,OAAO;QACxD,gBAAgB,CAAC,KAAK,IAAI,6CAAsB,CAAC,KAAK,EACtD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,EAAE;YACF,KAAK,EAAE,gBAAgB,CAAC,KAAK;SAC9B,CAAC,CACH,CAAA;IACH,CAAC;IAED;;;MAGE;IAEF,MAAM,UAAU,GAAG,CAAC,yCAAoB,CAAC,OAAO,EAAE,yCAAoB,CAAC,KAAK,CAAC,CAAA;IAE7E,KAAK,IAAI,cAAc,IAAI,gBAAgB,CAAC,eAAe,EAAE,CAAC;QAC5D,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,SAAQ;QACV,CAAC;QAED,MAAM,IAAA,kBAAmB,EAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;IAChE,CAAC;IAED,OAAO,MAAM,UAAU,CAAC,IAAI,6DACvB,gBAAgB,KACnB,MAAM,KACH,CAAC,MAAM,IAAA,qCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KACjD,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;AACJ,CAAC","sourcesContent":["import { ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance.js'\nimport { evalActivityInstanceState } from '../common.js'\n\nimport { _abort as abortActivityThread } from '../activity-thread/_abort.js'\n\nexport async function abort(\n { id, reason }: { id: string; reason: string },\n context: ResolverContext\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityInstance)\n\n var activityInstance = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: [\n 'domain',\n 'activity',\n 'activityThreads',\n 'assigneeRole',\n 'supervisoryRole',\n 'updater',\n 'creator',\n 'starter',\n 'terminator'\n ]\n })\n\n if (!activityInstance) {\n throw new Error(\n context.t('error.activity-instance not found', {\n activityInstance: id\n })\n )\n }\n\n /* \n Prerequisites for a Task to Be Aborted.\n - The previous state of the task must not be End or Aborted.\n */\n if (\n activityInstance.state == ActivityInstanceStatus.Aborted ||\n activityInstance.state == ActivityInstanceStatus.Ended\n ) {\n throw new Error(\n context.t(`error.activity-instance is already terminated`, {\n id,\n state: activityInstance.state\n })\n )\n }\n\n /* \n Actions to be processed when a task is aborted\n - All related activity threads must be aborted.\n */\n\n const TERMINATED = [ActivityThreadStatus.Aborted, ActivityThreadStatus.Ended]\n\n for (let activityThread of activityInstance.activityThreads) {\n if (TERMINATED.includes(activityThread.state)) {\n continue\n }\n\n await abortActivityThread({ activityThread, reason }, context)\n }\n\n return await repository.save({\n ...activityInstance,\n reason,\n ...(await evalActivityInstanceState(id, context)),\n transaction: 'abort',\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { ActivityInstance } from '../../service/activity-instance/activity-instance.js';
2
+ export declare function assign({ id, assignees, reason, dueAt }: {
3
+ id: string;
4
+ assignees?: string[];
5
+ reason?: string;
6
+ dueAt?: Date;
7
+ }, context: ResolverContext): Promise<ActivityInstance>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assign = assign;
4
+ const typeorm_1 = require("typeorm");
5
+ const auth_base_1 = require("@things-factory/auth-base");
6
+ const activity_instance_js_1 = require("../../service/activity-instance/activity-instance.js");
7
+ const common_js_1 = require("../common.js");
8
+ async function assign({ id, assignees, reason, dueAt }, context) {
9
+ const { domain, user, tx } = context.state;
10
+ const repository = tx.getRepository(activity_instance_js_1.ActivityInstance);
11
+ var activityInstance = await repository.findOne({
12
+ where: { domain: { id: domain.id }, id },
13
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
14
+ });
15
+ if (!activityInstance) {
16
+ throw new Error(context.t('error.activity-instance not found', {
17
+ activityInstance: id
18
+ }));
19
+ }
20
+ /*
21
+ Prerequisites for a Task to Be Assigned.
22
+ - The previous state of the task must not be Assigned.
23
+ */
24
+ if (activityInstance.state !== activity_instance_js_1.ActivityInstanceStatus.Issued &&
25
+ activityInstance.state !== activity_instance_js_1.ActivityInstanceStatus.Unassigned) {
26
+ throw new Error(context.t(`error.activity-instance should not be assigned`, {
27
+ id,
28
+ actual: activityInstance.state
29
+ }));
30
+ }
31
+ if (dueAt) {
32
+ activityInstance.dueAt = dueAt;
33
+ }
34
+ const assignedUsers = await tx.getRepository(auth_base_1.User).findBy({
35
+ email: (0, typeorm_1.In)(assignees)
36
+ });
37
+ await (0, common_js_1.createActivityThreadsForUsers)('assign', activityInstance, assignedUsers, context);
38
+ return await tx.getRepository(activity_instance_js_1.ActivityInstance).findOneBy({ id: activityInstance.id });
39
+ }
40
+ //# sourceMappingURL=assign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assign.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/assign.ts"],"names":[],"mappings":";;AAOA,wBAgDC;AAvDD,qCAA4B;AAE5B,yDAAgD;AAEhD,+FAA+G;AAC/G,4CAA4D;AAErD,KAAK,UAAU,MAAM,CAC1B,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAuE,EACrG,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,uCAAgB,CAAC,CAAA;IAErD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC;KACpH,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;IACH,CAAC;IAED;;;MAGE;IACF,IACE,gBAAgB,CAAC,KAAK,KAAK,6CAAsB,CAAC,MAAM;QACxD,gBAAgB,CAAC,KAAK,KAAK,6CAAsB,CAAC,UAAU,EAC5D,CAAC;QACD,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,gDAAgD,EAAE;YAC1D,EAAE;YACF,MAAM,EAAE,gBAAgB,CAAC,KAAK;SAC/B,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAA;IAChC,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,MAAM,CAAC;QACxD,KAAK,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC;KACrB,CAAC,CAAA;IAEF,MAAM,IAAA,yCAA6B,EAAC,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;IAEvF,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,uCAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAA;AACxF,CAAC","sourcesContent":["import { In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\n\nimport { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance.js'\nimport { createActivityThreadsForUsers } from '../common.js'\n\nexport async function assign(\n { id, assignees, reason, dueAt }: { id: string; assignees?: string[]; reason?: string; dueAt?: Date },\n context: ResolverContext\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityInstance)\n\n var activityInstance = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']\n })\n\n if (!activityInstance) {\n throw new Error(\n context.t('error.activity-instance not found', {\n activityInstance: id\n })\n )\n }\n\n /* \n Prerequisites for a Task to Be Assigned.\n - The previous state of the task must not be Assigned.\n */\n if (\n activityInstance.state !== ActivityInstanceStatus.Issued &&\n activityInstance.state !== ActivityInstanceStatus.Unassigned\n ) {\n throw new Error(\n context.t(`error.activity-instance should not be assigned`, {\n id,\n actual: activityInstance.state\n })\n )\n }\n\n if (dueAt) {\n activityInstance.dueAt = dueAt\n }\n\n const assignedUsers = await tx.getRepository(User).findBy({\n email: In(assignees)\n })\n\n await createActivityThreadsForUsers('assign', activityInstance, assignedUsers, context)\n\n return await tx.getRepository(ActivityInstance).findOneBy({ id: activityInstance.id })\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import { ActivityInstance } from '../../service/activity-instance/activity-instance.js';
2
+ import { ActivityInstanceDraft } from '../../service/activity-instance/activity-instance-type.js';
3
+ export declare function draft(activityInstance: ActivityInstanceDraft, context: ResolverContext): Promise<ActivityInstance>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.draft = draft;
4
+ const activity_instance_js_1 = require("../../service/activity-instance/activity-instance.js");
5
+ const activity_js_1 = require("../../service/activity/activity.js");
6
+ const common_js_1 = require("../common.js");
7
+ async function draft(activityInstance, context) {
8
+ const { domain, user, tx } = context.state;
9
+ const { id, activityId, input, dueAt } = activityInstance;
10
+ var repository = tx.getRepository(activity_js_1.Activity);
11
+ var activity = {};
12
+ if (id) {
13
+ var previousActivityInstance = await tx.getRepository(activity_instance_js_1.ActivityInstance).findOne({
14
+ where: { domain: { id: domain.id }, id },
15
+ relations: ['activity']
16
+ });
17
+ if (!previousActivityInstance) {
18
+ throw new Error(context.t('error.activityInstance not found', {
19
+ activityInstance: id
20
+ }));
21
+ }
22
+ if (previousActivityInstance.state !== activity_instance_js_1.ActivityInstanceStatus.Draft) {
23
+ throw new Error(context.t('error.activityInstance state should be draft', {
24
+ activityInstance: id,
25
+ state: previousActivityInstance.state
26
+ }));
27
+ }
28
+ activity = previousActivityInstance.activity;
29
+ }
30
+ else {
31
+ activityInstance.adhocType = 'standard';
32
+ activityInstance.refBy = activityId;
33
+ }
34
+ if (activityId) {
35
+ activity = await repository.findOne({
36
+ where: { domain: { id: domain.id }, id: activityId },
37
+ relations: ['assigneeRole', 'supervisoryRole']
38
+ });
39
+ if (!activity) {
40
+ throw new Error(context.t('error.activity not found', {
41
+ activity: activityId
42
+ }));
43
+ }
44
+ }
45
+ if (!activityInstance.assignees) {
46
+ activityInstance.assignees = activity.assignees;
47
+ }
48
+ if (!activityInstance.approvalLine) {
49
+ activityInstance.approvalLine = activity.approvalLine;
50
+ }
51
+ if (!dueAt && activity.standardTime) {
52
+ activityInstance.dueAt = new Date(Date.now() + activity.standardTime * 1000);
53
+ }
54
+ const activitySearchKeys = (0, common_js_1.fillActivitySearchKeys)(activity === null || activity === void 0 ? void 0 : activity.searchKeys, input);
55
+ return await tx.getRepository(activity_instance_js_1.ActivityInstance).save(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, previousActivityInstance), { activityType: activity.activityType, uiType: activity.uiType, uiSource: activity.uiSource, viewType: activity.viewType, viewSource: activity.viewSource, assigneeRole: activity.assigneeRole, supervisoryRole: activity.supervisoryRole }), activityInstance), { transaction: 'draft', activity }), activitySearchKeys), { state: activity_instance_js_1.ActivityInstanceStatus.Draft, domain, creator: user, updater: user }));
56
+ }
57
+ //# sourceMappingURL=draft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/draft.ts"],"names":[],"mappings":"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","sourcesContent":["import { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance.js'\nimport { ActivityInstanceDraft } from '../../service/activity-instance/activity-instance-type.js'\nimport { Activity } from '../../service/activity/activity.js'\nimport { fillActivitySearchKeys } from '../common.js'\n\nexport async function draft(\n activityInstance: ActivityInstanceDraft,\n context: ResolverContext\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n const { id, activityId, input, dueAt } = activityInstance\n\n var repository = tx.getRepository(Activity)\n var activity = {} as Activity\n\n if (id) {\n var previousActivityInstance = await tx.getRepository(ActivityInstance).findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['activity']\n })\n\n if (!previousActivityInstance) {\n throw new Error(\n context.t('error.activityInstance not found', {\n activityInstance: id\n })\n )\n }\n\n if (previousActivityInstance.state !== ActivityInstanceStatus.Draft) {\n throw new Error(\n context.t('error.activityInstance state should be draft', {\n activityInstance: id,\n state: previousActivityInstance.state\n })\n )\n }\n\n activity = previousActivityInstance.activity\n } else {\n activityInstance.adhocType = 'standard'\n activityInstance.refBy = activityId\n }\n\n if (activityId) {\n activity = await repository.findOne({\n where: { domain: { id: domain.id }, id: activityId },\n relations: ['assigneeRole', 'supervisoryRole']\n })\n\n if (!activity) {\n throw new Error(\n context.t('error.activity not found', {\n activity: activityId\n })\n )\n }\n }\n\n if (!activityInstance.assignees) {\n activityInstance.assignees = activity.assignees\n }\n if (!activityInstance.approvalLine) {\n activityInstance.approvalLine = activity.approvalLine\n }\n\n if (!dueAt && activity.standardTime) {\n activityInstance.dueAt = new Date(Date.now() + activity.standardTime * 1000)\n }\n\n const activitySearchKeys = fillActivitySearchKeys(activity?.searchKeys, input)\n\n return await tx.getRepository(ActivityInstance).save({\n ...previousActivityInstance,\n activityType: activity.activityType,\n uiType: activity.uiType,\n uiSource: activity.uiSource,\n viewType: activity.viewType,\n viewSource: activity.viewSource,\n assigneeRole: activity.assigneeRole,\n supervisoryRole: activity.supervisoryRole,\n ...activityInstance,\n transaction: 'draft',\n activity,\n ...activitySearchKeys,\n state: ActivityInstanceStatus.Draft,\n domain,\n creator: user,\n updater: user\n })\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { ActivityInstance } from '../../service/activity-instance/activity-instance.js';
2
+ export declare function end({ id, output, reason }: {
3
+ id: string;
4
+ output?: object;
5
+ reason?: string;
6
+ }, context: ResolverContext): Promise<ActivityInstance>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.end = end;
4
+ const activity_instance_js_1 = require("../../service/activity-instance/activity-instance.js");
5
+ const activity_thread_js_1 = require("../../service/activity-thread/activity-thread.js");
6
+ const common_js_1 = require("../common.js");
7
+ async function end({ id, output, reason }, context) {
8
+ const { domain, user, tx } = context.state;
9
+ const repository = tx.getRepository(activity_instance_js_1.ActivityInstance);
10
+ var activityInstance = await repository.findOne({
11
+ where: { domain: { id: domain.id }, id },
12
+ relations: [
13
+ 'domain',
14
+ 'activity',
15
+ 'activityThreads',
16
+ 'assigneeRole',
17
+ 'supervisoryRole',
18
+ 'updater',
19
+ 'creator',
20
+ 'starter',
21
+ 'terminator'
22
+ ]
23
+ });
24
+ if (!activityInstance) {
25
+ throw new Error(context.t('error.activity-instance not found', {
26
+ activityInstance: id
27
+ }));
28
+ }
29
+ /*
30
+ Prerequisites for a Task to Be End.
31
+ - The previous state of the task must not be End or Aborted.
32
+ - There should be no unfinished activity threads.
33
+ */
34
+ if (activityInstance.state == activity_instance_js_1.ActivityInstanceStatus.Aborted ||
35
+ activityInstance.state == activity_instance_js_1.ActivityInstanceStatus.Ended) {
36
+ throw new Error(context.t(`error.activity-instance is already terminated`, {
37
+ id,
38
+ state: activityInstance.state
39
+ }));
40
+ }
41
+ const TERMINATED = [activity_thread_js_1.ActivityThreadStatus.Aborted, activity_thread_js_1.ActivityThreadStatus.Ended];
42
+ for (let activityThread of activityInstance.activityThreads) {
43
+ if (TERMINATED.includes(activityThread.state)) {
44
+ continue;
45
+ }
46
+ throw new Error(context.t(`error.all activity threads should be terminated`, {
47
+ activityThread: activityThread.id,
48
+ state: activityInstance.state
49
+ }));
50
+ }
51
+ if (!activityInstance.startedAt) {
52
+ activityInstance.startedAt = new Date();
53
+ }
54
+ return await repository.save(Object.assign(Object.assign({}, activityInstance), { reason,
55
+ output, transaction: 'end', state: await (0, common_js_1.evalActivityInstanceState)(id, context), updater: user, terminatedAt: new Date(), terminator: user }));
56
+ }
57
+ //# sourceMappingURL=end.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"end.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/end.ts"],"names":[],"mappings":";;AAIA,kBA4EC;AAhFD,+FAA+G;AAC/G,yFAAuF;AACvF,4CAAwD;AAEjD,KAAK,UAAU,GAAG,CACvB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,uCAAgB,CAAC,CAAA;IAErD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE;YACT,QAAQ;YACR,UAAU;YACV,iBAAiB;YACjB,cAAc;YACd,iBAAiB;YACjB,SAAS;YACT,SAAS;YACT,SAAS;YACT,YAAY;SACb;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;IACH,CAAC;IAED;;;;MAIE;IACF,IACE,gBAAgB,CAAC,KAAK,IAAI,6CAAsB,CAAC,OAAO;QACxD,gBAAgB,CAAC,KAAK,IAAI,6CAAsB,CAAC,KAAK,EACtD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,EAAE;YACF,KAAK,EAAE,gBAAgB,CAAC,KAAK;SAC9B,CAAC,CACH,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,yCAAoB,CAAC,OAAO,EAAE,yCAAoB,CAAC,KAAK,CAAC,CAAA;IAE7E,KAAK,IAAI,cAAc,IAAI,gBAAgB,CAAC,eAAe,EAAE,CAAC;QAC5D,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,SAAQ;QACV,CAAC;QAED,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iDAAiD,EAAE;YAC3D,cAAc,EAAE,cAAc,CAAC,EAAE;YACjC,KAAK,EAAE,gBAAgB,CAAC,KAAK;SAC9B,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAChC,gBAAgB,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;IACzC,CAAC;IAED,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,gCACxB,gBAAgB,KACnB,MAAM;QACN,MAAM,EACN,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,MAAM,IAAA,qCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,GACV,CAAC,CAAA;AACX,CAAC","sourcesContent":["import { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance.js'\nimport { ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { evalActivityInstanceState } from '../common.js'\n\nexport async function end(\n { id, output, reason }: { id: string; output?: object; reason?: string },\n context: ResolverContext\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(ActivityInstance)\n\n var activityInstance = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: [\n 'domain',\n 'activity',\n 'activityThreads',\n 'assigneeRole',\n 'supervisoryRole',\n 'updater',\n 'creator',\n 'starter',\n 'terminator'\n ]\n })\n\n if (!activityInstance) {\n throw new Error(\n context.t('error.activity-instance not found', {\n activityInstance: id\n })\n )\n }\n\n /* \n Prerequisites for a Task to Be End.\n - The previous state of the task must not be End or Aborted.\n - There should be no unfinished activity threads.\n */\n if (\n activityInstance.state == ActivityInstanceStatus.Aborted ||\n activityInstance.state == ActivityInstanceStatus.Ended\n ) {\n throw new Error(\n context.t(`error.activity-instance is already terminated`, {\n id,\n state: activityInstance.state\n })\n )\n }\n\n const TERMINATED = [ActivityThreadStatus.Aborted, ActivityThreadStatus.Ended]\n\n for (let activityThread of activityInstance.activityThreads) {\n if (TERMINATED.includes(activityThread.state)) {\n continue\n }\n\n throw new Error(\n context.t(`error.all activity threads should be terminated`, {\n activityThread: activityThread.id,\n state: activityInstance.state\n })\n )\n }\n\n if (!activityInstance.startedAt) {\n activityInstance.startedAt = new Date()\n }\n\n return await repository.save({\n ...activityInstance,\n reason,\n output,\n transaction: 'end',\n state: await evalActivityInstanceState(id, context),\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n } as any)\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export * from './draft.js';
2
+ export * from './issue.js';
3
+ export * from './pick.js';
4
+ export * from './assign.js';
5
+ export * from './abort.js';
6
+ export * from './end.js';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./draft.js"), exports);
5
+ tslib_1.__exportStar(require("./issue.js"), exports);
6
+ tslib_1.__exportStar(require("./pick.js"), exports);
7
+ tslib_1.__exportStar(require("./assign.js"), exports);
8
+ tslib_1.__exportStar(require("./abort.js"), exports);
9
+ tslib_1.__exportStar(require("./end.js"), exports);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0B;AAC1B,qDAA0B;AAC1B,oDAAyB;AACzB,sDAA2B;AAC3B,qDAA0B;AAC1B,mDAAwB","sourcesContent":["export * from './draft.js'\nexport * from './issue.js'\nexport * from './pick.js'\nexport * from './assign.js'\nexport * from './abort.js'\nexport * from './end.js'\n"]}
@@ -0,0 +1,3 @@
1
+ import { ActivityInstance } from '../../service/activity-instance/activity-instance.js';
2
+ import { ActivityInstanceIssue } from '../../service/activity-instance/activity-instance-type.js';
3
+ export declare function issue(activityInstance: ActivityInstanceIssue, context: ResolverContext): Promise<ActivityInstance>;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.issue = issue;
4
+ const typeorm_1 = require("typeorm");
5
+ const activity_js_1 = require("../../service/activity/activity.js");
6
+ const activity_instance_js_1 = require("../../service/activity-instance/activity-instance.js");
7
+ const common_js_1 = require("../common.js");
8
+ const submit_js_1 = require("../activity-thread/submit.js");
9
+ async function issue(activityInstance, context) {
10
+ const { domain, user, tx } = context.state;
11
+ const issuedAt = new Date();
12
+ var { id, name, description, assignees, uiType, uiSource, viewType, viewSource, dueAt, priority, approvalLine, activityId, activityType, assigneeRole, supervisoryRole, input } = activityInstance;
13
+ var origin = id
14
+ ? await tx.getRepository(activity_instance_js_1.ActivityInstance).findOne({
15
+ where: { domain: { id: domain.id }, id },
16
+ relations: [
17
+ 'domain',
18
+ 'activity',
19
+ 'assigneeRole',
20
+ 'supervisoryRole',
21
+ 'updater',
22
+ 'creator',
23
+ 'starter',
24
+ 'terminator'
25
+ ]
26
+ })
27
+ : null;
28
+ /*
29
+ Prerequisites for a Task to Be Issued.
30
+ - The previous state of the task should be Draft.
31
+ */
32
+ if (origin && origin.state !== activity_instance_js_1.ActivityInstanceStatus.Draft) {
33
+ throw new Error(context.t(`error.activity-instance is already issued`, {
34
+ id: id,
35
+ state: origin.state
36
+ }));
37
+ }
38
+ var repository = tx.getRepository(activity_js_1.Activity);
39
+ var activity = (origin === null || origin === void 0 ? void 0 : origin.activity) ||
40
+ (await repository.findOne({
41
+ where: { domain: domain.parentId ? { id: (0, typeorm_1.In)([domain.id, domain.parentId]) } : { id: domain.id }, id: activityId },
42
+ relations: ['assigneeRole', 'supervisoryRole']
43
+ }));
44
+ if (!activity) {
45
+ throw new Error(context.t('error.activity not found', {
46
+ activity: activityId
47
+ }));
48
+ }
49
+ if (!origin) {
50
+ activityInstance.name = name || activity.name;
51
+ activityInstance.description = description || activity.description;
52
+ activityInstance.activityType = activityType || activity.activityType;
53
+ activityInstance.uiType = uiType || activity.uiType;
54
+ activityInstance.uiSource = uiSource || activity.uiSource;
55
+ activityInstance.viewType = viewType || activity.viewType;
56
+ activityInstance.viewSource = viewSource || activity.viewSource;
57
+ activityInstance.assigneeRole = assigneeRole || activity.assigneeRole;
58
+ activityInstance.supervisoryRole = supervisoryRole || activity.supervisoryRole;
59
+ activityInstance.priority = priority !== null && priority !== void 0 ? priority : activity.priority;
60
+ activityInstance.adhocType = 'standard';
61
+ activityInstance.refBy = activityId;
62
+ if (!assignees || !approvalLine) {
63
+ if (!assignees) {
64
+ assignees = activityInstance.assignees = activity.assignees;
65
+ }
66
+ if (!approvalLine) {
67
+ approvalLine = activityInstance.approvalLine = activity.approvalLine;
68
+ }
69
+ if (!dueAt && activity.standardTime) {
70
+ activityInstance.dueAt = new Date(issuedAt.getTime() + activity.standardTime * 1000);
71
+ }
72
+ }
73
+ }
74
+ const activitySearchKeys = (0, common_js_1.fillActivitySearchKeys)(activity === null || activity === void 0 ? void 0 : activity.searchKeys, input);
75
+ if (activity.startingType == 'post') {
76
+ /*
77
+ startingType이 'post'이면,
78
+ activityInstance 이슈와 동시에 issuer에게 할당된 activityThread가 생성되고 submit까지 모두 완료되게 된다.
79
+ 만일, 결재선이 있다면, 상신되게 된다.
80
+ */
81
+ const posted = await tx.getRepository(activity_instance_js_1.ActivityInstance).save(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ creator: user }, origin), activityInstance), { transaction: 'post', activity }), activitySearchKeys), { state: activity_instance_js_1.ActivityInstanceStatus.Started, domain, issuer: user, updater: user, issuedAt, startedAt: issuedAt }));
82
+ const thread = await (0, common_js_1.createActivityThreadForUser)('post', posted, user, context);
83
+ /* post 방식은 thread가 하나이므로, instance의 output을 그대로 thread의 output이라고 판단할 수 있다. 따라서, 아래 로직은 제거한다. */
84
+ // const data = { ...activityInstance.input, ...activityInstance.output }
85
+ // const output = (activity.model || [])
86
+ // .filter(item => item.inout === 'inout' || item.inout === 'out')
87
+ // .reduce((inout, item) => {
88
+ // inout[item.tag] = data[item.tag]
89
+ // return inout
90
+ // }, {})
91
+ await (0, submit_js_1.submit)({ id: thread.id, output: activityInstance.output }, context);
92
+ return await tx.getRepository(activity_instance_js_1.ActivityInstance).findOneBy({ id: posted.id });
93
+ }
94
+ else {
95
+ const issued = await tx.getRepository(activity_instance_js_1.ActivityInstance).save(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ creator: user }, origin), activityInstance), { transaction: 'issue', activity }), activitySearchKeys), { state: activity_instance_js_1.ActivityInstanceStatus.Issued, domain, issuer: user, updater: user, issuedAt }));
96
+ /*
97
+ 1. 하나의 thread가 필요한 경우 (대부분)
98
+ 조건 : activityInstance의 threadsMin이 1 이어야 한다.
99
+ 로직 1 : getSystemUserFromOrgMemberItem 의 결과가 한명이라면 그대로 activityThread.assignee로 직접 할당한다.
100
+ 로직 2 : getSystemUserFromOrgMemberItem 의 결과가 한명이 아니라면, assignee타입이 assigneeRole 인 경우에만 처리가 가능하다.
101
+ 이 경우에는 assignee를 비운다. - createActivityThreadWithUnassigned
102
+ 2. 할당되지 않은 복수개의 thread가 필요한 경우
103
+ 조건 : threadsMin이 1 이상이어야 한다.
104
+ 로직 1 : getSystemUserFromOrgMemberItem 의 결과와 threadsMin 값이 같다면, 그대로 activityThread.assignee로 직접 할당한다. createActivityThreadsForAllRoleUsers
105
+ 로직 2 : createActivityThreadWithUnassigned
106
+ 3. 모든 assignee가 처리를 해야하는 경우
107
+ 조건 : threadsMin이 0 이어야 한다.
108
+ 로직 : getSystemUserFromOrgMemberItem 의 결과로 createActivityThreadsForUsers
109
+ */
110
+ // assignees가 복수인 것은 아무 의미가 없다.
111
+ const assignedUsers = await Promise.all((assignees || []).map(assignee => (0, common_js_1.getSystemUserFromOrgMemberItem)(assignee, context)));
112
+ if (assignedUsers.length == 0) {
113
+ if (issued.assigneeRoleId) {
114
+ if (issued.threadsMin === 0) {
115
+ /* assigneeRoleId에 해당하는 모든 assignee 에게 태스크를 할당하는 경우 */
116
+ await (0, common_js_1.createActivityThreadsForAllRoleUsers)('issue', issued, context);
117
+ }
118
+ else {
119
+ /* minimum threads 설정에 따른 pending assignment 상태로 activityThread를 만드는 경우 */
120
+ await (0, common_js_1.createActivityThreadWithUnassigned)('issue', issued, context);
121
+ }
122
+ }
123
+ }
124
+ else {
125
+ await (0, common_js_1.createActivityThreadsForUsers)('issue', issued, assignedUsers, context);
126
+ }
127
+ return await tx.getRepository(activity_instance_js_1.ActivityInstance).findOneBy({ id: issued.id });
128
+ }
129
+ }
130
+ //# sourceMappingURL=issue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/issue.ts"],"names":[],"mappings":"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","sourcesContent":["import { In } from 'typeorm'\nimport { Activity } from '../../service/activity/activity.js'\nimport { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance.js'\nimport { ActivityInstanceIssue } from '../../service/activity-instance/activity-instance-type.js'\nimport {\n createActivityThreadWithUnassigned,\n createActivityThreadsForAllRoleUsers,\n createActivityThreadsForUsers,\n getSystemUserFromOrgMemberItem,\n createActivityThreadForUser,\n fillActivitySearchKeys\n} from '../common.js'\nimport { submit } from '../activity-thread/submit.js'\n\nexport async function issue(\n activityInstance: ActivityInstanceIssue,\n context: ResolverContext\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n const issuedAt = new Date()\n var {\n id,\n name,\n description,\n assignees,\n uiType,\n uiSource,\n viewType,\n viewSource,\n dueAt,\n priority,\n approvalLine,\n activityId,\n activityType,\n assigneeRole,\n supervisoryRole,\n input\n } = activityInstance\n\n var origin = id\n ? await tx.getRepository(ActivityInstance).findOne({\n where: { domain: { id: domain.id }, id },\n relations: [\n 'domain',\n 'activity',\n 'assigneeRole',\n 'supervisoryRole',\n 'updater',\n 'creator',\n 'starter',\n 'terminator'\n ]\n })\n : null\n\n /* \n Prerequisites for a Task to Be Issued.\n - The previous state of the task should be Draft.\n */\n if (origin && origin.state !== ActivityInstanceStatus.Draft) {\n throw new Error(\n context.t(`error.activity-instance is already issued`, {\n id: id,\n state: origin.state\n })\n )\n }\n\n var repository = tx.getRepository(Activity)\n var activity =\n origin?.activity ||\n (await repository.findOne({\n where: { domain: domain.parentId ? { id: In([domain.id, domain.parentId]) } : { id: domain.id }, id: activityId },\n relations: ['assigneeRole', 'supervisoryRole']\n }))\n\n if (!activity) {\n throw new Error(\n context.t('error.activity not found', {\n activity: activityId\n })\n )\n }\n\n if (!origin) {\n activityInstance.name = name || activity.name\n activityInstance.description = description || activity.description\n activityInstance.activityType = activityType || activity.activityType\n activityInstance.uiType = uiType || activity.uiType\n activityInstance.uiSource = uiSource || activity.uiSource\n activityInstance.viewType = viewType || activity.viewType\n activityInstance.viewSource = viewSource || activity.viewSource\n activityInstance.assigneeRole = assigneeRole || activity.assigneeRole\n activityInstance.supervisoryRole = supervisoryRole || activity.supervisoryRole\n activityInstance.priority = priority ?? activity.priority\n\n activityInstance.adhocType = 'standard'\n activityInstance.refBy = activityId\n\n if (!assignees || !approvalLine) {\n if (!assignees) {\n assignees = activityInstance.assignees = activity.assignees\n }\n\n if (!approvalLine) {\n approvalLine = activityInstance.approvalLine = activity.approvalLine\n }\n\n if (!dueAt && activity.standardTime) {\n activityInstance.dueAt = new Date(issuedAt.getTime() + activity.standardTime * 1000)\n }\n }\n }\n\n const activitySearchKeys = fillActivitySearchKeys(activity?.searchKeys, input)\n\n if (activity.startingType == 'post') {\n /* \n startingType이 'post'이면, \n activityInstance 이슈와 동시에 issuer에게 할당된 activityThread가 생성되고 submit까지 모두 완료되게 된다.\n 만일, 결재선이 있다면, 상신되게 된다.\n */\n const posted = await tx.getRepository(ActivityInstance).save({\n creator: user,\n ...origin,\n ...activityInstance,\n transaction: 'post',\n activity,\n ...activitySearchKeys,\n state: ActivityInstanceStatus.Started,\n domain,\n issuer: user,\n updater: user,\n issuedAt,\n startedAt: issuedAt\n })\n\n const thread = await createActivityThreadForUser('post', posted, user, context)\n\n /* post 방식은 thread가 하나이므로, instance의 output을 그대로 thread의 output이라고 판단할 수 있다. 따라서, 아래 로직은 제거한다. */\n // const data = { ...activityInstance.input, ...activityInstance.output }\n // const output = (activity.model || [])\n // .filter(item => item.inout === 'inout' || item.inout === 'out')\n // .reduce((inout, item) => {\n // inout[item.tag] = data[item.tag]\n // return inout\n // }, {})\n\n await submit({ id: thread.id, output: activityInstance.output }, context)\n\n return await tx.getRepository(ActivityInstance).findOneBy({ id: posted.id })\n } else {\n const issued = await tx.getRepository(ActivityInstance).save({\n creator: user,\n ...origin,\n ...activityInstance,\n transaction: 'issue',\n activity,\n ...activitySearchKeys,\n state: ActivityInstanceStatus.Issued,\n domain,\n issuer: user,\n updater: user,\n issuedAt\n })\n\n /*\n 1. 하나의 thread가 필요한 경우 (대부분)\n 조건 : activityInstance의 threadsMin이 1 이어야 한다.\n 로직 1 : getSystemUserFromOrgMemberItem 의 결과가 한명이라면 그대로 activityThread.assignee로 직접 할당한다.\n 로직 2 : getSystemUserFromOrgMemberItem 의 결과가 한명이 아니라면, assignee타입이 assigneeRole 인 경우에만 처리가 가능하다.\n 이 경우에는 assignee를 비운다. - createActivityThreadWithUnassigned\n 2. 할당되지 않은 복수개의 thread가 필요한 경우\n 조건 : threadsMin이 1 이상이어야 한다.\n 로직 1 : getSystemUserFromOrgMemberItem 의 결과와 threadsMin 값이 같다면, 그대로 activityThread.assignee로 직접 할당한다. createActivityThreadsForAllRoleUsers\n 로직 2 : createActivityThreadWithUnassigned\n 3. 모든 assignee가 처리를 해야하는 경우\n 조건 : threadsMin이 0 이어야 한다.\n 로직 : getSystemUserFromOrgMemberItem 의 결과로 createActivityThreadsForUsers\n */\n\n // assignees가 복수인 것은 아무 의미가 없다.\n const assignedUsers = await Promise.all(\n (assignees || []).map(assignee => getSystemUserFromOrgMemberItem(assignee, context))\n )\n\n if (assignedUsers.length == 0) {\n if (issued.assigneeRoleId) {\n if (issued.threadsMin === 0) {\n /* assigneeRoleId에 해당하는 모든 assignee 에게 태스크를 할당하는 경우 */\n await createActivityThreadsForAllRoleUsers('issue', issued, context)\n } else {\n /* minimum threads 설정에 따른 pending assignment 상태로 activityThread를 만드는 경우 */\n await createActivityThreadWithUnassigned('issue', issued, context)\n }\n }\n } else {\n await createActivityThreadsForUsers('issue', issued, assignedUsers, context)\n }\n\n return await tx.getRepository(ActivityInstance).findOneBy({ id: issued.id })\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { ActivityThread } from '../../service/activity-thread/activity-thread.js';
2
+ export declare function pick(id: string, context: ResolverContext): Promise<ActivityThread>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pick = pick;
4
+ const activity_instance_js_1 = require("../../service/activity-instance/activity-instance.js");
5
+ const common_js_1 = require("../common.js");
6
+ async function pick(id, context) {
7
+ const { domain, user, tx } = context.state;
8
+ const repository = tx.getRepository(activity_instance_js_1.ActivityInstance);
9
+ var activityInstance = await repository.findOne({
10
+ where: { domain: { id: domain.id }, id },
11
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
12
+ });
13
+ if (!activityInstance) {
14
+ throw new Error(context.t('error.activity-instance not found', {
15
+ activityInstance: id
16
+ }));
17
+ }
18
+ /*
19
+ Prerequisites for a Task to Be Picked.
20
+ - The previous state of the task must not be Assigned.
21
+ */
22
+ if (activityInstance.state !== activity_instance_js_1.ActivityInstanceStatus.Issued &&
23
+ activityInstance.state !== activity_instance_js_1.ActivityInstanceStatus.Unassigned) {
24
+ throw new Error(context.t(`error.activity-instance should not be assigned`, {
25
+ id,
26
+ actual: activityInstance.state
27
+ }));
28
+ }
29
+ const picked = await repository.save(Object.assign(Object.assign({}, activityInstance), { transaction: 'pick', updater: user }));
30
+ return (await (0, common_js_1.createActivityThreadsForUsers)('pick', picked, [user], context))[0];
31
+ }
32
+ //# sourceMappingURL=pick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pick.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/pick.ts"],"names":[],"mappings":";;AAIA,oBAwCC;AA5CD,+FAA+G;AAE/G,4CAA4D;AAErD,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,OAAwB;IAC7D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,uCAAgB,CAAC,CAAA;IAErD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC;KACpH,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;IACH,CAAC;IAED;;;MAGE;IACF,IACE,gBAAgB,CAAC,KAAK,KAAK,6CAAsB,CAAC,MAAM;QACxD,gBAAgB,CAAC,KAAK,KAAK,6CAAsB,CAAC,UAAU,EAC5D,CAAC;QACD,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,gDAAgD,EAAE;YAC1D,EAAE;YACF,MAAM,EAAE,gBAAgB,CAAC,KAAK;SAC/B,CAAC,CACH,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,iCAC/B,gBAAgB,KACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,IAAI,IACb,CAAA;IAEF,OAAO,CAAC,MAAM,IAAA,yCAA6B,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAClF,CAAC","sourcesContent":["import { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance.js'\nimport { ActivityThread } from '../../service/activity-thread/activity-thread.js'\nimport { createActivityThreadsForUsers } from '../common.js'\n\nexport async function pick(id: string, context: ResolverContext): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(ActivityInstance)\n\n var activityInstance = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']\n })\n\n if (!activityInstance) {\n throw new Error(\n context.t('error.activity-instance not found', {\n activityInstance: id\n })\n )\n }\n\n /* \n Prerequisites for a Task to Be Picked.\n - The previous state of the task must not be Assigned.\n */\n if (\n activityInstance.state !== ActivityInstanceStatus.Issued &&\n activityInstance.state !== ActivityInstanceStatus.Unassigned\n ) {\n throw new Error(\n context.t(`error.activity-instance should not be assigned`, {\n id,\n actual: activityInstance.state\n })\n )\n }\n\n const picked = await repository.save({\n ...activityInstance,\n transaction: 'pick',\n updater: user\n })\n\n return (await createActivityThreadsForUsers('pick', picked, [user], context))[0]\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { ActivityThread } from '../../service/activity-thread/activity-thread.js';
2
+ export declare function _abort({ activityThread, reason }: {
3
+ activityThread: ActivityThread;
4
+ reason: string;
5
+ }, context: ResolverContext): Promise<ActivityThread>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._abort = _abort;
4
+ const activity_thread_js_1 = require("../../service/activity-thread/activity-thread.js");
5
+ const activity_approval_js_1 = require("../../service/activity-approval/activity-approval.js");
6
+ const _abort_js_1 = require("../activity-approval/_abort.js");
7
+ async function _abort({ activityThread, reason }, context) {
8
+ const { domain, user, tx } = context.state;
9
+ var repository = tx.getRepository(activity_thread_js_1.ActivityThread);
10
+ let activityApprovals = await tx.getRepository(activity_approval_js_1.ActivityApproval).find({
11
+ where: {
12
+ activityThread: { id: activityThread.id },
13
+ judgment: activity_approval_js_1.ActivityApprovalJudgment.Pending
14
+ }
15
+ });
16
+ /*
17
+ Actions to be processed when a activity thread is aborted
18
+ - All related activity approvals must be aborted.
19
+ */
20
+ for (let activityApproval of activityApprovals) {
21
+ await (0, _abort_js_1._abort)({
22
+ activityApproval,
23
+ comment: reason
24
+ }, context);
25
+ }
26
+ return await repository.save(Object.assign(Object.assign({}, activityThread), { reason, state: activity_thread_js_1.ActivityThreadStatus.Aborted, transaction: 'abort', updater: user, terminatedAt: new Date(), terminator: user }));
27
+ }
28
+ //# sourceMappingURL=_abort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/_abort.ts"],"names":[],"mappings":";;AAIA,wBAsCC;AA1CD,yFAAuG;AACvG,+FAAiH;AACjH,8DAAgF;AAEzE,KAAK,UAAU,MAAM,CAC1B,EAAE,cAAc,EAAE,MAAM,EAAsD,EAC9E,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,mCAAc,CAAC,CAAA;IAEjD,IAAI,iBAAiB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uCAAgB,CAAC,CAAC,IAAI,CAAC;QACpE,KAAK,EAAE;YACL,cAAc,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE;YACzC,QAAQ,EAAE,+CAAwB,CAAC,OAAO;SAC3C;KACF,CAAC,CAAA;IAEF;;;MAGE;IACF,KAAK,IAAI,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;QAC/C,MAAM,IAAA,kBAAqB,EACzB;YACE,gBAAgB;YAChB,OAAO,EAAE,MAAM;SAChB,EACD,OAAO,CACR,CAAA;IACH,CAAC;IAED,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,cAAc,KACjB,MAAM,EACN,KAAK,EAAE,yCAAoB,CAAC,OAAO,EACnC,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;AACJ,CAAC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval.js'\nimport { _abort as abortActivityApproval } from '../activity-approval/_abort.js'\n\nexport async function _abort(\n { activityThread, reason }: { activityThread: ActivityThread; reason: string },\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityThread)\n\n let activityApprovals = await tx.getRepository(ActivityApproval).find({\n where: {\n activityThread: { id: activityThread.id },\n judgment: ActivityApprovalJudgment.Pending\n }\n })\n\n /* \n Actions to be processed when a activity thread is aborted\n - All related activity approvals must be aborted.\n */\n for (let activityApproval of activityApprovals) {\n await abortActivityApproval(\n {\n activityApproval,\n comment: reason\n },\n context\n )\n }\n\n return await repository.save({\n ...activityThread,\n reason,\n state: ActivityThreadStatus.Aborted,\n transaction: 'abort',\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { ActivityThread } from '../../service/activity-thread/activity-thread.js';
2
+ export declare function abort({ id, reason }: {
3
+ id: string;
4
+ reason: string;
5
+ }, context: ResolverContext): Promise<ActivityThread>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.abort = abort;
4
+ const activity_thread_js_1 = require("../../service/activity-thread/activity-thread.js");
5
+ const common_js_1 = require("../common.js");
6
+ const _abort_js_1 = require("./_abort.js");
7
+ const check_authority_js_1 = require("./check-authority.js");
8
+ async function abort({ id, reason }, context) {
9
+ const { domain, user, tx } = context.state;
10
+ var repository = tx.getRepository(activity_thread_js_1.ActivityThread);
11
+ var activityThread = await repository.findOne({
12
+ where: { domain: { id: domain.id }, id },
13
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
14
+ });
15
+ if (!activityThread) {
16
+ throw new Error(context.t('error.activity-thread not found', {
17
+ activityThread: id
18
+ }));
19
+ }
20
+ await (0, check_authority_js_1.checkAuthority)(activityThread, context);
21
+ /*
22
+ Prerequisites for a activity thread to Be Aborted.
23
+ - The previous state of the activity thread must not be End or Aborted.
24
+ */
25
+ if (activityThread.state == activity_thread_js_1.ActivityThreadStatus.Aborted || activityThread.state == activity_thread_js_1.ActivityThreadStatus.Ended) {
26
+ throw new Error(context.t(`error.activity-thread is already terminated`, {
27
+ id,
28
+ state: activityThread.state
29
+ }));
30
+ }
31
+ if (!activityThread.startedAt) {
32
+ activityThread.startedAt = new Date();
33
+ }
34
+ const result = await (0, _abort_js_1._abort)({ activityThread, reason }, context);
35
+ await (0, common_js_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [result] }, context);
36
+ return result;
37
+ }
38
+ //# sourceMappingURL=abort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/abort.ts"],"names":[],"mappings":";;AAKA,sBA6CC;AAlDD,yFAAuG;AACvG,4CAA0D;AAC1D,2CAAoC;AACpC,6DAAqD;AAE9C,KAAK,UAAU,KAAK,CACzB,EAAE,EAAE,EAAE,MAAM,EAAkC,EAC9C,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,mCAAc,CAAC,CAAA;IAEjD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC;KAC5E,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;IACH,CAAC;IAED,MAAM,IAAA,mCAAc,EAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAE7C;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,IAAI,yCAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,yCAAoB,CAAC,KAAK,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,KAAK,EAAE,cAAc,CAAC,KAAK;SAC5B,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QAC9B,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;IACvC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAM,EAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;IAEhE,MAAM,IAAA,uCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAErG,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { updateActivityInstanceState } from '../common.js'\nimport { _abort } from './_abort.js'\nimport { checkAuthority } from './check-authority.js'\n\nexport async function abort(\n { id, reason }: { id: string; reason: string },\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-thread not found', {\n activityThread: id\n })\n )\n }\n\n await checkAuthority(activityThread, context)\n\n /* \n Prerequisites for a activity thread to Be Aborted.\n - The previous state of the activity thread must not be End or Aborted.\n */\n if (activityThread.state == ActivityThreadStatus.Aborted || activityThread.state == ActivityThreadStatus.Ended) {\n throw new Error(\n context.t(`error.activity-thread is already terminated`, {\n id,\n state: activityThread.state\n })\n )\n }\n\n if (!activityThread.startedAt) {\n activityThread.startedAt = new Date()\n }\n\n const result = await _abort({ activityThread, reason }, context)\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { ActivityThread } from '../../service/activity-thread/activity-thread.js';
2
+ export declare function checkAuthority(activityThread: ActivityThread, context: ResolverContext): Promise<void>;