@things-factory/worklist 6.0.26 → 6.0.28

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 (213) hide show
  1. package/client/bootstrap.ts +13 -4
  2. package/client/components/activity-starter-form.ts +41 -10
  3. package/client/grist-editor/grist-editor-activity-search-key.ts +79 -0
  4. package/client/grist-editor/popup-activity-search-keys-input.ts +167 -0
  5. package/client/pages/activity/activity-list-page.ts +74 -11
  6. package/client/pages/activity/activity-partial-view.ts +82 -0
  7. package/client/pages/activity/starter-list-page.ts +1 -0
  8. package/client/pages/activity-approval/activity-approval-page.ts +61 -14
  9. package/client/pages/activity-instance/activity-instance-page.ts +18 -0
  10. package/client/pages/activity-instance/activity-instance-search-page.ts +377 -0
  11. package/client/pages/activity-instance/activity-instance-view.ts +135 -0
  12. package/client/pages/activity-store/activity-store-page.ts +1 -1
  13. package/client/pages/activity-template/activity-template-list-page.ts +1 -1
  14. package/client/pages/activity-thread/activity-thread-page.ts +32 -6
  15. package/client/pages/activity-thread/activity-thread-view.ts +102 -0
  16. package/client/pages/installable-activity/installable-activity-list-page.ts +1 -1
  17. package/client/pages/todo/approval-waiting-list-page.ts +12 -2
  18. package/client/pages/todo/draft-list-page.ts +19 -5
  19. package/client/pages/todo/todo-list-page.ts +14 -3
  20. package/client/route.ts +4 -0
  21. package/client/types/activity-instance-type.ts +123 -0
  22. package/client/types/activity-instance.ts +124 -0
  23. package/client/types/activity-model-type.ts +40 -0
  24. package/client/types/activity-search-key-item-type.ts +9 -0
  25. package/client/types/activity-thread-type.ts +19 -0
  26. package/client/types/activity-thread.ts +88 -0
  27. package/client/types/activity.ts +97 -0
  28. package/client/{types.js → types/types.ts} +1 -9
  29. package/dist-client/bootstrap.d.ts +1 -0
  30. package/dist-client/bootstrap.js +7 -3
  31. package/dist-client/bootstrap.js.map +1 -1
  32. package/dist-client/components/activity-starter-form.d.ts +1 -1
  33. package/dist-client/components/activity-starter-form.js +40 -9
  34. package/dist-client/components/activity-starter-form.js.map +1 -1
  35. package/dist-client/grist-editor/grist-editor-activity-search-key.d.ts +12 -0
  36. package/dist-client/grist-editor/grist-editor-activity-search-key.js +70 -0
  37. package/dist-client/grist-editor/grist-editor-activity-search-key.js.map +1 -0
  38. package/dist-client/grist-editor/popup-activity-search-keys-input.d.ts +17 -0
  39. package/dist-client/grist-editor/popup-activity-search-keys-input.js +177 -0
  40. package/dist-client/grist-editor/popup-activity-search-keys-input.js.map +1 -0
  41. package/dist-client/pages/activity/activity-list-page.d.ts +4 -0
  42. package/dist-client/pages/activity/activity-list-page.js +73 -11
  43. package/dist-client/pages/activity/activity-list-page.js.map +1 -1
  44. package/dist-client/pages/activity/activity-partial-view.d.ts +13 -0
  45. package/dist-client/pages/activity/activity-partial-view.js +56 -0
  46. package/dist-client/pages/activity/activity-partial-view.js.map +1 -0
  47. package/dist-client/pages/activity/starter-list-page.js.map +1 -1
  48. package/dist-client/pages/activity-approval/activity-approval-page.d.ts +2 -2
  49. package/dist-client/pages/activity-approval/activity-approval-page.js +59 -14
  50. package/dist-client/pages/activity-approval/activity-approval-page.js.map +1 -1
  51. package/dist-client/pages/activity-instance/activity-instance-page.d.ts +2 -1
  52. package/dist-client/pages/activity-instance/activity-instance-page.js +15 -0
  53. package/dist-client/pages/activity-instance/activity-instance-page.js.map +1 -1
  54. package/dist-client/pages/activity-instance/activity-instance-search-page.d.ts +76 -0
  55. package/dist-client/pages/activity-instance/activity-instance-search-page.js +371 -0
  56. package/dist-client/pages/activity-instance/activity-instance-search-page.js.map +1 -0
  57. package/dist-client/pages/activity-instance/activity-instance-view.d.ts +14 -0
  58. package/dist-client/pages/activity-instance/activity-instance-view.js +130 -0
  59. package/dist-client/pages/activity-instance/activity-instance-view.js.map +1 -0
  60. package/dist-client/pages/activity-store/activity-store-page.js +1 -1
  61. package/dist-client/pages/activity-store/activity-store-page.js.map +1 -1
  62. package/dist-client/pages/activity-template/activity-template-list-page.js +1 -1
  63. package/dist-client/pages/activity-template/activity-template-list-page.js.map +1 -1
  64. package/dist-client/pages/activity-thread/activity-thread-page.d.ts +2 -2
  65. package/dist-client/pages/activity-thread/activity-thread-page.js +29 -6
  66. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -1
  67. package/dist-client/pages/activity-thread/activity-thread-view.d.ts +11 -0
  68. package/dist-client/pages/activity-thread/activity-thread-view.js +103 -0
  69. package/dist-client/pages/activity-thread/activity-thread-view.js.map +1 -0
  70. package/dist-client/pages/installable-activity/installable-activity-list-page.js +1 -1
  71. package/dist-client/pages/installable-activity/installable-activity-list-page.js.map +1 -1
  72. package/dist-client/pages/todo/approval-waiting-list-page.js +12 -2
  73. package/dist-client/pages/todo/approval-waiting-list-page.js.map +1 -1
  74. package/dist-client/pages/todo/draft-list-page.d.ts +4 -8
  75. package/dist-client/pages/todo/draft-list-page.js +16 -3
  76. package/dist-client/pages/todo/draft-list-page.js.map +1 -1
  77. package/dist-client/pages/todo/todo-list-page.js +13 -3
  78. package/dist-client/pages/todo/todo-list-page.js.map +1 -1
  79. package/dist-client/route.d.ts +1 -1
  80. package/dist-client/route.js +3 -0
  81. package/dist-client/route.js.map +1 -1
  82. package/dist-client/tsconfig.tsbuildinfo +1 -1
  83. package/dist-client/types/activity-instance-type.d.ts +76 -0
  84. package/dist-client/types/activity-instance-type.js +11 -0
  85. package/dist-client/types/activity-instance-type.js.map +1 -0
  86. package/dist-client/types/activity-instance.d.ts +70 -0
  87. package/dist-client/types/activity-instance.js +36 -0
  88. package/dist-client/types/activity-instance.js.map +1 -0
  89. package/dist-client/types/activity-model-type.d.ts +31 -0
  90. package/dist-client/types/activity-model-type.js +18 -0
  91. package/dist-client/types/activity-model-type.js.map +1 -0
  92. package/dist-client/types/activity-search-key-item-type.d.ts +6 -0
  93. package/dist-client/types/activity-search-key-item-type.js +3 -0
  94. package/dist-client/types/activity-search-key-item-type.js.map +1 -0
  95. package/dist-client/types/activity-thread-type.d.ts +15 -0
  96. package/dist-client/types/activity-thread-type.js +7 -0
  97. package/dist-client/types/activity-thread-type.js.map +1 -0
  98. package/dist-client/types/activity-thread.d.ts +37 -0
  99. package/dist-client/types/activity-thread.js +51 -0
  100. package/dist-client/types/activity-thread.js.map +1 -0
  101. package/dist-client/types/activity.d.ts +62 -0
  102. package/dist-client/types/activity.js +35 -0
  103. package/dist-client/types/activity.js.map +1 -0
  104. package/dist-client/types/types.d.ts +15 -0
  105. package/dist-client/types/types.js +30 -0
  106. package/dist-client/types/types.js.map +1 -0
  107. package/dist-client/types.js +1 -0
  108. package/dist-client/types.js.map +1 -1
  109. package/dist-server/controllers/activity-approval/approve.js +3 -1
  110. package/dist-server/controllers/activity-approval/approve.js.map +1 -1
  111. package/dist-server/controllers/activity-approval/reject.js +2 -0
  112. package/dist-server/controllers/activity-approval/reject.js.map +1 -1
  113. package/dist-server/controllers/activity-installation/activity-installation-controller.js +25 -0
  114. package/dist-server/controllers/activity-installation/activity-installation-controller.js.map +1 -0
  115. package/dist-server/controllers/activity-installation/call-webhook.js +41 -0
  116. package/dist-server/controllers/activity-installation/call-webhook.js.map +1 -0
  117. package/dist-server/controllers/activity-installation/callback-registry.js +21 -0
  118. package/dist-server/controllers/activity-installation/callback-registry.js.map +1 -0
  119. package/dist-server/controllers/activity-instance/abort.js +1 -1
  120. package/dist-server/controllers/activity-instance/abort.js.map +1 -1
  121. package/dist-server/controllers/activity-instance/adjust.js +1 -1
  122. package/dist-server/controllers/activity-instance/adjust.js.map +1 -1
  123. package/dist-server/controllers/activity-instance/delegate.js +5 -0
  124. package/dist-server/controllers/activity-instance/delegate.js.map +1 -1
  125. package/dist-server/controllers/activity-instance/draft.js +27 -1
  126. package/dist-server/controllers/activity-instance/draft.js.map +1 -1
  127. package/dist-server/controllers/activity-instance/post.js +39 -4
  128. package/dist-server/controllers/activity-instance/post.js.map +1 -1
  129. package/dist-server/controllers/activity-instance/start.js +1 -1
  130. package/dist-server/controllers/activity-instance/start.js.map +1 -1
  131. package/dist-server/controllers/activity-thread/submit.js +2 -2
  132. package/dist-server/controllers/activity-thread/submit.js.map +1 -1
  133. package/dist-server/controllers/common.js +105 -57
  134. package/dist-server/controllers/common.js.map +1 -1
  135. package/dist-server/controllers/index.js +1 -1
  136. package/dist-server/controllers/index.js.map +1 -1
  137. package/dist-server/service/activity/activity-history.js +15 -0
  138. package/dist-server/service/activity/activity-history.js.map +1 -1
  139. package/dist-server/service/activity/activity-search-key-item-type.js +28 -0
  140. package/dist-server/service/activity/activity-search-key-item-type.js.map +1 -0
  141. package/dist-server/service/activity/activity-type.js +32 -0
  142. package/dist-server/service/activity/activity-type.js.map +1 -1
  143. package/dist-server/service/activity/activity.js +25 -3
  144. package/dist-server/service/activity/activity.js.map +1 -1
  145. package/dist-server/service/activity-approval/event-subscriber.js +1 -1
  146. package/dist-server/service/activity-approval/event-subscriber.js.map +1 -1
  147. package/dist-server/service/activity-instance/activity-instance-history.js +53 -0
  148. package/dist-server/service/activity-instance/activity-instance-history.js.map +1 -1
  149. package/dist-server/service/activity-instance/activity-instance-query.js +70 -0
  150. package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
  151. package/dist-server/service/activity-instance/activity-instance.js +53 -0
  152. package/dist-server/service/activity-instance/activity-instance.js.map +1 -1
  153. package/dist-server/service/activity-instance/event-subscriber.js +4 -4
  154. package/dist-server/service/activity-instance/event-subscriber.js.map +1 -1
  155. package/dist-server/service/activity-thread/activity-thread.js +4 -1
  156. package/dist-server/service/activity-thread/activity-thread.js.map +1 -1
  157. package/dist-server/service/installable-activity/installable-activity-mutation.js +1 -1
  158. package/dist-server/service/installable-activity/installable-activity-mutation.js.map +1 -1
  159. package/dist-server/service/installable-activity/installable-activity-query.js +1 -1
  160. package/dist-server/service/installable-activity/installable-activity-query.js.map +1 -1
  161. package/dist-server/service/installable-activity/installable-activity.js.map +1 -1
  162. package/dist-server/tsconfig.tsbuildinfo +1 -1
  163. package/package.json +8 -7
  164. package/server/controllers/activity-approval/approve.ts +5 -2
  165. package/server/controllers/activity-approval/reject.ts +3 -0
  166. package/server/controllers/{activity-installation-controller.ts → activity-installation/activity-installation-controller.ts} +12 -1
  167. package/server/controllers/activity-instance/abort.ts +1 -1
  168. package/server/controllers/activity-instance/adjust.ts +1 -1
  169. package/server/controllers/activity-instance/delegate.ts +9 -1
  170. package/server/controllers/activity-instance/draft.ts +30 -3
  171. package/server/controllers/activity-instance/post.ts +55 -7
  172. package/server/controllers/activity-instance/start.ts +1 -1
  173. package/server/controllers/activity-thread/submit.ts +3 -2
  174. package/server/controllers/common.ts +133 -56
  175. package/server/controllers/index.ts +1 -1
  176. package/server/service/activity/activity-history.ts +13 -0
  177. package/server/service/activity/activity-search-key-item-type.ts +16 -0
  178. package/server/service/activity/activity-type.ts +28 -1
  179. package/server/service/activity/activity.ts +22 -3
  180. package/server/service/activity-approval/event-subscriber.ts +1 -1
  181. package/server/service/activity-instance/activity-instance-history.ts +41 -0
  182. package/server/service/activity-instance/activity-instance-query.ts +74 -1
  183. package/server/service/activity-instance/activity-instance.ts +41 -0
  184. package/server/service/activity-instance/event-subscriber.ts +4 -4
  185. package/server/service/activity-thread/activity-thread.ts +6 -3
  186. package/server/service/installable-activity/installable-activity-mutation.ts +1 -1
  187. package/server/service/installable-activity/installable-activity-query.ts +1 -1
  188. package/server/service/installable-activity/installable-activity.ts +3 -1
  189. package/things-factory.config.js +5 -5
  190. package/translations/en.json +5 -0
  191. package/translations/ko.json +5 -0
  192. package/translations/ms.json +5 -0
  193. package/translations/zh.json +5 -0
  194. package/dist-client/pages/installed-activity/installed-activity-list-page.d.ts +0 -45
  195. package/dist-client/pages/installed-activity/installed-activity-list-page.js +0 -412
  196. package/dist-client/pages/installed-activity/installed-activity-list-page.js.map +0 -1
  197. package/dist-client/pages/installed-activity/installed-activity-model-item-list.d.ts +0 -1
  198. package/dist-client/pages/installed-activity/installed-activity-model-item-list.js +0 -20
  199. package/dist-client/pages/installed-activity/installed-activity-model-item-list.js.map +0 -1
  200. package/dist-client/templates/activity-context-template.d.ts +0 -2
  201. package/dist-client/templates/activity-context-template.js +0 -62
  202. package/dist-client/templates/activity-context-template.js.map +0 -1
  203. package/dist-server/service/installed-activity/index.js +0 -10
  204. package/dist-server/service/installed-activity/index.js.map +0 -1
  205. package/dist-server/service/installed-activity/installed-activity-mutation.js +0 -60
  206. package/dist-server/service/installed-activity/installed-activity-mutation.js.map +0 -1
  207. package/dist-server/service/installed-activity/installed-activity-query.js +0 -48
  208. package/dist-server/service/installed-activity/installed-activity-query.js.map +0 -1
  209. package/dist-server/service/installed-activity/installed-activity-type.js +0 -21
  210. package/dist-server/service/installed-activity/installed-activity-type.js.map +0 -1
  211. package/dist-server/service/installed-activity/installed-activity.js +0 -70
  212. package/dist-server/service/installed-activity/installed-activity.js.map +0 -1
  213. /package/server/controllers/{call-webhook.ts → activity-installation/call-webhook.ts} +0 -0
