@things-factory/worklist 5.0.14 → 6.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/client/components/activity-/{bowner-view.js → bowner-view.ts} +27 -34
  2. package/client/components/{activity-instance-preview.js → activity-instance-preview.ts} +38 -50
  3. package/client/components/{activity-reporter-view.js → activity-reporter-view.ts} +27 -39
  4. package/client/components/{activity-starter-form.js → activity-starter-form.ts} +53 -68
  5. package/client/pages/activity/activity-list-page.ts +4 -3
  6. package/client/pages/activity/{activity-model-item-list.js → activity-model-item-list.ts} +11 -18
  7. package/client/pages/activity/{activity-page.js → activity-page.ts} +36 -40
  8. package/client/pages/activity/{starter-list-page.js → starter-list-page.ts} +15 -20
  9. package/client/pages/activity-instance/{activity-instance-list-page.js → activity-instance-list-page.ts} +22 -30
  10. package/client/pages/activity-instance/{activity-instance-page.js → activity-instance-page.ts} +36 -41
  11. package/client/pages/activity-store/{activity-store-page.js → activity-store-page.ts} +22 -29
  12. package/client/pages/activity-supervisor/{reporter-list-page.js → reporter-list-page.ts} +14 -21
  13. package/client/pages/activity-template/{activity-template-importer.js → activity-template-importer.ts} +32 -38
  14. package/client/pages/activity-template/{activity-template-list-page.js → activity-template-list-page.ts} +30 -37
  15. package/client/pages/activity-template/{activity-template-model-item-list.js → activity-template-model-item-list.ts} +5 -4
  16. package/client/pages/activity-thread/{activity-thread-importer.js → activity-thread-importer.ts} +32 -37
  17. package/client/pages/activity-thread/{activity-thread-list-page.js → activity-thread-list-page.ts} +20 -27
  18. package/client/pages/activity-thread/{activity-thread-page.js → activity-thread-page.ts} +36 -40
  19. package/client/pages/dashboard/{dashboard-home.js → dashboard-home.ts} +3 -7
  20. package/client/pages/todo/{assigned-list-page.js → assigned-list-page.ts} +13 -20
  21. package/client/pages/todo/{draft-list-page.js → draft-list-page.ts} +13 -20
  22. package/client/pages/todo/{pickable-list-page.js → pickable-list-page.ts} +13 -20
  23. package/client/pages/todo/{todo-list-page.js → todo-list-page.ts} +12 -19
  24. package/client/pages/worklist-home.ts +1 -1
  25. package/dist-client/components/activity-/bowner-view.d.ts +1 -1
  26. package/dist-client/components/activity-/bowner-view.js +44 -36
  27. package/dist-client/components/activity-/bowner-view.js.map +1 -1
  28. package/dist-client/components/activity-instance-preview.d.ts +2 -1
  29. package/dist-client/components/activity-instance-preview.js +58 -51
  30. package/dist-client/components/activity-instance-preview.js.map +1 -1
  31. package/dist-client/components/activity-reporter-view.d.ts +1 -1
  32. package/dist-client/components/activity-reporter-view.js +44 -37
  33. package/dist-client/components/activity-reporter-view.js.map +1 -1
  34. package/dist-client/components/activity-starter-form.d.ts +16 -0
  35. package/dist-client/components/activity-starter-form.js +68 -67
  36. package/dist-client/components/activity-starter-form.js.map +1 -1
  37. package/dist-client/pages/activity/activity-list-page.d.ts +1 -0
  38. package/dist-client/pages/activity/activity-list-page.js +7 -4
  39. package/dist-client/pages/activity/activity-list-page.js.map +1 -1
  40. package/dist-client/pages/activity/activity-model-item-list.d.ts +13 -180
  41. package/dist-client/pages/activity/activity-model-item-list.js +52 -44
  42. package/dist-client/pages/activity/activity-model-item-list.js.map +1 -1
  43. package/dist-client/pages/activity/activity-page.d.ts +29 -22
  44. package/dist-client/pages/activity/activity-page.js +53 -44
  45. package/dist-client/pages/activity/activity-page.js.map +1 -1
  46. package/dist-client/pages/activity/starter-list-page.d.ts +14 -120
  47. package/dist-client/pages/activity/starter-list-page.js +47 -31
  48. package/dist-client/pages/activity/starter-list-page.js.map +1 -1
  49. package/dist-client/pages/activity-instance/activity-instance-list-page.d.ts +9 -114
  50. package/dist-client/pages/activity-instance/activity-instance-list-page.js +40 -30
  51. package/dist-client/pages/activity-instance/activity-instance-list-page.js.map +1 -1
  52. package/dist-client/pages/activity-instance/activity-instance-page.d.ts +22 -22
  53. package/dist-client/pages/activity-instance/activity-instance-page.js +57 -44
  54. package/dist-client/pages/activity-instance/activity-instance-page.js.map +1 -1
  55. package/dist-client/pages/activity-store/activity-store-page.d.ts +23 -150
  56. package/dist-client/pages/activity-store/activity-store-page.js +40 -31
  57. package/dist-client/pages/activity-store/activity-store-page.js.map +1 -1
  58. package/dist-client/pages/activity-supervisor/reporter-list-page.d.ts +13 -120
  59. package/dist-client/pages/activity-supervisor/reporter-list-page.js +47 -31
  60. package/dist-client/pages/activity-supervisor/reporter-list-page.js.map +1 -1
  61. package/dist-client/pages/activity-template/activity-template-importer.d.ts +7 -21
  62. package/dist-client/pages/activity-template/activity-template-importer.js +42 -36
  63. package/dist-client/pages/activity-template/activity-template-importer.js.map +1 -1
  64. package/dist-client/pages/activity-template/activity-template-list-page.d.ts +17 -218
  65. package/dist-client/pages/activity-template/activity-template-list-page.js +58 -37
  66. package/dist-client/pages/activity-template/activity-template-list-page.js.map +1 -1
  67. package/dist-client/pages/activity-template/activity-template-model-item-list.js +10 -5
  68. package/dist-client/pages/activity-template/activity-template-model-item-list.js.map +1 -1
  69. package/dist-client/pages/activity-thread/activity-thread-importer.d.ts +7 -21
  70. package/dist-client/pages/activity-thread/activity-thread-importer.js +42 -36
  71. package/dist-client/pages/activity-thread/activity-thread-importer.js.map +1 -1
  72. package/dist-client/pages/activity-thread/activity-thread-list-page.d.ts +16 -100
  73. package/dist-client/pages/activity-thread/activity-thread-list-page.js +55 -36
  74. package/dist-client/pages/activity-thread/activity-thread-list-page.js.map +1 -1
  75. package/dist-client/pages/activity-thread/activity-thread-page.d.ts +26 -19
  76. package/dist-client/pages/activity-thread/activity-thread-page.js +53 -44
  77. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -1
  78. package/dist-client/pages/dashboard/dashboard-home.js +8 -7
  79. package/dist-client/pages/dashboard/dashboard-home.js.map +1 -1
  80. package/dist-client/pages/todo/assigned-list-page.d.ts +12 -100
  81. package/dist-client/pages/todo/assigned-list-page.js +45 -30
  82. package/dist-client/pages/todo/assigned-list-page.js.map +1 -1
  83. package/dist-client/pages/todo/draft-list-page.d.ts +13 -174
  84. package/dist-client/pages/todo/draft-list-page.js +46 -30
  85. package/dist-client/pages/todo/draft-list-page.js.map +1 -1
  86. package/dist-client/pages/todo/pickable-list-page.d.ts +13 -126
  87. package/dist-client/pages/todo/pickable-list-page.js +46 -30
  88. package/dist-client/pages/todo/pickable-list-page.js.map +1 -1
  89. package/dist-client/pages/todo/todo-list-page.d.ts +12 -206
  90. package/dist-client/pages/todo/todo-list-page.js +44 -30
  91. package/dist-client/pages/todo/todo-list-page.js.map +1 -1
  92. package/dist-client/pages/worklist-home.js +1 -1
  93. package/dist-client/pages/worklist-home.js.map +1 -1
  94. package/dist-client/route.d.ts +1 -1
  95. package/dist-client/tsconfig.tsbuildinfo +1 -1
  96. package/dist-server/controllers/activity-instance/abort.js +4 -3
  97. package/dist-server/controllers/activity-instance/abort.js.map +1 -1
  98. package/dist-server/controllers/activity-instance/adjust.js +2 -1
  99. package/dist-server/controllers/activity-instance/adjust.js.map +1 -1
  100. package/dist-server/controllers/activity-instance/assign.js +3 -3
  101. package/dist-server/controllers/activity-instance/assign.js.map +1 -1
  102. package/dist-server/controllers/activity-instance/delegate.js +4 -3
  103. package/dist-server/controllers/activity-instance/delegate.js.map +1 -1
  104. package/dist-server/controllers/activity-instance/draft.js +3 -3
  105. package/dist-server/controllers/activity-instance/draft.js.map +1 -1
  106. package/dist-server/controllers/activity-instance/end.js +4 -3
  107. package/dist-server/controllers/activity-instance/end.js.map +1 -1
  108. package/dist-server/controllers/activity-instance/pick.js +4 -3
  109. package/dist-server/controllers/activity-instance/pick.js.map +1 -1
  110. package/dist-server/controllers/activity-instance/post.js +17 -3
  111. package/dist-server/controllers/activity-instance/post.js.map +1 -1
  112. package/dist-server/controllers/activity-instance/start.js +2 -1
  113. package/dist-server/controllers/activity-instance/start.js.map +1 -1
  114. package/dist-server/controllers/activity-instance/terminate.js +4 -3
  115. package/dist-server/controllers/activity-instance/terminate.js.map +1 -1
  116. package/dist-server/controllers/activity-thread/abort.js +4 -3
  117. package/dist-server/controllers/activity-thread/abort.js.map +1 -1
  118. package/dist-server/controllers/activity-thread/adjust.js +2 -1
  119. package/dist-server/controllers/activity-thread/adjust.js.map +1 -1
  120. package/dist-server/controllers/activity-thread/delegate.js +4 -3
  121. package/dist-server/controllers/activity-thread/delegate.js.map +1 -1
  122. package/dist-server/controllers/activity-thread/end.js +4 -3
  123. package/dist-server/controllers/activity-thread/end.js.map +1 -1
  124. package/dist-server/controllers/activity-thread/save.js +2 -1
  125. package/dist-server/controllers/activity-thread/save.js.map +1 -1
  126. package/dist-server/controllers/activity-thread/start.js +2 -1
  127. package/dist-server/controllers/activity-thread/start.js.map +1 -1
  128. package/dist-server/controllers/activity-thread/terminate.js +4 -3
  129. package/dist-server/controllers/activity-thread/terminate.js.map +1 -1
  130. package/dist-server/controllers/common.js +8 -4
  131. package/dist-server/controllers/common.js.map +1 -1
  132. package/dist-server/service/activity/activity-history.js +6 -7
  133. package/dist-server/service/activity/activity-history.js.map +1 -1
  134. package/dist-server/service/activity/activity-mutation.js +10 -4
  135. package/dist-server/service/activity/activity-mutation.js.map +1 -1
  136. package/dist-server/service/activity/activity-query.js +18 -19
  137. package/dist-server/service/activity/activity-query.js.map +1 -1
  138. package/dist-server/service/activity/activity-type.js +6 -7
  139. package/dist-server/service/activity/activity-type.js.map +1 -1
  140. package/dist-server/service/activity/activity.js +6 -7
  141. package/dist-server/service/activity/activity.js.map +1 -1
  142. package/dist-server/service/activity-instance/activity-instance-history.js +7 -8
  143. package/dist-server/service/activity-instance/activity-instance-history.js.map +1 -1
  144. package/dist-server/service/activity-instance/activity-instance-mutation.js +2 -2
  145. package/dist-server/service/activity-instance/activity-instance-mutation.js.map +1 -1
  146. package/dist-server/service/activity-instance/activity-instance-query.js +24 -25
  147. package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
  148. package/dist-server/service/activity-instance/activity-instance-subscription.js +1 -2
  149. package/dist-server/service/activity-instance/activity-instance-subscription.js.map +1 -1
  150. package/dist-server/service/activity-instance/activity-instance-type.js +4 -5
  151. package/dist-server/service/activity-instance/activity-instance-type.js.map +1 -1
  152. package/dist-server/service/activity-instance/activity-instance.js +7 -8
  153. package/dist-server/service/activity-instance/activity-instance.js.map +1 -1
  154. package/dist-server/service/activity-instance/event-subscriber.js +0 -5
  155. package/dist-server/service/activity-instance/event-subscriber.js.map +1 -1
  156. package/dist-server/service/activity-template/activity-template-history.js +3 -4
  157. package/dist-server/service/activity-template/activity-template-history.js.map +1 -1
  158. package/dist-server/service/activity-template/activity-template-mutation.js +4 -4
  159. package/dist-server/service/activity-template/activity-template-mutation.js.map +1 -1
  160. package/dist-server/service/activity-template/activity-template-query.js +9 -11
  161. package/dist-server/service/activity-template/activity-template-query.js.map +1 -1
  162. package/dist-server/service/activity-template/activity-template.js +3 -4
  163. package/dist-server/service/activity-template/activity-template.js.map +1 -1
  164. package/dist-server/service/activity-thread/activity-thread-mutation.js +10 -6
  165. package/dist-server/service/activity-thread/activity-thread-mutation.js.map +1 -1
  166. package/dist-server/service/activity-thread/activity-thread-query.js +11 -13
  167. package/dist-server/service/activity-thread/activity-thread-query.js.map +1 -1
  168. package/dist-server/service/activity-thread/activity-thread.js +4 -5
  169. package/dist-server/service/activity-thread/activity-thread.js.map +1 -1
  170. package/dist-server/service/activity-thread/event-subscriber.js +15 -3
  171. package/dist-server/service/activity-thread/event-subscriber.js.map +1 -1
  172. package/dist-server/tsconfig.tsbuildinfo +1 -1
  173. package/package.json +7 -7
  174. package/server/controllers/activity-instance/abort.ts +7 -3
  175. package/server/controllers/activity-instance/adjust.ts +7 -2
  176. package/server/controllers/activity-instance/assign.ts +3 -3
  177. package/server/controllers/activity-instance/delegate.ts +3 -2
  178. package/server/controllers/activity-instance/draft.ts +6 -3
  179. package/server/controllers/activity-instance/end.ts +3 -2
  180. package/server/controllers/activity-instance/pick.ts +4 -3
  181. package/server/controllers/activity-instance/post.ts +21 -4
  182. package/server/controllers/activity-instance/start.ts +3 -2
  183. package/server/controllers/activity-instance/terminate.ts +3 -2
  184. package/server/controllers/activity-thread/abort.ts +7 -3
  185. package/server/controllers/activity-thread/adjust.ts +7 -2
  186. package/server/controllers/activity-thread/delegate.ts +3 -2
  187. package/server/controllers/activity-thread/end.ts +3 -2
  188. package/server/controllers/activity-thread/save.ts +3 -2
  189. package/server/controllers/activity-thread/start.ts +8 -2
  190. package/server/controllers/activity-thread/terminate.ts +3 -2
  191. package/server/controllers/common.ts +15 -11
  192. package/server/service/activity/activity-mutation.ts +19 -10
  193. package/server/service/activity/activity-query.ts +14 -14
  194. package/server/service/activity-instance/activity-instance-mutation.ts +8 -8
  195. package/server/service/activity-instance/activity-instance-query.ts +27 -21
  196. package/server/service/activity-instance/activity-instance-subscription.ts +1 -2
  197. package/server/service/activity-instance/event-subscriber.ts +0 -6
  198. package/server/service/activity-template/activity-template-mutation.ts +13 -10
  199. package/server/service/activity-template/activity-template-query.ts +8 -9
  200. package/server/service/activity-thread/activity-thread-mutation.ts +22 -15
  201. package/server/service/activity-thread/activity-thread-query.ts +10 -11
  202. package/server/service/activity-thread/event-subscriber.ts +15 -3
  203. package/translations/en.json +3 -0
  204. package/translations/ko.json +3 -0
  205. package/translations/ms.json +3 -0
  206. package/translations/zh.json +3 -0
