@things-factory/worklist 6.1.19 → 6.1.21

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 (25) hide show
  1. package/client/pages/activity-instance/activity-instance-search-page.ts +3 -3
  2. package/client/pages/activity-supervisor/reporter-list-page.ts +3 -3
  3. package/dist-client/pages/activity-instance/activity-instance-search-page.js +3 -3
  4. package/dist-client/pages/activity-instance/activity-instance-search-page.js.map +1 -1
  5. package/dist-client/pages/activity-supervisor/reporter-list-page.js +3 -3
  6. package/dist-client/pages/activity-supervisor/reporter-list-page.js.map +1 -1
  7. package/dist-client/route.d.ts +1 -1
  8. package/dist-client/tsconfig.tsbuildinfo +1 -1
  9. package/dist-server/service/activity-instance/activity-instance-history-query.js +79 -0
  10. package/dist-server/service/activity-instance/activity-instance-history-query.js.map +1 -0
  11. package/dist-server/service/activity-instance/activity-instance-history-type.js +21 -0
  12. package/dist-server/service/activity-instance/activity-instance-history-type.js.map +1 -0
  13. package/dist-server/service/activity-instance/activity-instance-mutation.js +41 -0
  14. package/dist-server/service/activity-instance/activity-instance-mutation.js.map +1 -1
  15. package/dist-server/service/activity-instance/index.js +2 -1
  16. package/dist-server/service/activity-instance/index.js.map +1 -1
  17. package/dist-server/service/activity-thread/activity-thread-mutation.js +19 -0
  18. package/dist-server/service/activity-thread/activity-thread-mutation.js.map +1 -1
  19. package/dist-server/tsconfig.tsbuildinfo +1 -1
  20. package/package.json +2 -2
  21. package/server/service/activity-instance/activity-instance-history-query.ts +48 -0
  22. package/server/service/activity-instance/activity-instance-history-type.ts +13 -0
  23. package/server/service/activity-instance/activity-instance-mutation.ts +37 -1
  24. package/server/service/activity-instance/index.ts +2 -1
  25. package/server/service/activity-thread/activity-thread-mutation.ts +17 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/worklist",
3
- "version": "6.1.19",
3
+ "version": "6.1.21",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -38,5 +38,5 @@
38
38
  "@things-factory/shell": "^6.1.18",
39
39
  "moment-timezone": "^0.5.40"
40
40
  },
41
- "gitHead": "d56b51a132127d71b057c8c7c82b6d189cf84ac6"
41
+ "gitHead": "f7daba255a423d7a47f636a13e417750cbbaf232"
42
42
  }
@@ -0,0 +1,48 @@
1
+ import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'
2
+ import { ListParam, convertListParams, getRepository, getQueryBuilderFromListParams } from '@things-factory/shell'
3
+ import { ActivityInstanceHistory } from './activity-instance-history'
4
+ import { ActivityInstanceHistoryList } from './activity-instance-history-type'
5
+
6
+ import { User } from '@things-factory/auth-base'
7
+ import { Domain } from '@things-factory/shell'
8
+
9
+ @Resolver(ActivityInstanceHistory)
10
+ export class ActivityInstanceHistoryQuery {
11
+
12
+ @Query(returns => ActivityInstanceHistory, { description: 'To fetch a ActivityInstanceHistory' })
13
+ async activityInstanceHistory(@Arg('id') id: string, @Ctx() context: any): Promise<ActivityInstanceHistory> {
14
+ const { domain } = context.state
15
+ return await getRepository(ActivityInstanceHistory).findOne({
16
+ where: { domain: { id: domain.id }, id }
17
+ })
18
+ }
19
+
20
+ @Query(returns => ActivityInstanceHistoryList, { description: 'To fetch multiple ActivityInstanceHistory' })
21
+ async activityInstanceHistories(@Args() params: ListParam, @Ctx() context: any): Promise<ActivityInstanceHistoryList> {
22
+ const { domain } = context.state
23
+
24
+ const queryBuilder = getQueryBuilderFromListParams({
25
+ params,
26
+ domain,
27
+ repository: await getRepository(ActivityInstanceHistory)
28
+ })
29
+
30
+ const [items, total] = await queryBuilder.getManyAndCount()
31
+ return { items, total }
32
+ }
33
+
34
+ @FieldResolver(type => Domain)
35
+ async domain(@Root() activityInstanceHistory: ActivityInstanceHistory): Promise<Domain> {
36
+ return await getRepository(Domain).findOneBy({id:activityInstanceHistory.domainId})
37
+ }
38
+
39
+ @FieldResolver(type => User)
40
+ async updater(@Root() activityInstanceHistory: ActivityInstanceHistory): Promise<User> {
41
+ return await getRepository(User).findOneBy({id:activityInstanceHistory.updaterId})
42
+ }
43
+
44
+ @FieldResolver(type => User)
45
+ async creator(@Root() activityInstanceHistory: ActivityInstanceHistory): Promise<User> {
46
+ return await getRepository(User).findOneBy({id:activityInstanceHistory.creatorId})
47
+ }
48
+ }
@@ -0,0 +1,13 @@
1
+
2
+ import { ObjectType, Field, InputType, Int, ID, Float, registerEnumType } from 'type-graphql'
3
+
4
+ import { ActivityInstanceHistory } from './activity-instance-history'
5
+
6
+ @ObjectType()
7
+ export class ActivityInstanceHistoryList {
8
+ @Field(type => [ActivityInstanceHistory])
9
+ items: ActivityInstanceHistory[]
10
+
11
+ @Field(type => Int)
12
+ total: number
13
+ }
@@ -1,14 +1,50 @@
1
1
  import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
