@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,42 @@
1
+ import { i18next } from '@operato/i18n';
2
+ export const Priorities = [
3
+ { display: '', value: '' },
4
+ { display: 'Emergency', value: 3 },
5
+ { display: 'Important', value: 2 },
6
+ { display: 'Normal', value: 1 },
7
+ { display: 'Low', value: 0 }
8
+ ];
9
+ export const ActivityUITypes = [
10
+ { display: '', value: '' },
11
+ { display: 'Generated', value: 'generated' },
12
+ { display: 'Template', value: 'template' },
13
+ { display: 'Board', value: 'board' },
14
+ { display: 'CustomElement', value: 'custom-element' },
15
+ { display: 'Page', value: 'page' },
16
+ { display: 'External URL', value: 'external' }
17
+ ];
18
+ export const ActivityTypes = [
19
+ { display: '', value: '' },
20
+ { display: 'Task', value: 'task' },
21
+ { display: 'Service', value: 'service' },
22
+ { display: 'Send', value: 'send' },
23
+ { display: 'Receive', value: 'receive' },
24
+ { display: 'User', value: 'user' },
25
+ { display: 'Manual', value: 'manual' },
26
+ { display: 'BusinessRule', value: 'business-rule' },
27
+ { display: 'Script', value: 'script' },
28
+ { display: 'Subprocess', value: 'sub-process' },
29
+ { display: 'Call', value: 'call' }
30
+ ];
31
+ export const ActivityStartingTypes = [
32
+ { display: '', value: '' },
33
+ { display: i18next.t('label.activity-starting-type-post'), value: 'post' },
34
+ { display: i18next.t('label.activity-starting-type-issue'), value: 'issue' }
35
+ ];
36
+ export const ActivityStatus = [
37
+ { display: '', value: '' },
38
+ { display: i18next.t('label.activity-state-draft'), value: 'draft' },
39
+ { display: i18next.t('label.activity-state-released'), value: 'released' },
40
+ { display: i18next.t('label.activity-state-deprecated'), value: 'deprecated' }
41
+ ];
42
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../client/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1B,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE;IAClC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE;IAClC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IAC/B,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1B,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC5C,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IAC1C,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IACpC,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACrD,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAClC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE;CAC/C,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1B,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAClC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACxC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAClC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACxC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAClC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACtC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE;IACnD,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACtC,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE;IAC/C,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;CACnC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1B,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,mCAAmC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IAC1E,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;CAC7E,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1B,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IACpE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;IAC1E,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE;CAC/E,CAAA","sourcesContent":["import { i18next } from '@operato/i18n'\n\nexport const Priorities = [\n { display: '', value: '' },\n { display: 'Emergency', value: 3 },\n { display: 'Important', value: 2 },\n { display: 'Normal', value: 1 },\n { display: 'Low', value: 0 }\n]\n\nexport const ActivityUITypes = [\n { display: '', value: '' },\n { display: 'Generated', value: 'generated' },\n { display: 'Template', value: 'template' },\n { display: 'Board', value: 'board' },\n { display: 'CustomElement', value: 'custom-element' },\n { display: 'Page', value: 'page' },\n { display: 'External URL', value: 'external' }\n]\n\nexport const ActivityTypes = [\n { display: '', value: '' },\n { display: 'Task', value: 'task' },\n { display: 'Service', value: 'service' },\n { display: 'Send', value: 'send' },\n { display: 'Receive', value: 'receive' },\n { display: 'User', value: 'user' },\n { display: 'Manual', value: 'manual' },\n { display: 'BusinessRule', value: 'business-rule' },\n { display: 'Script', value: 'script' },\n { display: 'Subprocess', value: 'sub-process' },\n { display: 'Call', value: 'call' }\n]\n\nexport const ActivityStartingTypes = [\n { display: '', value: '' },\n { display: i18next.t('label.activity-starting-type-post'), value: 'post' },\n { display: i18next.t('label.activity-starting-type-issue'), value: 'issue' }\n]\n\nexport const ActivityStatus = [\n { display: '', value: '' },\n { display: i18next.t('label.activity-state-draft'), value: 'draft' },\n { display: i18next.t('label.activity-state-released'), value: 'released' },\n { display: i18next.t('label.activity-state-deprecated'), value: 'deprecated' }\n]"]}
@@ -0,0 +1,5 @@
1
+ import { ActivityApproval } from '../../service/activity-approval/activity-approval.js';
2
+ export declare function _abort({ activityApproval, comment }: {
3
+ activityApproval: ActivityApproval;
4
+ comment: string;
5
+ }, context: ResolverContext): Promise<ActivityApproval>;
@@ -0,0 +1,12 @@
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
+ async function _abort({ activityApproval, comment }, context) {
7
+ const { user, tx } = context.state;
8
+ var result = await tx.getRepository(activity_approval_js_1.ActivityApproval).save(Object.assign(Object.assign({}, activityApproval), { judgment: activity_approval_js_1.ActivityApprovalJudgment.Aborted, comment, transaction: 'abort', updater: user, terminatedAt: new Date(), terminator: user }));
9
+ await tx.getRepository(activity_thread_js_1.ActivityThread).save(Object.assign(Object.assign({}, activityApproval.activityThread), { transaction: 'abort', reason: comment, state: activity_thread_js_1.ActivityThreadStatus.Aborted, updater: user, terminatedAt: new Date(), terminator: user }));
10
+ return result;
11
+ }
12
+ //# sourceMappingURL=_abort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/_abort.ts"],"names":[],"mappings":";;AAGA,wBA2BC;AA9BD,yFAAuG;AACvG,+FAAiH;AAE1G,KAAK,UAAU,MAAM,CAC1B,EAAE,gBAAgB,EAAE,OAAO,EAA2D,EACtF,OAAwB;IAExB,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAElC,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uCAAgB,CAAC,CAAC,IAAI,iCACrD,gBAAgB,KACnB,QAAQ,EAAE,+CAAwB,CAAC,OAAO,EAC1C,OAAO,EACP,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;IAEF,MAAM,EAAE,CAAC,aAAa,CAAC,mCAAc,CAAC,CAAC,IAAI,iCACtC,gBAAgB,CAAC,cAAc,KAClC,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,yCAAoB,CAAC,OAAO,EACnC,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval.js'\n\nexport async function _abort(\n { activityApproval, comment }: { activityApproval: ActivityApproval; comment: string },\n context: ResolverContext\n): Promise<ActivityApproval> {\n const { user, tx } = context.state\n\n var result = await tx.getRepository(ActivityApproval).save({\n ...activityApproval,\n judgment: ActivityApprovalJudgment.Aborted,\n comment,\n transaction: 'abort',\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n\n await tx.getRepository(ActivityThread).save({\n ...activityApproval.activityThread,\n transaction: 'abort',\n reason: comment,\n state: ActivityThreadStatus.Aborted,\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n\n return result\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { ActivityApproval } from '../../service/activity-approval/activity-approval.js';
2
+ export declare function abort({ id, comment }: {
3
+ id: string;
4
+ comment: string;
5
+ }, context: ResolverContext): Promise<ActivityApproval>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.abort = abort;
4
+ const activity_approval_js_1 = require("../../service/activity-approval/activity-approval.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, comment }, context) {
9
+ const { domain, user, tx } = context.state;
10
+ var repository = tx.getRepository(activity_approval_js_1.ActivityApproval);
11
+ var activityApproval = await repository.findOne({
12
+ where: { domain: { id: domain.id }, id },
13
+ relations: ['activityThread']
14
+ });
15
+ if (!activityApproval) {
16
+ throw new Error(context.t('error.activity-approval not found', {
17
+ activityApproval: id
18
+ }));
19
+ }
20
+ await (0, check_authority_js_1.checkAuthority)(activityApproval, context);
21
+ /*
22
+ Prerequisite of Abortion
23
+ - Previous judgment should be 'pending'
24
+ */
25
+ if (activityApproval.judgment !== activity_approval_js_1.ActivityApprovalJudgment.Pending) {
26
+ throw new Error(context.t(`error.activity-approval is already terminated`, {
27
+ activityInstance: id,
28
+ actual: activityApproval.judgment
29
+ }));
30
+ }
31
+ var result = await (0, _abort_js_1._abort)({ activityApproval, comment }, context);
32
+ await (0, common_js_1.updateActivityInstanceState)(activityApproval.activityThread.activityInstanceId, { causedBy: [activityApproval.activityThread] }, context);
33
+ return result;
34
+ }
35
+ //# sourceMappingURL=abort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/abort.ts"],"names":[],"mappings":";;AAKA,sBA6CC;AAlDD,+FAAiH;AACjH,4CAA0D;AAC1D,2CAAoC;AACpC,6DAAqD;AAE9C,KAAK,UAAU,KAAK,CACzB,EAAE,EAAE,EAAE,OAAO,EAAmC,EAChD,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,CAAC,gBAAgB,CAAC;KAC9B,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,MAAM,IAAA,mCAAc,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAE/C;;;MAGE;IACF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,+CAAwB,CAAC,OAAO,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,gBAAgB,CAAC,QAAQ;SAClC,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,IAAA,kBAAM,EAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;IAEjE,MAAM,IAAA,uCAA2B,EAC/B,gBAAgB,CAAC,cAAc,CAAC,kBAAkB,EAClD,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,EAC/C,OAAO,CACR,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["import { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval.js'\nimport { updateActivityInstanceState } from '../common.js'\nimport { _abort } from './_abort.js'\nimport { checkAuthority } from './check-authority.js'\n\nexport async function abort(\n { id, comment }: { id: string; comment: string },\n context: ResolverContext\n): Promise<ActivityApproval> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityApproval)\n\n var activityApproval = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['activityThread']\n })\n\n if (!activityApproval) {\n throw new Error(\n context.t('error.activity-approval not found', {\n activityApproval: id\n })\n )\n }\n\n await checkAuthority(activityApproval, context)\n\n /* \n Prerequisite of Abortion\n - Previous judgment should be 'pending'\n */\n if (activityApproval.judgment !== ActivityApprovalJudgment.Pending) {\n throw new Error(\n context.t(`error.activity-approval is already terminated`, {\n activityInstance: id,\n actual: activityApproval.judgment\n })\n )\n }\n\n var result = await _abort({ activityApproval, comment }, context)\n\n await updateActivityInstanceState(\n activityApproval.activityThread.activityInstanceId,\n { causedBy: [activityApproval.activityThread] },\n context\n )\n\n return result\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { ActivityApproval } from '../../service/activity-approval/activity-approval.js';
2
+ export declare function approve({ id, comment }: {
3
+ id: string;
4
+ comment: string;
5
+ }, context: ResolverContext): Promise<ActivityApproval>;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.approve = approve;
4
+ const organization_1 = require("@things-factory/organization");
5
+ const auth_base_1 = require("@things-factory/auth-base");
6
+ const common_js_1 = require("../../controllers/common.js");
7
+ const activity_thread_js_1 = require("../../service/activity-thread/activity-thread.js");
8
+ const activity_approval_js_1 = require("../../service/activity-approval/activity-approval.js");
9
+ const common_js_2 = require("../common.js");
10
+ const check_authority_js_1 = require("./check-authority.js");
11
+ async function approve({ id, comment }, context) {
12
+ const { domain, user, tx } = context.state;
13
+ var repository = tx.getRepository(activity_approval_js_1.ActivityApproval);
14
+ var activityApproval = await repository.findOne({
15
+ where: { domain: { id: domain.id }, id }
16
+ });
17
+ if (!activityApproval) {
18
+ throw new Error(context.t('error.activity-approval not found', {
19
+ activityApproval: id
20
+ }));
21
+ }
22
+ await (0, check_authority_js_1.checkAuthority)(activityApproval, context);
23
+ /*
24
+ Prerequisite of Approval
25
+ - Previous judgment should be 'pending'
26
+ */
27
+ if (activityApproval.judgment !== activity_approval_js_1.ActivityApprovalJudgment.Pending) {
28
+ throw new Error(context.t(`error.activity-approval is already terminated`, {
29
+ activityApproval: id,
30
+ actual: activityApproval.judgment
31
+ }));
32
+ }
33
+ var activityThread = await tx.getRepository(activity_thread_js_1.ActivityThread).findOne({
34
+ where: { domain: { id: domain.id }, id: activityApproval.activityThreadId },
35
+ relations: ['activityInstance']
36
+ });
37
+ const approvalLine = activityThread.activityInstance.approvalLine;
38
+ const order = activityApproval.order;
39
+ const result = await tx.getRepository(activity_approval_js_1.ActivityApproval).save(Object.assign(Object.assign({}, activityApproval), { judgment: approvalLine[order] ? activity_approval_js_1.ActivityApprovalJudgment.Escalated : activity_approval_js_1.ActivityApprovalJudgment.Approved, comment, transaction: approvalLine[order] ? 'escalate' : 'approve', updater: user, terminatedAt: new Date(), terminator: user }));
40
+ if (approvalLine && approvalLine.length > order) {
41
+ // approvalLine에서 후속 승인자에게 escalating.
42
+ if (approvalLine[order].type == organization_1.OrgMemberTargetType.Role) {
43
+ const approverRoleId = approvalLine[0].value;
44
+ if (approverRoleId) {
45
+ throw 'Cannot specify the approver role for this approval line';
46
+ }
47
+ const approverRole = await tx.getRepository(auth_base_1.Role).findOneBy({
48
+ id: approverRoleId
49
+ });
50
+ if (!approverRole) {
51
+ throw 'Cannot find the approver role for this approval line';
52
+ }
53
+ await tx.getRepository(activity_approval_js_1.ActivityApproval).save({
54
+ domain,
55
+ activityThread,
56
+ round: activityThread.round,
57
+ order: order + 1,
58
+ judgment: activity_approval_js_1.ActivityApprovalJudgment.Pending,
59
+ transaction: 'escalate',
60
+ approverRole: approverRole,
61
+ creator: user,
62
+ updater: user
63
+ });
64
+ }
65
+ else {
66
+ var approverUser = await (0, common_js_1.getSystemUserFromOrgMemberItem)(approvalLine[order], context);
67
+ if (!approverUser) {
68
+ throw 'Cannot specify the approval user for this approval line';
69
+ }
70
+ await tx.getRepository(activity_approval_js_1.ActivityApproval).save({
71
+ domain,
72
+ activityThread,
73
+ round: activityThread.round,
74
+ order: order + 1,
75
+ judgment: activity_approval_js_1.ActivityApprovalJudgment.Pending,
76
+ transaction: 'escalate',
77
+ approver: approverUser,
78
+ creator: user,
79
+ updater: user
80
+ });
81
+ }
82
+ activityThread = await tx.getRepository(activity_thread_js_1.ActivityThread).save(Object.assign(Object.assign({}, activityThread), { transaction: 'escalate', reaseon: comment, state: activity_thread_js_1.ActivityThreadStatus.Escalated, updater: user }));
83
+ }
84
+ else {
85
+ activityThread = await tx.getRepository(activity_thread_js_1.ActivityThread).save(Object.assign(Object.assign({}, activityThread), { transaction: 'approve', reason: comment, state: activity_thread_js_1.ActivityThreadStatus.Ended, terminatedAt: new Date(), terminator: user, updater: user }));
86
+ }
87
+ await (0, common_js_2.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [activityThread] }, context);
88
+ return result;
89
+ }
90
+ //# sourceMappingURL=approve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approve.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/approve.ts"],"names":[],"mappings":";;AAQA,0BA4HC;AApID,+DAAoF;AACpF,yDAAgD;AAChD,2DAA4E;AAC5E,yFAAuG;AACvG,+FAAiH;AACjH,4CAA0D;AAC1D,6DAAqD;AAE9C,KAAK,UAAU,OAAO,CAC3B,EAAE,EAAE,EAAE,OAAO,EAAmC,EAChD,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;KACzC,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,MAAM,IAAA,mCAAc,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAE/C;;;MAGE;IACF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,+CAAwB,CAAC,OAAO,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,gBAAgB,CAAC,QAAQ;SAClC,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,cAAc,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mCAAc,CAAC,CAAC,OAAO,CAAC;QAClE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,gBAAgB,EAAE;QAC3E,SAAS,EAAE,CAAC,kBAAkB,CAAC;KAChC,CAAC,CAAA;IAEF,MAAM,YAAY,GAAuB,cAAc,CAAC,gBAAgB,CAAC,YAAY,CAAA;IACrF,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAA;IAEpC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uCAAgB,CAAC,CAAC,IAAI,iCACvD,gBAAgB,KACnB,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,+CAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,+CAAwB,CAAC,QAAQ,EACtG,OAAO,EACP,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACzD,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;IAEF,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QAChD,sCAAsC;QAEtC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,kCAAmB,CAAC,IAAI,EAAE,CAAC;YACzD,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAE5C,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,yDAAyD,CAAA;YACjE,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,SAAS,CAAC;gBAC1D,EAAE,EAAE,cAAc;aACnB,CAAC,CAAA;YAEF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,sDAAsD,CAAA;YAC9D,CAAC;YAED,MAAM,EAAE,CAAC,aAAa,CAAC,uCAAgB,CAAC,CAAC,IAAI,CAAC;gBAC5C,MAAM;gBACN,cAAc;gBACd,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,KAAK,EAAE,KAAK,GAAG,CAAC;gBAChB,QAAQ,EAAE,+CAAwB,CAAC,OAAO;gBAC1C,WAAW,EAAE,UAAU;gBACvB,YAAY,EAAE,YAAY;gBAC1B,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,YAAY,GAAG,MAAM,IAAA,0CAA8B,EAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;YAErF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,yDAAyD,CAAA;YACjE,CAAC;YAED,MAAM,EAAE,CAAC,aAAa,CAAC,uCAAgB,CAAC,CAAC,IAAI,CAAC;gBAC5C,MAAM;gBACN,cAAc;gBACd,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,KAAK,EAAE,KAAK,GAAG,CAAC;gBAChB,QAAQ,EAAE,+CAAwB,CAAC,OAAO;gBAC1C,WAAW,EAAE,UAAU;gBACvB,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;QACJ,CAAC;QAED,cAAc,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mCAAc,CAAC,CAAC,IAAI,iCACvD,cAAc,KACjB,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,yCAAoB,CAAC,SAAS,EACrC,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mCAAc,CAAC,CAAC,IAAI,iCACvD,cAAc,KACjB,WAAW,EAAE,SAAS,EACtB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,yCAAoB,CAAC,KAAK,EACjC,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,EAChB,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;IAED,MAAM,IAAA,uCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE7G,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["import { ApprovalLineItem, OrgMemberTargetType } from '@things-factory/organization'\nimport { Role } from '@things-factory/auth-base'\nimport { getSystemUserFromOrgMemberItem } from '../../controllers/common.js'\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval.js'\nimport { updateActivityInstanceState } from '../common.js'\nimport { checkAuthority } from './check-authority.js'\n\nexport async function approve(\n { id, comment }: { id: string; comment: string },\n context: ResolverContext\n): Promise<ActivityApproval> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityApproval)\n\n var activityApproval = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n if (!activityApproval) {\n throw new Error(\n context.t('error.activity-approval not found', {\n activityApproval: id\n })\n )\n }\n\n await checkAuthority(activityApproval, context)\n\n /* \n Prerequisite of Approval\n - Previous judgment should be 'pending'\n */\n if (activityApproval.judgment !== ActivityApprovalJudgment.Pending) {\n throw new Error(\n context.t(`error.activity-approval is already terminated`, {\n activityApproval: id,\n actual: activityApproval.judgment\n })\n )\n }\n\n var activityThread = await tx.getRepository(ActivityThread).findOne({\n where: { domain: { id: domain.id }, id: activityApproval.activityThreadId },\n relations: ['activityInstance']\n })\n\n const approvalLine: ApprovalLineItem[] = activityThread.activityInstance.approvalLine\n const order = activityApproval.order\n\n const result = await tx.getRepository(ActivityApproval).save({\n ...activityApproval,\n judgment: approvalLine[order] ? ActivityApprovalJudgment.Escalated : ActivityApprovalJudgment.Approved,\n comment,\n transaction: approvalLine[order] ? 'escalate' : 'approve',\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n\n if (approvalLine && approvalLine.length > order) {\n // approvalLine에서 후속 승인자에게 escalating.\n\n if (approvalLine[order].type == OrgMemberTargetType.Role) {\n const approverRoleId = approvalLine[0].value\n\n if (approverRoleId) {\n throw 'Cannot specify the approver role for this approval line'\n }\n\n const approverRole = await tx.getRepository(Role).findOneBy({\n id: approverRoleId\n })\n\n if (!approverRole) {\n throw 'Cannot find the approver role for this approval line'\n }\n\n await tx.getRepository(ActivityApproval).save({\n domain,\n activityThread,\n round: activityThread.round,\n order: order + 1,\n judgment: ActivityApprovalJudgment.Pending,\n transaction: 'escalate',\n approverRole: approverRole,\n creator: user,\n updater: user\n })\n } else {\n var approverUser = await getSystemUserFromOrgMemberItem(approvalLine[order], context)\n\n if (!approverUser) {\n throw 'Cannot specify the approval user for this approval line'\n }\n\n await tx.getRepository(ActivityApproval).save({\n domain,\n activityThread,\n round: activityThread.round,\n order: order + 1,\n judgment: ActivityApprovalJudgment.Pending,\n transaction: 'escalate',\n approver: approverUser,\n creator: user,\n updater: user\n })\n }\n\n activityThread = await tx.getRepository(ActivityThread).save({\n ...activityThread,\n transaction: 'escalate',\n reaseon: comment,\n state: ActivityThreadStatus.Escalated,\n updater: user\n })\n } else {\n activityThread = await tx.getRepository(ActivityThread).save({\n ...activityThread,\n transaction: 'approve',\n reason: comment,\n state: ActivityThreadStatus.Ended,\n terminatedAt: new Date(),\n terminator: user,\n updater: user\n })\n }\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [activityThread] }, context)\n\n return result\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { ActivityApproval } from '../../service/activity-approval/activity-approval.js';
2
+ export declare function checkAuthority(activityApproval: ActivityApproval, context: ResolverContext): Promise<void>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkAuthority = checkAuthority;
4
+ const shell_1 = require("@things-factory/shell");
5
+ const auth_base_1 = require("@things-factory/auth-base");
6
+ async function checkAuthority(activityApproval, context) {
7
+ var _a;
8
+ const { user, tx } = context.state;
9
+ if (activityApproval.approverId && activityApproval.approverId === user.id) {
10
+ return;
11
+ }
12
+ if (!activityApproval.approver && activityApproval.approverRoleId) {
13
+ const roles = (_a = (await (0, shell_1.getRepository)(auth_base_1.User, tx).findOne({
14
+ where: { id: user.id },
15
+ relations: ['roles']
16
+ }))) === null || _a === void 0 ? void 0 : _a.roles;
17
+ if (roles.find(role => role.id == activityApproval.approverRoleId)) {
18
+ activityApproval.approver = user;
19
+ return;
20
+ }
21
+ }
22
+ throw new Error(context.t(`error.not authorized to handle this task`));
23
+ }
24
+ //# sourceMappingURL=check-authority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-authority.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/check-authority.ts"],"names":[],"mappings":";;AAIA,wCAsBC;AA1BD,iDAAqD;AACrD,yDAAgD;AAGzC,KAAK,UAAU,cAAc,CAAC,gBAAkC,EAAE,OAAwB;;IAC/F,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAElC,IAAI,gBAAgB,CAAC,UAAU,IAAI,gBAAgB,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;QAC3E,OAAM;IACR,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,gBAAgB,CAAC,cAAc,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,MAAA,CACZ,MAAM,IAAA,qBAAa,EAAC,gBAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC;YACpC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;YACtB,SAAS,EAAE,CAAC,OAAO,CAAC;SACrB,CAAC,CACH,0CAAE,KAAK,CAAA;QAER,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC;YACnE,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAA;YAChC,OAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAA;AACxE,CAAC","sourcesContent":["import { getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ActivityApproval } from '../../service/activity-approval/activity-approval.js'\n\nexport async function checkAuthority(activityApproval: ActivityApproval, context: ResolverContext) {\n const { user, tx } = context.state\n\n if (activityApproval.approverId && activityApproval.approverId === user.id) {\n return\n }\n\n if (!activityApproval.approver && activityApproval.approverRoleId) {\n const roles = (\n await getRepository(User, tx).findOne({\n where: { id: user.id },\n relations: ['roles']\n })\n )?.roles\n\n if (roles.find(role => role.id == activityApproval.approverRoleId)) {\n activityApproval.approver = user\n return\n }\n }\n\n throw new Error(context.t(`error.not authorized to handle this task`))\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { ObjectRef } from '@things-factory/shell';
2
+ import { ActivityApproval } from '../../service/activity-approval/activity-approval.js';
3
+ export declare function delegate({ id, to, comment }: {
4
+ id: string;
5
+ to: ObjectRef;
6
+ comment: string;
7
+ }, context: ResolverContext): Promise<ActivityApproval>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.delegate = delegate;
4
+ const auth_base_1 = require("@things-factory/auth-base");
5
+ const activity_approval_js_1 = require("../../service/activity-approval/activity-approval.js");
6
+ const check_authority_js_1 = require("./check-authority.js");
7
+ async function delegate({ id, to, comment }, context) {
8
+ const { domain, user, tx } = context.state;
9
+ var repository = tx.getRepository(activity_approval_js_1.ActivityApproval);
10
+ var activityApproval = await repository.findOne({
11
+ where: { domain: { id: domain.id }, id },
12
+ relations: ['domain', 'activityThread']
13
+ });
14
+ if (!activityApproval) {
15
+ throw new Error(context.t('error.activity-approval not found', {
16
+ activityApproval: id
17
+ }));
18
+ }
19
+ await (0, check_authority_js_1.checkAuthority)(activityApproval, context);
20
+ /*
21
+ Prerequisite of Delegation
22
+ - Previous judgment should be 'pending'
23
+ */
24
+ if (activityApproval.judgment !== activity_approval_js_1.ActivityApprovalJudgment.Pending) {
25
+ throw new Error(context.t(`error.activity-approval is already terminated`, {
26
+ activityInstance: id,
27
+ actual: activityApproval.judgment
28
+ }));
29
+ }
30
+ /* TODO user validation .. */
31
+ const approver = await tx.getRepository(auth_base_1.User).findOneBy({ id: to.id, status: auth_base_1.UserStatus.ACTIVATED });
32
+ if (!approver) {
33
+ throw new Error(context.t(`error.user not found`));
34
+ }
35
+ /* create new delegated approval */
36
+ await repository.save(Object.assign(Object.assign({}, activityApproval), { originalApproval: activityApproval, comment,
37
+ approver, creator: user, updater: user }));
38
+ /* terminate origin approval */
39
+ const result = await repository.save(Object.assign(Object.assign({}, activityApproval), { judgment: activity_approval_js_1.ActivityApprovalJudgment.Delegated, reason: comment, transaction: 'delegate', updater: user, terminator: user, terminatedAt: new Date() }));
40
+ return result;
41
+ }
42
+ //# sourceMappingURL=delegate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/delegate.ts"],"names":[],"mappings":";;AAKA,4BAiEC;AAtED,yDAA4D;AAE5D,+FAAiH;AACjH,6DAAqD;AAE9C,KAAK,UAAU,QAAQ,CAC5B,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAkD,EACnE,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,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KACxC,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,MAAM,IAAA,mCAAc,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAE/C;;;MAGE;IACF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,+CAAwB,CAAC,OAAO,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,gBAAgB,CAAC,QAAQ;SAClC,CAAC,CACH,CAAA;IACH,CAAC;IAED,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,sBAAU,CAAC,SAAS,EAAE,CAAC,CAAA;IAEpG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,mCAAmC;IACnC,MAAM,UAAU,CAAC,IAAI,iCAChB,gBAAgB,KACnB,gBAAgB,EAAE,gBAAgB,EAClC,OAAO;QACP,QAAQ,EACR,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;IAEF,+BAA+B;IAC/B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,iCAC/B,gBAAgB,KACnB,QAAQ,EAAE,+CAAwB,CAAC,SAAS,EAC5C,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,IAAI,EAChB,YAAY,EAAE,IAAI,IAAI,EAAE,IACxB,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["import { User, UserStatus } from '@things-factory/auth-base'\nimport { ObjectRef } from '@things-factory/shell'\nimport { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval.js'\nimport { checkAuthority } from './check-authority.js'\n\nexport async function delegate(\n { id, to, comment }: { id: string; to: ObjectRef; comment: string },\n context: ResolverContext\n): Promise<ActivityApproval> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityApproval)\n\n var activityApproval = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'activityThread']\n })\n\n if (!activityApproval) {\n throw new Error(\n context.t('error.activity-approval not found', {\n activityApproval: id\n })\n )\n }\n\n await checkAuthority(activityApproval, context)\n\n /* \n Prerequisite of Delegation\n - Previous judgment should be 'pending'\n */\n if (activityApproval.judgment !== ActivityApprovalJudgment.Pending) {\n throw new Error(\n context.t(`error.activity-approval is already terminated`, {\n activityInstance: id,\n actual: activityApproval.judgment\n })\n )\n }\n\n /* TODO user validation .. */\n const approver = await tx.getRepository(User).findOneBy({ id: to.id, status: UserStatus.ACTIVATED })\n\n if (!approver) {\n throw new Error(context.t(`error.user not found`))\n }\n\n /* create new delegated approval */\n await repository.save({\n ...activityApproval,\n originalApproval: activityApproval,\n comment,\n approver,\n creator: user,\n updater: user\n })\n\n /* terminate origin approval */\n const result = await repository.save({\n ...activityApproval,\n judgment: ActivityApprovalJudgment.Delegated,\n reason: comment,\n transaction: 'delegate',\n updater: user,\n terminator: user,\n terminatedAt: new Date()\n })\n\n return result\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { ActivityApproval } from '../../service/activity-approval/activity-approval.js';
2
+ export declare function reject({ id, comment }: {
3
+ id: string;
4
+ comment: string;
5
+ }, context: ResolverContext): Promise<ActivityApproval>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reject = reject;
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 common_js_1 = require("../common.js");
7
+ const check_authority_js_1 = require("./check-authority.js");
8
+ async function reject({ id, comment }, context) {
9
+ const { domain, user, tx } = context.state;
10
+ var repository = tx.getRepository(activity_approval_js_1.ActivityApproval);
11
+ var activityApproval = await repository.findOne({
12
+ where: { domain: { id: domain.id }, id },
13
+ relations: ['activityThread']
14
+ });
15
+ if (!activityApproval) {
16
+ throw new Error(context.t('error.activity-approval not found', {
17
+ activityApproval: id
18
+ }));
19
+ }
20
+ await (0, check_authority_js_1.checkAuthority)(activityApproval, context);
21
+ /*
22
+ Prerequisite of Rejection
23
+ - Previous judgment should be 'pending'
24
+ */
25
+ if (activityApproval.judgment !== activity_approval_js_1.ActivityApprovalJudgment.Pending) {
26
+ throw new Error(context.t(`error.activity-approval is already terminated`, {
27
+ activityInstance: id,
28
+ actual: activityApproval.judgment
29
+ }));
30
+ }
31
+ var result = await repository.save(Object.assign(Object.assign({}, activityApproval), { judgment: activity_approval_js_1.ActivityApprovalJudgment.Rejected, comment, transaction: 'reject', updater: user, terminatedAt: new Date(), terminator: user }));
32
+ var activityThread = await tx.getRepository(activity_thread_js_1.ActivityThread).save(Object.assign(Object.assign({}, activityApproval.activityThread), { transaction: 'reject', reason: comment, state: activity_thread_js_1.ActivityThreadStatus.Rejected, updater: user }));
33
+ await (0, common_js_1.updateActivityInstanceState)(activityApproval.activityThread.activityInstanceId, { causedBy: [activityThread] }, context);
34
+ return result;
35
+ }
36
+ //# sourceMappingURL=reject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reject.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/reject.ts"],"names":[],"mappings":";;AAKA,wBA6DC;AAlED,yFAAuG;AACvG,+FAAiH;AACjH,4CAA0D;AAC1D,6DAAqD;AAE9C,KAAK,UAAU,MAAM,CAC1B,EAAE,EAAE,EAAE,OAAO,EAAmC,EAChD,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,CAAC,gBAAgB,CAAC;KAC9B,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,MAAM,IAAA,mCAAc,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAE/C;;;MAGE;IACF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,+CAAwB,CAAC,OAAO,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,gBAAgB,CAAC,QAAQ;SAClC,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,iCAC7B,gBAAgB,KACnB,QAAQ,EAAE,+CAAwB,CAAC,QAAQ,EAC3C,OAAO,EACP,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;IAEF,IAAI,cAAc,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mCAAc,CAAC,CAAC,IAAI,iCAC3D,gBAAgB,CAAC,cAAc,KAClC,WAAW,EAAE,QAAQ,EACrB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,yCAAoB,CAAC,QAAQ,EACpC,OAAO,EAAE,IAAI,IACb,CAAA;IAEF,MAAM,IAAA,uCAA2B,EAC/B,gBAAgB,CAAC,cAAc,CAAC,kBAAkB,EAClD,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAC9B,OAAO,CACR,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval.js'\nimport { updateActivityInstanceState } from '../common.js'\nimport { checkAuthority } from './check-authority.js'\n\nexport async function reject(\n { id, comment }: { id: string; comment: string },\n context: ResolverContext\n): Promise<ActivityApproval> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityApproval)\n\n var activityApproval = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['activityThread']\n })\n\n if (!activityApproval) {\n throw new Error(\n context.t('error.activity-approval not found', {\n activityApproval: id\n })\n )\n }\n\n await checkAuthority(activityApproval, context)\n\n /* \n Prerequisite of Rejection\n - Previous judgment should be 'pending'\n */\n if (activityApproval.judgment !== ActivityApprovalJudgment.Pending) {\n throw new Error(\n context.t(`error.activity-approval is already terminated`, {\n activityInstance: id,\n actual: activityApproval.judgment\n })\n )\n }\n\n var result = await repository.save({\n ...activityApproval,\n judgment: ActivityApprovalJudgment.Rejected,\n comment,\n transaction: 'reject',\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n\n var activityThread = await tx.getRepository(ActivityThread).save({\n ...activityApproval.activityThread,\n transaction: 'reject',\n reason: comment,\n state: ActivityThreadStatus.Rejected,\n updater: user\n })\n\n await updateActivityInstanceState(\n activityApproval.activityThread.activityInstanceId,\n { causedBy: [activityThread] },\n context\n )\n\n return result\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { ActivityApproval } from '../../service/activity-approval/activity-approval.js';
2
+ export declare function save({ id, comment }: {
3
+ id: string;
4
+ comment: string;
5
+ }, context: ResolverContext): Promise<ActivityApproval>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.save = save;
4
+ const shell_1 = require("@things-factory/shell");
5
+ const check_authority_js_1 = require("./check-authority.js");
6
+ const activity_approval_js_1 = require("../../service/activity-approval/activity-approval.js");
7
+ const activity_thread_js_1 = require("../../service/activity-thread/activity-thread.js");
8
+ const common_js_1 = require("../common.js");
9
+ async function save({ id, comment }, context) {
10
+ const { domain, user, tx } = context.state;
11
+ var repository = (0, shell_1.getRepository)(activity_approval_js_1.ActivityApproval, tx);
12
+ var activityApproval = await repository.findOne({
13
+ where: { domain: { id: domain.id }, id }
14
+ });
15
+ if (!activityApproval) {
16
+ throw new Error(context.t('error.activity-approval not found', {
17
+ activityApproval: id
18
+ }));
19
+ }
20
+ await (0, check_authority_js_1.checkAuthority)(activityApproval, context);
21
+ const result = await repository.save(Object.assign(Object.assign({}, activityApproval), { comment, updater: user }));
22
+ const activityThread = await (0, shell_1.getRepository)(activity_thread_js_1.ActivityThread).findOneBy({
23
+ id: activityApproval.activityThreadId
24
+ });
25
+ await (0, common_js_1.updateActivityInstanceState)(activityThread === null || activityThread === void 0 ? void 0 : activityThread.activityInstanceId, { causedBy: [activityThread] }, context);
26
+ return result;
27
+ }
28
+ //# sourceMappingURL=save.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/save.ts"],"names":[],"mappings":";;AAMA,oBAmCC;AAzCD,iDAAqD;AACrD,6DAAqD;AACrD,+FAAuF;AACvF,yFAAiF;AACjF,4CAA0D;AAEnD,KAAK,UAAU,IAAI,CACxB,EAAE,EAAE,EAAE,OAAO,EAAmC,EAChD,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,IAAA,qBAAa,EAAC,uCAAgB,EAAE,EAAE,CAAC,CAAA;IAEpD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,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,MAAM,IAAA,mCAAc,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAE/C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,iCAC/B,gBAAgB,KACnB,OAAO,EACP,OAAO,EAAE,IAAI,IACb,CAAA;IAEF,MAAM,cAAc,GAAG,MAAM,IAAA,qBAAa,EAAC,mCAAc,CAAC,CAAC,SAAS,CAAC;QACnE,EAAE,EAAE,gBAAgB,CAAC,gBAAgB;KACtC,CAAC,CAAA;IAEF,MAAM,IAAA,uCAA2B,EAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE9G,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["import { getRepository } from '@things-factory/shell'\nimport { checkAuthority } from './check-authority.js'\nimport { ActivityApproval } from '../../service/activity-approval/activity-approval.js'\nimport { ActivityThread } from '../../service/activity-thread/activity-thread.js'\nimport { updateActivityInstanceState } from '../common.js'\n\nexport async function save(\n { id, comment }: { id: string; comment: string },\n context: ResolverContext\n): Promise<ActivityApproval> {\n const { domain, user, tx } = context.state\n\n var repository = getRepository(ActivityApproval, tx)\n\n var activityApproval = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n if (!activityApproval) {\n throw new Error(\n context.t('error.activity-approval not found', {\n activityApproval: id\n })\n )\n }\n\n await checkAuthority(activityApproval, context)\n\n const result = await repository.save({\n ...activityApproval,\n comment,\n updater: user\n })\n\n const activityThread = await getRepository(ActivityThread).findOneBy({\n id: activityApproval.activityThreadId\n })\n\n await updateActivityInstanceState(activityThread?.activityInstanceId, { causedBy: [activityThread] }, context)\n\n return result\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import { InstallableActivity } from '../../service/installable-activity/installable-activity.js';
2
+ export declare class ActivityInstallations {
3
+ static templates: {
4
+ [name: string]: InstallableActivity;
5
+ };
6
+ static installActivityTemplate(template: InstallableActivity): void;
7
+ static get(name: string): InstallableActivity;
8
+ static list(): InstallableActivity[];
9
+ /**
10
+ * 액티비티인스턴스의 변화가 발생했을 때, 호출되는 콜백함수
11
+ * @param name 액티비티인스턴스가 속한 액티비티명
12
+ * @param activityInstance 해당 액티비티인스턴스
13
+ * @param activityThreads 액티비티인스턴스의 변화를 일으킨 원인이 되는 액티비티쓰레드들
14
+ * @param context 서비스 컨텍스트 : domain, user, translation, ..
15
+ * @returns
16
+ */
17
+ static callback(name: string, activityInstance: any, activityThreads: any[], context: ResolverContext): Promise<void>;
18
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActivityInstallations = void 0;
4
+ class ActivityInstallations {
5
+ static installActivityTemplate(template) {
6
+ ActivityInstallations.templates[template.name] = template;
7
+ }
8
+ static get(name) {
9
+ return ActivityInstallations.templates[name];
10
+ }
11
+ static list() {
12
+ return Object.values(ActivityInstallations.templates);
13
+ }
14
+ /**
15
+ * 액티비티인스턴스의 변화가 발생했을 때, 호출되는 콜백함수
16
+ * @param name 액티비티인스턴스가 속한 액티비티명
17
+ * @param activityInstance 해당 액티비티인스턴스
18
+ * @param activityThreads 액티비티인스턴스의 변화를 일으킨 원인이 되는 액티비티쓰레드들
19
+ * @param context 서비스 컨텍스트 : domain, user, translation, ..
20
+ * @returns
21
+ */
22
+ static async callback(name, activityInstance, activityThreads, context) {
23
+ const installableActivity = ActivityInstallations.templates[name];
24
+ if (!installableActivity) {
25
+ return;
26
+ }
27
+ const { callback } = installableActivity;
28
+ callback && (await callback(activityInstance, { causedBy: activityThreads }, context));
29
+ }
30
+ }
31
+ exports.ActivityInstallations = ActivityInstallations;
32
+ ActivityInstallations.templates = {};
33
+ //# sourceMappingURL=activity-installation-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-installation-controller.js","sourceRoot":"","sources":["../../../server/controllers/activity-installation/activity-installation-controller.ts"],"names":[],"mappings":";;;AAEA,MAAa,qBAAqB;IAGhC,MAAM,CAAC,uBAAuB,CAAC,QAA6B;QAC1D,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;IAC3D,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,IAAY;QACrB,OAAO,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,CAAC,IAAI;QACT,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;IACvD,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,gBAAqB,EAAE,eAAsB,EAAE,OAAwB;QACzG,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACjE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAM;QACR,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAA;QAExC,QAAQ,IAAI,CAAC,MAAM,QAAQ,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IACxF,CAAC;;AAhCH,sDAiCC;AAhCQ,+BAAS,GAA4C,EAAE,CAAA","sourcesContent":["import { InstallableActivity } from '../../service/installable-activity/installable-activity.js'\n\nexport class ActivityInstallations {\n static templates: { [name: string]: InstallableActivity } = {}\n\n static installActivityTemplate(template: InstallableActivity) {\n ActivityInstallations.templates[template.name] = template\n }\n\n static get(name: string): InstallableActivity {\n return ActivityInstallations.templates[name]\n }\n\n static list(): InstallableActivity[] {\n return Object.values(ActivityInstallations.templates)\n }\n\n /**\n * 액티비티인스턴스의 변화가 발생했을 때, 호출되는 콜백함수\n * @param name 액티비티인스턴스가 속한 액티비티명\n * @param activityInstance 해당 액티비티인스턴스\n * @param activityThreads 액티비티인스턴스의 변화를 일으킨 원인이 되는 액티비티쓰레드들\n * @param context 서비스 컨텍스트 : domain, user, translation, ..\n * @returns\n */\n static async callback(name: string, activityInstance: any, activityThreads: any[], context: ResolverContext) {\n const installableActivity = ActivityInstallations.templates[name]\n if (!installableActivity) {\n return\n }\n\n const { callback } = installableActivity\n\n callback && (await callback(activityInstance, { causedBy: activityThreads }, context))\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import { EntityManager } from 'typeorm';
2
+ import { Domain } from '@things-factory/shell';
3
+ export declare function callWebhook(domain: Domain, tag: string, data: any, tx?: EntityManager): Promise<void>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.callWebhook = callWebhook;
4
+ const tslib_1 = require("tslib");
5
+ const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
6
+ const auth_base_1 = require("@things-factory/auth-base");
7
+ const shell_1 = require("@things-factory/shell");
8
+ async function callWebhook(domain, tag, data, tx) {
9
+ /*
10
+ TODO webhook callback의 다양한 subscription 조건을 지원한다.
11
+ - activity의 client에 해당하는 application
12
+ - activityInstance의 starter에 해당하는 application
13
+ - 모든 이벤트를 받고자하는 application
14
+ - 특정 activity들의 이벤트를 받고자하는 application
15
+ */
16
+ const applications = await (tx ? tx.getRepository(auth_base_1.Application) : (0, shell_1.getRepository)(auth_base_1.Application)).findBy({
17
+ domain: { id: domain.id }
18
+ });
19
+ const options = {
20
+ method: 'post',
21
+ headers: {
22
+ 'x-things-factory-domain': domain.name,
23
+ 'Content-Type': 'application/json'
24
+ },
25
+ body: {
26
+ tag,
27
+ data
28
+ }
29
+ };
30
+ try {
31
+ applications
32
+ .filter(app => app.webhook)
33
+ .every(app => {
34
+ const webhook = app.webhook;
35
+ (0, node_fetch_1.default)(webhook, options);
36
+ });
37
+ }
38
+ catch (err) {
39
+ console.error(err);
40
+ }
41
+ }
42
+ //# sourceMappingURL=call-webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-webhook.js","sourceRoot":"","sources":["../../../server/controllers/activity-installation/call-webhook.ts"],"names":[],"mappings":";;AAMA,kCAmCC;;AAzCD,oEAA8B;AAG9B,yDAAuD;AACvD,iDAA6D;AAEtD,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,GAAW,EAAE,IAAS,EAAE,EAAkB;IAC1F;;;;;;MAME;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,uBAAW,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,uBAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QAClG,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;KAC1B,CAAC,CAAA;IACF,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,yBAAyB,EAAE,MAAM,CAAC,IAAI;YACtC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE;YACJ,GAAG;YACH,IAAI;SACE;KACT,CAAA;IAED,IAAI,CAAC;QACH,YAAY;aACT,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;aAC1B,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;YAE3B,IAAA,oBAAK,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACN,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC;AACH,CAAC","sourcesContent":["import fetch from 'node-fetch'\n\nimport { EntityManager } from 'typeorm'\nimport { Application } from '@things-factory/auth-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nexport async function callWebhook(domain: Domain, tag: string, data: any, tx?: EntityManager) {\n /* \n TODO webhook callback의 다양한 subscription 조건을 지원한다. \n - activity의 client에 해당하는 application\n - activityInstance의 starter에 해당하는 application\n - 모든 이벤트를 받고자하는 application\n - 특정 activity들의 이벤트를 받고자하는 application\n */\n\n const applications = await (tx ? tx.getRepository(Application) : getRepository(Application)).findBy({\n domain: { id: domain.id }\n })\n const options = {\n method: 'post',\n headers: {\n 'x-things-factory-domain': domain.name,\n 'Content-Type': 'application/json'\n },\n body: {\n tag,\n data\n } as any\n }\n\n try {\n applications\n .filter(app => app.webhook)\n .every(app => {\n const webhook = app.webhook\n\n fetch(webhook, options)\n })\n } catch (err) {\n console.error(err)\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { ActivityInstance } from '../../service/activity-instance/activity-instance.js';
2
+ export declare function abort({ id, reason }: {
3
+ id: string;
4
+ reason: string;
5
+ }, context: ResolverContext): Promise<ActivityInstance>;