@things-factory/worklist 5.0.13 → 6.0.0-alpha.3

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
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@things-factory/worklist",
3
- "version": "5.0.13",
3
+ "version": "6.0.0-alpha.3",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
7
7
  "license": "MIT",
8
- "author": "heartyoh",
8
+ "author": "heartyoh <heartyoh@hatiolab.com>",
9
9
  "description": "Module to manage the todo list of business participants",
10
10
  "publishConfig": {
11
11
  "access": "public",
@@ -28,10 +28,10 @@
28
28
  "dependencies": {
29
29
  "@operato/graphql": "^1.0.0",
30
30
  "@operato/grist-editor": "^1.0.0",
31
- "@things-factory/attachment-base": "^5.0.11",
32
- "@things-factory/auth-base": "^5.0.11",
33
- "@things-factory/board-service": "^5.0.11",
34
- "@things-factory/shell": "^5.0.11"
31
+ "@things-factory/attachment-base": "^6.0.0-alpha.3",
32
+ "@things-factory/auth-base": "^6.0.0-alpha.3",
33
+ "@things-factory/board-service": "^6.0.0-alpha.3",
34
+ "@things-factory/shell": "^6.0.0-alpha.3"
35
35
  },
36
- "gitHead": "72dfd33e398eab9872600e91d1b13fef0595c174"
36
+ "gitHead": "1e273b6485662da938cae8fdca035d994ef4a95d"
37
37
  }
@@ -1,15 +1,19 @@
1
- import { getRepository } from 'typeorm'
1
+ import { getRepository } from '@things-factory/shell'
2
2
 
3
3
  import { ActivityInstance } from '../../service/activity-instance/activity-instance'
4
4
  import { evalActivityInstanceState } from '../common'
5
5
 
