@things-factory/worklist 6.2.176 → 6.2.178

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 (291) hide show
  1. package/client/bootstrap.ts +1 -1
  2. package/client/pages/activity/activity-page.ts +1 -1
  3. package/client/pages/activity-approval/activity-approval-page.ts +1 -1
  4. package/client/pages/activity-instance/activity-instance-start-page.ts +1 -1
  5. package/client/pages/activity-thread/activity-thread-page.ts +1 -1
  6. package/client/pages/activity-thread/activity-thread-view-page.ts +1 -1
  7. package/client/types/activity.ts +1 -1
  8. package/dist-client/activity-summary-generator.js +1 -1
  9. package/dist-client/activity-summary-generator.js.map +1 -1
  10. package/dist-client/bootstrap.js +1 -1
  11. package/dist-client/bootstrap.js.map +1 -1
  12. package/dist-client/components/activity-/bowner-view.js.map +1 -1
  13. package/dist-client/components/activity-approval-ribon.js.map +1 -1
  14. package/dist-client/components/activity-instance-preview.js.map +1 -1
  15. package/dist-client/components/activity-instance-ribon.js.map +1 -1
  16. package/dist-client/components/activity-intro-view.js.map +1 -1
  17. package/dist-client/components/activity-reporter-view.js.map +1 -1
  18. package/dist-client/components/activity-starter-form.js.map +1 -1
  19. package/dist-client/components/activity-thread-ribon.js.map +1 -1
  20. package/dist-client/components/activity-thread-timeline.js.map +1 -1
  21. package/dist-client/grist-editor/grist-editor-activity-search-key.js.map +1 -1
  22. package/dist-client/grist-editor/popup-activity-search-keys-input.js.map +1 -1
  23. package/dist-client/pages/activity/activity-list-page.js.map +1 -1
  24. package/dist-client/pages/activity/activity-model-item-list.js.map +1 -1
  25. package/dist-client/pages/activity/activity-page.js +1 -1
  26. package/dist-client/pages/activity/activity-page.js.map +1 -1
  27. package/dist-client/pages/activity/activity-partial-view.js.map +1 -1
  28. package/dist-client/pages/activity/starter-list-page.js.map +1 -1
  29. package/dist-client/pages/activity-approval/activity-approval-importer.js.map +1 -1
  30. package/dist-client/pages/activity-approval/activity-approval-list-page.js.map +1 -1
  31. package/dist-client/pages/activity-approval/activity-approval-page.js +1 -1
  32. package/dist-client/pages/activity-approval/activity-approval-page.js.map +1 -1
  33. package/dist-client/pages/activity-instance/activity-instance-list-page.js.map +1 -1
  34. package/dist-client/pages/activity-instance/activity-instance-search-page.js.map +1 -1
  35. package/dist-client/pages/activity-instance/activity-instance-start-page.js +1 -1
  36. package/dist-client/pages/activity-instance/activity-instance-start-page.js.map +1 -1
  37. package/dist-client/pages/activity-instance/activity-instance-view.js.map +1 -1
  38. package/dist-client/pages/activity-stats/activity-stats-importer.js.map +1 -1
  39. package/dist-client/pages/activity-stats/activity-stats-list-page.js.map +1 -1
  40. package/dist-client/pages/activity-store/activity-store-page.js.map +1 -1
  41. package/dist-client/pages/activity-supervisor/reporter-list-page.js.map +1 -1
  42. package/dist-client/pages/activity-template/activity-template-importer.js.map +1 -1
  43. package/dist-client/pages/activity-template/activity-template-list-page.js.map +1 -1
  44. package/dist-client/pages/activity-template/activity-template-model-item-list.js.map +1 -1
  45. package/dist-client/pages/activity-thread/activity-thread-importer.js.map +1 -1
  46. package/dist-client/pages/activity-thread/activity-thread-list-page.js.map +1 -1
  47. package/dist-client/pages/activity-thread/activity-thread-page.js +1 -1
  48. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -1
  49. package/dist-client/pages/activity-thread/activity-thread-view-page.js +1 -1
  50. package/dist-client/pages/activity-thread/activity-thread-view-page.js.map +1 -1
  51. package/dist-client/pages/activity-thread/activity-thread-view.js.map +1 -1
  52. package/dist-client/pages/installable-activity/installable-activity-list-page.js.map +1 -1
  53. package/dist-client/pages/todo/approval-done-list-page.js.map +1 -1
  54. package/dist-client/pages/todo/approval-pending-list-page.js.map +1 -1
  55. package/dist-client/pages/todo/done-list-calendar-page.js.map +1 -1
  56. package/dist-client/pages/todo/done-list-page.js.map +1 -1
  57. package/dist-client/pages/todo/draft-list-page.js.map +1 -1
  58. package/dist-client/pages/todo/pickable-list-page.js.map +1 -1
  59. package/dist-client/pages/todo/todo-list-page.js.map +1 -1
  60. package/dist-client/route.js.map +1 -1
  61. package/dist-client/templates/activity-approval-context-template.js.map +1 -1
  62. package/dist-client/templates/activity-instance-context-template.js.map +1 -1
  63. package/dist-client/templates/activity-thread-context-template.js.map +1 -1
  64. package/dist-client/tsconfig.tsbuildinfo +1 -1
  65. package/dist-client/types/activity-instance.js.map +1 -1
  66. package/dist-client/types/activity.d.ts +1 -1
  67. package/dist-client/types/activity.js.map +1 -1
  68. package/dist-server/controllers/activity-approval/_abort.d.ts +5 -0
  69. package/dist-server/controllers/activity-approval/_abort.js +1 -2
  70. package/dist-server/controllers/activity-approval/_abort.js.map +1 -1
  71. package/dist-server/controllers/activity-approval/abort.d.ts +5 -0
  72. package/dist-server/controllers/activity-approval/abort.js +1 -2
  73. package/dist-server/controllers/activity-approval/abort.js.map +1 -1
  74. package/dist-server/controllers/activity-approval/approve.d.ts +5 -0
  75. package/dist-server/controllers/activity-approval/approve.js +1 -2
  76. package/dist-server/controllers/activity-approval/approve.js.map +1 -1
  77. package/dist-server/controllers/activity-approval/delegate.d.ts +7 -0
  78. package/dist-server/controllers/activity-approval/delegate.js +1 -2
  79. package/dist-server/controllers/activity-approval/delegate.js.map +1 -1
  80. package/dist-server/controllers/activity-approval/reject.d.ts +5 -0
  81. package/dist-server/controllers/activity-approval/reject.js +1 -2
  82. package/dist-server/controllers/activity-approval/reject.js.map +1 -1
  83. package/dist-server/controllers/activity-installation/activity-installation-controller.d.ts +18 -0
  84. package/dist-server/controllers/activity-installation/activity-installation-controller.js.map +1 -1
  85. package/dist-server/controllers/activity-installation/call-webhook.d.ts +3 -0
  86. package/dist-server/controllers/activity-installation/call-webhook.js +1 -2
  87. package/dist-server/controllers/activity-installation/call-webhook.js.map +1 -1
  88. package/dist-server/controllers/activity-instance/abort.d.ts +5 -0
  89. package/dist-server/controllers/activity-instance/abort.js +1 -2
  90. package/dist-server/controllers/activity-instance/abort.js.map +1 -1
  91. package/dist-server/controllers/activity-instance/assign.d.ts +7 -0
  92. package/dist-server/controllers/activity-instance/assign.js +1 -2
  93. package/dist-server/controllers/activity-instance/assign.js.map +1 -1
  94. package/dist-server/controllers/activity-instance/draft.d.ts +3 -0
  95. package/dist-server/controllers/activity-instance/draft.js +1 -2
  96. package/dist-server/controllers/activity-instance/draft.js.map +1 -1
  97. package/dist-server/controllers/activity-instance/end.d.ts +6 -0
  98. package/dist-server/controllers/activity-instance/end.js +1 -2
  99. package/dist-server/controllers/activity-instance/end.js.map +1 -1
  100. package/dist-server/controllers/activity-instance/index.d.ts +6 -0
  101. package/dist-server/controllers/activity-instance/issue.d.ts +3 -0
  102. package/dist-server/controllers/activity-instance/issue.js +1 -2
  103. package/dist-server/controllers/activity-instance/issue.js.map +1 -1
  104. package/dist-server/controllers/activity-instance/pick.d.ts +2 -0
  105. package/dist-server/controllers/activity-instance/pick.js +1 -2
  106. package/dist-server/controllers/activity-instance/pick.js.map +1 -1
  107. package/dist-server/controllers/activity-thread/_abort.d.ts +5 -0
  108. package/dist-server/controllers/activity-thread/_abort.js +1 -2
  109. package/dist-server/controllers/activity-thread/_abort.js.map +1 -1
  110. package/dist-server/controllers/activity-thread/abort.d.ts +5 -0
  111. package/dist-server/controllers/activity-thread/abort.js +1 -2
  112. package/dist-server/controllers/activity-thread/abort.js.map +1 -1
  113. package/dist-server/controllers/activity-thread/delegate.d.ts +7 -0
  114. package/dist-server/controllers/activity-thread/delegate.js +1 -2
  115. package/dist-server/controllers/activity-thread/delegate.js.map +1 -1
  116. package/dist-server/controllers/activity-thread/end.d.ts +6 -0
  117. package/dist-server/controllers/activity-thread/end.js +1 -2
  118. package/dist-server/controllers/activity-thread/end.js.map +1 -1
  119. package/dist-server/controllers/activity-thread/index.d.ts +7 -0
  120. package/dist-server/controllers/activity-thread/restart.d.ts +2 -0
  121. package/dist-server/controllers/activity-thread/restart.js +1 -2
  122. package/dist-server/controllers/activity-thread/restart.js.map +1 -1
  123. package/dist-server/controllers/activity-thread/save.d.ts +3 -0
  124. package/dist-server/controllers/activity-thread/save.js +1 -2
  125. package/dist-server/controllers/activity-thread/save.js.map +1 -1
  126. package/dist-server/controllers/activity-thread/start.d.ts +2 -0
  127. package/dist-server/controllers/activity-thread/start.js +1 -2
  128. package/dist-server/controllers/activity-thread/start.js.map +1 -1
  129. package/dist-server/controllers/activity-thread/submit.d.ts +6 -0
  130. package/dist-server/controllers/activity-thread/submit.js +1 -2
  131. package/dist-server/controllers/activity-thread/submit.js.map +1 -1
  132. package/dist-server/controllers/common.d.ts +20 -0
  133. package/dist-server/controllers/common.js +9 -10
  134. package/dist-server/controllers/common.js.map +1 -1
  135. package/dist-server/controllers/index.d.ts +3 -0
  136. package/dist-server/controllers/index.js +1 -0
  137. package/dist-server/controllers/index.js.map +1 -1
  138. package/dist-server/index.d.ts +3 -0
  139. package/dist-server/routes.d.ts +1 -0
  140. package/dist-server/routes.js.map +1 -1
  141. package/dist-server/service/activity/activity-history.d.ts +45 -0
  142. package/dist-server/service/activity/activity-history.js +2 -2
  143. package/dist-server/service/activity/activity-history.js.map +1 -1
  144. package/dist-server/service/activity/activity-model-type.d.ts +49 -0
  145. package/dist-server/service/activity/activity-model-type.js +6 -6
  146. package/dist-server/service/activity/activity-model-type.js.map +1 -1
  147. package/dist-server/service/activity/activity-mutation.d.ts +12 -0
  148. package/dist-server/service/activity/activity-mutation.js +2 -2
  149. package/dist-server/service/activity/activity-mutation.js.map +1 -1
  150. package/dist-server/service/activity/activity-query.d.ts +21 -0
  151. package/dist-server/service/activity/activity-query.js +2 -3
  152. package/dist-server/service/activity/activity-query.js.map +1 -1
  153. package/dist-server/service/activity/activity-search-key-item-type.d.ts +6 -0
  154. package/dist-server/service/activity/activity-search-key-item-type.js +2 -2
  155. package/dist-server/service/activity/activity-search-key-item-type.js.map +1 -1
  156. package/dist-server/service/activity/activity-type.d.ts +67 -0
  157. package/dist-server/service/activity/activity-type.js +6 -6
  158. package/dist-server/service/activity/activity-type.js.map +1 -1
  159. package/dist-server/service/activity/activity.d.ts +87 -0
  160. package/dist-server/service/activity/activity.js +11 -12
  161. package/dist-server/service/activity/activity.js.map +1 -1
  162. package/dist-server/service/activity/event-subscriber.d.ts +7 -0
  163. package/dist-server/service/activity/event-subscriber.js +2 -2
  164. package/dist-server/service/activity/event-subscriber.js.map +1 -1
  165. package/dist-server/service/activity/index.d.ts +8 -0
  166. package/dist-server/service/activity-approval/activity-approval-mutation.d.ts +8 -0
  167. package/dist-server/service/activity-approval/activity-approval-mutation.js +2 -2
  168. package/dist-server/service/activity-approval/activity-approval-mutation.js.map +1 -1
  169. package/dist-server/service/activity-approval/activity-approval-query.d.ts +17 -0
  170. package/dist-server/service/activity-approval/activity-approval-query.js +2 -2
  171. package/dist-server/service/activity-approval/activity-approval-query.js.map +1 -1
  172. package/dist-server/service/activity-approval/activity-approval-subscription.d.ts +6 -0
  173. package/dist-server/service/activity-approval/activity-approval-subscription.js +2 -2
  174. package/dist-server/service/activity-approval/activity-approval-subscription.js.map +1 -1
  175. package/dist-server/service/activity-approval/activity-approval-type.d.ts +10 -0
  176. package/dist-server/service/activity-approval/activity-approval-type.js +4 -4
  177. package/dist-server/service/activity-approval/activity-approval-type.js.map +1 -1
  178. package/dist-server/service/activity-approval/activity-approval.d.ts +37 -0
  179. package/dist-server/service/activity-approval/activity-approval.js +8 -9
  180. package/dist-server/service/activity-approval/activity-approval.js.map +1 -1
  181. package/dist-server/service/activity-approval/event-subscriber.d.ts +7 -0
  182. package/dist-server/service/activity-approval/event-subscriber.js +2 -2
  183. package/dist-server/service/activity-approval/event-subscriber.js.map +1 -1
  184. package/dist-server/service/activity-approval/index.d.ts +8 -0
  185. package/dist-server/service/activity-instance/activity-instance-history-query.d.ts +12 -0
  186. package/dist-server/service/activity-instance/activity-instance-history-query.js +2 -2
  187. package/dist-server/service/activity-instance/activity-instance-history-query.js.map +1 -1
  188. package/dist-server/service/activity-instance/activity-instance-history-type.d.ts +5 -0
  189. package/dist-server/service/activity-instance/activity-instance-history-type.js +2 -2
  190. package/dist-server/service/activity-instance/activity-instance-history-type.js.map +1 -1
  191. package/dist-server/service/activity-instance/activity-instance-history.d.ts +61 -0
  192. package/dist-server/service/activity-instance/activity-instance-history.js +2 -2
  193. package/dist-server/service/activity-instance/activity-instance-history.js.map +1 -1
  194. package/dist-server/service/activity-instance/activity-instance-mutation.d.ts +15 -0
  195. package/dist-server/service/activity-instance/activity-instance-mutation.js +2 -2
  196. package/dist-server/service/activity-instance/activity-instance-mutation.js.map +1 -1
  197. package/dist-server/service/activity-instance/activity-instance-query.d.ts +27 -0
  198. package/dist-server/service/activity-instance/activity-instance-query.js +2 -3
  199. package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
  200. package/dist-server/service/activity-instance/activity-instance-subscription.d.ts +6 -0
  201. package/dist-server/service/activity-instance/activity-instance-subscription.js +2 -2
  202. package/dist-server/service/activity-instance/activity-instance-subscription.js.map +1 -1
  203. package/dist-server/service/activity-instance/activity-instance-type.d.ts +87 -0
  204. package/dist-server/service/activity-instance/activity-instance-type.js +10 -10
  205. package/dist-server/service/activity-instance/activity-instance-type.js.map +1 -1
  206. package/dist-server/service/activity-instance/activity-instance.d.ts +75 -0
  207. package/dist-server/service/activity-instance/activity-instance.js +3 -3
  208. package/dist-server/service/activity-instance/activity-instance.js.map +1 -1
  209. package/dist-server/service/activity-instance/event-subscriber.d.ts +13 -0
  210. package/dist-server/service/activity-instance/event-subscriber.js +4 -4
  211. package/dist-server/service/activity-instance/event-subscriber.js.map +1 -1
  212. package/dist-server/service/activity-instance/index.d.ts +10 -0
  213. package/dist-server/service/activity-stats/activity-stats-query.d.ts +4 -0
  214. package/dist-server/service/activity-stats/activity-stats-query.js +4 -5
  215. package/dist-server/service/activity-stats/activity-stats-query.js.map +1 -1
  216. package/dist-server/service/activity-stats/activity-stats-type.d.ts +14 -0
  217. package/dist-server/service/activity-stats/activity-stats-type.js +3 -3
  218. package/dist-server/service/activity-stats/activity-stats-type.js.map +1 -1
  219. package/dist-server/service/activity-stats/index.d.ts +2 -0
  220. package/dist-server/service/activity-summary/activity-summary-query.d.ts +8 -0
  221. package/dist-server/service/activity-summary/activity-summary-query.js +2 -2
  222. package/dist-server/service/activity-summary/activity-summary-query.js.map +1 -1
  223. package/dist-server/service/activity-summary/activity-summary.d.ts +6 -0
  224. package/dist-server/service/activity-summary/activity-summary.js +2 -2
  225. package/dist-server/service/activity-summary/activity-summary.js.map +1 -1
  226. package/dist-server/service/activity-summary/index.d.ts +4 -0
  227. package/dist-server/service/activity-template/activity-template-history.d.ts +32 -0
  228. package/dist-server/service/activity-template/activity-template-history.js +2 -2
  229. package/dist-server/service/activity-template/activity-template-history.js.map +1 -1
  230. package/dist-server/service/activity-template/activity-template-mutation.d.ts +10 -0
  231. package/dist-server/service/activity-template/activity-template-mutation.js +2 -2
  232. package/dist-server/service/activity-template/activity-template-mutation.js.map +1 -1
  233. package/dist-server/service/activity-template/activity-template-query.d.ts +14 -0
  234. package/dist-server/service/activity-template/activity-template-query.js +2 -2
  235. package/dist-server/service/activity-template/activity-template-query.js.map +1 -1
  236. package/dist-server/service/activity-template/activity-template-type.d.ts +44 -0
  237. package/dist-server/service/activity-template/activity-template-type.js +6 -6
  238. package/dist-server/service/activity-template/activity-template-type.js.map +1 -1
  239. package/dist-server/service/activity-template/activity-template.d.ts +36 -0
  240. package/dist-server/service/activity-template/activity-template.js +3 -3
  241. package/dist-server/service/activity-template/activity-template.js.map +1 -1
  242. package/dist-server/service/activity-template/event-subscriber.d.ts +7 -0
  243. package/dist-server/service/activity-template/event-subscriber.js +2 -2
  244. package/dist-server/service/activity-template/event-subscriber.js.map +1 -1
  245. package/dist-server/service/activity-template/index.d.ts +8 -0
  246. package/dist-server/service/activity-thread/activity-thread-history-query.d.ts +10 -0
  247. package/dist-server/service/activity-thread/activity-thread-history-query.js +2 -2
  248. package/dist-server/service/activity-thread/activity-thread-history-query.js.map +1 -1
  249. package/dist-server/service/activity-thread/activity-thread-history.d.ts +39 -0
  250. package/dist-server/service/activity-thread/activity-thread-history.js +2 -2
  251. package/dist-server/service/activity-thread/activity-thread-history.js.map +1 -1
  252. package/dist-server/service/activity-thread/activity-thread-mutation.d.ts +23 -0
  253. package/dist-server/service/activity-thread/activity-thread-mutation.js +2 -2
  254. package/dist-server/service/activity-thread/activity-thread-mutation.js.map +1 -1
  255. package/dist-server/service/activity-thread/activity-thread-query.d.ts +21 -0
  256. package/dist-server/service/activity-thread/activity-thread-query.js +2 -2
  257. package/dist-server/service/activity-thread/activity-thread-query.js.map +1 -1
  258. package/dist-server/service/activity-thread/activity-thread-subscription.d.ts +6 -0
  259. package/dist-server/service/activity-thread/activity-thread-subscription.js +2 -2
  260. package/dist-server/service/activity-thread/activity-thread-subscription.js.map +1 -1
  261. package/dist-server/service/activity-thread/activity-thread-type.d.ts +15 -0
  262. package/dist-server/service/activity-thread/activity-thread-type.js +6 -6
  263. package/dist-server/service/activity-thread/activity-thread-type.js.map +1 -1
  264. package/dist-server/service/activity-thread/activity-thread.d.ts +46 -0
  265. package/dist-server/service/activity-thread/activity-thread.js +3 -3
  266. package/dist-server/service/activity-thread/activity-thread.js.map +1 -1
  267. package/dist-server/service/activity-thread/event-subscriber.d.ts +13 -0
  268. package/dist-server/service/activity-thread/event-subscriber.js +4 -4
  269. package/dist-server/service/activity-thread/event-subscriber.js.map +1 -1
  270. package/dist-server/service/activity-thread/index.d.ts +10 -0
  271. package/dist-server/service/index.d.ts +12 -0
  272. package/dist-server/service/installable-activity/index.d.ts +6 -0
  273. package/dist-server/service/installable-activity/installable-activity-mutation.d.ts +5 -0
  274. package/dist-server/service/installable-activity/installable-activity-mutation.js +2 -2
  275. package/dist-server/service/installable-activity/installable-activity-mutation.js.map +1 -1
  276. package/dist-server/service/installable-activity/installable-activity-query.d.ts +7 -0
  277. package/dist-server/service/installable-activity/installable-activity-query.js +2 -2
  278. package/dist-server/service/installable-activity/installable-activity-query.js.map +1 -1
  279. package/dist-server/service/installable-activity/installable-activity-type.d.ts +5 -0
  280. package/dist-server/service/installable-activity/installable-activity-type.js +2 -2
  281. package/dist-server/service/installable-activity/installable-activity-type.js.map +1 -1
  282. package/dist-server/service/installable-activity/installable-activity.d.ts +24 -0
  283. package/dist-server/service/installable-activity/installable-activity.js +2 -2
  284. package/dist-server/service/installable-activity/installable-activity.js.map +1 -1
  285. package/dist-server/tsconfig.tsbuildinfo +1 -1
  286. package/package.json +9 -9
  287. package/server/controllers/common.ts +1 -1
  288. package/server/controllers/index.ts +1 -0
  289. package/server/service/activity/activity-mutation.ts +1 -1
  290. package/server/service/activity/activity-query.ts +0 -1
  291. package/server/service/activity-instance/activity-instance-query.ts +0 -1