@@ -1,34 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSystemUserFromAssigneeItem = exports.getSystemUserFromApprovalLineItem = exports.createActivityThreadsForAllRoleUsers = exports.createActivityThreadsForUsers = exports.evalActivityInstanceState = exports.updateActivityInstanceState = void 0;
3
+ exports.fillActivitySearchKeys = exports.getSystemUserFromOrgMemberItem = exports.getSystemUserFromMySupervosor = exports.getSystemUserFromMyDepartmentManager = exports.createActivityThreadsForAllRoleUsers = exports.createActivityThreadsForUsers = exports.evalActivityInstanceState = exports.updateActivityInstanceState = void 0;
4
4
  const auth_base_1 = require("@things-factory/auth-base");
5
5
  const activity_instance_1 = require("../service/activity-instance/activity-instance");
6
6
  const activity_thread_1 = require("../service/activity-thread/activity-thread");
7
7
  const organization_1 = require("@things-factory/organization");
8
+ const activity_installation_controller_1 = require("./activity-installation/activity-installation-controller");
8
9
  async function updateActivityInstanceState(id, context) {
9
10
  const { tx } = context.state;
10
- await tx.getRepository(activity_instance_1.ActivityInstance).save(Object.assign(Object.assign({}, (await tx.getRepository(activity_instance_1.ActivityInstance).findOne({
11
+ var activityInstance = await tx.getRepository(activity_instance_1.ActivityInstance).findOne({
11
12
  where: { id },
12
- relations: [
13
- 'domain',
14
- 'activity',
15
- 'assigneeRole',
16
- 'supervisoryRole',
17
- 'updater',
18
- 'creator',
19
- 'starter',
20
- 'terminator'
21
- ]
22
- }))), { transaction: 'thread' /* change by transaction of activity thread */, state: await evalActivityInstanceState(id, context) }));
13
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
14
+ });
15
+ activityInstance = await tx.getRepository(activity_instance_1.ActivityInstance).save(Object.assign(Object.assign(Object.assign({}, activityInstance), { transaction: 'thread' /* change by transaction of activity thread */ }), (await evalActivityInstanceState(id, context))));
16
+ await activity_installation_controller_1.ActivityInstallations.callback(activityInstance.activity.name, activityInstance, context);
23
17
  }