6
- export async function abort({ id, reason }: { id: string; reason: string }, context: any): Promise<ActivityInstance> {
6
+ export async function abort(
7
+ { id, reason }: { id: string; reason: string },
8
+ context: ResolverContext
9
+ ): Promise<ActivityInstance> {
7
10
  const { domain, user, tx } = context.state
8
11
 
9
12
  var repository = getRepository(ActivityInstance)
10
13
 
11
14
  var activityInstance = await repository.findOne({
12
- where: { domain, id }
15
+ where: { domain: { id: domain.id }, id },
16
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
13
17
  })
14
18
 
15
19
  if (!activityInstance) {
@@ -2,12 +2,17 @@ import { ActivityInstance } from '../../service/activity-instance/activity-insta
2
2
  import { ActivityInstancePatch } from '../../service/activity-instance/activity-instance-type'
3
3
  import { evalActivityInstanceState } from '../common'
4
4
 
5
- export async function adjust(id: string, patch: ActivityInstancePatch, context: any): Promise<ActivityInstance> {
5
+ export async function adjust(
6
+ id: string,
7
+ patch: ActivityInstancePatch,
8
+ context: ResolverContext
9
+ ): Promise<ActivityInstance> {
6
10
  const { domain, user, tx } = context.state
7
11
 
8
12
  const repository = tx.getRepository(ActivityInstance)
9
13
  const activityInstance = await repository.findOne({
10
- where: { domain, id }
14
+ where: { domain: { id: domain.id }, id },
15
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
11
16
  })
12
17
 
13
18
  return await repository.save({
@@ -14,8 +14,8 @@ export async function assign(
14
14
  const repository = tx.getRepository(ActivityInstance)
15
15
 
16
16
  var activityInstance = await repository.findOne({
17
- where: { domain, id },
18
- relations: ['assigneeRole', 'supervisoryRole']
17
+ where: { domain: { id: domain.id }, id },
18
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
19
19
  })
20
20
 
21
21
  if (!activityInstance) {
@@ -36,5 +36,5 @@ export async function assign(
36
36
 
37
37
  await createActivityThreadsForUsers('assign', activityInstance, assignedUsers, context)
38
38
 
39
- return await tx.getRepository(ActivityInstance).findOne(activityInstance.id)
39
+ return await tx.getRepository(ActivityInstance).findOneBy({ id: activityInstance.id })
40
40
  }
@@ -1,4 +1,4 @@
1
- import { getRepository } from 'typeorm'
1
+ import { getRepository } from '@things-factory/shell'
2
2
 
3
3
  import { ActivityInstance } from '../../service/activity-instance/activity-instance'
4
4
  import { evalActivityInstanceState } from '../common'
@@ -22,7 +22,8 @@ export async function delegate(
22
22
  const repository = getRepository(ActivityInstance)
23
23
 
24
24
  var activityInstance = await repository.findOne({
25
- where: { domain, id }
25
+ where: { domain: { id: domain.id }, id },
26
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
26
27
  })
27
28
 
28
29
  if (!activityInstance) {
@@ -1,10 +1,13 @@
1
- import { getRepository } from 'typeorm'
1
+ import { getRepository } from '@things-factory/shell'
2
2
 
3
3
  import { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance'
4
4
  import { NewActivityInstance } from '../../service/activity-instance/activity-instance-type'
5
5
  import { Activity } from '../../service/activity/activity'
6
6
 
7
- export async function draft(activityInstance: NewActivityInstance, context: any): Promise<ActivityInstance> {
7
+ export async function draft(
8
+ activityInstance: NewActivityInstance,
9
+ context: ResolverContext
10
+ ): Promise<ActivityInstance> {
8
11
  const { domain, user, tx } = context.state
9
12
  const { activityId, input, dueAt } = activityInstance
10
13
 
@@ -13,7 +16,7 @@ export async function draft(activityInstance: NewActivityInstance, context: any)
13
16
 
14
17
  if (activityId) {
15
18
  activity = await repository.findOne({
16
- where: { domain, id: activityId },
19
+ where: { domain: { id: domain.id }, id: activityId },
17
20
  relations: ['assigneeRole', 'supervisoryRole']
18
21
  })
19
22
 
@@ -1,4 +1,4 @@
1
- import { getRepository } from 'typeorm'
1
+ import { getRepository } from '@things-factory/shell'
2
2
 
3
3
  import { ActivityInstance } from '../../service/activity-instance/activity-instance'
4
4
  import { evalActivityInstanceState } from '../common'
@@ -11,7 +11,8 @@ export async function end(
11
11
  const repository = getRepository(ActivityInstance)
12
12
 
13
13
  var activityInstance = await repository.findOne({
14
- where: { domain, id }
14
+ where: { domain: { id: domain.id }, id },
15
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
15
16
  })
16
17
 
17
18
  if (!activityInstance) {
@@ -1,15 +1,16 @@
1
- import { getRepository } from 'typeorm'
1
+ import { getRepository } from '@things-factory/shell'
2
2
 
3
3
  import { ActivityInstance } from '../../service/activity-instance/activity-instance'
4
4
  import { ActivityThread } from '../../service/activity-thread/activity-thread'
5
5
  import { createActivityThreadsForUsers } from '../common'
6
6
 
7
- export async function pick(id: string, context: any): Promise<ActivityThread> {
7
+ export async function pick(id: string, context: ResolverContext): Promise<ActivityThread> {
8
8
  const { domain, user, tx } = context.state
9
9
  const repository = getRepository(ActivityInstance)
10
10
 
11
11
  var activityInstance = await repository.findOne({
12
- where: { domain, id }
12
+ where: { domain: { id: domain.id }, id },
13
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
13
14
  })
14
15
 
15
16
  if (!activityInstance) {
@@ -6,11 +6,28 @@ import { ActivityInstance, ActivityInstanceStatus } from '../../service/activity
6
6
  import { ActivityInstancePost } from '../../service/activity-instance/activity-instance-type'
7
7
  import { createActivityThreadsForAllRoleUsers, createActivityThreadsForUsers } from '../common'
8
8
 
9
- export async function post(activityInstance: ActivityInstancePost, context: any): Promise<ActivityInstance> {
9
+ export async function post(
10
+ activityInstance: ActivityInstancePost,
11
+ context: ResolverContext
12
+ ): Promise<ActivityInstance> {
10
13
  const { domain, user, tx } = context.state
11
14
  const { id, assignees } = activityInstance
12
15
 
13
- var origin = id ? await tx.getRepository(ActivityInstance).findOne(id) : null
16
+ var origin = id
17
+ ? await tx.getRepository(ActivityInstance).findOne({
18
+ where: { domain: { id: domain.id }, id },
19
+ relations: [
20
+ 'domain',
21
+ 'activity',
22
+ 'assigneeRole',
23
+ 'supervisoryRole',
24
+ 'updater',
25
+ 'creator',
26
+ 'starter',
27
+ 'terminator'
28
+ ]
29
+ })
30
+ : null
14
31
 
15
32
  const posted = await tx.getRepository(ActivityInstance).save({
16
33
  ...origin,
@@ -22,7 +39,7 @@ export async function post(activityInstance: ActivityInstancePost, context: any)
22
39
  updater: user
23
40
  })
24
41
 
25
- const assignedUsers = await tx.getRepository(User).find({
42
+ const assignedUsers = await tx.getRepository(User).findBy({
26
43
  email: In(assignees || [])
27
44
  })
28
45
 
@@ -34,5 +51,5 @@ export async function post(activityInstance: ActivityInstancePost, context: any)
34
51
  await createActivityThreadsForUsers('post', posted, assignedUsers, context)
35
52
  }
36
53
 
37
- return await tx.getRepository(ActivityInstance).findOne(posted.id)
54
+ return await tx.getRepository(ActivityInstance).findOneBy({ id: posted.id })
38
55
  }
@@ -1,12 +1,13 @@
1
1
  import { ActivityInstance } from '../../service/activity-instance/activity-instance'
2
2
  import { evalActivityInstanceState } from '../common'
3
3
 
4
- export async function start(id: string, context: any): Promise<ActivityInstance> {
4
+ export async function start(id: string, context: ResolverContext): Promise<ActivityInstance> {
5
5
  const { domain, user, tx } = context.state
6
6
 
7
7
  const repository = tx.getRepository(ActivityInstance)
8
8
  const activityInstance = await repository.findOne({
9
- where: { domain, id }
9
+ where: { domain: { id: domain.id }, id },
10
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
10
11
  })
11
12
 
12
13
  return await repository.save({
@@ -1,4 +1,4 @@
1
- import { getRepository } from 'typeorm'
1
+ import { getRepository } from '@things-factory/shell'
2
2
 
3
3
  import { ActivityInstance } from '../../service/activity-instance/activity-instance'
4
4
  import { evalActivityInstanceState } from '../common'
@@ -12,7 +12,8 @@ export async function terminate(
12
12
  const repository = getRepository(ActivityInstance)
13
13
 
14
14
  var activityInstance = await repository.findOne({
15
- where: { domain, id }
15
+ where: { domain: { id: domain.id }, id },
16
+ relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
16
17
  })
17
18
 
18
19
  if (!activityInstance) {
@@ -1,14 +1,18 @@
1
- import { getRepository } from 'typeorm'
1
+ import { getRepository } from '@things-factory/shell'
2
2
 
3
3
  import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'
4
4
 
5
- export async function abort({ id, reason }: { id: string; reason: string }, context: any): Promise<ActivityThread> {
5
+ export async function abort(
6
+ { id, reason }: { id: string; reason: string },
7
+ context: ResolverContext
8
+ ): Promise<ActivityThread> {
6
9
  const { domain, user, tx } = context.state
7
10
 
8
11
  var repository = getRepository(ActivityThread)
9
12
 
10
13
  var activityThread = await repository.findOne({
11
- where: { domain, id }
14
+ where: { domain: { id: domain.id }, id },
15
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
12
16
  })
13
17
 
14
18
  if (!activityThread) {
@@ -1,12 +1,17 @@
1
1
  import { ActivityThread } from '../../service/activity-thread/activity-thread'
2
2
  import { ActivityThreadPatch } from '../../service/activity-thread/activity-thread-type'
3
3
 
4
- export async function adjust(id: string, patch: ActivityThreadPatch, context: any): Promise<ActivityThread> {
4
+ export async function adjust(
5
+ id: string,
6
+ patch: ActivityThreadPatch,
7
+ context: ResolverContext
8
+ ): Promise<ActivityThread> {
5
9
  const { domain, user, tx } = context.state
6
10
  const repository = tx.getRepository(ActivityThread)
7
11
 
8
12
  const activityThread = await repository.findOne({
9
- where: { domain, id }
13
+ where: { domain: { id: domain.id }, id },
14
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
10
15
  })
11
16
 
12
17
  return await repository.save({
@@ -1,4 +1,4 @@
1
- import { getRepository } from 'typeorm'
1
+ import { getRepository } from '@things-factory/shell'
2
2
 
3
3
  import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'
4
4
 
@@ -21,7 +21,8 @@ export async function delegate(
21
21
  const repository = getRepository(ActivityThread)
22
22
 
23
23
  var activityThread = await repository.findOne({
24
- where: { domain, id }
24
+ where: { domain: { id: domain.id }, id },
25
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
25
26
  })
26
27
 
27
28
  if (!activityThread) {
@@ -1,4 +1,4 @@
1
- import { getRepository } from 'typeorm'
1
+ import { getRepository } from '@things-factory/shell'
2
2
 
3
3
  import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'
4
4
 
@@ -11,7 +11,8 @@ export async function end(
11
11
  const repository = getRepository(ActivityThread)
12
12
 
13
13
  var activityThread = await repository.findOne({
14
- where: { domain, id }
14
+ where: { domain: { id: domain.id }, id },
15
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
15
16
  })
16
17
 
17
18
  if (!activityThread) {
@@ -1,12 +1,13 @@
1
1
  import { ActivityThread } from '../../service/activity-thread/activity-thread'
2
2
  import { ActivityThreadSave } from '../../service/activity-thread/activity-thread-type'
3
3
 
4
- export async function save(id: string, save: ActivityThreadSave, context: any): Promise<ActivityThread> {
4
+ export async function save(id: string, save: ActivityThreadSave, context: ResolverContext): Promise<ActivityThread> {
5
5
  const { domain, user, tx } = context.state
6
6
  const repository = tx.getRepository(ActivityThread)
7
7
 
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
 
12
13
  return await repository.save({
@@ -1,11 +1,17 @@
1
1
  import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'
2
2
 
3
- export async function start(id: string, output: object, reason: string, context: any): Promise<ActivityThread> {
3
+ export async function start(
4
+ id: string,
5
+ output: object,
6
+ reason: string,
7
+ context: ResolverContext
8
+ ): Promise<ActivityThread> {
4
9
  const { domain, user, tx } = context.state
5
10
 
6
11
  const repository = tx.getRepository(ActivityThread)
7
12
  const activityThread = await repository.findOne({
8
- where: { domain, id }
13
+ where: { domain: { id: domain.id }, id },
14
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
9
15
  })
10
16
 
11
17
  if (!activityThread) {
@@ -1,4 +1,4 @@
1
- import { getRepository } from 'typeorm'
1
+ import { getRepository } from '@things-factory/shell'
2
2
 
3
3
  import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'
4
4
 
@@ -10,7 +10,8 @@ export async function terminate(
10
10
  var repository = getRepository(ActivityThread)
11
11
 
12
12
  var activityThread = await repository.findOne({
13
- where: { domain, id }
13
+ where: { domain: { id: domain.id }, id },
14
+ relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
14
15
  })
15
16
 
16
17
  if (!activityThread) {
@@ -3,7 +3,7 @@ import { Role, User } from '@things-factory/auth-base'
3
3
  import { ActivityInstance, ActivityInstanceStatus } from '../service/activity-instance/activity-instance'
4
4
  import { ActivityThread, ActivityThreadStatus } from '../service/activity-thread/activity-thread'
5
5
 
6
- export async function updateActivityInstanceState(id: string, context: any) {
6
+ export async function updateActivityInstanceState(id: string, context: ResolverContext) {
7
7
  const { tx } = context.state
8
8
 
9
9
  await tx.getRepository(ActivityInstance).save({
@@ -25,10 +25,13 @@ export async function updateActivityInstanceState(id: string, context: any) {
25
25
  })
26
26
  }
27
27
 
28
- export async function evalActivityInstanceState(id: string, context: any): Promise<ActivityInstanceStatus> {
28
+ export async function evalActivityInstanceState(id: string, context: ResolverContext): Promise<ActivityInstanceStatus> {
29
29
  const { tx } = context.state
30
30
 
31
- const activityInstance = await tx.getRepository(ActivityInstance).findOne(id, { relations: ['activityThreads'] })
31
+ const activityInstance = await tx.getRepository(ActivityInstance).findOne({
32
+ where: { id },
33
+ relations: ['activityThreads']
34
+ })
32
35
  const { threadsMin, threadsMax, activityThreads, state, dueAt } = activityInstance
33
36
 
34
37
  const validThreads = activityThreads.filter(thread => thread.isValid())
@@ -57,8 +60,8 @@ export async function createActivityThreadsForUsers(
57
60
  transaction: string,
58
61
  activityInstance: ActivityInstance,
59
62
  assignees: User[],
60
- context: any
61
- ): Promise<[ActivityThread]> {
63
+ context: ResolverContext
64
+ ): Promise<ActivityThread[]> {
62
65
  const { domain, user, tx } = context.state
63
66
 
64
67
  const threadRepo = tx.getRepository(ActivityThread)
@@ -76,7 +79,7 @@ export async function createActivityThreadsForUsers(
76
79
  updater: user,
77
80
  dueAt: activityInstance.dueAt,
78
81
  assignedAt: now
79
- }
82
+ } as any
80
83
  })
81
84
  )
82
85
  }
@@ -84,14 +87,15 @@ export async function createActivityThreadsForUsers(
84
87
  export async function createActivityThreadsForAllRoleUsers(
85
88
  transaction: string,
86
89
  activityInstance: ActivityInstance,
87
- context: any
88
- ): Promise<[ActivityThread]> {
90
+ context: ResolverContext
91
+ ): Promise<ActivityThread[]> {
89
92
  const { tx } = context.state
90
93
 
91
94
  // find how many users are having given role
92
- const assigneeRole = (await tx
93
- .getRepository(Role)
94
- .findOne({ id: activityInstance.assigneeRoleId }, { relations: ['users'] })) as Role
95
+ const assigneeRole = (await tx.getRepository(Role).findOne({
96
+ where: { id: activityInstance.assigneeRoleId },
97
+ relations: ['users']
98
+ })) as Role
95
99
  const assignees = assigneeRole?.users || []
96
100
 
97
101
  if (assignees.length === 0) {
@@ -10,7 +10,7 @@ import { ActivityPatch, NewActivity } from './activity-type'
10
10
  export class ActivityMutation {
11
11
  @Directive('@transaction')
12
12
  @Mutation(returns => Activity, { description: 'To create new Activity' })
13
- async createActivity(@Arg('activity') activity: NewActivity, @Ctx() context: any): Promise<Activity> {
13
+ async createActivity(@Arg('activity') activity: NewActivity, @Ctx() context: ResolverContext): Promise<Activity> {
14
14
  const { domain, user, tx } = context.state
15
15
 
16
16
  const result = await tx.getRepository(Activity).save({
@@ -42,13 +42,15 @@ export class ActivityMutation {
42
42
  async updateActivity(
43
43
  @Arg('id') id: string,
44
44
  @Arg('patch') patch: ActivityPatch,
45
- @Ctx() context: any
45
+ @Ctx() context: ResolverContext
46
46
  ): Promise<Activity> {
47
47
  const { domain, user, tx } = context.state
48
48
 
49
49
  const repository = tx.getRepository(Activity)
50
50
  const activity = await repository.findOne({
51
- where: { domain, id }
51
+ where: { domain: { id: domain.id }, id },
52
+ /* history에 항상 반영될 수 있도록 relations가 있어야 함. */
53
+ relations: ['domain', 'issuerRole', 'assigneeRole', 'supervisoryRole', 'creator', 'updater']
52
54
  })
53
55
 
54
56
  const result = await repository.save({
@@ -79,7 +81,7 @@ export class ActivityMutation {
79
81
  @Mutation(returns => [Activity], { description: "To modify multiple Activities' information" })
80
82
  async updateMultipleActivity(
81
83
  @Arg('patches', type => [ActivityPatch]) patches: ActivityPatch[],
82
- @Ctx() context: any
84
+ @Ctx() context: ResolverContext
83
85
  ): Promise<Activity[]> {
84
86
  const { domain, user, tx } = context.state
85
87
 
@@ -120,7 +122,11 @@ export class ActivityMutation {
120
122
  if (_updateRecords.length > 0) {
121
123
  for (let i = 0; i < _updateRecords.length; i++) {
122
124
  const updateRecord = _updateRecords[i]
123
- const activity = await activityRepo.findOne(updateRecord.id)
125
+ const activity = await activityRepo.findOne({
126
+ where: { id: updateRecord.id },
127
+ /* history에 항상 반영될 수 있도록 relations가 있어야 함. */
128
+ relations: ['domain', 'issuerRole', 'assigneeRole', 'supervisoryRole', 'creator', 'updater']
129
+ })
124
130
 
125
131
  const result = await activityRepo.save({
126
132
  ...activity,
@@ -152,10 +158,10 @@ export class ActivityMutation {
152
158
 
153
159
  @Directive('@transaction')
154
160
  @Mutation(returns => Boolean, { description: 'To delete Activity' })
155
- async deleteActivity(@Arg('id') id: string, @Ctx() context: any): Promise<boolean> {
161
+ async deleteActivity(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
156
162
  const { domain, tx } = context.state
157
163
 
158
- await tx.getRepository(Activity).delete({ domain, id })
164
+ await tx.getRepository(Activity).delete({ domain: { id: domain.id }, id })
159
165
  await deleteAttachmentsByRef(null, { refBys: [id] }, context)
160
166
 
161
167
  return true
@@ -163,11 +169,14 @@ export class ActivityMutation {
163
169
 
164
170
  @Directive('@transaction')
165
171
  @Mutation(returns => Boolean, { description: 'To delete multiple Activities' })
166
- async deleteActivities(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<boolean> {
172
+ async deleteActivities(
173
+ @Arg('ids', type => [String]) ids: string[],
174
+ @Ctx() context: ResolverContext
175
+ ): Promise<boolean> {
167
176
  const { domain, tx } = context.state
168
177
 
169
178
  await tx.getRepository(Activity).delete({
170
- domain,
179
+ domain: { id: domain.id },
171
180
  id: In(ids)
172
181
  })
173
182
 
@@ -180,7 +189,7 @@ export class ActivityMutation {
180
189
  @Mutation(returns => Boolean, { description: 'To import multiple Activities' })
181
190
  async importActivities(
182
191
  @Arg('activities', type => [ActivityPatch]) activities: ActivityPatch[],
183
- @Ctx() context: any
192
+ @Ctx() context: ResolverContext
184
193
  ): Promise<boolean> {
185
194
  const { domain, tx } = context.state
186
195
 
@@ -1,9 +1,9 @@
1
1
  import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
- import { Brackets, getRepository } from 'typeorm'
2
+ import { Brackets } from 'typeorm'
3
3
 
4
4
  import { Attachment } from '@things-factory/attachment-base'
5
5
  import { Role, User } from '@things-factory/auth-base'
6
- import { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'
6
+ import { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'
7
7
 
8
8
  import { Activity } from './activity'
9
9
  import { ActivityList } from './activity-type'
@@ -11,16 +11,16 @@ import { ActivityList } from './activity-type'
11
11
  @Resolver(Activity)
12
12
  export class ActivityQuery {
13
13
  @Query(returns => Activity!, { nullable: true, description: 'To fetch a Activity' })
14
- async activity(@Arg('id') id: string, @Ctx() context: any): Promise<Activity> {
14
+ async activity(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Activity> {
15
15
  const { domain } = context.state
16
16
 
17
17
  return await getRepository(Activity).findOne({
18
- where: { domain, id }
18
+ where: { domain: { id: domain.id }, id }
19
19
  })
20
20
  }
21
21
 
22
22
  @Query(returns => ActivityList, { description: 'To fetch multiple Activities' })
23
- async activities(@Args() params: ListParam, @Ctx() context: any): Promise<ActivityList> {
23
+ async activities(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityList> {
24
24
  const { domain } = context.state
25
25
 
26
26
  const queryBuilder = getQueryBuilderFromListParams({
@@ -37,7 +37,7 @@ export class ActivityQuery {
37
37
  }
38
38
 
39
39
  @Query(returns => ActivityList, { description: 'To fetch the list of activities I can start' })
40
- async startableActivities(@Args() params: ListParam, @Ctx() context: any): Promise<ActivityList> {
40
+ async startableActivities(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityList> {
41
41
  var { domain, user } = context.state
42
42
 
43
43
  /* 조회한 사용자가 assigner 역할을 가진 activity-instance 리스트만 반환 */
@@ -69,7 +69,7 @@ export class ActivityQuery {
69
69
  }
70
70
 
71
71
  @Query(returns => ActivityList, { description: 'To fetch the list of activities that I can report on' })
72
- async supervisableActivities(@Args() params: ListParam, @Ctx() context: any): Promise<ActivityList> {
72
+ async supervisableActivities(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityList> {
73
73
  var { domain, user } = context.state
74
74
 
75
75
  /* 조회한 사용자가 assigner 역할을 가진 activity-instance 리스트만 반환 */
@@ -100,7 +100,7 @@ export class ActivityQuery {
100
100
  async issuerRole(@Root() activity: Activity): Promise<Role> {
101
101
  return (
102
102
  activity.issuerRole ||
103
- (await getRepository(Role).findOne({
103
+ (await getRepository(Role).findOneBy({
104
104
  id: activity.issuerRoleId
105
105
  }))
106
106
  )
@@ -110,7 +110,7 @@ export class ActivityQuery {
110
110
  async assigneeRole(@Root() activity: Activity): Promise<Role> {
111
111
  return (
112
112
  activity.assigneeRole ||
113
- (await getRepository(Role).findOne({
113
+ (await getRepository(Role).findOneBy({
114
114
  id: activity.assigneeRoleId
115
115
  }))
116
116
  )
@@ -120,7 +120,7 @@ export class ActivityQuery {
120
120
  async supervisoryRole(@Root() activity: Activity): Promise<Role> {
121
121
  return (
122
122
  activity.supervisoryRole ||
123
- (await getRepository(Role).findOne({
123
+ (await getRepository(Role).findOneBy({
124
124
  id: activity.supervisoryRoleId
125
125
  }))
126
126
  )
@@ -130,7 +130,7 @@ export class ActivityQuery {
130
130
  async thumbnail(@Root() activity: Activity): Promise<string | undefined> {
131
131
  const attachment: Attachment = await getRepository(Attachment).findOne({
132
132
  where: {
133
- domain: activity.domainId,
133
+ domain: { id: activity.domainId },
134
134
  refType: Activity.name,
135
135
  refBy: activity.id
136
136
  }
@@ -141,16 +141,16 @@ export class ActivityQuery {
141
141
 
142
142
  @FieldResolver(type => Domain)
143
143
  async domain(@Root() activity: Activity): Promise<Domain> {
144
- return await getRepository(Domain).findOne(activity.domainId)
144
+ return await getRepository(Domain).findOneBy({ id: activity.domainId })
145
145
  }
146
146
 
147
147
  @FieldResolver(type => User)
148
148
  async updater(@Root() activity: Activity): Promise<User> {
149
- return await getRepository(User).findOne(activity.updaterId)
149
+ return await getRepository(User).findOneBy({ id: activity.updaterId })
150
150
  }
151
151
 
152
152
  @FieldResolver(type => User)
153
153
  async creator(@Root() activity: Activity): Promise<User> {
154
- return await getRepository(User).findOne(activity.creatorId)
154
+ return await getRepository(User).findOneBy({ id: activity.creatorId })
155
155
  }
156
156
  }