@@ -0,0 +1,2 @@
1
+ import { ActivityThread } from '../../service/activity-thread/activity-thread';
2
+ export declare function pick(id: string, context: ResolverContext): Promise<ActivityThread>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pick = void 0;
3
+ exports.pick = pick;
4
4
  const activity_instance_1 = require("../../service/activity-instance/activity-instance");
5
5
  const common_1 = require("../common");
6
6
  async function pick(id, context) {
@@ -29,5 +29,4 @@ async function pick(id, context) {
29
29
  const picked = await repository.save(Object.assign(Object.assign({}, activityInstance), { transaction: 'pick', updater: user }));
30
30
  return (await (0, common_1.createActivityThreadsForUsers)('pick', picked, [user], context))[0];
31
31
  }
32
- exports.pick = pick;
33
32
  //# sourceMappingURL=pick.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pick.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/pick.ts"],"names":[],"mappings":";;;AAAA,yFAA4G;AAE5G,sCAAyD;AAElD,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,oCAAgB,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;QACrB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IACE,gBAAgB,CAAC,KAAK,KAAK,0CAAsB,CAAC,MAAM;QACxD,gBAAgB,CAAC,KAAK,KAAK,0CAAsB,CAAC,iBAAiB,EACnE;QACA,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,gDAAgD,EAAE;YAC1D,EAAE;YACF,MAAM,EAAE,gBAAgB,CAAC,KAAK;SAC/B,CAAC,CACH,CAAA;KACF;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,sCAA6B,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAClF,CAAC;AAxCD,oBAwCC","sourcesContent":["import { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance'\nimport { ActivityThread } from '../../service/activity-thread/activity-thread'\nimport { createActivityThreadsForUsers } from '../common'\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.PendingAssignment\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"]}
1
+ {"version":3,"file":"pick.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/pick.ts"],"names":[],"mappings":";;AAIA,oBAwCC;AA5CD,yFAA4G;AAE5G,sCAAyD;AAElD,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,oCAAgB,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,0CAAsB,CAAC,MAAM;QACxD,gBAAgB,CAAC,KAAK,KAAK,0CAAsB,CAAC,iBAAiB,EACnE,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,sCAA6B,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'\nimport { ActivityThread } from '../../service/activity-thread/activity-thread'\nimport { createActivityThreadsForUsers } from '../common'\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.PendingAssignment\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';
2
+ export declare function _abort({ activityThread, reason }: {
3
+ activityThread: ActivityThread;
4
+ reason: string;
5
+ }, context: ResolverContext): Promise<ActivityThread>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._abort = void 0;
3
+ exports._abort = _abort;
4
4
  const activity_thread_1 = require("../../service/activity-thread/activity-thread");
5
5
  const activity_approval_1 = require("../../service/activity-approval/activity-approval");
6
6
  const _abort_1 = require("../activity-approval/_abort");
@@ -25,5 +25,4 @@ async function _abort({ activityThread, reason }, context) {
25
25
  }
26
26
  return await repository.save(Object.assign(Object.assign({}, activityThread), { reason, state: activity_thread_1.ActivityThreadStatus.Aborted, transaction: 'abort', updater: user, terminatedAt: new Date(), terminator: user }));
27
27
  }
