@things-factory/integration-base 7.0.0-alpha.0 → 7.0.0-alpha.1
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.
- package/dist-server/engine/connector/echo-back-connector.js +1 -1
- package/dist-server/engine/connector/echo-back-connector.js.map +1 -1
- package/dist-server/engine/connector/echo-back-server.js +1 -1
- package/dist-server/engine/connector/echo-back-server.js.map +1 -1
- package/dist-server/engine/connector/graphql-connector.js.map +1 -1
- package/dist-server/engine/connector/http-connector.js.map +1 -1
- package/dist-server/engine/connector/mqtt-connector.js.map +1 -1
- package/dist-server/engine/connector/mssql-connector.js.map +1 -1
- package/dist-server/engine/connector/mysql-connector.js +3 -3
- package/dist-server/engine/connector/mysql-connector.js.map +1 -1
- package/dist-server/engine/connector/operato-connector.js.map +1 -1
- package/dist-server/engine/connector/oracle-connector.js.map +1 -1
- package/dist-server/engine/connector/postgresql-connector.js.map +1 -1
- package/dist-server/engine/connector/socket-server.js +1 -1
- package/dist-server/engine/connector/socket-server.js.map +1 -1
- package/dist-server/engine/connector/sqlite-connector.js.map +1 -1
- package/dist-server/engine/task/book-up-scenario.js.map +1 -1
- package/dist-server/engine/task/csv-readline.js.map +1 -1
- package/dist-server/engine/task/data-accessor.js.map +1 -1
- package/dist-server/engine/task/data-mapper.js.map +1 -1
- package/dist-server/engine/task/database-query.js.map +1 -1
- package/dist-server/engine/task/echo-receive.js.map +1 -1
- package/dist-server/engine/task/echo-send.js.map +1 -1
- package/dist-server/engine/task/empty-check.js.map +1 -1
- package/dist-server/engine/task/end.js.map +1 -1
- package/dist-server/engine/task/floating-point.js.map +1 -1
- package/dist-server/engine/task/goto.js.map +1 -1
- package/dist-server/engine/task/graphql-mutate.js.map +1 -1
- package/dist-server/engine/task/graphql-query.js.map +1 -1
- package/dist-server/engine/task/headless-post.js.map +1 -1
- package/dist-server/engine/task/headless-scrap.js.map +1 -1
- package/dist-server/engine/task/http-get.js.map +1 -1
- package/dist-server/engine/task/http-post.js.map +1 -1
- package/dist-server/engine/task/jsonata.js +1 -1
- package/dist-server/engine/task/jsonata.js.map +1 -1
- package/dist-server/engine/task/local-graphql-mutate.js.map +1 -1
- package/dist-server/engine/task/local-graphql-query.js.map +1 -1
- package/dist-server/engine/task/log.js.map +1 -1
- package/dist-server/engine/task/mqtt-publish.js.map +1 -1
- package/dist-server/engine/task/mqtt-subscribe.js.map +1 -1
- package/dist-server/engine/task/oracle-procedure.js.map +1 -1
- package/dist-server/engine/task/pick-pending-scenario.js.map +1 -1
- package/dist-server/engine/task/publish.js.map +1 -1
- package/dist-server/engine/task/random.js.map +1 -1
- package/dist-server/engine/task/reset-pending-queue.js.map +1 -1
- package/dist-server/engine/task/script.js.map +1 -1
- package/dist-server/engine/task/set-domain.js.map +1 -1
- package/dist-server/engine/task/sleep.js.map +1 -1
- package/dist-server/engine/task/socket-listener.js.map +1 -1
- package/dist-server/engine/task/state-read.js.map +1 -1
- package/dist-server/engine/task/state-write.js.map +1 -1
- package/dist-server/engine/task/stop-scenario.js.map +1 -1
- package/dist-server/engine/task/sub-scenario.js.map +1 -1
- package/dist-server/engine/task/switch-goto.js.map +1 -1
- package/dist-server/engine/task/switch-range-goto.js.map +1 -1
- package/dist-server/engine/task/switch-range-scenario.js.map +1 -1
- package/dist-server/engine/task/switch-range-set.js.map +1 -1
- package/dist-server/engine/task/switch-scenario.js.map +1 -1
- package/dist-server/engine/task/switch-set.js.map +1 -1
- package/dist-server/engine/task/throw.js.map +1 -1
- package/dist-server/engine/task/variables.js.map +1 -1
- package/dist-server/engine/types.js.map +1 -1
- package/dist-server/service/connection/connection-subscription.js +9 -12
- package/dist-server/service/connection/connection-subscription.js.map +1 -1
- package/dist-server/service/connection/connection-type.js +34 -5
- package/dist-server/service/connection/connection-type.js.map +1 -1
- package/dist-server/service/scenario-instance/scenario-instance-subscription.js +8 -9
- package/dist-server/service/scenario-instance/scenario-instance-subscription.js.map +1 -1
- package/dist-server/service/scenario-queue/scenario-queue-subscription.js +4 -4
- package/dist-server/service/scenario-queue/scenario-queue-subscription.js.map +1 -1
- package/dist-server/service/step/step-type.js +41 -28
- package/dist-server/service/step/step-type.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -7
- package/server/engine/connector/echo-back-connector.ts +4 -3
- package/server/engine/connector/echo-back-server.ts +5 -4
- package/server/engine/connector/graphql-connector.ts +4 -3
- package/server/engine/connector/http-connector.ts +4 -3
- package/server/engine/connector/mqtt-connector.ts +4 -3
- package/server/engine/connector/mssql-connector.ts +4 -3
- package/server/engine/connector/mysql-connector.ts +8 -6
- package/server/engine/connector/operato-connector.ts +5 -3
- package/server/engine/connector/oracle-connector.ts +6 -3
- package/server/engine/connector/postgresql-connector.ts +4 -3
- package/server/engine/connector/socket-server.ts +5 -4
- package/server/engine/connector/sqlite-connector.ts +5 -3
- package/server/engine/task/book-up-scenario.ts +3 -1
- package/server/engine/task/csv-readline.ts +4 -1
- package/server/engine/task/data-accessor.ts +4 -1
- package/server/engine/task/data-mapper.ts +4 -1
- package/server/engine/task/database-query.ts +3 -1
- package/server/engine/task/echo-receive.ts +4 -1
- package/server/engine/task/echo-send.ts +3 -1
- package/server/engine/task/empty-check.ts +4 -1
- package/server/engine/task/end.ts +4 -1
- package/server/engine/task/floating-point.ts +4 -1
- package/server/engine/task/goto.ts +4 -1
- package/server/engine/task/graphql-mutate.ts +3 -1
- package/server/engine/task/graphql-query.ts +3 -1
- package/server/engine/task/headless-post.ts +4 -1
- package/server/engine/task/headless-scrap.ts +3 -1
- package/server/engine/task/http-get.ts +3 -1
- package/server/engine/task/http-post.ts +3 -1
- package/server/engine/task/jsonata.ts +5 -2
- package/server/engine/task/local-graphql-mutate.ts +5 -1
- package/server/engine/task/local-graphql-query.ts +3 -1
- package/server/engine/task/log.ts +3 -1
- package/server/engine/task/mqtt-publish.ts +3 -1
- package/server/engine/task/mqtt-subscribe.ts +3 -1
- package/server/engine/task/oracle-procedure.ts +3 -1
- package/server/engine/task/pick-pending-scenario.ts +3 -1
- package/server/engine/task/publish.ts +3 -1
- package/server/engine/task/random.ts +4 -1
- package/server/engine/task/reset-pending-queue.ts +3 -1
- package/server/engine/task/script.ts +4 -1
- package/server/engine/task/set-domain.ts +4 -1
- package/server/engine/task/sleep.ts +3 -1
- package/server/engine/task/socket-listener.ts +3 -1
- package/server/engine/task/state-read.ts +3 -1
- package/server/engine/task/state-write.ts +3 -1
- package/server/engine/task/stop-scenario.ts +3 -1
- package/server/engine/task/sub-scenario.ts +3 -1
- package/server/engine/task/switch-goto.ts +4 -1
- package/server/engine/task/switch-range-goto.ts +3 -1
- package/server/engine/task/switch-range-scenario.ts +3 -1
- package/server/engine/task/switch-range-set.ts +3 -1
- package/server/engine/task/switch-scenario.ts +3 -1
- package/server/engine/task/switch-set.ts +3 -1
- package/server/engine/task/throw.ts +3 -1
- package/server/engine/task/variables.ts +3 -1
- package/server/engine/types.ts +81 -4
- package/server/service/connection/connection-subscription.ts +16 -22
- package/server/service/connection/connection-type.ts +67 -0
- package/server/service/scenario-instance/scenario-instance-subscription.ts +16 -23
- package/server/service/scenario-queue/scenario-queue-subscription.ts +7 -7
- package/server/service/step/step-type.ts +78 -22
@@ -30,72 +30,126 @@ registerEnumType(ConnectionStatus, {
|
|
30
30
|
@Index('ix_connection_0', (connection: Connection) => [connection.domain, connection.name], { unique: true })
|
31
31
|
@ObjectType()
|
32
32
|
export class Connection {
|
33
|
+
/**
|
34
|
+
* Unique identifier for the connection, generated in UUID format.
|
35
|
+
*/
|
33
36
|
@PrimaryGeneratedColumn('uuid')
|
34
37
|
@Field(type => ID)
|
35
38
|
readonly id: string
|
36
39
|
|
40
|
+
/**
|
41
|
+
* Many-to-One relationship with the Domain entity.
|
42
|
+
*/
|
37
43
|
@ManyToOne(type => Domain)
|
38
44
|
@Field({ nullable: true })
|
39
45
|
domain: Domain
|
40
46
|
|
47
|
+
/**
|
48
|
+
* Stores the ID of the associated Domain.
|
49
|
+
*/
|
41
50
|
@RelationId((connection: Connection) => connection.domain)
|
42
51
|
domainId: string
|
43
52
|
|
53
|
+
/**
|
54
|
+
* The name of the connection.
|
55
|
+
*/
|
44
56
|
@Column()
|
45
57
|
@Field()
|
46
58
|
name: string
|
47
59
|
|
60
|
+
/**
|
61
|
+
* Optional description for the connection.
|
62
|
+
*/
|
48
63
|
@Column({
|
49
64
|
nullable: true
|
50
65
|
})
|
51
66
|
@Field({ nullable: true })
|
52
67
|
description: string
|
53
68
|
|
69
|
+
/**
|
70
|
+
* The type of the connection.
|
71
|
+
*/
|
54
72
|
@Column()
|
55
73
|
@Field({ nullable: true })
|
56
74
|
type: string
|
57
75
|
|
76
|
+
/**
|
77
|
+
* The endpoint for the connection.
|
78
|
+
*/
|
58
79
|
@Column()
|
59
80
|
@Field({ nullable: true })
|
60
81
|
endpoint: string
|
61
82
|
|
83
|
+
/**
|
84
|
+
* Indicates the active status of the connection.
|
85
|
+
*/
|
62
86
|
@Column({
|
63
87
|
nullable: true
|
64
88
|
})
|
65
89
|
@Field({ nullable: true })
|
66
90
|
active: boolean
|
67
91
|
|
92
|
+
/**
|
93
|
+
* The status of the connection, using the ConnectionStatus type.
|
94
|
+
*/
|
68
95
|
@Field({ nullable: true })
|
69
96
|
state: ConnectionStatus
|
70
97
|
|
98
|
+
/**
|
99
|
+
* Additional parameters for the connection, stored as a JSON string.
|
100
|
+
*/
|
71
101
|
@Column({
|
72
102
|
nullable: true
|
73
103
|
})
|
74
104
|
@Field({ nullable: true })
|
75
105
|
params: string
|
76
106
|
|
107
|
+
/**
|
108
|
+
* The date and time when the connection was created.
|
109
|
+
*/
|
77
110
|
@CreateDateColumn()
|
78
111
|
@Field({ nullable: true })
|
79
112
|
createdAt: Date
|
80
113
|
|
114
|
+
/**
|
115
|
+
* The date and time when the connection was last updated.
|
116
|
+
*/
|
81
117
|
@UpdateDateColumn()
|
82
118
|
@Field({ nullable: true })
|
83
119
|
updatedAt: Date
|
84
120
|
|
121
|
+
/**
|
122
|
+
* Many-to-One relationship with the User entity who created the connection. Optional field.
|
123
|
+
*/
|
85
124
|
@ManyToOne(type => User, { nullable: true })
|
86
125
|
@Field({ nullable: true })
|
87
126
|
creator: User
|
88
127
|
|
128
|
+
/**
|
129
|
+
* Stores the ID of the User who created the connection.
|
130
|
+
*/
|
89
131
|
@RelationId((connection: Connection) => connection.creator)
|
90
132
|
creatorId: string
|
91
133
|
|
134
|
+
/**
|
135
|
+
* Many-to-One relationship with the User entity who last updated the connection.
|
136
|
+
* Optional field.
|
137
|
+
*/
|
92
138
|
@ManyToOne(type => User, { nullable: true })
|
93
139
|
@Field({ nullable: true })
|
94
140
|
updater: User
|
95
141
|
|
142
|
+
/**
|
143
|
+
* Stores the ID of the User who last updated the connection.
|
144
|
+
*
|
145
|
+
*/
|
96
146
|
@RelationId((connection: Connection) => connection.updater)
|
97
147
|
updaterId: string
|
98
148
|
|
149
|
+
/**
|
150
|
+
* Asynchronous method to establish the connection.
|
151
|
+
*
|
152
|
+
*/
|
99
153
|
async connect() {
|
100
154
|
var connector = ConnectionManager.getConnector(this.type)
|
101
155
|
var params = {}
|
@@ -112,6 +166,10 @@ export class Connection {
|
|
112
166
|
})
|
113
167
|
}
|
114
168
|
|
169
|
+
/**
|
170
|
+
* @brief Asynchronous method to disconnect the connection.
|
171
|
+
*
|
172
|
+
*/
|
115
173
|
async disconnect() {
|
116
174
|
try {
|
117
175
|
var connector = ConnectionManager.getConnector(this.type)
|
@@ -121,6 +179,15 @@ export class Connection {
|
|
121
179
|
}
|
122
180
|
}
|
123
181
|
|
182
|
+
/**
|
183
|
+
* Connection의 params의 원 타입과 사용 시에 타입 불일치로 인해 임시적으로 생성한 타입으로
|
184
|
+
* 추후, 타입 일치를 통해서 제거할 예정임.
|
185
|
+
*
|
186
|
+
*/
|
187
|
+
export interface InputConnection extends Connection {
|
188
|
+
params: any;
|
189
|
+
}
|
190
|
+
|
124
191
|
@ObjectType()
|
125
192
|
export class ConnectionState {
|
126
193
|
@Field({ nullable: true })
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Resolver, Subscription, Root, Arg } from 'type-graphql'
|
2
|
-
import {
|
2
|
+
import { filter, pipe } from 'graphql-yoga'
|
3
3
|
import { pubsub, Log } from '@things-factory/shell'
|
4
4
|
import { ScenarioInstance, ScenarioInstanceState } from './scenario-instance-type'
|
5
5
|
import { ScenarioEngine } from '../../engine'
|
@@ -9,7 +9,7 @@ const debug = require('debug')('things-factory:integration:scenario-instance-sub
|
|
9
9
|
@Resolver(ScenarioInstance)
|
10
10
|
export class ScenarioInstanceSubscription {
|
11
11
|
@Subscription({
|
12
|
-
subscribe: (
|
12
|
+
subscribe: ({ args, context, info }) => {
|
13
13
|
const { domain, user } = context.state
|
14
14
|
const { instanceName, scenarioName, level } = args
|
15
15
|
const subdomain = domain?.subdomain
|
@@ -24,11 +24,11 @@ export class ScenarioInstanceSubscription {
|
|
24
24
|
throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)
|
25
25
|
}
|
26
26
|
|
27
|
-
return
|
28
|
-
|
29
|
-
(payload
|
27
|
+
return pipe(
|
28
|
+
pubsub.subscribe('scenario-instance-log'),
|
29
|
+
filter((payload: { scenarioInstanceLog: Log }) => {
|
30
30
|
const { source, level: plevel } = payload.scenarioInstanceLog
|
31
|
-
const { domain: pdomain, scenarioName: pscenarioName, instanceName: pinstanceName } = source
|
31
|
+
const { domain: pdomain, scenarioName: pscenarioName, instanceName: pinstanceName } = source as any
|
32
32
|
|
33
33
|
if (subdomain !== pdomain?.subdomain) {
|
34
34
|
return false
|
@@ -47,8 +47,8 @@ export class ScenarioInstanceSubscription {
|
|
47
47
|
}
|
48
48
|
|
49
49
|
return true
|
50
|
-
}
|
51
|
-
)
|
50
|
+
})
|
51
|
+
)
|
52
52
|
}
|
53
53
|
})
|
54
54
|
scenarioInstanceLog(
|
@@ -61,7 +61,7 @@ export class ScenarioInstanceSubscription {
|
|
61
61
|
}
|
62
62
|
|
63
63
|
@Subscription({
|
64
|
-
subscribe: (
|
64
|
+
subscribe: ({ args, context, info }) => {
|
65
65
|
const { domain, user } = context.state
|
66
66
|
const { instanceName, scenarioName } = args
|
67
67
|
const subdomain = domain?.subdomain
|
@@ -79,24 +79,17 @@ export class ScenarioInstanceSubscription {
|
|
79
79
|
process.nextTick(() => {
|
80
80
|
ScenarioEngine.getScenarioInstances(domain)
|
81
81
|
.filter(instance => {
|
82
|
-
return (
|
83
|
-
(!instanceName || instance.instanceName === instanceName) &&
|
84
|
-
(!scenarioName || instance.scenarioName === scenarioName)
|
85
|
-
)
|
82
|
+
return (!instanceName || instance.instanceName === instanceName) && (!scenarioName || instance.scenarioName === scenarioName)
|
86
83
|
})
|
87
84
|
.forEach(instance => {
|
88
85
|
instance.publishState()
|
89
86
|
})
|
90
87
|
})
|
91
88
|
|
92
|
-
return
|
93
|
-
|
94
|
-
(payload
|
95
|
-
const {
|
96
|
-
domain: pdomain,
|
97
|
-
scenarioName: pscenarioName,
|
98
|
-
instanceName: pinstanceName
|
99
|
-
} = payload.scenarioInstanceState
|
89
|
+
return pipe(
|
90
|
+
pubsub.subscribe('scenario-instance-state'),
|
91
|
+
filter((payload: { scenarioInstanceState: ScenarioInstanceState }) => {
|
92
|
+
const { domain: pdomain, scenarioName: pscenarioName, instanceName: pinstanceName } = payload.scenarioInstanceState
|
100
93
|
|
101
94
|
if (subdomain !== pdomain?.subdomain) {
|
102
95
|
return false
|
@@ -111,8 +104,8 @@ export class ScenarioInstanceSubscription {
|
|
111
104
|
}
|
112
105
|
|
113
106
|
return true
|
114
|
-
}
|
115
|
-
)
|
107
|
+
})
|
108
|
+
)
|
116
109
|
}
|
117
110
|
})
|
118
111
|
scenarioInstanceState(
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Resolver, Subscription, Root, Arg } from 'type-graphql'
|
2
2
|
import { ScenarioQueueState } from './scenario-queue-type'
|
3
3
|
import { pubsub } from '@things-factory/shell'
|
4
|
-
import {
|
4
|
+
import { filter, pipe } from 'graphql-yoga'
|
5
5
|
import { ScenarioEngine } from '../../engine'
|
6
6
|
|
7
7
|
const debug = require('debug')('things-factory:integration:connection-subscription')
|
@@ -9,7 +9,7 @@ const debug = require('debug')('things-factory:integration:connection-subscripti
|
|
9
9
|
@Resolver()
|
10
10
|
export class ScenarioQueueSubscription {
|
11
11
|
@Subscription({
|
12
|
-
subscribe: (
|
12
|
+
subscribe: ({ args, context, info }) => {
|
13
13
|
const { domain, user } = context.state
|
14
14
|
const subdomain = domain?.subdomain
|
15
15
|
|
@@ -35,9 +35,9 @@ export class ScenarioQueueSubscription {
|
|
35
35
|
}
|
36
36
|
})
|
37
37
|
|
38
|
-
return
|
39
|
-
|
40
|
-
(payload
|
38
|
+
return pipe(
|
39
|
+
pubsub.subscribe('scenario-queue-state'),
|
40
|
+
filter((payload: { scenarioQueueState: ScenarioQueueState }) => {
|
41
41
|
const { domain: pdomain } = payload.scenarioQueueState
|
42
42
|
|
43
43
|
if (pdomain?.subdomain !== subdomain) {
|
@@ -45,8 +45,8 @@ export class ScenarioQueueSubscription {
|
|
45
45
|
}
|
46
46
|
|
47
47
|
return true
|
48
|
-
}
|
49
|
-
)
|
48
|
+
})
|
49
|
+
)
|
50
50
|
}
|
51
51
|
})
|
52
52
|
scenarioQueueState(@Root() payload: { scenarioQueueState: ScenarioQueueState }): ScenarioQueueState {
|
@@ -15,98 +15,145 @@ import { Domain } from '@things-factory/shell'
|
|
15
15
|
|
16
16
|
import { Scenario } from '../scenario/scenario'
|
17
17
|
|
18
|
+
|
18
19
|
@Entity()
|
19
20
|
@Index('ix_step_0', (step: Step) => [step.scenario, step.sequence], { unique: true })
|
20
21
|
@ObjectType()
|
21
22
|
export class Step {
|
23
|
+
/**
|
24
|
+
* The unique identifier for each step.
|
25
|
+
*/
|
22
26
|
@PrimaryGeneratedColumn('uuid')
|
23
27
|
@Field(type => ID)
|
24
28
|
readonly id: string
|
25
29
|
|
30
|
+
/**
|
31
|
+
* The domain to which this step belongs.
|
32
|
+
*/
|
26
33
|
@ManyToOne(type => Domain)
|
27
34
|
@Field({ nullable: true })
|
28
35
|
domain: Domain
|
29
36
|
|
37
|
+
/**
|
38
|
+
* The ID of the domain associated with this step.
|
39
|
+
*/
|
30
40
|
@RelationId((step: Step) => step.domain)
|
31
41
|
domainId: string
|
32
42
|
|
33
|
-
|
34
|
-
|
35
|
-
|
43
|
+
/**
|
44
|
+
* The name of the step.
|
45
|
+
*/
|
46
|
+
@Column({ nullable: true })
|
36
47
|
@Field()
|
37
48
|
name: string
|
38
49
|
|
39
|
-
|
40
|
-
|
41
|
-
|
50
|
+
/**
|
51
|
+
* A description of what the step involves.
|
52
|
+
*/
|
53
|
+
@Column({ nullable: true })
|
42
54
|
@Field({ nullable: true })
|
43
55
|
description: string
|
44
56
|
|
57
|
+
/**
|
58
|
+
* The scenario that includes this step.
|
59
|
+
*/
|
45
60
|
@ManyToOne(type => Scenario, scenario => scenario.steps, { onDelete: 'CASCADE' })
|
46
61
|
@Field(type => Scenario, { nullable: true })
|
47
62
|
scenario: Scenario
|
48
63
|
|
64
|
+
/**
|
65
|
+
* The ID of the scenario associated with this step.
|
66
|
+
*/
|
49
67
|
@RelationId((step: Step) => step.scenario)
|
50
68
|
scenarioId: string
|
51
69
|
|
70
|
+
/**
|
71
|
+
* The sequence number of the step within its scenario.
|
72
|
+
*/
|
52
73
|
@Column()
|
53
74
|
@Field({ nullable: true })
|
54
75
|
sequence: number
|
55
76
|
|
77
|
+
/**
|
78
|
+
* The specific task associated with this step.
|
79
|
+
*/
|
56
80
|
@Column()
|
57
81
|
@Field({ nullable: true })
|
58
82
|
task: string
|
59
83
|
|
60
|
-
|
61
|
-
|
62
|
-
|
84
|
+
/**
|
85
|
+
* Boolean value to indicate if the step should be skipped.
|
86
|
+
*/
|
87
|
+
@Column({ nullable: true })
|
63
88
|
@Field({ nullable: true })
|
64
89
|
skip: boolean
|
65
90
|
|
66
|
-
|
67
|
-
|
68
|
-
|
91
|
+
/**
|
92
|
+
* Boolean value to indicate if the step should be logged.
|
93
|
+
*/
|
94
|
+
@Column({ nullable: true })
|
69
95
|
@Field({ nullable: true })
|
70
96
|
log: boolean
|
71
97
|
|
72
|
-
|
73
|
-
|
74
|
-
|
98
|
+
/**
|
99
|
+
* The connection details associated with this step.
|
100
|
+
*/
|
101
|
+
@Column({ nullable: true })
|
75
102
|
@Field({ nullable: true })
|
76
103
|
connection: string
|
77
104
|
|
78
|
-
|
79
|
-
|
80
|
-
|
105
|
+
/**
|
106
|
+
* The parameters for the step.
|
107
|
+
*/
|
108
|
+
@Column({ nullable: true })
|
81
109
|
@Field({ nullable: true })
|
82
110
|
params: string
|
83
111
|
|
112
|
+
/**
|
113
|
+
* A boolean attribute indicating the inclusion status of an element in the result.
|
114
|
+
*/
|
84
115
|
@Column({ nullable: true, default: true })
|
85
|
-
@Field({
|
86
|
-
nullable: true,
|
87
|
-
description: 'a boolean attribute indicating the inclusion status of an element in the result'
|
88
|
-
})
|
116
|
+
@Field({ nullable: true, description: 'A boolean attribute indicating the inclusion status of an element in the result' })
|
89
117
|
result: boolean = true
|
90
118
|
|
119
|
+
/**
|
120
|
+
* The timestamp when the step was created.
|
121
|
+
*/
|
91
122
|
@CreateDateColumn()
|
92
123
|
@Field({ nullable: true })
|
93
124
|
createdAt: Date
|
94
125
|
|
126
|
+
/**
|
127
|
+
* The timestamp when
|
128
|
+
the step was last updated.
|
129
|
+
*/
|
95
130
|
@UpdateDateColumn()
|
96
131
|
@Field({ nullable: true })
|
97
132
|
updatedAt: Date
|
98
133
|
|
134
|
+
/**
|
135
|
+
* The user who created this step.
|
136
|
+
*/
|
99
137
|
@ManyToOne(type => User, { nullable: true })
|
100
138
|
@Field({ nullable: true })
|
101
139
|
creator: User
|
102
140
|
|
141
|
+
/**
|
142
|
+
* The ID of the user who created this step.
|
143
|
+
*/
|
103
144
|
@RelationId((step: Step) => step.creator)
|
104
145
|
creatorId: string
|
105
146
|
|
147
|
+
/**
|
148
|
+
* The user who last updated this step.
|
149
|
+
*/
|
106
150
|
@ManyToOne(type => User, { nullable: true })
|
107
151
|
@Field({ nullable: true })
|
108
152
|
updater: User
|
109
153
|
|
154
|
+
/**
|
155
|
+
* The ID of the user who last updated this step.
|
156
|
+
*/
|
110
157
|
@RelationId((step: Step) => step.updater)
|
111
158
|
updaterId: string
|
112
159
|
}
|
@@ -147,6 +194,15 @@ export class StepPatch {
|
|
147
194
|
cuFlag?: string
|
148
195
|
}
|
149
196
|
|
197
|
+
/**
|
198
|
+
* Step의 params의 원 타입과 사용 시에 타입 불일치로 인해 임시적으로 생성한 타입으로
|
199
|
+
* 추후, 타입 일치를 통해서 제거할 예정임.
|
200
|
+
*
|
201
|
+
*/
|
202
|
+
export interface InputStep extends Step {
|
203
|
+
params: any
|
204
|
+
}
|
205
|
+
|
150
206
|
@ObjectType()
|
151
207
|
export class StepList {
|
152
208
|
@Field(type => [Step])
|