@things-factory/worklist-client 6.0.24

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 (142) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/assets/images/gangsters-512x512.png +0 -0
  3. package/client/bootstrap.ts +1 -0
  4. package/client/index.ts +0 -0
  5. package/client/pages/work-center/work-center-importer.ts +97 -0
  6. package/client/pages/work-center/work-center-list-page.ts +332 -0
  7. package/client/pages/work-center/work-center-page.ts +95 -0
  8. package/client/route.ts +7 -0
  9. package/client/tsconfig.json +11 -0
  10. package/dist-client/bootstrap.d.ts +1 -0
  11. package/dist-client/bootstrap.js +2 -0
  12. package/dist-client/bootstrap.js.map +1 -0
  13. package/dist-client/index.d.ts +0 -0
  14. package/dist-client/index.js +2 -0
  15. package/dist-client/index.js.map +1 -0
  16. package/dist-client/pages/work-center/work-center-importer.d.ts +22 -0
  17. package/dist-client/pages/work-center/work-center-importer.js +100 -0
  18. package/dist-client/pages/work-center/work-center-importer.js.map +1 -0
  19. package/dist-client/pages/work-center/work-center-list-page.d.ts +62 -0
  20. package/dist-client/pages/work-center/work-center-list-page.js +317 -0
  21. package/dist-client/pages/work-center/work-center-list-page.js.map +1 -0
  22. package/dist-client/pages/work-center/work-center-page.d.ts +26 -0
  23. package/dist-client/pages/work-center/work-center-page.js +92 -0
  24. package/dist-client/pages/work-center/work-center-page.js.map +1 -0
  25. package/dist-client/route.d.ts +1 -0
  26. package/dist-client/route.js +8 -0
  27. package/dist-client/route.js.map +1 -0
  28. package/dist-client/tsconfig.tsbuildinfo +1 -0
  29. package/dist-server/controllers/activity-registry.js +17 -0
  30. package/dist-server/controllers/activity-registry.js.map +1 -0
  31. package/dist-server/controllers/graphql-client.js +60 -0
  32. package/dist-server/controllers/graphql-client.js.map +1 -0
  33. package/dist-server/controllers/index.js +8 -0
  34. package/dist-server/controllers/index.js.map +1 -0
  35. package/dist-server/controllers/webhooks/decorators.js +17 -0
  36. package/dist-server/controllers/webhooks/decorators.js.map +1 -0
  37. package/dist-server/controllers/webhooks/index.js +48 -0
  38. package/dist-server/controllers/webhooks/index.js.map +1 -0
  39. package/dist-server/controllers/work-center/connect-work-center.js +17 -0
  40. package/dist-server/controllers/work-center/connect-work-center.js.map +1 -0
  41. package/dist-server/controllers/work-center/get-work-center.js +13 -0
  42. package/dist-server/controllers/work-center/get-work-center.js.map +1 -0
  43. package/dist-server/controllers/work-center/index.js +6 -0
  44. package/dist-server/controllers/work-center/index.js.map +1 -0
  45. package/dist-server/controllers/worklist-api/assign-activity-thread.js +6 -0
  46. package/dist-server/controllers/worklist-api/assign-activity-thread.js.map +1 -0
  47. package/dist-server/controllers/worklist-api/draft-activity-instance.js +6 -0
  48. package/dist-server/controllers/worklist-api/draft-activity-instance.js.map +1 -0
  49. package/dist-server/controllers/worklist-api/get-activity-list.js +6 -0
  50. package/dist-server/controllers/worklist-api/get-activity-list.js.map +1 -0
  51. package/dist-server/controllers/worklist-api/get-activity.js +6 -0
  52. package/dist-server/controllers/worklist-api/get-activity.js.map +1 -0
  53. package/dist-server/controllers/worklist-api/get-todo-list.js +6 -0
  54. package/dist-server/controllers/worklist-api/get-todo-list.js.map +1 -0
  55. package/dist-server/controllers/worklist-api/index.js +11 -0
  56. package/dist-server/controllers/worklist-api/index.js.map +1 -0
  57. package/dist-server/controllers/worklist-api/register-activity.js +6 -0
  58. package/dist-server/controllers/worklist-api/register-activity.js.map +1 -0
  59. package/dist-server/controllers/worklist-api/unregister-activity.js +6 -0
  60. package/dist-server/controllers/worklist-api/unregister-activity.js.map +1 -0
  61. package/dist-server/controllers/worklist-api/update-activity.js +6 -0
  62. package/dist-server/controllers/worklist-api/update-activity.js.map +1 -0
  63. package/dist-server/index.js +8 -0
  64. package/dist-server/index.js.map +1 -0
  65. package/dist-server/middlewares/index.js +8 -0
  66. package/dist-server/middlewares/index.js.map +1 -0
  67. package/dist-server/migrations/index.js +12 -0
  68. package/dist-server/migrations/index.js.map +1 -0
  69. package/dist-server/routes.js +42 -0
  70. package/dist-server/routes.js.map +1 -0
  71. package/dist-server/service/activity/activity-model-type.js +138 -0
  72. package/dist-server/service/activity/activity-model-type.js.map +1 -0
  73. package/dist-server/service/activity/activity-mutation.js +105 -0
  74. package/dist-server/service/activity/activity-mutation.js.map +1 -0
  75. package/dist-server/service/activity/activity-query.js +87 -0
  76. package/dist-server/service/activity/activity-query.js.map +1 -0
  77. package/dist-server/service/activity/activity-type.js +199 -0
  78. package/dist-server/service/activity/activity-type.js.map +1 -0
  79. package/dist-server/service/activity/activity.js +170 -0
  80. package/dist-server/service/activity/activity.js.map +1 -0
  81. package/dist-server/service/activity/index.js +9 -0
  82. package/dist-server/service/activity/index.js.map +1 -0
  83. package/dist-server/service/index.js +28 -0
  84. package/dist-server/service/index.js.map +1 -0
  85. package/dist-server/service/work-center/event-subscriber.js +21 -0
  86. package/dist-server/service/work-center/event-subscriber.js.map +1 -0
  87. package/dist-server/service/work-center/index.js +12 -0
  88. package/dist-server/service/work-center/index.js.map +1 -0
  89. package/dist-server/service/work-center/work-center-history.js +123 -0
  90. package/dist-server/service/work-center/work-center-history.js.map +1 -0
  91. package/dist-server/service/work-center/work-center-mutation.js +168 -0
  92. package/dist-server/service/work-center/work-center-mutation.js.map +1 -0
  93. package/dist-server/service/work-center/work-center-query.js +97 -0
  94. package/dist-server/service/work-center/work-center-query.js.map +1 -0
  95. package/dist-server/service/work-center/work-center-type.js +86 -0
  96. package/dist-server/service/work-center/work-center-type.js.map +1 -0
  97. package/dist-server/service/work-center/work-center.js +86 -0
  98. package/dist-server/service/work-center/work-center.js.map +1 -0
  99. package/dist-server/tsconfig.tsbuildinfo +1 -0
  100. package/helps/worklist-webhook/work-center.md +160 -0
  101. package/package.json +36 -0
  102. package/server/controllers/activity-registry.ts +17 -0
  103. package/server/controllers/graphql-client.ts +68 -0
  104. package/server/controllers/index.ts +4 -0
  105. package/server/controllers/webhooks/decorators.ts +18 -0
  106. package/server/controllers/webhooks/index.ts +30 -0
  107. package/server/controllers/work-center/connect-work-center.ts +15 -0
  108. package/server/controllers/work-center/get-work-center.ts +9 -0
  109. package/server/controllers/work-center/index.ts +2 -0
  110. package/server/controllers/worklist-api/assign-activity-thread.ts +3 -0
  111. package/server/controllers/worklist-api/draft-activity-instance.ts +3 -0
  112. package/server/controllers/worklist-api/get-activity-list.ts +3 -0
  113. package/server/controllers/worklist-api/get-activity.ts +3 -0
  114. package/server/controllers/worklist-api/get-todo-list.ts +4 -0
  115. package/server/controllers/worklist-api/index.ts +7 -0
  116. package/server/controllers/worklist-api/register-activity.ts +3 -0
  117. package/server/controllers/worklist-api/unregister-activity.ts +3 -0
  118. package/server/controllers/worklist-api/update-activity.ts +3 -0
  119. package/server/index.ts +5 -0
  120. package/server/middlewares/index.ts +3 -0
  121. package/server/migrations/index.ts +9 -0
  122. package/server/routes.ts +46 -0
  123. package/server/service/activity/activity-model-type.ts +106 -0
  124. package/server/service/activity/activity-mutation.ts +85 -0
  125. package/server/service/activity/activity-query.ts +61 -0
  126. package/server/service/activity/activity-type.ts +146 -0
  127. package/server/service/activity/activity.ts +135 -0
  128. package/server/service/activity/index.ts +6 -0
  129. package/server/service/index.ts +36 -0
  130. package/server/service/work-center/event-subscriber.ts +17 -0
  131. package/server/service/work-center/index.ts +9 -0
  132. package/server/service/work-center/work-center-history.ts +110 -0
  133. package/server/service/work-center/work-center-mutation.ts +198 -0
  134. package/server/service/work-center/work-center-query.ts +62 -0
  135. package/server/service/work-center/work-center-type.ts +61 -0
  136. package/server/service/work-center/work-center.ts +76 -0
  137. package/server/tsconfig.json +10 -0
  138. package/things-factory.config.js +11 -0
  139. package/translations/en.json +1 -0
  140. package/translations/ko.json +1 -0
  141. package/translations/ms.json +1 -0
  142. package/translations/zh.json +1 -0