28
- exports._abort = _abort;
29
28
  //# sourceMappingURL=_abort.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/_abort.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,yFAA8G;AAC9G,wDAA6E;AAEtE,KAAK,UAAU,MAAM,CAAC,EAAE,cAAc,EAAE,MAAM,EAAsD,EAAE,OAAwB;IACnI,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEjD,IAAI,iBAAiB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,CAAC;QACpE,KAAK,EAAE;YACL,cAAc,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE;YACzC,QAAQ,EAAE,4CAAwB,CAAC,OAAO;SAC3C;KACF,CAAC,CAAA;IAEF;;;MAGE;IACF,KAAK,IAAI,gBAAgB,IAAI,iBAAiB,EAAE;QAC9C,MAAM,IAAA,eAAqB,EACzB;YACE,gBAAgB;YAChB,OAAO,EAAE,MAAM;SAChB,EACD,OAAO,CACR,CAAA;KACF;IAED,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,cAAc,KACjB,MAAM,EACN,KAAK,EAAE,sCAAoB,CAAC,OAAO,EACnC,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;AACJ,CAAC;AAnCD,wBAmCC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval'\nimport { _abort as abortActivityApproval } from '../activity-approval/_abort'\n\nexport async function _abort({ activityThread, reason }: { activityThread: ActivityThread; reason: string }, context: ResolverContext): 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"]}
1
+ {"version":3,"file":"_abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/_abort.ts"],"names":[],"mappings":";;AAIA,wBAmCC;AAvCD,mFAAoG;AACpG,yFAA8G;AAC9G,wDAA6E;AAEtE,KAAK,UAAU,MAAM,CAAC,EAAE,cAAc,EAAE,MAAM,EAAsD,EAAE,OAAwB;IACnI,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEjD,IAAI,iBAAiB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,CAAC;QACpE,KAAK,EAAE;YACL,cAAc,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE;YACzC,QAAQ,EAAE,4CAAwB,CAAC,OAAO;SAC3C;KACF,CAAC,CAAA;IAEF;;;MAGE;IACF,KAAK,IAAI,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;QAC/C,MAAM,IAAA,eAAqB,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,sCAAoB,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'\nimport { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval'\nimport { _abort as abortActivityApproval } from '../activity-approval/_abort'\n\nexport async function _abort({ activityThread, reason }: { activityThread: ActivityThread; reason: string }, context: ResolverContext): 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';
2
+ export declare function abort({ id, reason }: {
3
+ id: string;
4
+ reason: string;
5
+ }, context: ResolverContext): Promise<ActivityThread>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.abort = void 0;
3
+ exports.abort = abort;
4
4
  const activity_thread_1 = require("../../service/activity-thread/activity-thread");
5
5
  const common_1 = require("../common");
6
6
  const _abort_1 = require("./_abort");
@@ -33,5 +33,4 @@ async function abort({ id, reason }, context) {
33
33
  await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [result] }, context);
34
34
  return result;
35
35
  }
36
- exports.abort = abort;
37
36
  //# sourceMappingURL=abort.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/abort.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AACvD,qCAAiC;AAE1B,KAAK,UAAU,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,EAAkC,EAAE,OAAwB;IAClG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,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;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,KAAK,EAAE;QAC9G,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,KAAK,EAAE,cAAc,CAAC,KAAK;SAC5B,CAAC,CACH,CAAA;KACF;IAED,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;QAC7B,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;KACtC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,eAAM,EAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;IAEhE,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAErG,OAAO,MAAM,CAAA;AACf,CAAC;AAxCD,sBAwCC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { updateActivityInstanceState } from '../common'\nimport { _abort } from './_abort'\n\nexport async function abort({ id, reason }: { id: string; reason: string }, context: ResolverContext): 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 /* \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"]}
1
+ {"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/abort.ts"],"names":[],"mappings":";;AAIA,sBAwCC;AA5CD,mFAAoG;AACpG,sCAAuD;AACvD,qCAAiC;AAE1B,KAAK,UAAU,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,EAAkC,EAAE,OAAwB;IAClG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,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;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,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,eAAM,EAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;IAEhE,MAAM,IAAA,oCAA2B,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'\nimport { updateActivityInstanceState } from '../common'\nimport { _abort } from './_abort'\n\nexport async function abort({ id, reason }: { id: string; reason: string }, context: ResolverContext): 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 /* \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,7 @@
1
+ import { ActivityThread } from '../../service/activity-thread/activity-thread';
2
+ export declare function delegate({ id, assignee, dueAt, reason }: {
3
+ id: string;
4
+ assignee?: object;
5
+ dueAt?: Date;
6
+ reason?: string;
7
+ }, context: ResolverContext): Promise<ActivityThread>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.delegate = void 0;
3
+ exports.delegate = delegate;
4
4
  const activity_thread_1 = require("../../service/activity-thread/activity-thread");