24
18
  exports.updateActivityInstanceState = updateActivityInstanceState;
25
19
  async function evalActivityInstanceState(id, context) {
26
- const { tx } = context.state;
20
+ const { tx, user } = context.state;
27
21
  const activityInstance = await tx.getRepository(activity_instance_1.ActivityInstance).findOne({
28
22
  where: { id },
29
23
  relations: ['activityThreads']
30
24
  });
31
- const { threadsMin, threadsMax, activityThreads, state, dueAt } = activityInstance;
25
+ const { threadsMin, activityThreads, state, dueAt } = activityInstance;
32
26
  const validThreads = activityThreads.filter(thread => thread.isValid());
33
27
  const pendingStartedThreads = activityThreads.filter(thread => thread.isPendingStarted());
34
28
  const pendingEndedThreads = activityThreads.filter(thread => thread.isPendingEnded());
@@ -36,17 +30,49 @@ async function evalActivityInstanceState(id, context) {
36
30
  case state === activity_instance_1.ActivityInstanceStatus.Draft:
37
31
  case state === activity_instance_1.ActivityInstanceStatus.Ended:
38
32
  case state === activity_instance_1.ActivityInstanceStatus.Aborted:
39
- return state;
33
+ return {};
40
34
  case validThreads.length === 0:
41
- return activity_instance_1.ActivityInstanceStatus.Posted;
35
+ return {
36
+ state: activity_instance_1.ActivityInstanceStatus.Posted
37
+ };
42
38
  case threadsMin > validThreads.length:
43
- return activity_instance_1.ActivityInstanceStatus.WaitingAssignment;
39
+ return {
40
+ state: activity_instance_1.ActivityInstanceStatus.WaitingAssignment
41
+ };
44
42
  case pendingStartedThreads.length > 0:
45
- return activity_instance_1.ActivityInstanceStatus.Assigned;
43
+ return {
44
+ state: activity_instance_1.ActivityInstanceStatus.Assigned,
45
+ assignedAt: new Date()
46
+ };
46
47
  case pendingEndedThreads.length > 0:
47
- return !dueAt || dueAt.getTime() > Date.now() ? activity_instance_1.ActivityInstanceStatus.Started : activity_instance_1.ActivityInstanceStatus.Pending;
48
+ var started = !dueAt || dueAt.getTime() > Date.now();
49
+ var changed = (started && state !== activity_instance_1.ActivityInstanceStatus.Started) || (!started && state !== activity_instance_1.ActivityInstanceStatus.Pending);
50
+ return !changed
51
+ ? null
52
+ : started
53
+ ? {
54
+ state: activity_instance_1.ActivityInstanceStatus.Started,
55
+ startedAt: new Date(),
56
+ starter: user
57
+ }
58
+ : {
59
+ state: activity_instance_1.ActivityInstanceStatus.Pending
60
+ };
48
61
  default:
49
- return activity_instance_1.ActivityInstanceStatus.Ended;
62
+ return {
63
+ state: activityThreads.find(thread => thread.state == activity_thread_1.ActivityThreadStatus.Aborted)
64
+ ? activity_instance_1.ActivityInstanceStatus.Aborted
65
+ : activity_instance_1.ActivityInstanceStatus.Ended,
66
+ reason: '',
67
+ output: activityThreads
68
+ .filter(thread => (thread.state = activity_thread_1.ActivityThreadStatus.Ended))
69
+ .reduce((sum, thread) => {
70
+ sum[thread.assigneeId] = thread.output;
71
+ return sum;
72
+ }, {}),
73
+ terminatedAt: new Date(),
74
+ terminator: user
75
+ };
50
76
  }
51
77
  }
52
78
  exports.evalActivityInstanceState = evalActivityInstanceState;