2
+ import { In } from 'typeorm'
2
3
 
3
4
  import { ObjectRef, ScalarObject } from '@things-factory/shell'
4
5
 
5
6
  import { abort, assign, draft, end, pick, issue } from '../../controllers/activity-instance'
6
7
  import { ActivityThread } from '../activity-thread/activity-thread'
7
- import { ActivityInstance } from './activity-instance'
8
+ import { ActivityInstance, ActivityInstanceStatus } from './activity-instance'
8
9
  import { ActivityInstanceIssue, ActivityInstanceDraft } from './activity-instance-type'
9
10
 
10
11
  @Resolver(ActivityInstance)
11
12
  export class ActivityInstanceMutation {
13
+
14
+ @Directive('@transaction')
15
+ @Mutation(returns => Boolean, { description: 'To delete Activity Instance of draft state' })
16
+ async deleteDraftActivityInstance(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
17
+ const { domain, tx } = context.state
18
+
19
+ let draftActInst = await tx.getRepository(ActivityInstance).findOne({
20
+ where: { domain: { id: domain.id }, id, state : ActivityInstanceStatus.Draft }
21
+ })
22
+
23
+ if(draftActInst) {
24
+ await tx.getRepository(ActivityInstance).remove(draftActInst);
25
+ return true;
26
+ } else {
27
+ return false;
28
+ }
29
+ }
30
+
31
+ @Directive('@transaction')
32
+ @Mutation(returns => Boolean, { description: 'To delete multiple Activity Instances of draft state' })
33
+ async deleteDraftActivityInstances(
34
+ @Arg('ids', type => [String]) ids: string[],
35
+ @Ctx() context: ResolverContext
36
+ ): Promise<boolean> {
37
+ const { domain, tx } = context.state
38
+
39
+ await tx.getRepository(ActivityInstance).delete({
40
+ domain: { id: domain.id },
41
+ id: In(ids),
42
+ state : ActivityInstanceStatus.Draft
43
+ })
44
+
45
+ return true
46
+ }
47
+
12
48
  @Directive('@transaction')
13
49
  @Mutation(returns => ActivityInstance, { description: 'To draft standard ActivityInstance' })
14
50
  async draftActivityInstance(
@@ -2,9 +2,10 @@ import { ActivityInstance } from './activity-instance'
2
2
  import { ActivityInstanceHistory } from './activity-instance-history'
3
3
  import { ActivityInstanceMutation } from './activity-instance-mutation'
4
4
  import { ActivityInstanceQuery } from './activity-instance-query'
5
+ import { ActivityInstanceHistoryQuery } from './activity-instance-history-query'
5
6
  import { ActivityInstanceSubscription } from './activity-instance-subscription'
6
7
  import { ActivityInstanceHistoryEntitySubscriber, ActivityInstanceSubscriber } from './event-subscriber'
7
8
 
8
9
  export const entities = [ActivityInstance, ActivityInstanceHistory]
9
- export const resolvers = [ActivityInstanceQuery, ActivityInstanceMutation, ActivityInstanceSubscription]
10
+ export const resolvers = [ActivityInstanceQuery, ActivityInstanceMutation, ActivityInstanceSubscription, ActivityInstanceHistoryQuery]
10
11
  export const subscribers = [ActivityInstanceSubscriber, ActivityInstanceHistoryEntitySubscriber]
@@ -94,4 +94,21 @@ export class ActivityThreadMutation {
94
94
  ): Promise<ActivityThread> {
95
95
  return await abort({ id, reason }, context)
96
96
  }
97
+
98
+ @Directive('@transaction')
99
+ @Mutation(returns => ActivityThread, { description: 'To save ActivityThread Output Data' })
100
+ async updateActivityThreadOutput(
101
+ @Arg('id') id: string,
102
+ @Arg('output', type => ScalarObject, { nullable: false }) output: { [key: string]: any },
103
+ @Ctx() context: ResolverContext
104
+ ): Promise<ActivityThread> {
105
+
106
+ const { domain, user, tx } = context.state
107
+ const repository = tx.getRepository(ActivityThread)
108
+ const activityThread = await repository.findOne({
109
+ where: { domain: { id: domain.id }, id }
110
+ })
111
+ activityThread.output = output;
112
+ return await tx.getRepository(ActivityThread).save(activityThread)
113
+ }
97
114
  }