5
5
  const common_1 = require("../common");
6
6
  async function delegate({ id, assignee, dueAt, reason }, context) {
@@ -31,5 +31,4 @@ async function delegate({ id, assignee, dueAt, reason }, context) {
31
31
  await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [result] }, context);
32
32
  return result;
33
33
  }
34
- exports.delegate = delegate;
35
34
  //# sourceMappingURL=delegate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/delegate.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,QAAQ,CAC5B,EACE,EAAE,EACF,QAAQ,EACR,KAAK,EACL,MAAM,EAMP,EACD,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEnD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,QAAQ,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,OAAO,EAAE;QACnH,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;KACF;IAED,IAAI,KAAK,EAAE;QACT,cAAc,CAAC,KAAK,GAAG,KAAK,CAAA;KAC7B;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,iCAC/B,cAAc,KACjB,QAAQ,EACR,WAAW,EAAE,UAAU,EACvB,MAAM,EACN,KAAK,EAAE,sCAAoB,CAAC,QAAQ,EACpC,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,IAAI,IAAI,EAAE,IACtB,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAErG,OAAO,MAAM,CAAA;AACf,CAAC;AA5DD,4BA4DC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function delegate(\n {\n id,\n assignee,\n dueAt,\n reason\n }: {\n id: string\n assignee?: object\n dueAt?: Date\n reason?: string\n },\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\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 /* \n Prerequisites for a activity thread to Be Delegated.\n - The previous state of the activity thread should be assigned or started.\n */\n if (activityThread.state !== ActivityThreadStatus.Assigned && activityThread.state !== ActivityThreadStatus.Started) {\n throw new Error(\n context.t(`error.activity-thread is already terminated`, {\n id,\n actual: activityThread.state\n })\n )\n }\n\n if (dueAt) {\n activityThread.dueAt = dueAt\n }\n\n const result = await repository.save({\n ...activityThread,\n assignee,\n transaction: 'delegate',\n reason,\n state: ActivityThreadStatus.Assigned,\n updater: user,\n assignedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
1
+ {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/delegate.ts"],"names":[],"mappings":";;AAGA,4BA4DC;AA/DD,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,QAAQ,CAC5B,EACE,EAAE,EACF,QAAQ,EACR,KAAK,EACL,MAAM,EAMP,EACD,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEnD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,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;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,QAAQ,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,OAAO,EAAE,CAAC;QACpH,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,cAAc,CAAC,KAAK,GAAG,KAAK,CAAA;IAC9B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,iCAC/B,cAAc,KACjB,QAAQ,EACR,WAAW,EAAE,UAAU,EACvB,MAAM,EACN,KAAK,EAAE,sCAAoB,CAAC,QAAQ,EACpC,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,IAAI,IAAI,EAAE,IACtB,CAAA;IAEF,MAAM,IAAA,oCAA2B,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'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function delegate(\n {\n id,\n assignee,\n dueAt,\n reason\n }: {\n id: string\n assignee?: object\n dueAt?: Date\n reason?: string\n },\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\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 /* \n Prerequisites for a activity thread to Be Delegated.\n - The previous state of the activity thread should be assigned or started.\n */\n if (activityThread.state !== ActivityThreadStatus.Assigned && activityThread.state !== ActivityThreadStatus.Started) {\n throw new Error(\n context.t(`error.activity-thread is already terminated`, {\n id,\n actual: activityThread.state\n })\n )\n }\n\n if (dueAt) {\n activityThread.dueAt = dueAt\n }\n\n const result = await repository.save({\n ...activityThread,\n assignee,\n transaction: 'delegate',\n reason,\n state: ActivityThreadStatus.Assigned,\n updater: user,\n assignedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { ActivityThread } from '../../service/activity-thread/activity-thread';
2
+ export declare function end({ id, output, reason }: {
3
+ id: string;
4
+ output?: object;
5
+ reason?: string;
6
+ }, context: ResolverContext): Promise<ActivityThread>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.end = void 0;
3
+ exports.end = end;
4
4
  const activity_thread_1 = require("../../service/activity-thread/activity-thread");
5
5
  const common_1 = require("../common");
6
6
  async function end({ id, output, reason }, context) {
@@ -32,5 +32,4 @@ async function end({ id, output, reason }, context) {
32
32
  await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [activityThread] }, context);
33
33
  return activityThread;
34
34
  }
35
- exports.end = end;
36
35
  //# sourceMappingURL=end.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"end.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/end.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EAAE,OAAwB;IAC1H,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEnD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,KAAK,EAAE;QAC9G,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;KACF;IAED,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;QAC7B,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;KACtC;IAED,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,iCACjC,cAAc,KACjB,MAAM;QACN,MAAM,EACN,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,sCAAoB,CAAC,KAAK,EACjC,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,IACxB,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE7G,OAAO,cAAc,CAAA;AACvB,CAAC;AA/CD,kBA+CC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function end({ id, output, reason }: { id: string; output?: object; reason?: string }, context: ResolverContext): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\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 /* \n Prerequisites for a activity thread to Be End.\n - The previous state of the activity thread must not be End or End.\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 actual: activityThread.state\n })\n )\n }\n\n if (!activityThread.startedAt) {\n activityThread.startedAt = new Date()\n }\n\n activityThread = await repository.save({\n ...activityThread,\n reason,\n output,\n transaction: 'end',\n state: ActivityThreadStatus.Ended,\n updater: user,\n terminatedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [activityThread] }, context)\n\n return activityThread\n}\n"]}
1
+ {"version":3,"file":"end.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/end.ts"],"names":[],"mappings":";;AAGA,kBA+CC;AAlDD,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EAAE,OAAwB;IAC1H,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEnD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,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;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,KAAK,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,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,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,iCACjC,cAAc,KACjB,MAAM;QACN,MAAM,EACN,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,sCAAoB,CAAC,KAAK,EACjC,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,IACxB,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE7G,OAAO,cAAc,CAAA;AACvB,CAAC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function end({ id, output, reason }: { id: string; output?: object; reason?: string }, context: ResolverContext): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\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 /* \n Prerequisites for a activity thread to Be End.\n - The previous state of the activity thread must not be End or End.\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 actual: activityThread.state\n })\n )\n }\n\n if (!activityThread.startedAt) {\n activityThread.startedAt = new Date()\n }\n\n activityThread = await repository.save({\n ...activityThread,\n reason,\n output,\n transaction: 'end',\n state: ActivityThreadStatus.Ended,\n updater: user,\n terminatedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [activityThread] }, context)\n\n return activityThread\n}\n"]}
@@ -0,0 +1,7 @@
1
+ export * from './delegate';
2
+ export * from './abort';
3
+ export * from './end';
4
+ export * from './submit';
5
+ export * from './save';
6
+ export * from './start';
7
+ export * from './restart';
@@ -0,0 +1,2 @@
1
+ import { ActivityThread } from '../../service/activity-thread/activity-thread';
2
+ export declare function restart(id: string, output: object, reason: string, context: ResolverContext): Promise<ActivityThread>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.restart = void 0;
3
+ exports.restart = restart;
4
4
  const activity_thread_1 = require("../../service/activity-thread/activity-thread");
5
5
  const common_1 = require("../common");
6
6
  async function restart(id, output, reason, context) {
@@ -32,5 +32,4 @@ async function restart(id, output, reason, context) {
32
32
  await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [result] }, context);
33
33
  return result;
34
34
  }
35
- exports.restart = restart;
36
35
  //# sourceMappingURL=restart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/restart.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,OAAO,CAAC,EAAU,EAAE,MAAc,EAAE,MAAc,EAAE,OAAwB;IAChG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IACnD,MAAM,cAAc,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,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,QAAQ,EAAE;QAC1D,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,2CAA2C,EAAE;YACrD,EAAE;YACF,KAAK,EAAE,sCAAoB,CAAC,QAAQ;YACpC,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;KACF;IAED,IAAI,MAAM,EAAE;QACV,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;KAC/B;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCACrD,cAAc,KACjB,MAAM,EACN,KAAK,EAAE,sCAAoB,CAAC,OAAO,EACnC,WAAW,EAAE,SAAS,EACtB,KAAK,EAAE,cAAc,CAAC,KAAK,GAAG,CAAC,EAC/B,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,IAAI,IAAI,EAAE,IACrB,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAErG,OAAO,MAAM,CAAA;AACf,CAAC;AA/CD,0BA+CC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function restart(id: string, output: object, reason: string, context: ResolverContext): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n const activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\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 /* \n Prerequisites for a activity thread to Be Delegated.\n - The previous state of the activity thread should be Rejected.\n */\n if (activityThread.state !== ActivityThreadStatus.Rejected) {\n throw new Error(\n context.t(`error.activity-thread should be the state`, {\n id,\n state: ActivityThreadStatus.Rejected,\n actual: activityThread.state\n })\n )\n }\n\n if (output) {\n activityThread.output = output\n }\n\n const result = await tx.getRepository(ActivityThread).save({\n ...activityThread,\n reason,\n state: ActivityThreadStatus.Started,\n transaction: 'restart',\n round: activityThread.round + 1,\n updater: user,\n startedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
1
+ {"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/restart.ts"],"names":[],"mappings":";;AAGA,0BA+CC;AAlDD,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,OAAO,CAAC,EAAU,EAAE,MAAc,EAAE,MAAc,EAAE,OAAwB;IAChG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IACnD,MAAM,cAAc,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,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;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,2CAA2C,EAAE;YACrD,EAAE;YACF,KAAK,EAAE,sCAAoB,CAAC,QAAQ;YACpC,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCACrD,cAAc,KACjB,MAAM,EACN,KAAK,EAAE,sCAAoB,CAAC,OAAO,EACnC,WAAW,EAAE,SAAS,EACtB,KAAK,EAAE,cAAc,CAAC,KAAK,GAAG,CAAC,EAC/B,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,IAAI,IAAI,EAAE,IACrB,CAAA;IAEF,MAAM,IAAA,oCAA2B,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'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function restart(id: string, output: object, reason: string, context: ResolverContext): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n const activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\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 /* \n Prerequisites for a activity thread to Be Delegated.\n - The previous state of the activity thread should be Rejected.\n */\n if (activityThread.state !== ActivityThreadStatus.Rejected) {\n throw new Error(\n context.t(`error.activity-thread should be the state`, {\n id,\n state: ActivityThreadStatus.Rejected,\n actual: activityThread.state\n })\n )\n }\n\n if (output) {\n activityThread.output = output\n }\n\n const result = await tx.getRepository(ActivityThread).save({\n ...activityThread,\n reason,\n state: ActivityThreadStatus.Started,\n transaction: 'restart',\n round: activityThread.round + 1,\n updater: user,\n startedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import { ActivityThreadSave } from '../../service/activity-thread/activity-thread-type';
2
+ import { ActivityThread } from '../../service/activity-thread/activity-thread';
3
+ export declare function save(id: string, save: ActivityThreadSave, reason: string, context: ResolverContext): Promise<ActivityThread>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.save = void 0;
3
+ exports.save = save;
4
4
  const common_1 = require("../common");