@@ -54,7 +80,10 @@ async function createActivityThreadsForUsers(transaction, activityInstance, assi
54
80
  const { domain, user, tx } = context.state;
55
81
  const threadRepo = tx.getRepository(activity_thread_1.ActivityThread);
56
82
  const now = new Date();
57
- const result = await threadRepo.save(assignees.map(assignee => {
83
+ const distinct = assignees.filter((assignee, idx) => {
84
+ return assignee && !assignees.slice(0, idx).find(x => x.id == assignee.id);
85
+ });
86
+ const result = await threadRepo.save(distinct.map(assignee => {
58
87
  return {
59
88
  assignee,
60
89
  state: activity_thread_1.ActivityThreadStatus.Assigned,
@@ -86,66 +115,85 @@ async function createActivityThreadsForAllRoleUsers(transaction, activityInstanc
86
115
  return await createActivityThreadsForUsers(transaction, activityInstance, assignees, context);
87
116
  }
88
117
  exports.createActivityThreadsForAllRoleUsers = createActivityThreadsForAllRoleUsers;
89
- async function getSystemUserFromApprovalLineItem(approvalLineItem, context) {
118
+ async function getSystemUserFromMyDepartmentManager(context) {
90
119
  const { domain, user, tx } = context.state;
91
- const { type, value, approver } = approvalLineItem;
92
- const { id: approverId, name, description, controlNo } = approver;
93
- if (type == organization_1.OrgMemberTargetType.Employee) {
94
- const employee = await tx.getRepository(organization_1.Employee).findOne({ where: { id: approverId }, relations: ['user'] });
95
- if (!employee || !employee.user) {
96
- return;
97
- }
98
- return employee.user;
99
- }
100
- else if (type == organization_1.OrgMemberTargetType.Department) {
101
- const department = await tx.getRepository(organization_1.Department).findOne({ where: { id: approverId }, relations: ['manager'] });
102
- if (!department || !department.manager) {
103
- return;
104
- }
105
- return await tx.getRepository(auth_base_1.User).findOneBy({ id: department.manager.userId });
106
- }
107
- else if (type == organization_1.OrgMemberTargetType.Role) {
108
- }
109
- else if (type == organization_1.OrgMemberTargetType.Myself) {
110
- return user;
111
- }
112
- else if (type == organization_1.OrgMemberTargetType.MyDepartment) {
113
- // return user
120
+ const employee = await tx.getRepository(organization_1.Employee).findOneBy({
121
+ domain: { id: domain.id },
122
+ user: { id: user.id }
123
+ });
124
+ if (!employee || !employee.departmentId) {
125
+ return;
114
126
  }
115
- else if (type == organization_1.OrgMemberTargetType.MySupervisor) {
116
- // return user
127
+ const department = await tx.getRepository(organization_1.Department).findOne({
128
+ where: {
129
+ id: employee.departmentId
130
+ },
131
+ relations: ['manager']
132
+ });
133
+ return department.manager;
134
+ }
135
+ exports.getSystemUserFromMyDepartmentManager = getSystemUserFromMyDepartmentManager;
136
+ async function getSystemUserFromMySupervosor(context) {
137
+ const { domain, user, tx } = context.state;
138
+ const employee = await tx.getRepository(organization_1.Employee).findOneBy({
139
+ domain: { id: domain.id },
140
+ user: { id: user.id }
141
+ });
142
+ if (!employee || !employee.supervisorId) {
143
+ return;
117
144
  }
145
+ const supervisor = await tx.getRepository(organization_1.Employee).findOne({
146
+ where: {
147
+ id: employee.supervisorId
148
+ },
149
+ relations: ['user']
150
+ });
151
+ return supervisor.user;
118
152
  }
119
- exports.getSystemUserFromApprovalLineItem = getSystemUserFromApprovalLineItem;
120
- async function getSystemUserFromAssigneeItem(assigneeItem, context) {
153
+ exports.getSystemUserFromMySupervosor = getSystemUserFromMySupervosor;
154
+ async function getSystemUserFromOrgMemberItem(item, context) {
121
155
  const { domain, user, tx } = context.state;
122
- const { type, value, assignee } = assigneeItem;
123
- const { id: assigneeId, name, description, controlNo } = assignee;
156
+ const { type, value: id } = item;
124
157
  if (type == organization_1.OrgMemberTargetType.Employee) {
125
- const employee = await tx.getRepository(organization_1.Employee).findOne({ where: { id: assigneeId }, relations: ['user'] });
158
+ const employee = await tx.getRepository(organization_1.Employee).findOne({ where: { id }, relations: ['user'] });
126
159
  if (!employee || !employee.user) {
127
160
  return;
128
161
  }
129
162
  return employee.user;
130
163
  }
131
164
  else if (type == organization_1.OrgMemberTargetType.Department) {
132
- const department = await tx.getRepository(organization_1.Department).findOne({ where: { id: assigneeId }, relations: ['manager'] });
165
+ const department = await tx.getRepository(organization_1.Department).findOne({ where: { id }, relations: ['manager'] });
133
166
  if (!department || !department.manager) {
134
167
  return;
135
168
  }
136
169
  return await tx.getRepository(auth_base_1.User).findOneBy({ id: department.manager.userId });
137
170
  }
138
171
  else if (type == organization_1.OrgMemberTargetType.Role) {
172
+ const role = await tx.getRepository(auth_base_1.Role).findOne({ where: { id }, relations: ['users'] });
173
+ if (!role || !role.users || !role.users[0]) {
174
+ return;
175
+ }
176
+ return await tx.getRepository(auth_base_1.User).findOneBy({ id: role.users[0].id });
139
177
  }
140
178
  else if (type == organization_1.OrgMemberTargetType.Myself) {
141
179
  return user;
142
180
  }
143
181
  else if (type == organization_1.OrgMemberTargetType.MyDepartment) {
144
- // return user
182
+ return await getSystemUserFromMyDepartmentManager(context);
145
183
  }
146
184
  else if (type == organization_1.OrgMemberTargetType.MySupervisor) {
147
- // return user
185
+ return await getSystemUserFromMySupervosor(context);
148
186
  }
149
187
  }
150
- exports.getSystemUserFromAssigneeItem = getSystemUserFromAssigneeItem;
188
+ exports.getSystemUserFromOrgMemberItem = getSystemUserFromOrgMemberItem;
189
+ function fillActivitySearchKeys(searchKeys, input) {
190
+ return searchKeys === null || searchKeys === void 0 ? void 0 : searchKeys.reduce((sum, key, index) => {
191
+ const value = input[key.inputKey];
192
+ if (value != null) {
193
+ sum[`key0${index + 1}`] = value instanceof Array ? value[0] : value;
194
+ }
195
+ return sum;
196
+ }, {});
197
+ }
198
+ exports.fillActivitySearchKeys = fillActivitySearchKeys;
151
199
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../server/controllers/common.ts"],"names":[],"mappings":"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","sourcesContent":["import { Role, User } from '@things-factory/auth-base'\n\nimport { ActivityInstance, ActivityInstanceStatus, AssigneeItem } from '../service/activity-instance/activity-instance'\nimport { ActivityThread, ActivityThreadStatus } from '../service/activity-thread/activity-thread'\nimport { Department, Employee, ApprovalLineItem, OrgMemberTargetType } from '@things-factory/organization'\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 const result = 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 await updateActivityInstanceState(activityInstance.id, context)\n\n return result\n}\n\nexport async function createActivityThreadsForAllRoleUsers(\n transaction: string,\n activityInstance: ActivityInstance,\n context: ResolverContext\n): Promise<ActivityThread[]> {\n const { tx } = context.state\n\n // find how many users are having given role\n const assigneeRole = (await tx.getRepository(Role).findOne({\n where: { id: activityInstance.assigneeRoleId },\n relations: ['users']\n })) as Role\n const assignees = (assigneeRole?.users || []).filter(user => user.userType == 'user')\n\n if (assignees.length === 0) {\n throw new Error(\"there's no users having given role\")\n }\n\n // create activity-thread for all of users having given role\n return await createActivityThreadsForUsers(transaction, activityInstance, assignees, context)\n}\n\nexport async function getSystemUserFromApprovalLineItem(\n approvalLineItem: ApprovalLineItem,\n context: any\n): Promise<User> {\n const { domain, user, tx } = context.state\n\n const { type, value, approver } = approvalLineItem\n const { id: approverId, name, description, controlNo } = approver\n\n if (type == OrgMemberTargetType.Employee) {\n const employee = await tx.getRepository(Employee).findOne({ where: { id: approverId }, relations: ['user'] })\n\n if (!employee || !employee.user) {\n return\n }\n return employee.user\n } else if (type == OrgMemberTargetType.Department) {\n const department = await tx.getRepository(Department).findOne({ where: { id: approverId }, relations: ['manager'] })\n\n if (!department || !department.manager) {\n return\n }\n return await tx.getRepository(User).findOneBy({ id: department.manager.userId })\n } else if (type == OrgMemberTargetType.Role) {\n } else if (type == OrgMemberTargetType.Myself) {\n return user\n } else if (type == OrgMemberTargetType.MyDepartment) {\n // return user\n } else if (type == OrgMemberTargetType.MySupervisor) {\n // return user\n }\n}\n\nexport async function getSystemUserFromAssigneeItem(assigneeItem: AssigneeItem, context: any): Promise<User> {\n const { domain, user, tx } = context.state\n\n const { type, value, assignee } = assigneeItem\n const { id: assigneeId, name, description, controlNo } = assignee\n\n if (type == OrgMemberTargetType.Employee) {\n const employee = await tx.getRepository(Employee).findOne({ where: { id: assigneeId }, relations: ['user'] })\n\n if (!employee || !employee.user) {\n return\n }\n return employee.user\n } else if (type == OrgMemberTargetType.Department) {\n const department = await tx.getRepository(Department).findOne({ where: { id: assigneeId }, relations: ['manager'] })\n\n if (!department || !department.manager) {\n return\n }\n return await tx.getRepository(User).findOneBy({ id: department.manager.userId })\n } else if (type == OrgMemberTargetType.Role) {\n } else if (type == OrgMemberTargetType.Myself) {\n return user\n } else if (type == OrgMemberTargetType.MyDepartment) {\n // return user\n } else if (type == OrgMemberTargetType.MySupervisor) {\n // return user\n }\n}\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../server/controllers/common.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AAGtD,sFAAuH;AACvH,gFAAiG;AACjG,+DAA0G;AAC1G,+GAAgG;AAEzF,KAAK,UAAU,2BAA2B,CAAC,EAAU,EAAE,OAAwB;IACpF,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE5B,IAAI,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,OAAO,CAAC;QACtE,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC;KACpH,CAAC,CAAA;IAEF,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,+CAC3D,gBAAgB,KACnB,WAAW,EAAE,QAAQ,CAAC,8CAA8C,KACjE,CAAC,MAAM,yBAAyB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,EACjD,CAAA;IAEF,MAAM,wDAAqB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAA;AACjG,CAAC;AAfD,kEAeC;AAEM,KAAK,UAAU,yBAAyB,CAC7C,EAAU,EACV,OAAwB;IAExB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAElC,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,OAAO,CAAC;QACxE,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,SAAS,EAAE,CAAC,iBAAiB,CAAC;KAC/B,CAAC,CAAA;IACF,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAA;IAEtE,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IACvE,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAA;IACzF,MAAM,mBAAmB,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAA;IAErF,QAAQ,IAAI,EAAE;QACZ,KAAK,KAAK,KAAK,0CAAsB,CAAC,KAAK,CAAC;QAC5C,KAAK,KAAK,KAAK,0CAAsB,CAAC,KAAK,CAAC;QAC5C,KAAK,KAAK,KAAK,0CAAsB,CAAC,OAAO;YAC3C,OAAO,EAAE,CAAA;QACX,KAAK,YAAY,CAAC,MAAM,KAAK,CAAC;YAC5B,OAAO;gBACL,KAAK,EAAE,0CAAsB,CAAC,MAAM;aACrC,CAAA;QACH,KAAK,UAAU,GAAG,YAAY,CAAC,MAAM;YACnC,OAAO;gBACL,KAAK,EAAE,0CAAsB,CAAC,iBAAiB;aAChD,CAAA;QACH,KAAK,qBAAqB,CAAC,MAAM,GAAG,CAAC;YACnC,OAAO;gBACL,KAAK,EAAE,0CAAsB,CAAC,QAAQ;gBACtC,UAAU,EAAE,IAAI,IAAI,EAAE;aACvB,CAAA;QACH,KAAK,mBAAmB,CAAC,MAAM,GAAG,CAAC;YACjC,IAAI,OAAO,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACpD,IAAI,OAAO,GACT,CAAC,OAAO,IAAI,KAAK,KAAK,0CAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,KAAK,0CAAsB,CAAC,OAAO,CAAC,CAAA;YAEjH,OAAO,CAAC,OAAO;gBACb,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC;wBACE,KAAK,EAAE,0CAAsB,CAAC,OAAO;wBACrC,SAAS,EAAE,IAAI,IAAI,EAAE;wBACrB,OAAO,EAAE,IAAI;qBACd;oBACH,CAAC,CAAC;wBACE,KAAK,EAAE,0CAAsB,CAAC,OAAO;qBACtC,CAAA;QACP;YACE,OAAO;gBACL,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,sCAAoB,CAAC,OAAO,CAAC;oBACjF,CAAC,CAAC,0CAAsB,CAAC,OAAO;oBAChC,CAAC,CAAC,0CAAsB,CAAC,KAAK;gBAChC,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,eAAe;qBACpB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,sCAAoB,CAAC,KAAK,CAAC,CAAC;qBAC7D,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;oBACtB,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;oBACtC,OAAO,GAAG,CAAA;gBACZ,CAAC,EAAE,EAAS,CAAC;gBACf,YAAY,EAAE,IAAI,IAAI,EAAE;gBACxB,UAAU,EAAE,IAAI;aACjB,CAAA;KACJ;AACH,CAAC;AAlED,8DAkEC;AAEM,KAAK,UAAU,6BAA6B,CACjD,WAAmB,EACnB,gBAAkC,EAClC,SAAiB,EACjB,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,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IAEtB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QAClD,OAAO,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC5E,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAClC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACtB,OAAO;YACL,QAAQ;YACR,KAAK,EAAE,sCAAoB,CAAC,QAAQ;YACpC,gBAAgB;YAChB,MAAM;YACN,WAAW;YACX,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,gBAAgB,CAAC,KAAK;YAC7B,UAAU,EAAE,GAAG;SACT,CAAA;IACV,CAAC,CAAC,CACH,CAAA;IAED,MAAM,2BAA2B,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE/D,OAAO,MAAM,CAAA;AACf,CAAC;AAlCD,sEAkCC;AAEM,KAAK,UAAU,oCAAoC,CACxD,WAAmB,EACnB,gBAAkC,EAClC,OAAwB;IAExB,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE5B,4CAA4C;IAC5C,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,OAAO,CAAC;QACzD,KAAK,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,cAAc,EAAE;QAC9C,SAAS,EAAE,CAAC,OAAO,CAAC;KACrB,CAAC,CAAS,CAAA;IACX,MAAM,SAAS,GAAG,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAA;IAErF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IAED,4DAA4D;IAC5D,OAAO,MAAM,6BAA6B,CAAC,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AAC/F,CAAC;AApBD,oFAoBC;AAEM,KAAK,UAAU,oCAAoC,CAAC,OAAwB;IACjF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAQ,CAAC,CAAC,SAAS,CAAC;QAC1D,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;QACzB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;KACtB,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;QACvC,OAAM;KACP;IAED,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,yBAAU,CAAC,CAAC,OAAO,CAAC;QAC5D,KAAK,EAAE;YACL,EAAE,EAAE,QAAQ,CAAC,YAAY;SAC1B;QACD,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB,CAAC,CAAA;IAEF,OAAO,UAAU,CAAC,OAAO,CAAA;AAC3B,CAAC;AApBD,oFAoBC;AAEM,KAAK,UAAU,6BAA6B,CAAC,OAAwB;IAC1E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAQ,CAAC,CAAC,SAAS,CAAC;QAC1D,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;QACzB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;KACtB,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;QACvC,OAAM;KACP;IAED,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAQ,CAAC,CAAC,OAAO,CAAC;QAC1D,KAAK,EAAE;YACL,EAAE,EAAE,QAAQ,CAAC,YAAY;SAC1B;QACD,SAAS,EAAE,CAAC,MAAM,CAAC;KACpB,CAAC,CAAA;IAEF,OAAO,UAAU,CAAC,IAAI,CAAA;AACxB,CAAC;AApBD,sEAoBC;AAEM,KAAK,UAAU,8BAA8B,CAClD,IAAqC,EACrC,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,CAAA;IAEhC,IAAI,IAAI,IAAI,kCAAmB,CAAC,QAAQ,EAAE;QACxC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAEjG,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC/B,OAAM;SACP;QACD,OAAO,QAAQ,CAAC,IAAI,CAAA;KACrB;SAAM,IAAI,IAAI,IAAI,kCAAmB,CAAC,UAAU,EAAE;QACjD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,yBAAU,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAExG,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACtC,OAAM;SACP;QACD,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;KACjF;SAAM,IAAI,IAAI,IAAI,kCAAmB,CAAC,IAAI,EAAE;QAC3C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAE1F,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAC1C,OAAM;SACP;QAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;KACxE;SAAM,IAAI,IAAI,IAAI,kCAAmB,CAAC,MAAM,EAAE;QAC7C,OAAO,IAAI,CAAA;KACZ;SAAM,IAAI,IAAI,IAAI,kCAAmB,CAAC,YAAY,EAAE;QACnD,OAAO,MAAM,oCAAoC,CAAC,OAAO,CAAC,CAAA;KAC3D;SAAM,IAAI,IAAI,IAAI,kCAAmB,CAAC,YAAY,EAAE;QACnD,OAAO,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAA;KACpD;AACH,CAAC;AArCD,wEAqCC;AAED,SAAgB,sBAAsB,CAAC,UAAmC,EAAE,KAA6B;IACvG,OAAO,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACjC,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;SACpE;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC;AARD,wDAQC","sourcesContent":["import { Role, User } from '@things-factory/auth-base'\n\nimport { ActivitySearchKeyItem } from '../service/activity/activity-search-key-item-type'\nimport { ActivityInstance, ActivityInstanceStatus, AssigneeItem } from '../service/activity-instance/activity-instance'\nimport { ActivityThread, ActivityThreadStatus } from '../service/activity-thread/activity-thread'\nimport { Department, Employee, ApprovalLineItem, OrgMemberTargetType } from '@things-factory/organization'\nimport { ActivityInstallations } from './activity-installation/activity-installation-controller'\n\nexport async function updateActivityInstanceState(id: string, context: ResolverContext) {\n const { tx } = context.state\n\n var activityInstance = await tx.getRepository(ActivityInstance).findOne({\n where: { id },\n relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']\n })\n\n activityInstance = await tx.getRepository(ActivityInstance).save({\n ...activityInstance,\n transaction: 'thread' /* change by transaction of activity thread */,\n ...(await evalActivityInstanceState(id, context))\n })\n\n await ActivityInstallations.callback(activityInstance.activity.name, activityInstance, context)\n}\n\nexport async function evalActivityInstanceState(\n id: string,\n context: ResolverContext\n): Promise<Partial<ActivityInstance>> {\n const { tx, user } = context.state\n\n const activityInstance = await tx.getRepository(ActivityInstance).findOne({\n where: { id },\n relations: ['activityThreads']\n })\n const { threadsMin, activityThreads, state, dueAt } = activityInstance\n\n const validThreads = activityThreads.filter(thread => thread.isValid())\n const pendingStartedThreads = activityThreads.filter(thread => thread.isPendingStarted())\n const pendingEndedThreads = activityThreads.filter(thread => thread.isPendingEnded())\n\n switch (true) {\n case state === ActivityInstanceStatus.Draft:\n case state === ActivityInstanceStatus.Ended:\n case state === ActivityInstanceStatus.Aborted:\n return {}\n case validThreads.length === 0:\n return {\n state: ActivityInstanceStatus.Posted\n }\n case threadsMin > validThreads.length:\n return {\n state: ActivityInstanceStatus.WaitingAssignment\n }\n case pendingStartedThreads.length > 0:\n return {\n state: ActivityInstanceStatus.Assigned,\n assignedAt: new Date()\n }\n case pendingEndedThreads.length > 0:\n var started = !dueAt || dueAt.getTime() > Date.now()\n var changed =\n (started && state !== ActivityInstanceStatus.Started) || (!started && state !== ActivityInstanceStatus.Pending)\n\n return !changed\n ? null\n : started\n ? {\n state: ActivityInstanceStatus.Started,\n startedAt: new Date(),\n starter: user\n }\n : {\n state: ActivityInstanceStatus.Pending\n }\n default:\n return {\n state: activityThreads.find(thread => thread.state == ActivityThreadStatus.Aborted)\n ? ActivityInstanceStatus.Aborted\n : ActivityInstanceStatus.Ended,\n reason: '',\n output: activityThreads\n .filter(thread => (thread.state = ActivityThreadStatus.Ended))\n .reduce((sum, thread) => {\n sum[thread.assigneeId] = thread.output\n return sum\n }, {} as any),\n terminatedAt: new Date(),\n terminator: user\n }\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 const distinct = assignees.filter((assignee, idx) => {\n return assignee && !assignees.slice(0, idx).find(x => x.id == assignee.id)\n })\n\n const result = await threadRepo.save(\n distinct.map(assignee => {\n return {\n assignee,\n state: ActivityThreadStatus.Assigned,\n activityInstance,\n domain,\n transaction,\n creator: user,\n updater: user,\n dueAt: activityInstance.dueAt,\n assignedAt: now\n } as any\n })\n )\n\n await updateActivityInstanceState(activityInstance.id, context)\n\n return result\n}\n\nexport async function createActivityThreadsForAllRoleUsers(\n transaction: string,\n activityInstance: ActivityInstance,\n context: ResolverContext\n): Promise<ActivityThread[]> {\n const { tx } = context.state\n\n // find how many users are having given role\n const assigneeRole = (await tx.getRepository(Role).findOne({\n where: { id: activityInstance.assigneeRoleId },\n relations: ['users']\n })) as Role\n const assignees = (assigneeRole?.users || []).filter(user => user.userType == 'user')\n\n if (assignees.length === 0) {\n throw new Error(\"there's no users having given role\")\n }\n\n // create activity-thread for all of users having given role\n return await createActivityThreadsForUsers(transaction, activityInstance, assignees, context)\n}\n\nexport async function getSystemUserFromMyDepartmentManager(context: ResolverContext): Promise<User> {\n const { domain, user, tx } = context.state\n\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee || !employee.departmentId) {\n return\n }\n\n const department = await tx.getRepository(Department).findOne({\n where: {\n id: employee.departmentId\n },\n relations: ['manager']\n })\n\n return department.manager\n}\n\nexport async function getSystemUserFromMySupervosor(context: ResolverContext): Promise<User> {\n const { domain, user, tx } = context.state\n\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee || !employee.supervisorId) {\n return\n }\n\n const supervisor = await tx.getRepository(Employee).findOne({\n where: {\n id: employee.supervisorId\n },\n relations: ['user']\n })\n\n return supervisor.user\n}\n\nexport async function getSystemUserFromOrgMemberItem(\n item: AssigneeItem | ApprovalLineItem,\n context: ResolverContext\n): Promise<User> {\n const { domain, user, tx } = context.state\n\n const { type, value: id } = item\n\n if (type == OrgMemberTargetType.Employee) {\n const employee = await tx.getRepository(Employee).findOne({ where: { id }, relations: ['user'] })\n\n if (!employee || !employee.user) {\n return\n }\n return employee.user\n } else if (type == OrgMemberTargetType.Department) {\n const department = await tx.getRepository(Department).findOne({ where: { id }, relations: ['manager'] })\n\n if (!department || !department.manager) {\n return\n }\n return await tx.getRepository(User).findOneBy({ id: department.manager.userId })\n } else if (type == OrgMemberTargetType.Role) {\n const role = await tx.getRepository(Role).findOne({ where: { id }, relations: ['users'] })\n\n if (!role || !role.users || !role.users[0]) {\n return\n }\n\n return await tx.getRepository(User).findOneBy({ id: role.users[0].id })\n } else if (type == OrgMemberTargetType.Myself) {\n return user\n } else if (type == OrgMemberTargetType.MyDepartment) {\n return await getSystemUserFromMyDepartmentManager(context)\n } else if (type == OrgMemberTargetType.MySupervisor) {\n return await getSystemUserFromMySupervosor(context)\n }\n}\n\nexport function fillActivitySearchKeys(searchKeys: ActivitySearchKeyItem[], input: { [key: string]: any }) {\n return searchKeys?.reduce((sum, key, index) => {\n const value = input[key.inputKey]\n if (value != null) {\n sum[`key0${index + 1}`] = value instanceof Array ? value[0] : value\n }\n return sum\n }, {})\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./activity-installation-controller"), exports);
4
+ tslib_1.__exportStar(require("./activity-installation/activity-installation-controller"), exports);
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/controllers/index.ts"],"names":[],"mappings":";;;AAAA,6EAAkD","sourcesContent":["export * from './activity-installation-controller'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/controllers/index.ts"],"names":[],"mappings":";;;AAAA,mGAAwE","sourcesContent":["export * from './activity-installation/activity-installation-controller'\n"]}
@@ -8,6 +8,8 @@ const typeorm_history_1 = require("@operato/typeorm-history");
8
8
  const auth_base_1 = require("@things-factory/auth-base");
9
9
  const env_1 = require("@things-factory/env");
10
10
  const shell_1 = require("@things-factory/shell");
11
+ const organization_1 = require("@things-factory/organization");
12
+ const activity_instance_1 = require("../activity-instance/activity-instance");
11
13
  const activity_1 = require("./activity");
12
14
  const activity_model_type_1 = require("./activity-model-type");
13
15
  const ORMCONFIG = env_1.config.get('ormconfig', {});
@@ -119,6 +121,19 @@ tslib_1.__decorate([
119
121
  (0, typeorm_1.RelationId)((activity) => activity.supervisoryRole),
120
122
  tslib_1.__metadata("design:type", String)
121
123
  ], ActivityHistory.prototype, "supervisoryRoleId", void 0);
124
+ tslib_1.__decorate([
125
+ (0, typeorm_1.Column)('simple-json', { nullable: true }),
126
+ (0, type_graphql_1.Field)(type => [activity_instance_1.AssigneeItem], { nullable: true, description: 'Who to resolve for the activity.' }),
127
+ tslib_1.__metadata("design:type", Array)
128
+ ], ActivityHistory.prototype, "assignees", void 0);
129
+ tslib_1.__decorate([
130
+ (0, typeorm_1.Column)('simple-json', { nullable: true }),
131
+ (0, type_graphql_1.Field)(type => [organization_1.ApprovalLineItem], {
132
+ nullable: true,
133
+ description: 'Approval line for handling the activity.'
134
+ }),
135
+ tslib_1.__metadata("design:type", Array)
136
+ ], ActivityHistory.prototype, "approvalLine", void 0);
122
137
  tslib_1.__decorate([
123
138
  (0, typeorm_1.Column)({ nullable: true }),
124
139
  (0, type_graphql_1.Field)({ nullable: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"activity-history.js","sourceRoot":"","sources":["../../../server/service/activity/activity-history.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType } from 'type-graphql'\nimport { Column, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId } from 'typeorm'\n\nimport {\n HistoryActionColumn,\n HistoryActionType,\n HistoryEntityInterface,\n HistoryOriginalIdColumn\n} from '@operato/typeorm-history'\nimport { Role, User } from '@things-factory/auth-base'\nimport { config } from '@things-factory/env'\nimport { Domain } from '@things-factory/shell'\n\nimport { Activity, ActivityStatus, ActivityType, ActivityUIType } from './activity'\nimport { ActivityModelItem } from './activity-model-type'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\n@Entity()\n@Index(\n 'ix_activity_history_0',\n (activityHistory: ActivityHistory) => [activityHistory.originalId, activityHistory.version],\n { unique: true }\n)\n@Index(\n 'ix_activity_history_1',\n (activityHistory: ActivityHistory) => [activityHistory.domain, activityHistory.originalId, activityHistory.version],\n { unique: true }\n)\n@ObjectType({ description: 'History Entity of Activity' })\nexport class ActivityHistory implements HistoryEntityInterface<Activity> {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @Column({ nullable: true, default: 1 })\n @Field({ nullable: true })\n version?: number = 1\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((activity: Activity) => activity.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n state?: ActivityStatus\n\n @Column('simple-json', { nullable: true })\n @Field(type => [ActivityModelItem], { nullable: true })\n model?: ActivityModelItem[]\n\n @Column({ nullable: true, default: 1 })\n @Field({ nullable: true })\n priority?: number = 1\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n startable?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n standardTime?: number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n cycleTime?: number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n tactTime?: number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n leadTime?: number\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true })\n issuerRole?: Role\n\n @RelationId((activity: Activity) => activity.issuerRole)\n issuerRoleId?: string\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true })\n assigneeRole?: Role\n\n @RelationId((activity: Activity) => activity.assigneeRole)\n assigneeRoleId?: string\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true })\n supervisoryRole?: Role\n\n @RelationId((activity: Activity) => activity.supervisoryRole)\n supervisoryRoleId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n uiSource?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reportType?: ActivityUIType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reportSource?: string\n\n @Column()\n @Field({ nullable: true })\n createdAt?: Date\n\n @Column()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((activity: Activity) => activity.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((activity: Activity) => activity.updater)\n updaterId?: string\n\n @HistoryOriginalIdColumn()\n public originalId!: string\n\n @HistoryActionColumn({\n nullable: false,\n type:\n DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'enum'\n : DATABASE_TYPE == 'oracle'\n ? 'varchar2'\n : 'smallint',\n enum: HistoryActionType\n })\n public action!: HistoryActionType\n}\n"]}
1
+ {"version":3,"file":"activity-history.js","sourceRoot":"","sources":["../../../server/service/activity/activity-history.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType } from 'type-graphql'\nimport { Column, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId } from 'typeorm'\n\nimport {\n HistoryActionColumn,\n HistoryActionType,\n HistoryEntityInterface,\n HistoryOriginalIdColumn\n} from '@operato/typeorm-history'\nimport { Role, User } from '@things-factory/auth-base'\nimport { config } from '@things-factory/env'\nimport { Domain } from '@things-factory/shell'\nimport { ApprovalLineItem } from '@things-factory/organization'\n\nimport { AssigneeItem } from '../activity-instance/activity-instance'\nimport { Activity, ActivityStatus, ActivityType, ActivityUIType } from './activity'\nimport { ActivityModelItem } from './activity-model-type'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\n@Entity()\n@Index(\n 'ix_activity_history_0',\n (activityHistory: ActivityHistory) => [activityHistory.originalId, activityHistory.version],\n { unique: true }\n)\n@Index(\n 'ix_activity_history_1',\n (activityHistory: ActivityHistory) => [activityHistory.domain, activityHistory.originalId, activityHistory.version],\n { unique: true }\n)\n@ObjectType({ description: 'History Entity of Activity' })\nexport class ActivityHistory implements HistoryEntityInterface<Activity> {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @Column({ nullable: true, default: 1 })\n @Field({ nullable: true })\n version?: number = 1\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((activity: Activity) => activity.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n state?: ActivityStatus\n\n @Column('simple-json', { nullable: true })\n @Field(type => [ActivityModelItem], { nullable: true })\n model?: ActivityModelItem[]\n\n @Column({ nullable: true, default: 1 })\n @Field({ nullable: true })\n priority?: number = 1\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n startable?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n standardTime?: number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n cycleTime?: number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n tactTime?: number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n leadTime?: number\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true })\n issuerRole?: Role\n\n @RelationId((activity: Activity) => activity.issuerRole)\n issuerRoleId?: string\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true })\n assigneeRole?: Role\n\n @RelationId((activity: Activity) => activity.assigneeRole)\n assigneeRoleId?: string\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true })\n supervisoryRole?: Role\n\n @RelationId((activity: Activity) => activity.supervisoryRole)\n supervisoryRoleId?: string\n\n @Column('simple-json', { nullable: true })\n @Field(type => [AssigneeItem], { nullable: true, description: 'Who to resolve for the activity.' })\n assignees?: AssigneeItem[]\n\n @Column('simple-json', { nullable: true })\n @Field(type => [ApprovalLineItem], {\n nullable: true,\n description: 'Approval line for handling the activity.'\n })\n approvalLine?: ApprovalLineItem[]\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n uiSource?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reportType?: ActivityUIType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reportSource?: string\n\n @Column()\n @Field({ nullable: true })\n createdAt?: Date\n\n @Column()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((activity: Activity) => activity.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((activity: Activity) => activity.updater)\n updaterId?: string\n\n @HistoryOriginalIdColumn()\n public originalId!: string\n\n @HistoryActionColumn({\n nullable: false,\n type:\n DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'enum'\n : DATABASE_TYPE == 'oracle'\n ? 'varchar2'\n : 'smallint',\n enum: HistoryActionType\n })\n public action!: HistoryActionType\n}\n"]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActivitySearchKeyItem = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ let ActivitySearchKeyItem = class ActivitySearchKeyItem {
7
+ };
8
+ tslib_1.__decorate([
9
+ (0, type_graphql_1.Field)(),
10
+ tslib_1.__metadata("design:type", String)
11
+ ], ActivitySearchKeyItem.prototype, "name", void 0);
12
+ tslib_1.__decorate([
13
+ (0, type_graphql_1.Field)({ nullable: true }),
14
+ tslib_1.__metadata("design:type", String)
15
+ ], ActivitySearchKeyItem.prototype, "description", void 0);
16
+ tslib_1.__decorate([
17
+ (0, type_graphql_1.Field)({ nullable: true }),
18
+ tslib_1.__metadata("design:type", String)
19
+ ], ActivitySearchKeyItem.prototype, "inputKey", void 0);
20
+ tslib_1.__decorate([
21
+ (0, type_graphql_1.Field)({ nullable: true }),
22
+ tslib_1.__metadata("design:type", String)
23
+ ], ActivitySearchKeyItem.prototype, "tKey", void 0);
24
+ ActivitySearchKeyItem = tslib_1.__decorate([
25
+ (0, type_graphql_1.ObjectType)({ description: 'Entity for ActivitySearchKeyItem' })
26
+ ], ActivitySearchKeyItem);
27
+ exports.ActivitySearchKeyItem = ActivitySearchKeyItem;
28
+ //# sourceMappingURL=activity-search-key-item-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-search-key-item-type.js","sourceRoot":"","sources":["../../../server/service/activity/activity-search-key-item-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAgD;AAGzC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAYjC,CAAA;AAXC;IAAC,IAAA,oBAAK,GAAE;;mDACI;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACV;AAEhB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACb;AAXF,qBAAqB;IADjC,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;GACnD,qBAAqB,CAYjC;AAZY,sDAAqB","sourcesContent":["import { Field, ObjectType } from 'type-graphql'\n\n@ObjectType({ description: 'Entity for ActivitySearchKeyItem' })\nexport class ActivitySearchKeyItem {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n inputKey: string\n\n @Field({ nullable: true })\n tKey?: string\n}\n"]}
@@ -20,6 +20,14 @@ tslib_1.__decorate([
20
20
  (0, type_graphql_1.Field)({ nullable: true }),
21
21
  tslib_1.__metadata("design:type", String)
22
22
  ], NewActivity.prototype, "activityType", void 0);
23
+ tslib_1.__decorate([
24
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
25
+ tslib_1.__metadata("design:type", Array)
26
+ ], NewActivity.prototype, "searchKeys", void 0);
27
+ tslib_1.__decorate([
28
+ (0, type_graphql_1.Field)({ nullable: true }),
29
+ tslib_1.__metadata("design:type", String)
30
+ ], NewActivity.prototype, "state", void 0);
23
31
  tslib_1.__decorate([
24
32
  (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
25
33
  tslib_1.__metadata("design:type", Array)
@@ -64,6 +72,14 @@ tslib_1.__decorate([
64
72
  (0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
65
73
  tslib_1.__metadata("design:type", shell_1.ObjectRef)
66
74
  ], NewActivity.prototype, "supervisoryRole", void 0);
75
+ tslib_1.__decorate([
76
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
77
+ tslib_1.__metadata("design:type", Array)
78
+ ], NewActivity.prototype, "assignees", void 0);
79
+ tslib_1.__decorate([
80
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
81
+ tslib_1.__metadata("design:type", Array)
82
+ ], NewActivity.prototype, "approvalLine", void 0);
67
83
  tslib_1.__decorate([
68
84
  (0, type_graphql_1.Field)({ nullable: true }),
69
85
  tslib_1.__metadata("design:type", String)
@@ -110,6 +126,14 @@ tslib_1.__decorate([
110
126
  (0, type_graphql_1.Field)({ nullable: true }),
111
127
  tslib_1.__metadata("design:type", String)
112
128
  ], ActivityPatch.prototype, "activityType", void 0);
129
+ tslib_1.__decorate([
130
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
131
+ tslib_1.__metadata("design:type", Array)
132
+ ], ActivityPatch.prototype, "searchKeys", void 0);
133
+ tslib_1.__decorate([
134
+ (0, type_graphql_1.Field)({ nullable: true }),
135
+ tslib_1.__metadata("design:type", String)
136
+ ], ActivityPatch.prototype, "state", void 0);
113
137
  tslib_1.__decorate([
114
138
  (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
115
139
  tslib_1.__metadata("design:type", Array)
@@ -154,6 +178,14 @@ tslib_1.__decorate([
154
178
  (0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
155
179
  tslib_1.__metadata("design:type", shell_1.ObjectRef)
156
180
  ], ActivityPatch.prototype, "supervisoryRole", void 0);
181
+ tslib_1.__decorate([
182
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
183
+ tslib_1.__metadata("design:type", Array)
184
+ ], ActivityPatch.prototype, "assignees", void 0);
185
+ tslib_1.__decorate([
186
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
187
+ tslib_1.__metadata("design:type", Array)
188
+ ], ActivityPatch.prototype, "approvalLine", void 0);
157
189
  tslib_1.__decorate([
158
190
  (0, type_graphql_1.Field)({ nullable: true }),
159
191
  tslib_1.__metadata("design:type", String)
@@ -1 +1 @@
1
- {"version":3,"file":"activity-type.js","sourceRoot":"","sources":["../../../server/service/activity/activity-type.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\nimport { Activity, ActivityType, ActivityUIType } from './activity'\nimport { ActivityModelItem } from './activity-model-type'\n\n@InputType()\nexport class NewActivity {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Field(type => ScalarObject, { nullable: true })\n model?: ActivityModelItem[]\n\n @Field({ nullable: true })\n priority?: number\n\n @Field({ nullable: true })\n startable?: boolean\n\n @Field({ nullable: true })\n schedule?: string\n\n @Field({ nullable: true })\n standardTime?: number\n\n @Field({ nullable: true })\n cycleTime?: number\n\n @Field({ nullable: true })\n tactTime?: number\n\n @Field({ nullable: true })\n leadTime?: number\n\n @Field(type => ObjectRef, { nullable: true })\n issuerRole?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n assigneeRole?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n supervisoryRole?: ObjectRef\n\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Field({ nullable: true })\n uiSource?: string\n\n @Field({ nullable: true })\n reportType?: ActivityUIType\n\n @Field({ nullable: true })\n reportSource?: string\n\n @Field({ nullable: true })\n active?: boolean\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n}\n\n@InputType()\nexport class ActivityPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Field(type => ScalarObject, { nullable: true })\n model?: ActivityModelItem[]\n\n @Field({ nullable: true })\n priority?: number\n\n @Field({ nullable: true })\n startable?: boolean\n\n @Field({ nullable: true })\n schedule?: string\n\n @Field({ nullable: true })\n standardTime?: number\n\n @Field({ nullable: true })\n cycleTime?: number\n\n @Field({ nullable: true })\n tactTime?: number\n\n @Field({ nullable: true })\n leadTime?: number\n\n @Field(type => ObjectRef, { nullable: true })\n issuerRole?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n assigneeRole?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n supervisoryRole?: ObjectRef\n\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Field({ nullable: true })\n uiSource?: string\n\n @Field({ nullable: true })\n reportType?: ActivityUIType\n\n @Field({ nullable: true })\n reportSource?: string\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ActivityList {\n @Field(type => [Activity])\n items: Activity[]\n\n @Field(type => Int)\n total: number\n}\n"]}
1
+ {"version":3,"file":"activity-type.js","sourceRoot":"","sources":["../../../server/service/activity/activity-type.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\nimport { ApprovalLineItem } from '@things-factory/organization'\n\nimport { AssigneeItem } from '../activity-instance/activity-instance'\nimport { Activity, ActivityStatus, ActivityType, ActivityUIType } from './activity'\nimport { ActivityModelItem } from './activity-model-type'\nimport { ActivitySearchKeyItem } from './activity-search-key-item-type'\n\n@InputType()\nexport class NewActivity {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Field(type => ScalarObject, { nullable: true })\n searchKeys?: ActivitySearchKeyItem[]\n\n @Field({ nullable: true })\n state?: ActivityStatus\n\n @Field(type => ScalarObject, { nullable: true })\n model?: ActivityModelItem[]\n\n @Field({ nullable: true })\n priority?: number\n\n @Field({ nullable: true })\n startable?: boolean\n\n @Field({ nullable: true })\n schedule?: string\n\n @Field({ nullable: true })\n standardTime?: number\n\n @Field({ nullable: true })\n cycleTime?: number\n\n @Field({ nullable: true })\n tactTime?: number\n\n @Field({ nullable: true })\n leadTime?: number\n\n @Field(type => ObjectRef, { nullable: true })\n issuerRole?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n assigneeRole?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n supervisoryRole?: ObjectRef\n\n @Field(type => ScalarObject, { nullable: true })\n assignees?: AssigneeItem[]\n\n @Field(type => ScalarObject, { nullable: true })\n approvalLine?: ApprovalLineItem[]\n\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Field({ nullable: true })\n uiSource?: string\n\n @Field({ nullable: true })\n reportType?: ActivityUIType\n\n @Field({ nullable: true })\n reportSource?: string\n\n @Field({ nullable: true })\n active?: boolean\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n}\n\n@InputType()\nexport class ActivityPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Field(type => ScalarObject, { nullable: true })\n searchKeys?: ActivitySearchKeyItem[]\n\n @Field({ nullable: true })\n state?: ActivityStatus\n\n @Field(type => ScalarObject, { nullable: true })\n model?: ActivityModelItem[]\n\n @Field({ nullable: true })\n priority?: number\n\n @Field({ nullable: true })\n startable?: boolean\n\n @Field({ nullable: true })\n schedule?: string\n\n @Field({ nullable: true })\n standardTime?: number\n\n @Field({ nullable: true })\n cycleTime?: number\n\n @Field({ nullable: true })\n tactTime?: number\n\n @Field({ nullable: true })\n leadTime?: number\n\n @Field(type => ObjectRef, { nullable: true })\n issuerRole?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n assigneeRole?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n supervisoryRole?: ObjectRef\n\n @Field(type => ScalarObject, { nullable: true })\n assignees?: AssigneeItem[]\n\n @Field(type => ScalarObject, { nullable: true })\n approvalLine?: ApprovalLineItem[]\n\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Field({ nullable: true })\n uiSource?: string\n\n @Field({ nullable: true })\n reportType?: ActivityUIType\n\n @Field({ nullable: true })\n reportSource?: string\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ActivityList {\n @Field(type => [Activity])\n items: Activity[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -6,7 +6,10 @@ const type_graphql_1 = require("type-graphql");
6
6
  const typeorm_1 = require("typeorm");
7
7
  const auth_base_1 = require("@things-factory/auth-base");
8
8
  const shell_1 = require("@things-factory/shell");
9
+ const organization_1 = require("@things-factory/organization");
10
+ const activity_instance_1 = require("../activity-instance/activity-instance");
9
11
  const activity_model_type_1 = require("./activity-model-type");
12
+ const activity_search_key_item_type_1 = require("./activity-search-key-item-type");
10
13
  var ActivityStatus;
11
14
  (function (ActivityStatus) {
12
15
  ActivityStatus["Draft"] = "draft";
@@ -38,8 +41,9 @@ var ActivityUIType;
38
41
  (function (ActivityUIType) {
39
42
  ActivityUIType["Generated"] = "generated";
40
43
  ActivityUIType["Template"] = "template";
41
- ActivityUIType["Page"] = "page";
42
44
  ActivityUIType["Board"] = "board";
45
+ ActivityUIType["CustomElement"] = "custom-element";
46
+ ActivityUIType["Page"] = "page";
43
47
  ActivityUIType["External"] = "external";
44
48
  })(ActivityUIType = exports.ActivityUIType || (exports.ActivityUIType = {}));
45
49
  (0, type_graphql_1.registerEnumType)(ActivityUIType, {
@@ -91,6 +95,11 @@ tslib_1.__decorate([
91
95
  (0, type_graphql_1.Field)({ nullable: true }),
92
96
  tslib_1.__metadata("design:type", String)
93
97
  ], Activity.prototype, "state", void 0);
98
+ tslib_1.__decorate([
99
+ (0, typeorm_1.Column)('simple-json', { nullable: true }),
100
+ (0, type_graphql_1.Field)(type => [activity_search_key_item_type_1.ActivitySearchKeyItem], { nullable: true }),
101
+ tslib_1.__metadata("design:type", Array)
102
+ ], Activity.prototype, "searchKeys", void 0);
94
103
  tslib_1.__decorate([
95
104
  (0, typeorm_1.Column)('simple-json', { nullable: true }),
96
105
  (0, type_graphql_1.Field)(type => [activity_model_type_1.ActivityModelItem], { nullable: true }),
@@ -144,7 +153,7 @@ tslib_1.__decorate([
144
153
  ], Activity.prototype, "issuerRoleId", void 0);
145
154
  tslib_1.__decorate([
146
155
  (0, typeorm_1.ManyToOne)(type => auth_base_1.Role, { nullable: true }),
147
- (0, type_graphql_1.Field)(type => auth_base_1.Role, { nullable: true }),
156
+ (0, type_graphql_1.Field)(type => auth_base_1.Role, { nullable: true, description: 'Roles eligible to pick up activity from the activity bank.' }),
148
157
  tslib_1.__metadata("design:type", auth_base_1.Role)
149
158
  ], Activity.prototype, "assigneeRole", void 0);
150
159
  tslib_1.__decorate([
@@ -153,13 +162,26 @@ tslib_1.__decorate([
153
162
  ], Activity.prototype, "assigneeRoleId", void 0);
154
163
  tslib_1.__decorate([
155
164
  (0, typeorm_1.ManyToOne)(type => auth_base_1.Role, { nullable: true }),
156
- (0, type_graphql_1.Field)(type => auth_base_1.Role, { nullable: true }),
165
+ (0, type_graphql_1.Field)(type => auth_base_1.Role, { nullable: true, description: 'The final authority on a given activity.' }),
157
166
  tslib_1.__metadata("design:type", auth_base_1.Role)
158
167
  ], Activity.prototype, "supervisoryRole", void 0);
159
168
  tslib_1.__decorate([
160
169
  (0, typeorm_1.RelationId)((activity) => activity.supervisoryRole),
161
170
  tslib_1.__metadata("design:type", String)
162
171
  ], Activity.prototype, "supervisoryRoleId", void 0);
172
+ tslib_1.__decorate([
173
+ (0, typeorm_1.Column)('simple-json', { nullable: true }),
174
+ (0, type_graphql_1.Field)(type => [activity_instance_1.AssigneeItem], { nullable: true, description: 'Who to resolve for the activity.' }),
175
+ tslib_1.__metadata("design:type", Array)
176
+ ], Activity.prototype, "assignees", void 0);
177
+ tslib_1.__decorate([
178
+ (0, typeorm_1.Column)('simple-json', { nullable: true }),
179
+ (0, type_graphql_1.Field)(type => [organization_1.ApprovalLineItem], {
180
+ nullable: true,
181
+ description: 'Approval line for handling the activity.'
182
+ }),
183
+ tslib_1.__metadata("design:type", Array)
184
+ ], Activity.prototype, "approvalLine", void 0);
163
185
  tslib_1.__decorate([
164
186
  (0, typeorm_1.Column)({ nullable: true }),
165
187
  (0, type_graphql_1.Field)({ nullable: true }),