@@ -7,7 +7,8 @@ async function adjust(id, patch, context) {
7
7
  const { domain, user, tx } = context.state;
8
8
  const repository = tx.getRepository(activity_instance_1.ActivityInstance);
9
9
  const activityInstance = await repository.findOne({
10
- where: { domain, id }
10
+ where: { domain: { id: domain.id }, id },
11
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
11
12
  });
12
13
  return await repository.save(Object.assign(Object.assign(Object.assign({}, activityInstance), patch), { transaction: 'adjust', state: await (0, common_1.evalActivityInstanceState)(id, context), updater: user }));
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adjust.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/adjust.ts"],"names":[],"mappings":";;;AAAA,yFAAoF;AAEpF,sCAAqD;AAE9C,KAAK,UAAU,MAAM,CAAC,EAAU,EAAE,KAA4B,EAAE,OAAY;IACjF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IACrD,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAChD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KACtB,CAAC,CAAA;IAEF,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,gBAAgB,GAChB,KAAK,KACR,WAAW,EAAE,QAAQ,EACrB,KAAK,EAAE,MAAM,IAAA,kCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,IAAI,IACb,CAAA;AACJ,CAAC;AAfD,wBAeC","sourcesContent":["import { ActivityInstance } from '../../service/activity-instance/activity-instance'\nimport { ActivityInstancePatch } from '../../service/activity-instance/activity-instance-type'\nimport { evalActivityInstanceState } from '../common'\n\nexport async function adjust(id: string, patch: ActivityInstancePatch, context: any): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityInstance)\n const activityInstance = await repository.findOne({\n where: { domain, id }\n })\n\n return await repository.save({\n ...activityInstance,\n ...patch,\n transaction: 'adjust',\n state: await evalActivityInstanceState(id, context),\n updater: user\n })\n}\n"]}
1
+ {"version":3,"file":"adjust.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/adjust.ts"],"names":[],"mappings":";;;AAAA,yFAAoF;AAEpF,sCAAqD;AAE9C,KAAK,UAAU,MAAM,CAC1B,EAAU,EACV,KAA4B,EAC5B,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IACrD,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAChD,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,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,gBAAgB,GAChB,KAAK,KACR,WAAW,EAAE,QAAQ,EACrB,KAAK,EAAE,MAAM,IAAA,kCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,IAAI,IACb,CAAA;AACJ,CAAC;AApBD,wBAoBC","sourcesContent":["import { ActivityInstance } from '../../service/activity-instance/activity-instance'\nimport { ActivityInstancePatch } from '../../service/activity-instance/activity-instance-type'\nimport { evalActivityInstanceState } from '../common'\n\nexport async function adjust(\n id: string,\n patch: ActivityInstancePatch,\n context: ResolverContext\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityInstance)\n const activityInstance = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']\n })\n\n return await repository.save({\n ...activityInstance,\n ...patch,\n transaction: 'adjust',\n state: await evalActivityInstanceState(id, context),\n updater: user\n })\n}\n"]}
@@ -9,8 +9,8 @@ async function assign({ id, assignees, reason, dueAt }, context) {
9
9
  const { domain, user, tx } = context.state;
10
10
  const repository = tx.getRepository(activity_instance_1.ActivityInstance);
11
11
  var activityInstance = await repository.findOne({
12
- where: { domain, id },
13
- relations: ['assigneeRole', 'supervisoryRole']
12
+ where: { domain: { id: domain.id }, id },
13
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
14
14
  });
15
15
  if (!activityInstance) {
16
16
  throw new Error(context.t('error.activity-instance not found', {
@@ -24,7 +24,7 @@ async function assign({ id, assignees, reason, dueAt }, context) {
24
24
  email: (0, typeorm_1.In)(assignees)
25
25
  });
26
26
  await (0, common_1.createActivityThreadsForUsers)('assign', activityInstance, assignedUsers, context);
27
- return await tx.getRepository(activity_instance_1.ActivityInstance).findOne(activityInstance.id);
27
+ return await tx.getRepository(activity_instance_1.ActivityInstance).findOneBy({ id: activityInstance.id });
28
28
  }
29
29
  exports.assign = assign;
30
30
  //# sourceMappingURL=assign.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assign.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/assign.ts"],"names":[],"mappings":";;;AAAA,qCAA4B;AAE5B,yDAAgD;AAEhD,yFAAoF;AACpF,sCAAyD;AAElD,KAAK,UAAU,MAAM,CAC1B,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAuE,EACrG,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,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;QACrB,SAAS,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;KAC/C,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,IAAI,KAAK,EAAE;QACT,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAA;KAC/B;IAED,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,IAAI,CAAC;QACtD,KAAK,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC;KACrB,CAAC,CAAA;IAEF,MAAM,IAAA,sCAA6B,EAAC,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;IAEvF,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;AAC9E,CAAC;AAhCD,wBAgCC","sourcesContent":["import { In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\n\nimport { ActivityInstance } from '../../service/activity-instance/activity-instance'\nimport { createActivityThreadsForUsers } from '../common'\n\nexport async function assign(\n { id, assignees, reason, dueAt }: { id: string; assignees?: string[]; reason?: string; dueAt?: Date },\n context: any\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityInstance)\n\n var activityInstance = await repository.findOne({\n where: { domain, id },\n relations: ['assigneeRole', 'supervisoryRole']\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 if (dueAt) {\n activityInstance.dueAt = dueAt\n }\n\n const assignedUsers = await tx.getRepository(User).find({\n email: In(assignees)\n })\n\n await createActivityThreadsForUsers('assign', activityInstance, assignedUsers, context)\n\n return await tx.getRepository(ActivityInstance).findOne(activityInstance.id)\n}\n"]}
1
+ {"version":3,"file":"assign.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/assign.ts"],"names":[],"mappings":";;;AAAA,qCAA4B;AAE5B,yDAAgD;AAEhD,yFAAoF;AACpF,sCAAyD;AAElD,KAAK,UAAU,MAAM,CAC1B,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAuE,EACrG,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,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,IAAI,KAAK,EAAE;QACT,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAA;KAC/B;IAED,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,IAAI,CAAC;QACtD,KAAK,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC;KACrB,CAAC,CAAA;IAEF,MAAM,IAAA,sCAA6B,EAAC,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;IAEvF,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAA;AACxF,CAAC;AAhCD,wBAgCC","sourcesContent":["import { In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\n\nimport { ActivityInstance } from '../../service/activity-instance/activity-instance'\nimport { createActivityThreadsForUsers } from '../common'\n\nexport async function assign(\n { id, assignees, reason, dueAt }: { id: string; assignees?: string[]; reason?: string; dueAt?: Date },\n context: any\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityInstance)\n\n var activityInstance = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']\n })\n\n if (!activityInstance) {\n throw new Error(\n context.t('error.activity-instance not found', {\n activityInstance: id\n })\n )\n }\n\n if (dueAt) {\n activityInstance.dueAt = dueAt\n }\n\n const assignedUsers = await tx.getRepository(User).find({\n email: In(assignees)\n })\n\n await createActivityThreadsForUsers('assign', activityInstance, assignedUsers, context)\n\n return await tx.getRepository(ActivityInstance).findOneBy({ id: activityInstance.id })\n}\n"]}
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.delegate = void 0;
4
- const typeorm_1 = require("typeorm");
4
+ const shell_1 = require("@things-factory/shell");
5
5
  const activity_instance_1 = require("../../service/activity-instance/activity-instance");
6
6
  const common_1 = require("../common");
7
7
  async function delegate({ id, assigneeRole, dueAt, reason }, context) {
8
8
  const { domain, user, tx } = context.state;
9
- const repository = (0, typeorm_1.getRepository)(activity_instance_1.ActivityInstance);
9
+ const repository = (0, shell_1.getRepository)(activity_instance_1.ActivityInstance);
10
10
  var activityInstance = await repository.findOne({
11
- where: { domain, id }
11
+ where: { domain: { id: domain.id }, id },
12
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
12
13
  });
13
14
  if (!activityInstance) {
14
15
  throw new Error(context.t('error.activity-instance not found', {
@@ -1 +1 @@
1
- {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/delegate.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC,yFAAoF;AACpF,sCAAqD;AAE9C,KAAK,UAAU,QAAQ,CAC5B,EACE,EAAE,EACF,YAAY,EACZ,KAAK,EACL,MAAM,EAMP,EACD,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,oCAAgB,CAAC,CAAA;IAElD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KACtB,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,IAAI,KAAK,EAAE;QACT,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAA;KAC/B;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,iCAC/C,gBAAgB,KACnB,MAAM;QACN,YAAY,EACZ,WAAW,EAAE,UAAU,EACvB,KAAK,EAAE,MAAM,IAAA,kCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,IAAI,IAAI,EAAE,IACtB,CAAA;AACJ,CAAC;AA3CD,4BA2CC","sourcesContent":["import { getRepository } from 'typeorm'\n\nimport { ActivityInstance } from '../../service/activity-instance/activity-instance'\nimport { evalActivityInstanceState } from '../common'\n\nexport async function delegate(\n {\n id,\n assigneeRole,\n dueAt,\n reason\n }: {\n id: string\n assigneeRole?: object\n dueAt?: Date\n reason?: string\n },\n context: any\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n\n const repository = getRepository(ActivityInstance)\n\n var activityInstance = await repository.findOne({\n where: { domain, id }\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 if (dueAt) {\n activityInstance.dueAt = dueAt\n }\n\n return await tx.getRepository(ActivityInstance).save({\n ...activityInstance,\n reason,\n assigneeRole,\n transaction: 'delegate',\n state: await evalActivityInstanceState(id, context),\n updater: user,\n assignedAt: new Date()\n })\n}\n"]}
1
+ {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/delegate.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,yFAAoF;AACpF,sCAAqD;AAE9C,KAAK,UAAU,QAAQ,CAC5B,EACE,EAAE,EACF,YAAY,EACZ,KAAK,EACL,MAAM,EAMP,EACD,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,oCAAgB,CAAC,CAAA;IAElD,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,IAAI,KAAK,EAAE;QACT,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAA;KAC/B;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,iCAC/C,gBAAgB,KACnB,MAAM;QACN,YAAY,EACZ,WAAW,EAAE,UAAU,EACvB,KAAK,EAAE,MAAM,IAAA,kCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,IAAI,IAAI,EAAE,IACtB,CAAA;AACJ,CAAC;AA5CD,4BA4CC","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { ActivityInstance } from '../../service/activity-instance/activity-instance'\nimport { evalActivityInstanceState } from '../common'\n\nexport async function delegate(\n {\n id,\n assigneeRole,\n dueAt,\n reason\n }: {\n id: string\n assigneeRole?: object\n dueAt?: Date\n reason?: string\n },\n context: any\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n\n const repository = 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 if (dueAt) {\n activityInstance.dueAt = dueAt\n }\n\n return await tx.getRepository(ActivityInstance).save({\n ...activityInstance,\n reason,\n assigneeRole,\n transaction: 'delegate',\n state: await evalActivityInstanceState(id, context),\n updater: user,\n assignedAt: new Date()\n })\n}\n"]}
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.draft = void 0;
4
- const typeorm_1 = require("typeorm");
4
+ const shell_1 = require("@things-factory/shell");
5
5
  const activity_instance_1 = require("../../service/activity-instance/activity-instance");
6
6
  const activity_1 = require("../../service/activity/activity");
7
7
  async function draft(activityInstance, context) {
8
8
  const { domain, user, tx } = context.state;
9
9
  const { activityId, input, dueAt } = activityInstance;
10
- var repository = (0, typeorm_1.getRepository)(activity_1.Activity);
10
+ var repository = (0, shell_1.getRepository)(activity_1.Activity);
11
11
  var activity = {};
12
12
  if (activityId) {
13
13
  activity = await repository.findOne({
14
- where: { domain, id: activityId },
14
+ where: { domain: { id: domain.id }, id: activityId },
15
15
  relations: ['assigneeRole', 'supervisoryRole']
16
16
  });
17
17
  if (!activity) {
@@ -1 +1 @@
1
- {"version":3,"file":"draft.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/draft.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC,yFAA4G;AAE5G,8DAA0D;AAEnD,KAAK,UAAU,KAAK,CAAC,gBAAqC,EAAE,OAAY;IAC7E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAA;IAErD,IAAI,UAAU,GAAG,IAAA,uBAAa,EAAC,mBAAQ,CAAC,CAAA;IACxC,IAAI,QAAQ,GAAG,EAAS,CAAA;IAExB,IAAI,UAAU,EAAE;QACd,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YAClC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE;YACjC,SAAS,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;SAC/C,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE;gBACpC,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAA;SACF;KACF;IAED,gBAAgB,CAAC,SAAS,GAAG,UAAU,CAAA;IACvC,gBAAgB,CAAC,KAAK,GAAG,UAAU,CAAA;IAEnC,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,YAAY,EAAE;QACnC,gBAAgB,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;KAC7E;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,+BAClD,YAAY,EAAE,QAAQ,CAAC,YAAY,EACnC,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY,EACnC,eAAe,EAAE,QAAQ,CAAC,eAAe,EACzC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAClB,gBAAgB,KACnB,WAAW,EAAE,OAAO,EACpB,QAAQ,EACR,KAAK,EAAE,0CAAsB,CAAC,KAAK,EACnC,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;AACJ,CAAC;AA7CD,sBA6CC","sourcesContent":["import { getRepository } from 'typeorm'\n\nimport { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance'\nimport { NewActivityInstance } from '../../service/activity-instance/activity-instance-type'\nimport { Activity } from '../../service/activity/activity'\n\nexport async function draft(activityInstance: NewActivityInstance, context: any): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n const { activityId, input, dueAt } = activityInstance\n\n var repository = getRepository(Activity)\n var activity = {} as any\n\n if (activityId) {\n activity = await repository.findOne({\n where: { domain, id: activityId },\n relations: ['assigneeRole', 'supervisoryRole']\n })\n\n if (!activity) {\n throw new Error(\n context.t('error.activity not found', {\n activity: activityId\n })\n )\n }\n }\n\n activityInstance.adhocType = 'standard'\n activityInstance.refBy = activityId\n\n if (!dueAt && activity.standardTime) {\n activityInstance.dueAt = new Date(Date.now() + activity.standardTime * 1000)\n }\n\n return await tx.getRepository(ActivityInstance).save({\n activityType: activity.activityType,\n uiType: activity.uiType,\n uiSource: activity.uiSource,\n assigneeRole: activity.assigneeRole,\n supervisoryRole: activity.supervisoryRole,\n adhocType: activity.adhocType,\n refBy: activity.refBy,\n ...activityInstance,\n transaction: 'draft',\n activity,\n state: ActivityInstanceStatus.Draft,\n domain,\n creator: user,\n updater: user\n })\n}\n"]}
1
+ {"version":3,"file":"draft.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/draft.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,yFAA4G;AAE5G,8DAA0D;AAEnD,KAAK,UAAU,KAAK,CACzB,gBAAqC,EACrC,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAA;IAErD,IAAI,UAAU,GAAG,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;IACxC,IAAI,QAAQ,GAAG,EAAS,CAAA;IAExB,IAAI,UAAU,EAAE;QACd,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YAClC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE;YACpD,SAAS,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;SAC/C,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE;gBACpC,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAA;SACF;KACF;IAED,gBAAgB,CAAC,SAAS,GAAG,UAAU,CAAA;IACvC,gBAAgB,CAAC,KAAK,GAAG,UAAU,CAAA;IAEnC,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,YAAY,EAAE;QACnC,gBAAgB,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;KAC7E;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,+BAClD,YAAY,EAAE,QAAQ,CAAC,YAAY,EACnC,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY,EACnC,eAAe,EAAE,QAAQ,CAAC,eAAe,EACzC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAClB,gBAAgB,KACnB,WAAW,EAAE,OAAO,EACpB,QAAQ,EACR,KAAK,EAAE,0CAAsB,CAAC,KAAK,EACnC,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;AACJ,CAAC;AAhDD,sBAgDC","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance'\nimport { NewActivityInstance } from '../../service/activity-instance/activity-instance-type'\nimport { Activity } from '../../service/activity/activity'\n\nexport async function draft(\n activityInstance: NewActivityInstance,\n context: ResolverContext\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n const { activityId, input, dueAt } = activityInstance\n\n var repository = getRepository(Activity)\n var activity = {} as any\n\n if (activityId) {\n activity = await repository.findOne({\n where: { domain: { id: domain.id }, id: activityId },\n relations: ['assigneeRole', 'supervisoryRole']\n })\n\n if (!activity) {\n throw new Error(\n context.t('error.activity not found', {\n activity: activityId\n })\n )\n }\n }\n\n activityInstance.adhocType = 'standard'\n activityInstance.refBy = activityId\n\n if (!dueAt && activity.standardTime) {\n activityInstance.dueAt = new Date(Date.now() + activity.standardTime * 1000)\n }\n\n return await tx.getRepository(ActivityInstance).save({\n activityType: activity.activityType,\n uiType: activity.uiType,\n uiSource: activity.uiSource,\n assigneeRole: activity.assigneeRole,\n supervisoryRole: activity.supervisoryRole,\n adhocType: activity.adhocType,\n refBy: activity.refBy,\n ...activityInstance,\n transaction: 'draft',\n activity,\n state: ActivityInstanceStatus.Draft,\n domain,\n creator: user,\n updater: user\n })\n}\n"]}
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.end = void 0;
4
- const typeorm_1 = require("typeorm");
4
+ const shell_1 = require("@things-factory/shell");
5
5
  const activity_instance_1 = require("../../service/activity-instance/activity-instance");
6
6
  const common_1 = require("../common");
7
7
  async function end({ id, output, reason }, context) {
8
8
  const { domain, user, tx } = context.state;
9
- const repository = (0, typeorm_1.getRepository)(activity_instance_1.ActivityInstance);
9
+ const repository = (0, shell_1.getRepository)(activity_instance_1.ActivityInstance);
10
10
  var activityInstance = await repository.findOne({
11
- where: { domain, id }
11
+ where: { domain: { id: domain.id }, id },
12
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
12
13
  });
13
14
  if (!activityInstance) {
14
15
  throw new Error(context.t('error.activity-instance not found', {
@@ -1 +1 @@
1
- {"version":3,"file":"end.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/end.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC,yFAAoF;AACpF,sCAAqD;AAE9C,KAAK,UAAU,GAAG,CACvB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,oCAAgB,CAAC,CAAA;IAElD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KACtB,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,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,iCAC/C,gBAAgB,KACnB,MAAM;QACN,MAAM,EACN,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,MAAM,IAAA,kCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;AACJ,CAAC;AA7BD,kBA6BC","sourcesContent":["import { getRepository } from 'typeorm'\n\nimport { ActivityInstance } from '../../service/activity-instance/activity-instance'\nimport { evalActivityInstanceState } from '../common'\n\nexport async function end(\n { id, output, reason }: { id: string; output?: object; reason?: string },\n context: any\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n const repository = getRepository(ActivityInstance)\n\n var activityInstance = await repository.findOne({\n where: { domain, id }\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 return await tx.getRepository(ActivityInstance).save({\n ...activityInstance,\n reason,\n output,\n transaction: 'end',\n state: await evalActivityInstanceState(id, context),\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n}\n"]}
1
+ {"version":3,"file":"end.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/end.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,yFAAoF;AACpF,sCAAqD;AAE9C,KAAK,UAAU,GAAG,CACvB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,oCAAgB,CAAC,CAAA;IAElD,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,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,iCAC/C,gBAAgB,KACnB,MAAM;QACN,MAAM,EACN,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,MAAM,IAAA,kCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;AACJ,CAAC;AA9BD,kBA8BC","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { ActivityInstance } from '../../service/activity-instance/activity-instance'\nimport { evalActivityInstanceState } from '../common'\n\nexport async function end(\n { id, output, reason }: { id: string; output?: object; reason?: string },\n context: any\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n const repository = 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 return await tx.getRepository(ActivityInstance).save({\n ...activityInstance,\n reason,\n output,\n transaction: 'end',\n state: await evalActivityInstanceState(id, context),\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n}\n"]}
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pick = void 0;
4
- const typeorm_1 = require("typeorm");
4
+ const shell_1 = require("@things-factory/shell");
5
5
  const activity_instance_1 = require("../../service/activity-instance/activity-instance");
6
6
  const common_1 = require("../common");
7
7
  async function pick(id, context) {
8
8
  const { domain, user, tx } = context.state;
9
- const repository = (0, typeorm_1.getRepository)(activity_instance_1.ActivityInstance);
9
+ const repository = (0, shell_1.getRepository)(activity_instance_1.ActivityInstance);
10
10
  var activityInstance = await repository.findOne({
11
- where: { domain, id }
11
+ where: { domain: { id: domain.id }, id },
12
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
12
13
  });
13
14
  if (!activityInstance) {
14
15
  throw new Error(context.t('error.activity-instance not found', {
@@ -1 +1 @@
1
- {"version":3,"file":"pick.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/pick.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC,yFAAoF;AAEpF,sCAAyD;AAElD,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,OAAY;IACjD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,oCAAgB,CAAC,CAAA;IAElD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KACtB,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,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,iCACvD,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;AAvBD,oBAuBC","sourcesContent":["import { getRepository } from 'typeorm'\n\nimport { ActivityInstance } 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: any): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n const repository = getRepository(ActivityInstance)\n\n var activityInstance = await repository.findOne({\n where: { domain, id }\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 const picked = await tx.getRepository(ActivityInstance).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":";;;AAAA,iDAAqD;AAErD,yFAAoF;AAEpF,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,IAAA,qBAAa,EAAC,oCAAgB,CAAC,CAAA;IAElD,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,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,iCACvD,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;AAxBD,oBAwBC","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { ActivityInstance } 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 = 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 const picked = await tx.getRepository(ActivityInstance).save({\n ...activityInstance,\n transaction: 'pick',\n updater: user\n })\n\n return (await createActivityThreadsForUsers('pick', picked, [user], context))[0]\n}\n"]}
@@ -8,9 +8,23 @@ const common_1 = require("../common");
8
8
  async function post(activityInstance, context) {
9
9
  const { domain, user, tx } = context.state;
10
10
  const { id, assignees } = activityInstance;
11
- var origin = id ? await tx.getRepository(activity_instance_1.ActivityInstance).findOne(id) : null;
11
+ var origin = id
12
+ ? await tx.getRepository(activity_instance_1.ActivityInstance).findOne({
13
+ where: { domain: { id: domain.id }, id },
14
+ relations: [
15
+ 'domain',
16
+ 'activity',
17
+ 'assigneeRole',
18
+ 'supervisoryRole',
19
+ 'updater',
20
+ 'creator',
21
+ 'starter',
22
+ 'terminator'
23
+ ]
24
+ })
25
+ : null;
12
26
  const posted = await tx.getRepository(activity_instance_1.ActivityInstance).save(Object.assign(Object.assign(Object.assign({}, origin), activityInstance), { transaction: 'post', state: activity_instance_1.ActivityInstanceStatus.Posted, domain, creator: user, updater: user }));
13
- const assignedUsers = await tx.getRepository(auth_base_1.User).find({
27
+ const assignedUsers = await tx.getRepository(auth_base_1.User).findBy({
14
28
  email: (0, typeorm_1.In)(assignees || [])
15
29
  });
16
30
  if (posted.threadsMin === 0 && posted.assigneeRoleId) {
@@ -19,7 +33,7 @@ async function post(activityInstance, context) {
19
33
  if (assignedUsers.length > 0) {
20
34
  await (0, common_1.createActivityThreadsForUsers)('post', posted, assignedUsers, context);
21
35
  }
22
- return await tx.getRepository(activity_instance_1.ActivityInstance).findOne(posted.id);
36
+ return await tx.getRepository(activity_instance_1.ActivityInstance).findOneBy({ id: posted.id });
23
37
  }
24
38
  exports.post = post;
25
39
  //# sourceMappingURL=post.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/post.ts"],"names":[],"mappings":";;;AAAA,qCAA4B;AAE5B,yDAAgD;AAEhD,yFAA4G;AAE5G,sCAA+F;AAExF,KAAK,UAAU,IAAI,CAAC,gBAAsC,EAAE,OAAY;IAC7E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAA;IAE1C,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAE7E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,+CACvD,MAAM,GACN,gBAAgB,KACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,0CAAsB,CAAC,MAAM,EACpC,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;IAEF,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,IAAI,CAAC;QACtD,KAAK,EAAE,IAAA,YAAE,EAAC,SAAS,IAAI,EAAE,CAAC;KAC3B,CAAC,CAAA;IAEF,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE;QACpD,MAAM,IAAA,6CAAoC,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;KACpE;IAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QAC5B,MAAM,IAAA,sCAA6B,EAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;KAC5E;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AACpE,CAAC;AA7BD,oBA6BC","sourcesContent":["import { In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\n\nimport { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance'\nimport { ActivityInstancePost } from '../../service/activity-instance/activity-instance-type'\nimport { createActivityThreadsForAllRoleUsers, createActivityThreadsForUsers } from '../common'\n\nexport async function post(activityInstance: ActivityInstancePost, context: any): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n const { id, assignees } = activityInstance\n\n var origin = id ? await tx.getRepository(ActivityInstance).findOne(id) : null\n\n const posted = await tx.getRepository(ActivityInstance).save({\n ...origin,\n ...activityInstance,\n transaction: 'post',\n state: ActivityInstanceStatus.Posted,\n domain,\n creator: user,\n updater: user\n })\n\n const assignedUsers = await tx.getRepository(User).find({\n email: In(assignees || [])\n })\n\n if (posted.threadsMin === 0 && posted.assigneeRoleId) {\n await createActivityThreadsForAllRoleUsers('post', posted, context)\n }\n\n if (assignedUsers.length > 0) {\n await createActivityThreadsForUsers('post', posted, assignedUsers, context)\n }\n\n return await tx.getRepository(ActivityInstance).findOne(posted.id)\n}\n"]}
1
+ {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/post.ts"],"names":[],"mappings":";;;AAAA,qCAA4B;AAE5B,yDAAgD;AAEhD,yFAA4G;AAE5G,sCAA+F;AAExF,KAAK,UAAU,IAAI,CACxB,gBAAsC,EACtC,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAA;IAE1C,IAAI,MAAM,GAAG,EAAE;QACb,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,OAAO,CAAC;YAC/C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;YACxC,SAAS,EAAE;gBACT,QAAQ;gBACR,UAAU;gBACV,cAAc;gBACd,iBAAiB;gBACjB,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,YAAY;aACb;SACF,CAAC;QACJ,CAAC,CAAC,IAAI,CAAA;IAER,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,+CACvD,MAAM,GACN,gBAAgB,KACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,0CAAsB,CAAC,MAAM,EACpC,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;IAEF,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,MAAM,CAAC;QACxD,KAAK,EAAE,IAAA,YAAE,EAAC,SAAS,IAAI,EAAE,CAAC;KAC3B,CAAC,CAAA;IAEF,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE;QACpD,MAAM,IAAA,6CAAoC,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;KACpE;IAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QAC5B,MAAM,IAAA,sCAA6B,EAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;KAC5E;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;AAC9E,CAAC;AA9CD,oBA8CC","sourcesContent":["import { In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\n\nimport { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance'\nimport { ActivityInstancePost } from '../../service/activity-instance/activity-instance-type'\nimport { createActivityThreadsForAllRoleUsers, createActivityThreadsForUsers } from '../common'\n\nexport async function post(\n activityInstance: ActivityInstancePost,\n context: ResolverContext\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n const { id, assignees } = activityInstance\n\n var origin = id\n ? await tx.getRepository(ActivityInstance).findOne({\n where: { domain: { id: domain.id }, id },\n relations: [\n 'domain',\n 'activity',\n 'assigneeRole',\n 'supervisoryRole',\n 'updater',\n 'creator',\n 'starter',\n 'terminator'\n ]\n })\n : null\n\n const posted = await tx.getRepository(ActivityInstance).save({\n ...origin,\n ...activityInstance,\n transaction: 'post',\n state: ActivityInstanceStatus.Posted,\n domain,\n creator: user,\n updater: user\n })\n\n const assignedUsers = await tx.getRepository(User).findBy({\n email: In(assignees || [])\n })\n\n if (posted.threadsMin === 0 && posted.assigneeRoleId) {\n await createActivityThreadsForAllRoleUsers('post', posted, context)\n }\n\n if (assignedUsers.length > 0) {\n await createActivityThreadsForUsers('post', posted, assignedUsers, context)\n }\n\n return await tx.getRepository(ActivityInstance).findOneBy({ id: posted.id })\n}\n"]}
@@ -7,7 +7,8 @@ async function start(id, context) {
7
7
  const { domain, user, tx } = context.state;
8
8
  const repository = tx.getRepository(activity_instance_1.ActivityInstance);
9
9
  const activityInstance = await repository.findOne({
10
- where: { domain, id }
10
+ where: { domain: { id: domain.id }, id },
11
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
11
12
  });
12
13
  return await repository.save(Object.assign(Object.assign({}, activityInstance), { transaction: 'start', state: await (0, common_1.evalActivityInstanceState)(id, context), updater: user, startedAt: new Date() }));
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/start.ts"],"names":[],"mappings":";;;AAAA,yFAAoF;AACpF,sCAAqD;AAE9C,KAAK,UAAU,KAAK,CAAC,EAAU,EAAE,OAAY;IAClD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IACrD,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAChD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KACtB,CAAC,CAAA;IAEF,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,gBAAgB,KACnB,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,MAAM,IAAA,kCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,IAAI,IAAI,EAAE,IACrB,CAAA;AACJ,CAAC;AAfD,sBAeC","sourcesContent":["import { ActivityInstance } from '../../service/activity-instance/activity-instance'\nimport { evalActivityInstanceState } from '../common'\n\nexport async function start(id: string, context: any): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityInstance)\n const activityInstance = await repository.findOne({\n where: { domain, id }\n })\n\n return await repository.save({\n ...activityInstance,\n transaction: 'start',\n state: await evalActivityInstanceState(id, context),\n updater: user,\n startedAt: new Date()\n })\n}\n"]}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/start.ts"],"names":[],"mappings":";;;AAAA,yFAAoF;AACpF,sCAAqD;AAE9C,KAAK,UAAU,KAAK,CAAC,EAAU,EAAE,OAAwB;IAC9D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IACrD,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAChD,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,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,gBAAgB,KACnB,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,MAAM,IAAA,kCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,IAAI,IAAI,EAAE,IACrB,CAAA;AACJ,CAAC;AAhBD,sBAgBC","sourcesContent":["import { ActivityInstance } from '../../service/activity-instance/activity-instance'\nimport { evalActivityInstanceState } from '../common'\n\nexport async function start(id: string, context: ResolverContext): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityInstance)\n const activityInstance = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']\n })\n\n return await repository.save({\n ...activityInstance,\n transaction: 'start',\n state: await evalActivityInstanceState(id, context),\n updater: user,\n startedAt: new Date()\n })\n}\n"]}
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.terminate = void 0;
4
- const typeorm_1 = require("typeorm");
4
+ const shell_1 = require("@things-factory/shell");
5
5
  const activity_instance_1 = require("../../service/activity-instance/activity-instance");
6
6
  const common_1 = require("../common");
7
7
  async function terminate({ id, output, reason }, context) {
8
8
  const { domain, user, tx } = context.state;
9
- const repository = (0, typeorm_1.getRepository)(activity_instance_1.ActivityInstance);
9
+ const repository = (0, shell_1.getRepository)(activity_instance_1.ActivityInstance);
10
10
  var activityInstance = await repository.findOne({
11
- where: { domain, id }
11
+ where: { domain: { id: domain.id }, id },
12
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
12
13
  });
13
14
  if (!activityInstance) {
14
15
  throw new Error(context.t('error.activity-instance not found', {
@@ -1 +1 @@
1
- {"version":3,"file":"terminate.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/terminate.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC,yFAAoF;AACpF,sCAAqD;AAE9C,KAAK,UAAU,SAAS,CAC7B,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,oCAAgB,CAAC,CAAA;IAElD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KACtB,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,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,iCAC/C,gBAAgB,KACnB,MAAM;QACN,MAAM,EACN,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,MAAM,IAAA,kCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;AACJ,CAAC;AA9BD,8BA8BC","sourcesContent":["import { getRepository } from 'typeorm'\n\nimport { ActivityInstance } from '../../service/activity-instance/activity-instance'\nimport { evalActivityInstanceState } from '../common'\n\nexport async function terminate(\n { id, output, reason }: { id: string; output?: object; reason?: string },\n context: any\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n\n const repository = getRepository(ActivityInstance)\n\n var activityInstance = await repository.findOne({\n where: { domain, id }\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 return await tx.getRepository(ActivityInstance).save({\n ...activityInstance,\n reason,\n output,\n transaction: 'terminate',\n state: await evalActivityInstanceState(id, context),\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n}\n"]}
1
+ {"version":3,"file":"terminate.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/terminate.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,yFAAoF;AACpF,sCAAqD;AAE9C,KAAK,UAAU,SAAS,CAC7B,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,oCAAgB,CAAC,CAAA;IAElD,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,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,iCAC/C,gBAAgB,KACnB,MAAM;QACN,MAAM,EACN,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,MAAM,IAAA,kCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;AACJ,CAAC;AA/BD,8BA+BC","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { ActivityInstance } from '../../service/activity-instance/activity-instance'\nimport { evalActivityInstanceState } from '../common'\n\nexport async function terminate(\n { id, output, reason }: { id: string; output?: object; reason?: string },\n context: any\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n\n const repository = 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 return await tx.getRepository(ActivityInstance).save({\n ...activityInstance,\n reason,\n output,\n transaction: 'terminate',\n state: await evalActivityInstanceState(id, context),\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n}\n"]}
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.abort = void 0;
4
- const typeorm_1 = require("typeorm");
4
+ const shell_1 = require("@things-factory/shell");
5
5
  const activity_thread_1 = require("../../service/activity-thread/activity-thread");
6
6
  async function abort({ id, reason }, context) {
7
7
  const { domain, user, tx } = context.state;
8
- var repository = (0, typeorm_1.getRepository)(activity_thread_1.ActivityThread);
8
+ var repository = (0, shell_1.getRepository)(activity_thread_1.ActivityThread);
9
9
  var activityThread = await repository.findOne({
10
- where: { domain, id }
10
+ where: { domain: { id: domain.id }, id },
11
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
11
12
  });
12
13
  if (!activityThread) {
13
14
  throw new Error(context.t('error.activity-instance not found', {
@@ -1 +1 @@
1
- {"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/abort.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC,mFAAoG;AAE7F,KAAK,UAAU,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,EAAkC,EAAE,OAAY;IACtF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,IAAA,uBAAa,EAAC,gCAAc,CAAC,CAAA;IAE9C,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KACtB,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCAC7C,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;AA1BD,sBA0BC","sourcesContent":["import { getRepository } from 'typeorm'\n\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\n\nexport async function abort({ id, reason }: { id: string; reason: string }, context: any): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n var repository = getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain, id }\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-instance not found', {\n activityThread: id\n })\n )\n }\n\n return await tx.getRepository(ActivityThread).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":";;;AAAA,iDAAqD;AAErD,mFAAoG;AAE7F,KAAK,UAAU,KAAK,CACzB,EAAE,EAAE,EAAE,MAAM,EAAkC,EAC9C,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,IAAA,qBAAa,EAAC,gCAAc,CAAC,CAAA;IAE9C,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,mCAAmC,EAAE;YAC7C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCAC7C,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;AA9BD,sBA8BC","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\n\nexport async function abort(\n { id, reason }: { id: string; reason: string },\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n var repository = 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-instance not found', {\n activityThread: id\n })\n )\n }\n\n return await tx.getRepository(ActivityThread).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"]}
@@ -6,7 +6,8 @@ async function adjust(id, patch, context) {
6
6
  const { domain, user, tx } = context.state;
7
7
  const repository = tx.getRepository(activity_thread_1.ActivityThread);
8
8
  const activityThread = await repository.findOne({
9
- where: { domain, id }
9
+ where: { domain: { id: domain.id }, id },
10
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
10
11
  });
11
12
  return await repository.save(Object.assign(Object.assign(Object.assign({}, activityThread), patch), { transaction: 'adjust', updater: user }));
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adjust.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/adjust.ts"],"names":[],"mappings":";;;AAAA,mFAA8E;AAGvE,KAAK,UAAU,MAAM,CAAC,EAAU,EAAE,KAA0B,EAAE,OAAY;IAC/E,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,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KACtB,CAAC,CAAA;IAEF,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,cAAc,GACd,KAAK,KACR,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAE,IAAI,IACb,CAAA;AACJ,CAAC;AAdD,wBAcC","sourcesContent":["import { ActivityThread } from '../../service/activity-thread/activity-thread'\nimport { ActivityThreadPatch } from '../../service/activity-thread/activity-thread-type'\n\nexport async function adjust(id: string, patch: ActivityThreadPatch, context: any): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(ActivityThread)\n\n const activityThread = await repository.findOne({\n where: { domain, id }\n })\n\n return await repository.save({\n ...activityThread,\n ...patch,\n transaction: 'adjust',\n updater: user\n })\n}\n"]}
1
+ {"version":3,"file":"adjust.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/adjust.ts"],"names":[],"mappings":";;;AAAA,mFAA8E;AAGvE,KAAK,UAAU,MAAM,CAC1B,EAAU,EACV,KAA0B,EAC1B,OAAwB;IAExB,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,MAAM,cAAc,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,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC;KAC5E,CAAC,CAAA;IAEF,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,cAAc,GACd,KAAK,KACR,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAE,IAAI,IACb,CAAA;AACJ,CAAC;AAnBD,wBAmBC","sourcesContent":["import { ActivityThread } from '../../service/activity-thread/activity-thread'\nimport { ActivityThreadPatch } from '../../service/activity-thread/activity-thread-type'\n\nexport async function adjust(\n id: string,\n patch: ActivityThreadPatch,\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(ActivityThread)\n\n const activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']\n })\n\n return await repository.save({\n ...activityThread,\n ...patch,\n transaction: 'adjust',\n updater: user\n })\n}\n"]}
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.delegate = void 0;
4
- const typeorm_1 = require("typeorm");
4
+ const shell_1 = require("@things-factory/shell");
5
5
  const activity_thread_1 = require("../../service/activity-thread/activity-thread");
6
6
  async function delegate({ id, assigneeRole, dueAt, reason }, context) {
7
7
  const { domain, user, tx } = context.state;
8
- const repository = (0, typeorm_1.getRepository)(activity_thread_1.ActivityThread);
8
+ const repository = (0, shell_1.getRepository)(activity_thread_1.ActivityThread);
9
9
  var activityThread = await repository.findOne({
10
- where: { domain, id }
10
+ where: { domain: { id: domain.id }, id },
11
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
11
12
  });
12
13
  if (!activityThread) {
13
14
  throw new Error(context.t('error.activity-instance not found', {
@@ -1 +1 @@
1
- {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/delegate.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC,mFAAoG;AAE7F,KAAK,UAAU,QAAQ,CAC5B,EACE,EAAE,EACF,YAAY,EACZ,KAAK,EACL,MAAM,EAMP,EACD,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,gCAAc,CAAC,CAAA;IAEhD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KACtB,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED,IAAI,KAAK,EAAE;QACT,cAAc,CAAC,KAAK,GAAG,KAAK,CAAA;KAC7B;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCAC7C,cAAc,KACjB,MAAM;QACN,YAAY,EACZ,WAAW,EAAE,UAAU,EACvB,KAAK,EAAE,sCAAoB,CAAC,SAAS,EACrC,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,IAAI,IAAI,EAAE,IACtB,CAAA;AACJ,CAAC;AA3CD,4BA2CC","sourcesContent":["import { getRepository } from 'typeorm'\n\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\n\nexport async function delegate(\n {\n id,\n assigneeRole,\n dueAt,\n reason\n }: {\n id: string\n assigneeRole?: object\n dueAt?: Date\n reason?: string\n },\n context: any\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain, id }\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-instance not found', {\n activityThread: id\n })\n )\n }\n\n if (dueAt) {\n activityThread.dueAt = dueAt\n }\n\n return await tx.getRepository(ActivityThread).save({\n ...activityThread,\n reason,\n assigneeRole,\n transaction: 'delegate',\n state: ActivityThreadStatus.Delegated,\n updater: user,\n assignedAt: new Date()\n })\n}\n"]}
1
+ {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/delegate.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,mFAAoG;AAE7F,KAAK,UAAU,QAAQ,CAC5B,EACE,EAAE,EACF,YAAY,EACZ,KAAK,EACL,MAAM,EAMP,EACD,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,gCAAc,CAAC,CAAA;IAEhD,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,mCAAmC,EAAE;YAC7C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED,IAAI,KAAK,EAAE;QACT,cAAc,CAAC,KAAK,GAAG,KAAK,CAAA;KAC7B;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCAC7C,cAAc,KACjB,MAAM;QACN,YAAY,EACZ,WAAW,EAAE,UAAU,EACvB,KAAK,EAAE,sCAAoB,CAAC,SAAS,EACrC,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,IAAI,IAAI,EAAE,IACtB,CAAA;AACJ,CAAC;AA5CD,4BA4CC","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\n\nexport async function delegate(\n {\n id,\n assigneeRole,\n dueAt,\n reason\n }: {\n id: string\n assigneeRole?: object\n dueAt?: Date\n reason?: string\n },\n context: any\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = 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-instance not found', {\n activityThread: id\n })\n )\n }\n\n if (dueAt) {\n activityThread.dueAt = dueAt\n }\n\n return await tx.getRepository(ActivityThread).save({\n ...activityThread,\n reason,\n assigneeRole,\n transaction: 'delegate',\n state: ActivityThreadStatus.Delegated,\n updater: user,\n assignedAt: new Date()\n })\n}\n"]}
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.end = void 0;
4
- const typeorm_1 = require("typeorm");
4
+ const shell_1 = require("@things-factory/shell");
5
5
  const activity_thread_1 = require("../../service/activity-thread/activity-thread");
6
6
  async function end({ id, output, reason }, context) {
7
7
  const { domain, user, tx } = context.state;
8
- const repository = (0, typeorm_1.getRepository)(activity_thread_1.ActivityThread);
8
+ const repository = (0, shell_1.getRepository)(activity_thread_1.ActivityThread);
9
9
  var activityThread = await repository.findOne({
10
- where: { domain, id }
10
+ where: { domain: { id: domain.id }, id },
11
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
11
12
  });
12
13
  if (!activityThread) {
13
14
  throw new Error(context.t('error.activity-thread not found', {
@@ -1 +1 @@
1
- {"version":3,"file":"end.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/end.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC,mFAAoG;AAE7F,KAAK,UAAU,GAAG,CACvB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,gCAAc,CAAC,CAAA;IAEhD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KACtB,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,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCAC7C,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;AACJ,CAAC;AA7BD,kBA6BC","sourcesContent":["import { getRepository } from 'typeorm'\n\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\n\nexport async function end(\n { id, output, reason }: { id: string; output?: object; reason?: string },\n context: any\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain, 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 return await tx.getRepository(ActivityThread).save({\n ...activityThread,\n reason,\n output,\n transaction: 'end',\n state: ActivityThreadStatus.Ended,\n updater: user,\n terminatedAt: new Date()\n })\n}\n"]}
1
+ {"version":3,"file":"end.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/end.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,mFAAoG;AAE7F,KAAK,UAAU,GAAG,CACvB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,gCAAc,CAAC,CAAA;IAEhD,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,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCAC7C,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;AACJ,CAAC;AA9BD,kBA8BC","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\n\nexport async function end(\n { id, output, reason }: { id: string; output?: object; reason?: string },\n context: any\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = 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 return await tx.getRepository(ActivityThread).save({\n ...activityThread,\n reason,\n output,\n transaction: 'end',\n state: ActivityThreadStatus.Ended,\n updater: user,\n terminatedAt: new Date()\n })\n}\n"]}
@@ -6,7 +6,8 @@ async function save(id, save, context) {
6
6
  const { domain, user, tx } = context.state;
7
7
  const repository = tx.getRepository(activity_thread_1.ActivityThread);
8
8
  const activityThread = await repository.findOne({
9
- where: { domain, id }
9
+ where: { domain: { id: domain.id }, id },
10
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
10
11
  });
11
12
  return await repository.save(Object.assign(Object.assign(Object.assign({}, activityThread), save), { transaction: 'save', updater: user }));
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/save.ts"],"names":[],"mappings":";;;AAAA,mFAA8E;AAGvE,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,IAAwB,EAAE,OAAY;IAC3E,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,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KACtB,CAAC,CAAA;IAEF,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,cAAc,GACd,IAAI,KACP,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,IAAI,IACb,CAAA;AACJ,CAAC;AAdD,oBAcC","sourcesContent":["import { ActivityThread } from '../../service/activity-thread/activity-thread'\nimport { ActivityThreadSave } from '../../service/activity-thread/activity-thread-type'\n\nexport async function save(id: string, save: ActivityThreadSave, context: any): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(ActivityThread)\n\n const activityThread = await repository.findOne({\n where: { domain, id }\n })\n\n return await repository.save({\n ...activityThread,\n ...save,\n transaction: 'save',\n updater: user\n })\n}\n"]}
1
+ {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/save.ts"],"names":[],"mappings":";;;AAAA,mFAA8E;AAGvE,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,IAAwB,EAAE,OAAwB;IACvF,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,MAAM,cAAc,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,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC;KAC5E,CAAC,CAAA;IAEF,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,cAAc,GACd,IAAI,KACP,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,IAAI,IACb,CAAA;AACJ,CAAC;AAfD,oBAeC","sourcesContent":["import { ActivityThread } from '../../service/activity-thread/activity-thread'\nimport { ActivityThreadSave } from '../../service/activity-thread/activity-thread-type'\n\nexport async function save(id: string, save: ActivityThreadSave, context: ResolverContext): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(ActivityThread)\n\n const activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']\n })\n\n return await repository.save({\n ...activityThread,\n ...save,\n transaction: 'save',\n updater: user\n })\n}\n"]}
@@ -6,7 +6,8 @@ async function start(id, output, reason, context) {
6
6
  const { domain, user, tx } = context.state;
7
7
  const repository = tx.getRepository(activity_thread_1.ActivityThread);
8
8
  const activityThread = await repository.findOne({
9
- where: { domain, id }
9
+ where: { domain: { id: domain.id }, id },
10
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
10
11
  });
11
12
  if (!activityThread) {
12
13
  throw new Error(context.t('error.activity-instance not found', {
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/start.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AAE7F,KAAK,UAAU,KAAK,CAAC,EAAU,EAAE,MAAc,EAAE,MAAc,EAAE,OAAY;IAClF,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;KACtB,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED,IAAI,MAAM,EAAE;QACV,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;KAC/B;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCAC7C,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;AACJ,CAAC;AA5BD,sBA4BC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\n\nexport async function start(id: string, output: object, reason: string, context: any): 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 }\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-instance not found', {\n activityInstance: id\n })\n )\n }\n\n if (output) {\n activityThread.output = output\n }\n\n return 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"]}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/start.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AAE7F,KAAK,UAAU,KAAK,CACzB,EAAU,EACV,MAAc,EACd,MAAc,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;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;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,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED,IAAI,MAAM,EAAE;QACV,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;KAC/B;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCAC7C,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;AACJ,CAAC;AAlCD,sBAkCC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\n\nexport async function start(\n id: string,\n output: object,\n reason: string,\n context: ResolverContext\n): 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 relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-instance not found', {\n activityInstance: id\n })\n )\n }\n\n if (output) {\n activityThread.output = output\n }\n\n return 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"]}
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.terminate = void 0;
4
- const typeorm_1 = require("typeorm");
4
+ const shell_1 = require("@things-factory/shell");
5
5
  const activity_thread_1 = require("../../service/activity-thread/activity-thread");
6
6
  async function terminate({ id, output, reason }, context) {
7
7
  const { domain, user, tx } = context.state;
8
- var repository = (0, typeorm_1.getRepository)(activity_thread_1.ActivityThread);
8
+ var repository = (0, shell_1.getRepository)(activity_thread_1.ActivityThread);
9
9
  var activityThread = await repository.findOne({
10
- where: { domain, id }
10
+ where: { domain: { id: domain.id }, id },
11
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
11
12
  });
12
13
  if (!activityThread) {
13
14
  throw new Error(context.t('error.activity-instance not found', {
@@ -1 +1 @@
1
- {"version":3,"file":"terminate.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/terminate.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC,mFAAoG;AAE7F,KAAK,UAAU,SAAS,CAC7B,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,IAAI,UAAU,GAAG,IAAA,uBAAa,EAAC,gCAAc,CAAC,CAAA;IAE9C,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KACtB,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCAC7C,cAAc,KACjB,MAAM;QACN,MAAM,EACN,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,sCAAoB,CAAC,KAAK,EACjC,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;AACJ,CAAC;AA7BD,8BA6BC","sourcesContent":["import { getRepository } from 'typeorm'\n\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\n\nexport async function terminate(\n { id, output, reason }: { id: string; output?: object; reason?: string },\n context: any\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n var repository = getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain, id }\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-instance not found', {\n activityThread: id\n })\n )\n }\n\n return await tx.getRepository(ActivityThread).save({\n ...activityThread,\n reason,\n output,\n transaction: 'terminate',\n state: ActivityThreadStatus.Ended,\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n}\n"]}
1
+ {"version":3,"file":"terminate.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/terminate.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,mFAAoG;AAE7F,KAAK,UAAU,SAAS,CAC7B,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,IAAI,UAAU,GAAG,IAAA,qBAAa,EAAC,gCAAc,CAAC,CAAA;IAE9C,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,mCAAmC,EAAE;YAC7C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCAC7C,cAAc,KACjB,MAAM;QACN,MAAM,EACN,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,sCAAoB,CAAC,KAAK,EACjC,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;AACJ,CAAC;AA9BD,8BA8BC","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\n\nexport async function terminate(\n { id, output, reason }: { id: string; output?: object; reason?: string },\n context: any\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n var repository = 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-instance not found', {\n activityThread: id\n })\n )\n }\n\n return await tx.getRepository(ActivityThread).save({\n ...activityThread,\n reason,\n output,\n transaction: 'terminate',\n state: ActivityThreadStatus.Ended,\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n}\n"]}
@@ -23,7 +23,10 @@ async function updateActivityInstanceState(id, context) {
23
23
  exports.updateActivityInstanceState = updateActivityInstanceState;
24
24
  async function evalActivityInstanceState(id, context) {
25
25
  const { tx } = context.state;
26
- const activityInstance = await tx.getRepository(activity_instance_1.ActivityInstance).findOne(id, { relations: ['activityThreads'] });
26
+ const activityInstance = await tx.getRepository(activity_instance_1.ActivityInstance).findOne({
27
+ where: { id },
28
+ relations: ['activityThreads']
29
+ });
27
30
  const { threadsMin, threadsMax, activityThreads, state, dueAt } = activityInstance;
28
31
  const validThreads = activityThreads.filter(thread => thread.isValid());
29
32
  const pendingStartedThreads = activityThreads.filter(thread => thread.isPendingStarted());
@@ -68,9 +71,10 @@ exports.createActivityThreadsForUsers = createActivityThreadsForUsers;
68
71
  async function createActivityThreadsForAllRoleUsers(transaction, activityInstance, context) {
69
72
  const { tx } = context.state;
70
73
  // find how many users are having given role
71
- const assigneeRole = (await tx
72
- .getRepository(auth_base_1.Role)
73
- .findOne({ id: activityInstance.assigneeRoleId }, { relations: ['users'] }));
74
+ const assigneeRole = (await tx.getRepository(auth_base_1.Role).findOne({
75
+ where: { id: activityInstance.assigneeRoleId },
76
+ relations: ['users']
77
+ }));
74
78
  const assignees = (assigneeRole === null || assigneeRole === void 0 ? void 0 : assigneeRole.users) || [];
75
79
  if (assignees.length === 0) {
76
80
  throw new Error("there's no users having given role");
@@ -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 { ActivityInstance, ActivityInstanceStatus } from '../service/activity-instance/activity-instance'\nimport { ActivityThread, ActivityThreadStatus } from '../service/activity-thread/activity-thread'\n\nexport async function updateActivityInstanceState(id: string, context: any) {\n const { tx } = context.state\n\n await tx.getRepository(ActivityInstance).save({\n ...(await tx.getRepository(ActivityInstance).findOne({\n where: { id },\n relations: [\n 'domain',\n 'activity',\n 'assigneeRole',\n 'supervisoryRole',\n 'updater',\n 'creator',\n 'starter',\n 'terminator'\n ]\n })),\n transaction: 'thread' /* change by transaction of activity thread */,\n state: await evalActivityInstanceState(id, context)\n })\n}\n\nexport async function evalActivityInstanceState(id: string, context: any): Promise<ActivityInstanceStatus> {\n const { tx } = context.state\n\n const activityInstance = await tx.getRepository(ActivityInstance).findOne(id, { relations: ['activityThreads'] })\n const { threadsMin, threadsMax, 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 state\n case validThreads.length === 0:\n return ActivityInstanceStatus.Posted\n case threadsMin > validThreads.length:\n return ActivityInstanceStatus.WaitingAssignment\n case pendingStartedThreads.length > 0:\n return ActivityInstanceStatus.Assigned\n case pendingEndedThreads.length > 0:\n return !dueAt || dueAt.getTime() > Date.now() ? ActivityInstanceStatus.Started : ActivityInstanceStatus.Pending\n default:\n return ActivityInstanceStatus.Ended\n }\n}\n\nexport async function createActivityThreadsForUsers(\n transaction: string,\n activityInstance: ActivityInstance,\n assignees: User[],\n context: any\n): Promise<[ActivityThread]> {\n const { domain, user, tx } = context.state\n\n const threadRepo = tx.getRepository(ActivityThread)\n const now = new Date()\n\n return await threadRepo.save(\n assignees.map(assignee => {\n return {\n assignee,\n state: ActivityThreadStatus.Assigned,\n activityInstance,\n domain,\n transaction,\n creator: user,\n updater: user,\n dueAt: activityInstance.dueAt,\n assignedAt: now\n }\n })\n )\n}\n\nexport async function createActivityThreadsForAllRoleUsers(\n transaction: string,\n activityInstance: ActivityInstance,\n context: any\n): Promise<[ActivityThread]> {\n const { tx } = context.state\n\n // find how many users are having given role\n const assigneeRole = (await tx\n .getRepository(Role)\n .findOne({ id: activityInstance.assigneeRoleId }, { relations: ['users'] })) as Role\n const assignees = assigneeRole?.users || []\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"]}
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 { ActivityInstance, ActivityInstanceStatus } from '../service/activity-instance/activity-instance'\nimport { ActivityThread, ActivityThreadStatus } from '../service/activity-thread/activity-thread'\n\nexport async function updateActivityInstanceState(id: string, context: ResolverContext) {\n const { tx } = context.state\n\n await tx.getRepository(ActivityInstance).save({\n ...(await tx.getRepository(ActivityInstance).findOne({\n where: { id },\n relations: [\n 'domain',\n 'activity',\n 'assigneeRole',\n 'supervisoryRole',\n 'updater',\n 'creator',\n 'starter',\n 'terminator'\n ]\n })),\n transaction: 'thread' /* change by transaction of activity thread */,\n state: await evalActivityInstanceState(id, context)\n })\n}\n\nexport async function evalActivityInstanceState(id: string, context: ResolverContext): Promise<ActivityInstanceStatus> {\n const { tx } = context.state\n\n const activityInstance = await tx.getRepository(ActivityInstance).findOne({\n where: { id },\n relations: ['activityThreads']\n })\n const { threadsMin, threadsMax, 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 state\n case validThreads.length === 0:\n return ActivityInstanceStatus.Posted\n case threadsMin > validThreads.length:\n return ActivityInstanceStatus.WaitingAssignment\n case pendingStartedThreads.length > 0:\n return ActivityInstanceStatus.Assigned\n case pendingEndedThreads.length > 0:\n return !dueAt || dueAt.getTime() > Date.now() ? ActivityInstanceStatus.Started : ActivityInstanceStatus.Pending\n default:\n return ActivityInstanceStatus.Ended\n }\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 return await threadRepo.save(\n assignees.map(assignee => {\n return {\n assignee,\n state: ActivityThreadStatus.Assigned,\n activityInstance,\n domain,\n transaction,\n creator: user,\n updater: user,\n dueAt: activityInstance.dueAt,\n assignedAt: now\n } as any\n })\n )\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 || []\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"]}