5
5
  const activity_thread_1 = require("../../service/activity-thread/activity-thread");
6
6
  async function save(id, save, reason, context) {
@@ -32,5 +32,4 @@ async function save(id, save, reason, context) {
32
32
  await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [activityThread] }, context);
33
33
  return activityThread;
34
34
  }
35
- exports.save = save;
36
35
  //# sourceMappingURL=save.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/save.ts"],"names":[],"mappings":";;;AACA,sCAAuD;AACvD,mFAAoG;AAE7F,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,IAAwB,EAAE,MAAc,EAAE,OAAwB;IACvG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEnD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,KAAK,EAAE;QAC9G,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;KACF;IAED,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;QAC7B,8DAA8D;QAC9D,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;KACtC;IAED,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,+CACjC,cAAc,GACd,IAAI,KACP,KAAK,EAAE,sCAAoB,CAAC,OAAO,EACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,IAAI,IACb,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE7G,OAAO,cAAc,CAAA;AACvB,CAAC;AA7CD,oBA6CC","sourcesContent":["import { ActivityThreadSave } from '../../service/activity-thread/activity-thread-type'\nimport { updateActivityInstanceState } from '../common'\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\n\nexport async function save(id: string, save: ActivityThreadSave, reason: string, context: ResolverContext): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\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 /* \n Prerequisites for a activity thread to Be Saved.\n - The previous state of the activity thread must not be terminated.\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 actual: activityThread.state\n })\n )\n }\n\n if (!activityThread.startedAt) {\n /* The act of saving means automatically starting the work. */\n activityThread.startedAt = new Date()\n }\n\n activityThread = await repository.save({\n ...activityThread,\n ...save,\n state: ActivityThreadStatus.Started,\n transaction: 'save',\n updater: user\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [activityThread] }, context)\n\n return activityThread\n}\n"]}
1
+ {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/save.ts"],"names":[],"mappings":";;AAIA,oBA6CC;AAhDD,sCAAuD;AACvD,mFAAoG;AAE7F,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,IAAwB,EAAE,MAAc,EAAE,OAAwB;IACvG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEnD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,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;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,KAAK,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QAC9B,8DAA8D;QAC9D,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;IACvC,CAAC;IAED,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,+CACjC,cAAc,GACd,IAAI,KACP,KAAK,EAAE,sCAAoB,CAAC,OAAO,EACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,IAAI,IACb,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE7G,OAAO,cAAc,CAAA;AACvB,CAAC","sourcesContent":["import { ActivityThreadSave } from '../../service/activity-thread/activity-thread-type'\nimport { updateActivityInstanceState } from '../common'\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\n\nexport async function save(id: string, save: ActivityThreadSave, reason: string, context: ResolverContext): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\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 /* \n Prerequisites for a activity thread to Be Saved.\n - The previous state of the activity thread must not be terminated.\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 actual: activityThread.state\n })\n )\n }\n\n if (!activityThread.startedAt) {\n /* The act of saving means automatically starting the work. */\n activityThread.startedAt = new Date()\n }\n\n activityThread = await repository.save({\n ...activityThread,\n ...save,\n state: ActivityThreadStatus.Started,\n transaction: 'save',\n updater: user\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [activityThread] }, context)\n\n return activityThread\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { ActivityThread } from '../../service/activity-thread/activity-thread';
2
+ export declare function start(id: string, output: object, reason: string, context: ResolverContext): Promise<ActivityThread>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.start = void 0;
3
+ exports.start = start;
4
4
  const activity_thread_1 = require("../../service/activity-thread/activity-thread");
5
5
  const common_1 = require("../common");
6
6
  async function start(id, output, reason, context) {
@@ -31,5 +31,4 @@ async function start(id, output, reason, context) {
31
31
  await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [result] }, context);
32
32
  return result;
33
33
  }
34
- exports.start = start;
35
34
  //# sourceMappingURL=start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/start.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,KAAK,CAAC,EAAU,EAAE,MAAc,EAAE,MAAc,EAAE,OAAwB;IAC9F,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IACnD,MAAM,cAAc,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,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,QAAQ,EAAE;QAC1D,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;KACF;IAED,IAAI,MAAM,EAAE;QACV,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;KAC/B;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCACrD,cAAc,KACjB,MAAM,EACN,KAAK,EAAE,sCAAoB,CAAC,OAAO,EACnC,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,IAAI,IAAI,EAAE,IACrB,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAErG,OAAO,MAAM,CAAA;AACf,CAAC;AA7CD,sBA6CC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function start(id: string, output: object, reason: string, context: ResolverContext): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n const activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\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 /* \n Prerequisites for a activity thread to Be Started.\n - The previous state of the activity thread must not be terminated.\n */\n if (activityThread.state !== ActivityThreadStatus.Assigned) {\n throw new Error(\n context.t(`error.activity-thread should not be started`, {\n id,\n actual: activityThread.state\n })\n )\n }\n\n if (output) {\n activityThread.output = output\n }\n\n const result = await tx.getRepository(ActivityThread).save({\n ...activityThread,\n reason,\n state: ActivityThreadStatus.Started,\n transaction: 'start',\n updater: user,\n startedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/start.ts"],"names":[],"mappings":";;AAGA,sBA6CC;AAhDD,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,KAAK,CAAC,EAAU,EAAE,MAAc,EAAE,MAAc,EAAE,OAAwB;IAC9F,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IACnD,MAAM,cAAc,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,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;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCACrD,cAAc,KACjB,MAAM,EACN,KAAK,EAAE,sCAAoB,CAAC,OAAO,EACnC,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,IAAI,IAAI,EAAE,IACrB,CAAA;IAEF,MAAM,IAAA,oCAA2B,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'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function start(id: string, output: object, reason: string, context: ResolverContext): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n const activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\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 /* \n Prerequisites for a activity thread to Be Started.\n - The previous state of the activity thread must not be terminated.\n */\n if (activityThread.state !== ActivityThreadStatus.Assigned) {\n throw new Error(\n context.t(`error.activity-thread should not be started`, {\n id,\n actual: activityThread.state\n })\n )\n }\n\n if (output) {\n activityThread.output = output\n }\n\n const result = await tx.getRepository(ActivityThread).save({\n ...activityThread,\n reason,\n state: ActivityThreadStatus.Started,\n transaction: 'start',\n updater: user,\n startedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { ActivityThread } from '../../service/activity-thread/activity-thread';
2
+ export declare function submit({ id, output, reason }: {
3
+ id: string;
4
+ output?: object;
5
+ reason?: string;
6
+ }, context: ResolverContext): Promise<ActivityThread>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.submit = void 0;
3
+ exports.submit = submit;
4
4
  const activity_thread_1 = require("../../service/activity-thread/activity-thread");
5
5
  const activity_approval_1 = require("../../service/activity-approval/activity-approval");
6
6
  const common_1 = require("../common");
@@ -58,5 +58,4 @@ async function submit({ id, output, reason }, context) {
58
58
  await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [activityThread] }, context);
59
59
  return activityThread;
60
60
  }
61
- exports.submit = submit;
62
61
  //# sourceMappingURL=submit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/submit.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,yFAA8G;AAC9G,sCAAuF;AAGhF,KAAK,UAAU,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EAAE,OAAwB;IAC7H,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,+DAA+D;IAC/D,0DAA0D;IAE1D,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEnD,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,kBAAkB,CAAC;KAChC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,QAAQ,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,OAAO,EAAE;QACnH,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;KACF;IAED,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;QAC7B,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;KACtC;IAED,MAAM,YAAY,GAAuB,cAAc,CAAC,gBAAgB,CAAC,YAAY,CAAA;IAErF,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3C,IAAI,YAAY,GAAG,MAAM,IAAA,uCAA8B,EAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAEjF,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,yDAAyD,CAAA;SAChE;QAED,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,CAAC;YAC5C,MAAM;YACN,cAAc;YACd,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,4CAAwB,CAAC,OAAO;YAC1C,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QAEF,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,iCACjC,cAAc,KACjB,MAAM;YACN,MAAM,EACN,WAAW,EAAE,QAAQ,EACrB,KAAK,EAAE,sCAAoB,CAAC,SAAS,EACrC,OAAO,EAAE,IAAI,IACb,CAAA;KACH;SAAM;QACL,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,iCACjC,cAAc,KACjB,MAAM;YACN,MAAM,EACN,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,sCAAoB,CAAC,KAAK,EACjC,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,IAAI,EAChB,YAAY,EAAE,IAAI,IAAI,EAAE,IACxB,CAAA;KACH;IAED,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE7G,OAAO,cAAc,CAAA;AACvB,CAAC;AAnFD,wBAmFC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval'\nimport { getSystemUserFromOrgMemberItem, updateActivityInstanceState } from '../common'\nimport { ApprovalLineItem } from '@things-factory/organization'\n\nexport async function submit({ id, output, reason }: { id: string; output?: object; reason?: string }, context: ResolverContext): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n // TODO - output값 체크해서 필수필드, validation 을 만족하지 못하면, Error를 던진다.\n // 필수 필드가 빈 값인 경우나, validation 이 있는 경우에 체크하여 false가 되는 경우.\n\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['activityInstance']\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 /* \n Prerequisites for a activity thread to Be Started.\n - The previous state of the activity thread must not be terminated.\n */\n if (activityThread.state !== ActivityThreadStatus.Assigned && activityThread.state !== ActivityThreadStatus.Started) {\n throw new Error(\n context.t(`error.activity-thread should not be submitted`, {\n id,\n actual: activityThread.state\n })\n )\n }\n\n if (!activityThread.startedAt) {\n activityThread.startedAt = new Date()\n }\n\n const approvalLine: ApprovalLineItem[] = activityThread.activityInstance.approvalLine\n\n if (approvalLine && approvalLine.length > 0) {\n var approverUser = await getSystemUserFromOrgMemberItem(approvalLine[0], 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: 1,\n judgment: ActivityApprovalJudgment.Pending,\n transaction: 'submit',\n approver: approverUser,\n creator: user,\n updater: user\n })\n\n activityThread = await repository.save({\n ...activityThread,\n reason,\n output,\n transaction: 'submit',\n state: ActivityThreadStatus.Submitted,\n updater: user\n })\n } else {\n activityThread = await repository.save({\n ...activityThread,\n reason,\n output,\n transaction: 'end',\n state: ActivityThreadStatus.Ended,\n updater: user,\n terminator: user,\n terminatedAt: new Date()\n })\n }\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [activityThread] }, context)\n\n return activityThread\n}\n"]}