@@ -0,0 +1,61 @@
1
+ import { Arg, Args, Ctx, Query, Resolver } from 'type-graphql'
2
+
3
+ import { getRepository, ListParam } from '@things-factory/shell'
4
+
5
+ import { Activity } from './activity'
6
+ import { ActivityList } from './activity-type'
7
+ import { ActivityRegistry } from '../../controllers/activity-registry'
8
+ import { WorkCenter } from '../work-center/work-center'
9
+
10
+ @Resolver(Activity)
11
+ export class ActivityQuery {
12
+ @Query(returns => Activity!, { nullable: true, description: 'To fetch a Activity' })
13
+ async registeredActivity(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Activity> {
14
+ const { domain } = context.state
15
+
16
+ return ActivityRegistry.get(id)
17
+ }
18
+
19
+ @Query(returns => ActivityList, { description: 'To fetch multiple Activities' })
20
+ async registeredActivities(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityList> {
21
+ const { domain } = context.state
22
+
23
+ const activities = ActivityRegistry.list()
24
+
25
+ return { items: activities, total: activities.length }
26
+ }
27
+
28
+ @Query(returns => Activity!, { nullable: true, description: 'To fetch a Activity' })
29
+ async activity(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Activity> {
30
+ const { domain } = context.state
31
+
32
+ const workCenter = await getRepository(WorkCenter).findOne({
33
+ where: { domain: { id: domain.id }, id }
34
+ })
35
+
36
+ // workcenter의 토큰을 가져온다.
37
+ // remote graphql의 activity query를 호출한다.
38
+
39
+ return
40
+ }
41
+
42
+ @Query(returns => Activity!, { nullable: true, description: 'To fetch a Activity by name' })
43
+ async activityByName(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Activity> {
44
+ const { domain } = context.state
45
+
46
+ // workcenter의 토큰을 가져온다.
47
+ // remote graphql의 activity query를 호출한다.
48
+
49
+ return
50
+ }
51
+
52
+ @Query(returns => ActivityList, { description: 'To fetch multiple Activities' })
53
+ async activities(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityList> {
54
+ const { domain } = context.state
55
+
56
+ // workcenter의 토큰을 가져온다.
57
+ // remote graphql의 activity query를 호출한다.
58
+
59
+ return
60
+ }
61
+ }
@@ -0,0 +1,146 @@
1
+ import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'
2
+ import GraphQLUpload from 'graphql-upload/GraphQLUpload.js'
3
+ import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'
4
+
5
+ import { ObjectRef, ScalarObject } from '@things-factory/shell'
6
+
7
+ import { Activity, ActivityType, ActivityUIType } from './activity'
8
+ import { ActivityModelItem } from './activity-model-type'
9
+
10
+ @InputType()
11
+ export class NewActivity {
12
+ @Field()
13
+ name: string
14
+
15
+ @Field({ nullable: true })
16
+ description?: string
17
+
18
+ @Field({ nullable: true })
19
+ activityType?: ActivityType
20
+
21
+ @Field(type => ScalarObject, { nullable: true })
22
+ model?: ActivityModelItem[]
23
+
24
+ @Field({ nullable: true })
25
+ priority?: number
26
+
27
+ @Field({ nullable: true })
28
+ startable?: boolean
29
+
30
+ @Field({ nullable: true })
31
+ schedule?: string
32
+
33
+ @Field({ nullable: true })
34
+ standardTime?: number
35
+
36
+ @Field({ nullable: true })
37
+ cycleTime?: number
38
+
39
+ @Field({ nullable: true })
40
+ tactTime?: number
41
+
42
+ @Field({ nullable: true })
43
+ leadTime?: number
44
+
45
+ @Field(type => ObjectRef, { nullable: true })
46
+ issuerRole?: ObjectRef
47
+
48
+ @Field(type => ObjectRef, { nullable: true })
49
+ assigneeRole?: ObjectRef
50
+
51
+ @Field(type => ObjectRef, { nullable: true })
52
+ supervisoryRole?: ObjectRef
53
+
54
+ @Field({ nullable: true })
55
+ uiType?: ActivityUIType
56
+
57
+ @Field({ nullable: true })
58
+ uiSource?: string
59
+
60
+ @Field({ nullable: true })
61
+ reportType?: ActivityUIType
62
+
63
+ @Field({ nullable: true })
64
+ reportSource?: string
65
+
66
+ @Field({ nullable: true })
67
+ active?: boolean
68
+
69
+ @Field(type => GraphQLUpload, { nullable: true })
70
+ thumbnail?: FileUpload
71
+ }
72
+
73
+ @InputType()
74
+ export class ActivityPatch {
75
+ @Field(type => ID, { nullable: true })
76
+ id?: string
77
+
78
+ @Field({ nullable: true })
79
+ name?: string
80
+
81
+ @Field({ nullable: true })
82
+ description?: string
83
+
84
+ @Field({ nullable: true })
85
+ activityType?: ActivityType
86
+
87
+ @Field(type => ScalarObject, { nullable: true })
88
+ model?: ActivityModelItem[]
89
+
90
+ @Field({ nullable: true })
91
+ priority?: number
92
+
93
+ @Field({ nullable: true })
94
+ startable?: boolean
95
+
96
+ @Field({ nullable: true })
97
+ schedule?: string
98
+
99
+ @Field({ nullable: true })
100
+ standardTime?: number
101
+
102
+ @Field({ nullable: true })
103
+ cycleTime?: number
104
+
105
+ @Field({ nullable: true })
106
+ tactTime?: number
107
+
108
+ @Field({ nullable: true })
109
+ leadTime?: number
110
+
111
+ @Field(type => ObjectRef, { nullable: true })
112
+ issuerRole?: ObjectRef
113
+
114
+ @Field(type => ObjectRef, { nullable: true })
115
+ assigneeRole?: ObjectRef
116
+
117
+ @Field(type => ObjectRef, { nullable: true })
118
+ supervisoryRole?: ObjectRef
119
+
120
+ @Field({ nullable: true })
121
+ uiType?: ActivityUIType
122
+
123
+ @Field({ nullable: true })
124
+ uiSource?: string
125
+
126
+ @Field({ nullable: true })
127
+ reportType?: ActivityUIType
128
+
129
+ @Field({ nullable: true })
130
+ reportSource?: string
131
+
132
+ @Field(type => GraphQLUpload, { nullable: true })
133
+ thumbnail?: FileUpload
134
+
135
+ @Field({ nullable: true })
136
+ cuFlag?: string
137
+ }
138
+
139
+ @ObjectType()
140
+ export class ActivityList {
141
+ @Field(type => [Activity])
142
+ items: Activity[]
143
+
144
+ @Field(type => Int)
145
+ total: number
146
+ }
@@ -0,0 +1,135 @@
1
+ import { Field, ID, ObjectType, registerEnumType } from 'type-graphql'
2
+
3
+ import { Role, User } from '@things-factory/auth-base'
4
+ import { Domain } from '@things-factory/shell'
5
+
6
+ import { ActivityModelItem } from './activity-model-type'
7
+
8
+ export enum ActivityStatus {
9
+ Draft = 'draft',
10
+ Released = 'released',
11
+ Deprecated = 'deprecated'
12
+ }
13
+
14
+ registerEnumType(ActivityStatus, {
15
+ name: 'ActivityStatus',
16
+ description: 'state enumeration of a activity'
17
+ })
18
+
19
+ export enum ActivityType {
20
+ Task = 'task',
21
+ Service = 'service',
22
+ Send = 'send',
23
+ Receive = 'receive',
24
+ User = 'user',
25
+ Manual = 'manual',
26
+ BusinessRule = 'business-rule',
27
+ Script = 'script',
28
+ Subprocess = 'sub-process',
29
+ Call = 'call'
30
+ }
31
+
32
+ registerEnumType(ActivityType, {
33
+ name: 'ActivityType',
34
+ description: 'type enumeration of a activity'
35
+ })
36
+
37
+ export enum ActivityUIType {
38
+ Generated = 'generated',
39
+ Template = 'template',
40
+ Page = 'page',
41
+ Board = 'board',
42
+ External = 'external'
43
+ }
44
+
45
+ registerEnumType(ActivityUIType, {
46
+ name: 'ActivityUIType',
47
+ description: 'user-interface type enumeration of a activity'
48
+ })
49
+
50
+ @ObjectType({ description: 'Entity for Activity' })
51
+ export class Activity {
52
+ @Field(type => ID)
53
+ readonly id: string
54
+
55
+ @Field({ nullable: true })
56
+ version?: number = 1
57
+
58
+ @Field(type => Domain, { nullable: true })
59
+ domain?: Domain
60
+
61
+ @Field({ nullable: true })
62
+ name?: string
63
+
64
+ @Field({ nullable: true })
65
+ description?: string
66
+
67
+ @Field({ nullable: true })
68
+ activityType?: ActivityType
69
+
70
+ @Field({ nullable: true })
71
+ state?: ActivityStatus
72
+
73
+ @Field(type => [ActivityModelItem], { nullable: true })
74
+ model?: ActivityModelItem[]
75
+
76
+ @Field({ nullable: true })
77
+ priority?: number = 1
78
+
79
+ @Field({ nullable: true })
80
+ startable?: boolean
81
+
82
+ @Field({ nullable: true })
83
+ schedule?: string
84
+
85
+ @Field({ nullable: true })
86
+ standardTime?: number
87
+
88
+ @Field({ nullable: true })
89
+ cycleTime?: number
90
+
91
+ @Field({ nullable: true })
92
+ tactTime?: number
93
+
94
+ @Field({ nullable: true })
95
+ leadTime?: number
96
+
97
+ @Field(type => Role, { nullable: true })
98
+ issuerRole?: Role
99
+
100
+ @Field(type => Role, { nullable: true })
101
+ assigneeRole?: Role
102
+
103
+ @Field(type => Role, { nullable: true })
104
+ supervisoryRole?: Role
105
+
106
+ @Field({ nullable: true })
107
+ uiType?: ActivityUIType
108
+
109
+ @Field({ nullable: true })
110
+ uiSource?: string
111
+
112
+ @Field({ nullable: true })
113
+ reportType?: ActivityUIType
114
+
115
+ @Field({ nullable: true })
116
+ reportSource?: string
117
+
118
+ @Field({ nullable: true })
119
+ createdAt?: Date
120
+
121
+ @Field({ nullable: true })
122
+ updatedAt?: Date
123
+
124
+ @Field(type => User, { nullable: true, description: 'User assigned to the client application' })
125
+ client?: User
126
+
127
+ @Field(type => User, { nullable: true })
128
+ creator?: User
129
+
130
+ @Field(type => User, { nullable: true })
131
+ updater?: User
132
+
133
+ @Field(type => String, { nullable: true })
134
+ thumbnail?: string
135
+ }
@@ -0,0 +1,6 @@
1
+ import { Activity } from './activity'
2
+ import { ActivityQuery } from './activity-query'
3
+
4
+ export const entities = [Activity]
5
+ export const resolvers = [ActivityQuery]
6
+ export const subscribers = []
@@ -0,0 +1,36 @@
1
+ /* EXPORT ENTITY TYPES */
2
+ export * from './activity/activity'
3
+ export * from './work-center/work-center'
4
+
5
+ /* IMPORT ENTITIES AND RESOLVERS */
6
+ import {
7
+ entities as ActivityEntities,
8
+ resolvers as ActivityResolvers,
9
+ subscribers as ActivitySubscribers
10
+ } from './activity'
11
+
12
+ import {
13
+ entities as WorkCenterEntities,
14
+ resolvers as WorkCenterResolvers,
15
+ subscribers as WorkCenterSubscribers
16
+ } from './work-center'
17
+
18
+ export const entities = [
19
+ /* ENTITIES */
20
+ ...ActivityEntities,
21
+ ...WorkCenterEntities
22
+ ]
23
+
24
+ export const subscribers = [
25
+ /* SUBSCRIBERS */
26
+ ...ActivitySubscribers,
27
+ ...WorkCenterSubscribers
28
+ ]
29
+
30
+ export const schema = {
31
+ resolverClasses: [
32
+ /* RESOLVER CLASSES */
33
+ ...ActivityResolvers,
34
+ ...WorkCenterResolvers
35
+ ]
36
+ }
@@ -0,0 +1,17 @@
1
+ import { EventSubscriber } from 'typeorm'
2
+
3
+ import { HistoryEntitySubscriber } from '@operato/typeorm-history'
4
+
5
+ import { WorkCenter } from './work-center'
6
+ import { WorkCenterHistory } from './work-center-history'
7
+
8
+ @EventSubscriber()
9
+ export class WorkCenterHistoryEntitySubscriber extends HistoryEntitySubscriber<WorkCenter, WorkCenterHistory> {
10
+ public get entity() {
11
+ return WorkCenter
12
+ }
13
+
14
+ public get historyEntity() {
15
+ return WorkCenterHistory
16
+ }
17
+ }
@@ -0,0 +1,9 @@
1
+ import { WorkCenter } from './work-center'
2
+ import { WorkCenterHistory } from './work-center-history'
3
+ import { WorkCenterQuery } from './work-center-query'
4
+ import { WorkCenterMutation } from './work-center-mutation'
5
+ import { WorkCenterHistoryEntitySubscriber } from './event-subscriber'
6
+
7
+ export const entities = [WorkCenter, WorkCenterHistory]
8
+ export const resolvers = [WorkCenterQuery, WorkCenterMutation]
9
+ export const subscribers = [WorkCenterHistoryEntitySubscriber]
@@ -0,0 +1,110 @@
1
+ import { Field, ID, ObjectType } from 'type-graphql'
2
+ import { Column, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId } from 'typeorm'
3
+
4
+ import {
5
+ HistoryActionColumn,
6
+ HistoryActionType,
7
+ HistoryEntityInterface,
8
+ HistoryOriginalIdColumn
9
+ } from '@operato/typeorm-history'
10
+ import { Role, User } from '@things-factory/auth-base'
11
+ import { config } from '@things-factory/env'
12
+ import { Domain } from '@things-factory/shell'
13
+
14
+ import { WorkCenter, WorkCenterStatus } from './work-center'
15
+
16
+ const ORMCONFIG = config.get('ormconfig', {})
17
+ const DATABASE_TYPE = ORMCONFIG.type
18
+
19
+ @Entity()
20
+ @Index(
21
+ 'ix_work-center_history_0',
22
+ (workCenterHistory: WorkCenterHistory) => [workCenterHistory.originalId, workCenterHistory.version],
23
+ { unique: true }
24
+ )
25
+ @Index(
26
+ 'ix_work-center_history_1',
27
+ (workCenterHistory: WorkCenterHistory) => [workCenterHistory.domain, workCenterHistory.originalId, workCenterHistory.version],
28
+ { unique: true }
29
+ )
30
+ @ObjectType({ description: 'History Entity of WorkCenter' })
31
+ export class WorkCenterHistory implements HistoryEntityInterface<WorkCenter> {
32
+ @PrimaryGeneratedColumn('uuid')
33
+ @Field(type => ID)
34
+ readonly id: string
35
+
36
+ @Column({ nullable: true, default: 1 })
37
+ @Field({ nullable: true })
38
+ version?: number = 1
39
+
40
+ @ManyToOne(type => Domain)
41
+ @Field({ nullable: true })
42
+ domain?: Domain
43
+
44
+ @RelationId((workCenter: WorkCenter) => workCenter.domain)
45
+ domainId?: string
46
+
47
+ @Column()
48
+ @Field()
49
+ name: string
50
+
51
+ @Column({ nullable: true })
52
+ @Field({ nullable: true })
53
+ description?: string
54
+
55
+ @Column({ nullable: true })
56
+ @Field({ nullable: true })
57
+ active?: boolean
58
+
59
+ @Column({ nullable: true })
60
+ @Field({ nullable: true })
61
+ state?: WorkCenterStatus
62
+
63
+ @Column({ nullable: true })
64
+ @Field({ nullable: true })
65
+ params?: string
66
+
67
+ @Column({ nullable: true })
68
+ @Field({ nullable: true })
69
+ createdAt?: Date
70
+
71
+ @Column({ nullable: true })
72
+ @Field({ nullable: true })
73
+ updatedAt?: Date
74
+
75
+ @Column({ nullable: true })
76
+ @Field({ nullable: true })
77
+ deletedAt?: Date
78
+
79
+ @ManyToOne(type => User, { nullable: true })
80
+ @Field({ nullable: true })
81
+ creator?: User
82
+
83
+ @RelationId((workCenter: WorkCenter) => workCenter.creator)
84
+ creatorId?: string
85
+
86
+ @ManyToOne(type => User, { nullable: true })
87
+ @Field({ nullable: true })
88
+ updater?: User
89
+
90
+ @RelationId((workCenter: WorkCenter) => workCenter.updater)
91
+ updaterId?: string
92
+
93
+ @Field(type => String, { nullable: true })
94
+ thumbnail?: string
95
+
96
+ @HistoryOriginalIdColumn()
97
+ public originalId!: string
98
+
99
+ @HistoryActionColumn({
100
+ nullable: false,
101
+ type:
102
+ DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
103
+ ? 'enum'
104
+ : DATABASE_TYPE == 'oracle'
105
+ ? 'varchar2'
106
+ : 'smallint',
107
+ enum: HistoryActionType
108
+ })
109
+ public action!: HistoryActionType
110
+ }