1
+ {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/submit.ts"],"names":[],"mappings":";;AAKA,wBAmFC;AAxFD,mFAAoG;AACpG,yFAA8G;AAC9G,sCAAuF;AAGhF,KAAK,UAAU,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EAAE,OAAwB;IAC7H,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,+DAA+D;IAC/D,0DAA0D;IAE1D,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEnD,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,kBAAkB,CAAC;KAChC,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;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,QAAQ,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,OAAO,EAAE,CAAC;QACpH,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,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,YAAY,GAAuB,cAAc,CAAC,gBAAgB,CAAC,YAAY,CAAA;IAErF,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,IAAI,YAAY,GAAG,MAAM,IAAA,uCAA8B,EAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAEjF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,yDAAyD,CAAA;QACjE,CAAC;QAED,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,CAAC;YAC5C,MAAM;YACN,cAAc;YACd,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,4CAAwB,CAAC,OAAO;YAC1C,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QAEF,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,iCACjC,cAAc,KACjB,MAAM;YACN,MAAM,EACN,WAAW,EAAE,QAAQ,EACrB,KAAK,EAAE,sCAAoB,CAAC,SAAS,EACrC,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,iCACjC,cAAc,KACjB,MAAM;YACN,MAAM,EACN,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,sCAAoB,CAAC,KAAK,EACjC,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,IAAI,EAChB,YAAY,EAAE,IAAI,IAAI,EAAE,IACxB,CAAA;IACJ,CAAC;IAED,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE7G,OAAO,cAAc,CAAA;AACvB,CAAC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval'\nimport { getSystemUserFromOrgMemberItem, updateActivityInstanceState } from '../common'\nimport { ApprovalLineItem } from '@things-factory/organization'\n\nexport async function submit({ id, output, reason }: { id: string; output?: object; reason?: string }, context: ResolverContext): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n // TODO - output값 체크해서 필수필드, validation 을 만족하지 못하면, Error를 던진다.\n // 필수 필드가 빈 값인 경우나, validation 이 있는 경우에 체크하여 false가 되는 경우.\n\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['activityInstance']\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 /* \n Prerequisites for a activity thread to Be Started.\n - The previous state of the activity thread must not be terminated.\n */\n if (activityThread.state !== ActivityThreadStatus.Assigned && activityThread.state !== ActivityThreadStatus.Started) {\n throw new Error(\n context.t(`error.activity-thread should not be submitted`, {\n id,\n actual: activityThread.state\n })\n )\n }\n\n if (!activityThread.startedAt) {\n activityThread.startedAt = new Date()\n }\n\n const approvalLine: ApprovalLineItem[] = activityThread.activityInstance.approvalLine\n\n if (approvalLine && approvalLine.length > 0) {\n var approverUser = await getSystemUserFromOrgMemberItem(approvalLine[0], 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: 1,\n judgment: ActivityApprovalJudgment.Pending,\n transaction: 'submit',\n approver: approverUser,\n creator: user,\n updater: user\n })\n\n activityThread = await repository.save({\n ...activityThread,\n reason,\n output,\n transaction: 'submit',\n state: ActivityThreadStatus.Submitted,\n updater: user\n })\n } else {\n activityThread = await repository.save({\n ...activityThread,\n reason,\n output,\n transaction: 'end',\n state: ActivityThreadStatus.Ended,\n updater: user,\n terminator: user,\n terminatedAt: new Date()\n })\n }\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [activityThread] }, context)\n\n return activityThread\n}\n"]}
@@ -0,0 +1,20 @@
1
+ import { User } from '@things-factory/auth-base';
2
+ import { ActivitySearchKeyItem } from '../service/activity/activity-search-key-item-type';
3
+ import { AssigneeItem } from '../service/activity/activity';
4
+ import { ActivityInstance } from '../service/activity-instance/activity-instance';
5
+ import { ActivityThread } from '../service/activity-thread/activity-thread';
6
+ import { ApprovalLineItem } from '@things-factory/organization';
7
+ export type UpdateActivityInstanceStateAddendum = {
8
+ causedBy?: ActivityThread[];
9
+ };
10
+ export declare function updateActivityInstanceState(id: string, { causedBy }: UpdateActivityInstanceStateAddendum, context: ResolverContext): Promise<void>;
11
+ export declare function evalActivityInstanceState(id: string, context: ResolverContext): Promise<Partial<ActivityInstance>>;
12
+ export declare function createActivityThreadForUser(transaction: string, activityInstance: ActivityInstance, assignee: User, context: ResolverContext): Promise<ActivityThread>;
13
+ export declare function createActivityThreadsForUsers(transaction: string, activityInstance: ActivityInstance, assignees: User[], context: ResolverContext): Promise<ActivityThread[]>;
14
+ export declare function createActivityThreadsForAllRoleUsers(transaction: string, activityInstance: ActivityInstance, context: ResolverContext): Promise<ActivityThread[]>;
15
+ export declare function getSystemUserFromMyDepartmentManager(context: ResolverContext): Promise<User>;
16
+ export declare function getSystemUserFromMySupervosor(context: ResolverContext): Promise<User>;
17
+ export declare function getSystemUserFromOrgMemberItem(item: AssigneeItem | ApprovalLineItem, context: ResolverContext): Promise<User>;
18
+ export declare function fillActivitySearchKeys(searchKeys: ActivitySearchKeyItem[], input: {
19
+ [key: string]: any;
20
+ }): {};
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fillActivitySearchKeys = exports.getSystemUserFromOrgMemberItem = exports.getSystemUserFromMySupervosor = exports.getSystemUserFromMyDepartmentManager = exports.createActivityThreadsForAllRoleUsers = exports.createActivityThreadsForUsers = exports.createActivityThreadForUser = exports.evalActivityInstanceState = exports.updateActivityInstanceState = void 0;
3
+ exports.updateActivityInstanceState = updateActivityInstanceState;
4
+ exports.evalActivityInstanceState = evalActivityInstanceState;
5
+ exports.createActivityThreadForUser = createActivityThreadForUser;
6
+ exports.createActivityThreadsForUsers = createActivityThreadsForUsers;
7
+ exports.createActivityThreadsForAllRoleUsers = createActivityThreadsForAllRoleUsers;
8
+ exports.getSystemUserFromMyDepartmentManager = getSystemUserFromMyDepartmentManager;
9
+ exports.getSystemUserFromMySupervosor = getSystemUserFromMySupervosor;
10
+ exports.getSystemUserFromOrgMemberItem = getSystemUserFromOrgMemberItem;
11
+ exports.fillActivitySearchKeys = fillActivitySearchKeys;
4
12
  const auth_base_1 = require("@things-factory/auth-base");
5
13
  const activity_1 = require("../service/activity/activity");
6
14
  const activity_instance_1 = require("../service/activity-instance/activity-instance");
@@ -29,7 +37,6 @@ async function updateActivityInstanceState(id, { causedBy }, context) {
29
37
  await activity_installation_controller_1.ActivityInstallations.callback(activityInstance.activity.name, activityInstance, causedBy, context);
30
38
  await tx.getRepository(activity_instance_1.ActivityInstance).save(activityInstance);
31
39
  }
32
- exports.updateActivityInstanceState = updateActivityInstanceState;
33
40
  async function evalActivityInstanceState(id, context) {
34
41
  const { tx, user } = context.state;
35
42
  const activityInstance = await tx.getRepository(activity_instance_1.ActivityInstance).findOne({
@@ -91,7 +98,6 @@ async function evalActivityInstanceState(id, context) {
91
98
  };
92
99
  }
93
100
  }
94
- exports.evalActivityInstanceState = evalActivityInstanceState;
95
101
  async function createActivityThreadForUser(transaction, activityInstance, assignee, context) {
96
102
  const { domain, user, tx } = context.state;
97
103
  const threadRepo = tx.getRepository(activity_thread_1.ActivityThread);
@@ -112,7 +118,6 @@ async function createActivityThreadForUser(transaction, activityInstance, assign
112
118
  await updateActivityInstanceState(activityInstance.id, { causedBy: [result] }, context);
113
119
  return result;
114
120
  }
115
- exports.createActivityThreadForUser = createActivityThreadForUser;
116
121
  async function createActivityThreadsForUsers(transaction, activityInstance, assignees, context) {
117
122
  const { domain, user, tx } = context.state;
118
123
  const threadRepo = tx.getRepository(activity_thread_1.ActivityThread);
@@ -137,7 +142,6 @@ async function createActivityThreadsForUsers(transaction, activityInstance, assi
137
142
  await updateActivityInstanceState(activityInstance.id, { causedBy: result }, context);
138
143
  return result;
139
144
  }
140
- exports.createActivityThreadsForUsers = createActivityThreadsForUsers;
141
145
  async function createActivityThreadsForAllRoleUsers(transaction, activityInstance, context) {
142
146
  const { tx } = context.state;
143
147
  // find how many users are having given role
@@ -152,7 +156,6 @@ async function createActivityThreadsForAllRoleUsers(transaction, activityInstanc
152
156
  // create activity-thread for all of users having given role
153
157
  return await createActivityThreadsForUsers(transaction, activityInstance, assignees, context);
154
158
  }
155
- exports.createActivityThreadsForAllRoleUsers = createActivityThreadsForAllRoleUsers;
156
159
  async function getSystemUserFromMyDepartmentManager(context) {
157
160
  const { domain, user, tx } = context.state;
158
161
  const employee = await tx.getRepository(organization_1.Employee).findOneBy({
@@ -178,7 +181,6 @@ async function getSystemUserFromMyDepartmentManager(context) {
178
181
  });
179
182
  return manager === null || manager === void 0 ? void 0 : manager.user;
180
183
  }
181
- exports.getSystemUserFromMyDepartmentManager = getSystemUserFromMyDepartmentManager;
182
184
  async function getSystemUserFromMySupervosor(context) {
183
185
  const { domain, user, tx } = context.state;
184
186
  const employee = await tx.getRepository(organization_1.Employee).findOneBy({
@@ -196,7 +198,6 @@ async function getSystemUserFromMySupervosor(context) {
196
198
  });
197
199
  return supervisor === null || supervisor === void 0 ? void 0 : supervisor.user;
198
200
  }
199
- exports.getSystemUserFromMySupervosor = getSystemUserFromMySupervosor;
200
201
  async function getSystemUserFromOrgMemberItem(item, context) {
201
202
  const { domain, user, tx } = context.state;
202
203
  const { type, approver, assignee, value } = item;
@@ -232,7 +233,6 @@ async function getSystemUserFromOrgMemberItem(item, context) {
232
233
  return await getSystemUserFromMySupervosor(context);
233
234
  }
234
235
  }
235
- exports.getSystemUserFromOrgMemberItem = getSystemUserFromOrgMemberItem;
236
236
  function fillActivitySearchKeys(searchKeys, input) {
237
237
  if (!input || typeof input !== 'object') {
238
238
  return;
@@ -245,5 +245,4 @@ function fillActivitySearchKeys(searchKeys, input) {
245
245
  return sum;
246
246
  }, {});
247
247
  }
248
- exports.fillActivitySearchKeys = fillActivitySearchKeys;
249
248
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../server/controllers/common.ts"],"names":[],"mappings":"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","sourcesContent":["import { Role, User } from '@things-factory/auth-base'\n\nimport { ActivitySearchKeyItem } from '../service/activity/activity-search-key-item-type'\nimport { AssigneeItem, MultipleInstanceType } from '../service/activity/activity'\nimport { ActivityInstance, ActivityInstanceStatus } from '../service/activity-instance/activity-instance'\nimport { ActivityThread, ActivityThreadStatus } from '../service/activity-thread/activity-thread'\nimport { Department, Employee, ApprovalLineItem, OrgMemberTargetType } from '@things-factory/organization'\nimport { ActivityInstallations } from './activity-installation/activity-installation-controller'\n\nexport type UpdateActivityInstanceStateAddendum = {\n causedBy?: ActivityThread[]\n}\n\nexport async function updateActivityInstanceState(\n id: string,\n { causedBy }: UpdateActivityInstanceStateAddendum,\n context: ResolverContext\n) {\n const { tx } = context.state\n\n var activityInstance = await tx.getRepository(ActivityInstance).findOne({\n where: { 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 activityInstance.transaction = 'thread' /* activity thread에 의해서 변경된 것임을 의미 */\n Object.assign(activityInstance, await evalActivityInstanceState(id, context))\n\n /* callback에서 업무적인 처리도 하고, activityInstance를 일부(주로 input) 수정할 수 있는 기회도 제공. */\n await ActivityInstallations.callback(activityInstance.activity.name, activityInstance, causedBy, context)\n\n await tx.getRepository(ActivityInstance).save(activityInstance)\n}\n\nexport async function evalActivityInstanceState(\n id: string,\n context: ResolverContext\n): Promise<Partial<ActivityInstance>> {\n const { tx, user } = context.state\n\n const activityInstance = await tx.getRepository(ActivityInstance).findOne({\n where: { id },\n relations: ['activityThreads', 'activity']\n })\n const { threadsMin, activityThreads, state, dueAt } = activityInstance\n\n const validThreads = activityThreads.filter(thread => thread.isValid())\n const pendingStartedThreads = activityThreads.filter(thread => thread.isPendingStarted())\n const pendingEndedThreads = activityThreads.filter(thread => thread.isPendingEnded())\n\n switch (true) {\n case state === ActivityInstanceStatus.Draft:\n case state === ActivityInstanceStatus.Ended:\n case state === ActivityInstanceStatus.Aborted:\n return {}\n case validThreads.length === 0:\n return {\n state: ActivityInstanceStatus.Issued\n }\n case threadsMin > validThreads.length:\n return {\n state: ActivityInstanceStatus.PendingAssignment\n }\n case pendingStartedThreads.length > 0:\n return {\n state: ActivityInstanceStatus.Assigned,\n assignedAt: new Date()\n }\n case pendingEndedThreads.length > 0:\n var started = !dueAt || dueAt.getTime() > Date.now()\n var changed =\n (started && state !== ActivityInstanceStatus.Started) || (!started && state !== ActivityInstanceStatus.Pending)\n\n return !changed\n ? null\n : started\n ? {\n state: ActivityInstanceStatus.Started,\n startedAt: new Date(),\n starter: user\n }\n : {\n state: ActivityInstanceStatus.Pending\n }\n default:\n return {\n state: activityThreads.some(thread => thread.state == ActivityThreadStatus.Aborted)\n ? ActivityInstanceStatus.Aborted\n : ActivityInstanceStatus.Ended,\n reason: '',\n output: [MultipleInstanceType.Parallel, MultipleInstanceType.Sequential].includes(\n activityInstance.activity.multiple\n )\n ? activityThreads\n .filter(thread => (thread.state = ActivityThreadStatus.Ended))\n .reduce((sum, thread) => {\n sum[thread.assigneeId] = thread.output\n return sum\n }, {} as any)\n : activityThreads[0].output,\n terminatedAt: new Date(),\n terminator: user\n }\n }\n}\n\nexport async function createActivityThreadForUser(\n transaction: string,\n activityInstance: ActivityInstance,\n assignee: User,\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const threadRepo = tx.getRepository(ActivityThread)\n const now = new Date()\n\n const result = await threadRepo.save({\n domain,\n assignee,\n state: ActivityThreadStatus.Assigned,\n activityInstance,\n transaction,\n output: activityInstance.output,\n dueAt: activityInstance.dueAt,\n assignedAt: now,\n creator: user,\n updater: user,\n createdAt: now\n })\n\n await updateActivityInstanceState(activityInstance.id, { causedBy: [result] }, context)\n\n return result\n}\n\nexport async function createActivityThreadsForUsers(\n transaction: string,\n activityInstance: ActivityInstance,\n assignees: User[],\n context: ResolverContext\n): Promise<ActivityThread[]> {\n const { domain, user, tx } = context.state\n\n const threadRepo = tx.getRepository(ActivityThread)\n const now = new Date()\n\n const distinct = assignees.filter((assignee, idx) => {\n return assignee && !assignees.slice(0, idx).find(x => x.id == assignee.id)\n })\n\n const result = await threadRepo.save(\n distinct.map(assignee => {\n return {\n assignee,\n state: ActivityThreadStatus.Assigned,\n activityInstance,\n domain,\n transaction,\n output: activityInstance.output,\n creator: user,\n updater: user,\n dueAt: activityInstance.dueAt,\n assignedAt: now\n } as any\n })\n )\n\n await updateActivityInstanceState(activityInstance.id, { causedBy: result }, context)\n\n return result\n}\n\nexport async function createActivityThreadsForAllRoleUsers(\n transaction: string,\n activityInstance: ActivityInstance,\n context: ResolverContext\n): Promise<ActivityThread[]> {\n const { tx } = context.state\n\n // find how many users are having given role\n const assigneeRole = (await tx.getRepository(Role).findOne({\n where: { id: activityInstance.assigneeRoleId },\n relations: ['users']\n })) as Role\n const assignees = (assigneeRole?.users || []).filter(user => user.userType == 'user')\n\n if (assignees.length === 0) {\n throw new Error(\"there's no users having given role\")\n }\n\n // create activity-thread for all of users having given role\n return await createActivityThreadsForUsers(transaction, activityInstance, assignees, context)\n}\n\nexport async function getSystemUserFromMyDepartmentManager(context: ResolverContext): Promise<User> {\n const { domain, user, tx } = context.state\n\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee || !employee.departmentId) {\n return\n }\n\n const department = await tx.getRepository(Department).findOne({\n where: {\n id: employee.departmentId\n }\n })\n\n if (!department || !department.managerId) return\n\n const manager = await tx.getRepository(Employee).findOne({\n where: {\n domain: { id: domain.id },\n id: department.managerId\n },\n relations: ['user']\n })\n\n return manager?.user\n}\n\nexport async function getSystemUserFromMySupervosor(context: ResolverContext): Promise<User> {\n const { domain, user, tx } = context.state\n\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee || !employee.supervisorId) {\n return\n }\n\n const supervisor = await tx.getRepository(Employee).findOne({\n where: {\n id: employee.supervisorId\n },\n relations: ['user']\n })\n\n return supervisor?.user\n}\n\nexport async function getSystemUserFromOrgMemberItem(\n item: AssigneeItem | ApprovalLineItem,\n context: ResolverContext\n): Promise<User> {\n const { domain, user, tx } = context.state\n\n const { type, approver, assignee, value } = item\n const id = approver?.id || assignee?.id || value\n\n if (type == OrgMemberTargetType.Employee) {\n const employee = id && (await tx.getRepository(Employee).findOne({ where: { id }, relations: ['user'] }))\n\n if (!employee || !employee.user) {\n return\n }\n return employee.user\n } else if (type == OrgMemberTargetType.Department) {\n const department = id && (await tx.getRepository(Department).findOne({ where: { id }, relations: ['manager'] }))\n\n if (!department || !department.manager) {\n return\n }\n return await tx.getRepository(User).findOneBy({ id: department.manager.userId })\n } else if (type == OrgMemberTargetType.Role) {\n const role = id && (await tx.getRepository(Role).findOne({ where: { id }, relations: ['users'] }))\n\n if (!role || !role.users || !role.users[0]) {\n return\n }\n\n return await tx.getRepository(User).findOneBy({ id: role.users[0].id })\n } else if (type == OrgMemberTargetType.Myself) {\n return user\n } else if (type == OrgMemberTargetType.MyDepartment) {\n return await getSystemUserFromMyDepartmentManager(context)\n } else if (type == OrgMemberTargetType.MySupervisor) {\n return await getSystemUserFromMySupervosor(context)\n }\n}\n\nexport function fillActivitySearchKeys(searchKeys: ActivitySearchKeyItem[], input: { [key: string]: any }) {\n if (!input || typeof input !== 'object') {\n return\n }\n\n return searchKeys?.reduce((sum, key, index) => {\n const value = input[key.inputKey]\n if (value != null) {\n sum[`key0${index + 1}`] = value instanceof Array ? value[0] : value\n }\n return sum\n }, {})\n}\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../server/controllers/common.ts"],"names":[],"mappings":"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","sourcesContent":["import { Role, User } from '@things-factory/auth-base'\n\nimport { ActivitySearchKeyItem } from '../service/activity/activity-search-key-item-type'\nimport { AssigneeItem, MultipleInstanceType } from '../service/activity/activity'\nimport { ActivityInstance, ActivityInstanceStatus } from '../service/activity-instance/activity-instance'\nimport { ActivityThread, ActivityThreadStatus } from '../service/activity-thread/activity-thread'\nimport { Department, Employee, ApprovalLineItem, OrgMemberTargetType } from '@things-factory/organization'\nimport { ActivityInstallations } from './activity-installation/activity-installation-controller'\n\nexport type UpdateActivityInstanceStateAddendum = {\n causedBy?: ActivityThread[]\n}\n\nexport async function updateActivityInstanceState(\n id: string,\n { causedBy }: UpdateActivityInstanceStateAddendum,\n context: ResolverContext\n) {\n const { tx } = context.state\n\n var activityInstance = await tx.getRepository(ActivityInstance).findOne({\n where: { 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 activityInstance.transaction = 'thread' /* activity thread에 의해서 변경된 것임을 의미 */\n Object.assign(activityInstance, await evalActivityInstanceState(id, context))\n\n /* callback에서 업무적인 처리도 하고, activityInstance를 일부(주로 input) 수정할 수 있는 기회도 제공. */\n await ActivityInstallations.callback(activityInstance.activity.name, activityInstance, causedBy, context)\n\n await tx.getRepository(ActivityInstance).save(activityInstance)\n}\n\nexport async function evalActivityInstanceState(\n id: string,\n context: ResolverContext\n): Promise<Partial<ActivityInstance>> {\n const { tx, user } = context.state\n\n const activityInstance = await tx.getRepository(ActivityInstance).findOne({\n where: { id },\n relations: ['activityThreads', 'activity']\n })\n const { threadsMin, activityThreads, state, dueAt } = activityInstance\n\n const validThreads = activityThreads.filter(thread => thread.isValid())\n const pendingStartedThreads = activityThreads.filter(thread => thread.isPendingStarted())\n const pendingEndedThreads = activityThreads.filter(thread => thread.isPendingEnded())\n\n switch (true) {\n case state === ActivityInstanceStatus.Draft:\n case state === ActivityInstanceStatus.Ended:\n case state === ActivityInstanceStatus.Aborted:\n return {}\n case validThreads.length === 0:\n return {\n state: ActivityInstanceStatus.Issued\n }\n case threadsMin > validThreads.length:\n return {\n state: ActivityInstanceStatus.PendingAssignment\n }\n case pendingStartedThreads.length > 0:\n return {\n state: ActivityInstanceStatus.Assigned,\n assignedAt: new Date()\n }\n case pendingEndedThreads.length > 0:\n var started = !dueAt || dueAt.getTime() > Date.now()\n var changed =\n (started && state !== ActivityInstanceStatus.Started) || (!started && state !== ActivityInstanceStatus.Pending)\n\n return !changed\n ? null\n : started\n ? {\n state: ActivityInstanceStatus.Started,\n startedAt: new Date(),\n starter: user\n }\n : {\n state: ActivityInstanceStatus.Pending\n }\n default:\n return {\n state: activityThreads.some(thread => thread.state == ActivityThreadStatus.Aborted)\n ? ActivityInstanceStatus.Aborted\n : ActivityInstanceStatus.Ended,\n reason: '',\n output: [MultipleInstanceType.Parallel, MultipleInstanceType.Sequential].includes(\n activityInstance.activity.multiple\n )\n ? activityThreads\n .filter(thread => (thread.state = ActivityThreadStatus.Ended))\n .reduce((sum, thread) => {\n sum[thread.assigneeId] = thread.output\n return sum\n }, {} as any)\n : activityThreads[0].output,\n terminatedAt: new Date(),\n terminator: user\n }\n }\n}\n\nexport async function createActivityThreadForUser(\n transaction: string,\n activityInstance: ActivityInstance,\n assignee: User,\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const threadRepo = tx.getRepository(ActivityThread)\n const now = new Date()\n\n const result = await threadRepo.save({\n domain,\n assignee,\n state: ActivityThreadStatus.Assigned,\n activityInstance,\n transaction,\n output: activityInstance.output,\n dueAt: activityInstance.dueAt,\n assignedAt: now,\n creator: user,\n updater: user,\n createdAt: now\n })\n\n await updateActivityInstanceState(activityInstance.id, { causedBy: [result] }, context)\n\n return result\n}\n\nexport async function createActivityThreadsForUsers(\n transaction: string,\n activityInstance: ActivityInstance,\n assignees: User[],\n context: ResolverContext\n): Promise<ActivityThread[]> {\n const { domain, user, tx } = context.state\n\n const threadRepo = tx.getRepository(ActivityThread)\n const now = new Date()\n\n const distinct = assignees.filter((assignee, idx) => {\n return assignee && !assignees.slice(0, idx).find(x => x.id == assignee.id)\n })\n\n const result = await threadRepo.save(\n distinct.map(assignee => {\n return {\n assignee,\n state: ActivityThreadStatus.Assigned,\n activityInstance,\n domain,\n transaction,\n output: activityInstance.output,\n creator: user,\n updater: user,\n dueAt: activityInstance.dueAt,\n assignedAt: now\n } as any\n })\n )\n\n await updateActivityInstanceState(activityInstance.id, { causedBy: result }, context)\n\n return result\n}\n\nexport async function createActivityThreadsForAllRoleUsers(\n transaction: string,\n activityInstance: ActivityInstance,\n context: ResolverContext\n): Promise<ActivityThread[]> {\n const { tx } = context.state\n\n // find how many users are having given role\n const assigneeRole = (await tx.getRepository(Role).findOne({\n where: { id: activityInstance.assigneeRoleId },\n relations: ['users']\n })) as Role\n const assignees = (assigneeRole?.users || []).filter(user => user.userType == 'user')\n\n if (assignees.length === 0) {\n throw new Error(\"there's no users having given role\")\n }\n\n // create activity-thread for all of users having given role\n return await createActivityThreadsForUsers(transaction, activityInstance, assignees, context)\n}\n\nexport async function getSystemUserFromMyDepartmentManager(context: ResolverContext): Promise<User> {\n const { domain, user, tx } = context.state\n\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee || !employee.departmentId) {\n return\n }\n\n const department = await tx.getRepository(Department).findOne({\n where: {\n id: employee.departmentId\n }\n })\n\n if (!department || !department.managerId) return\n\n const manager = await tx.getRepository(Employee).findOne({\n where: {\n domain: { id: domain.id },\n id: department.managerId\n },\n relations: ['user']\n })\n\n return manager?.user\n}\n\nexport async function getSystemUserFromMySupervosor(context: ResolverContext): Promise<User> {\n const { domain, user, tx } = context.state\n\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee || !employee.supervisorId) {\n return\n }\n\n const supervisor = await tx.getRepository(Employee).findOne({\n where: {\n id: employee.supervisorId\n },\n relations: ['user']\n })\n\n return supervisor?.user\n}\n\nexport async function getSystemUserFromOrgMemberItem(\n item: AssigneeItem | ApprovalLineItem,\n context: ResolverContext\n): Promise<User> {\n const { domain, user, tx } = context.state\n\n const { type, approver, assignee, value } = item as any\n const id = approver?.id || assignee?.id || value\n\n if (type == OrgMemberTargetType.Employee) {\n const employee = id && (await tx.getRepository(Employee).findOne({ where: { id }, relations: ['user'] }))\n\n if (!employee || !employee.user) {\n return\n }\n return employee.user\n } else if (type == OrgMemberTargetType.Department) {\n const department = id && (await tx.getRepository(Department).findOne({ where: { id }, relations: ['manager'] }))\n\n if (!department || !department.manager) {\n return\n }\n return await tx.getRepository(User).findOneBy({ id: department.manager.userId })\n } else if (type == OrgMemberTargetType.Role) {\n const role = id && (await tx.getRepository(Role).findOne({ where: { id }, relations: ['users'] }))\n\n if (!role || !role.users || !role.users[0]) {\n return\n }\n\n return await tx.getRepository(User).findOneBy({ id: role.users[0].id })\n } else if (type == OrgMemberTargetType.Myself) {\n return user\n } else if (type == OrgMemberTargetType.MyDepartment) {\n return await getSystemUserFromMyDepartmentManager(context)\n } else if (type == OrgMemberTargetType.MySupervisor) {\n return await getSystemUserFromMySupervosor(context)\n }\n}\n\nexport function fillActivitySearchKeys(searchKeys: ActivitySearchKeyItem[], input: { [key: string]: any }) {\n if (!input || typeof input !== 'object') {\n return\n }\n\n return searchKeys?.reduce((sum, key, index) => {\n const value = input[key.inputKey]\n if (value != null) {\n sum[`key0${index + 1}`] = value instanceof Array ? value[0] : value\n }\n return sum\n }, {})\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export * from './activity-installation/activity-installation-controller';
2
+ export * from './activity-instance';
3
+ export * from './common';
@@ -3,4 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./activity-installation/activity-installation-controller"), exports);
5
5
  tslib_1.__exportStar(require("./activity-instance"), exports);
6
+ tslib_1.__exportStar(require("./common"), exports);
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/controllers/index.ts"],"names":[],"mappings":";;;AAAA,mGAAwE;AACxE,8DAAmC","sourcesContent":["export * from './activity-installation/activity-installation-controller'\nexport * from './activity-instance'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/controllers/index.ts"],"names":[],"mappings":";;;AAAA,mGAAwE;AACxE,8DAAmC;AACnC,mDAAwB","sourcesContent":["export * from './activity-installation/activity-installation-controller'\nexport * from './activity-instance'\nexport * from './common'"]}
@@ -0,0 +1,3 @@
1
+ import './routes';
2
+ export * from './controllers';
3
+ export * from './service';
@@ -0,0 +1 @@
1
+ export {};