@things-factory/integration-base 7.0.1-beta.8 → 7.0.1-rc.0
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/controllers/index.d.ts +1 -0
- package/dist-server/controllers/scenario-controller.d.ts +4 -0
- package/dist-server/controllers/scenario-controller.js +11 -6
- package/dist-server/controllers/scenario-controller.js.map +1 -1
- package/dist-server/engine/analyzer/analyze-integration.d.ts +5 -0
- package/dist-server/engine/analyzer/analyze-integration.js +1 -2
- package/dist-server/engine/analyzer/analyze-integration.js.map +1 -1
- package/dist-server/engine/connection-manager.d.ts +35 -0
- package/dist-server/engine/connection-manager.js.map +1 -1
- package/dist-server/engine/connector/echo-back-connector.d.ts +9 -0
- package/dist-server/engine/connector/echo-back-connector.js.map +1 -1
- package/dist-server/engine/connector/echo-back-server.d.ts +8 -0
- package/dist-server/engine/connector/echo-back-server.js.map +1 -1
- package/dist-server/engine/connector/graphql-connector.d.ts +19 -0
- package/dist-server/engine/connector/graphql-connector.js +1 -1
- package/dist-server/engine/connector/graphql-connector.js.map +1 -1
- package/dist-server/engine/connector/http-connector.d.ts +25 -0
- package/dist-server/engine/connector/http-connector.js.map +1 -1
- package/dist-server/engine/connector/index.d.ts +12 -0
- package/dist-server/engine/connector/mqtt-connector.d.ts +14 -0
- package/dist-server/engine/connector/mqtt-connector.js.map +1 -1
- package/dist-server/engine/connector/mssql-connector.d.ts +30 -0
- package/dist-server/engine/connector/mssql-connector.js +20 -4
- package/dist-server/engine/connector/mssql-connector.js.map +1 -1
- package/dist-server/engine/connector/mysql-connector.d.ts +13 -0
- package/dist-server/engine/connector/mysql-connector.js.map +1 -1
- package/dist-server/engine/connector/operato-connector.d.ts +27 -0
- package/dist-server/engine/connector/operato-connector.js +1 -1
- package/dist-server/engine/connector/operato-connector.js.map +1 -1
- package/dist-server/engine/connector/oracle-connector.d.ts +29 -0
- package/dist-server/engine/connector/oracle-connector.js.map +1 -1
- package/dist-server/engine/connector/postgresql-connector.d.ts +14 -0
- package/dist-server/engine/connector/postgresql-connector.js.map +1 -1
- package/dist-server/engine/connector/proxy-connector.d.ts +15 -0
- package/dist-server/engine/connector/socket-server.d.ts +9 -0
- package/dist-server/engine/connector/socket-server.js.map +1 -1
- package/dist-server/engine/connector/sqlite-connector.d.ts +10 -0
- package/dist-server/engine/connector/sqlite-connector.js.map +1 -1
- package/dist-server/engine/edge-client.d.ts +18 -0
- package/dist-server/engine/edge-client.js +5 -6
- package/dist-server/engine/edge-client.js.map +1 -1
- package/dist-server/engine/index.d.ts +8 -0
- package/dist-server/engine/index.js.map +1 -1
- package/dist-server/engine/pending-queue.d.ts +24 -0
- package/dist-server/engine/pending-queue.js.map +1 -1
- package/dist-server/engine/scenario-engine.d.ts +11 -0
- package/dist-server/engine/scenario-engine.js.map +1 -1
- package/dist-server/engine/task/book-up-scenario.d.ts +1 -0
- package/dist-server/engine/task/csv-readline.d.ts +1 -0
- package/dist-server/engine/task/csv-readline.js.map +1 -1
- package/dist-server/engine/task/data-accessor.d.ts +1 -0
- package/dist-server/engine/task/data-mapper.d.ts +1 -0
- package/dist-server/engine/task/data-mapper.js.map +1 -1
- package/dist-server/engine/task/database-query.d.ts +1 -0
- package/dist-server/engine/task/echo-receive.d.ts +1 -0
- package/dist-server/engine/task/echo-send.d.ts +1 -0
- package/dist-server/engine/task/echo-send.js.map +1 -1
- package/dist-server/engine/task/empty-check.d.ts +1 -0
- package/dist-server/engine/task/empty-check.js.map +1 -1
- package/dist-server/engine/task/end.d.ts +1 -0
- package/dist-server/engine/task/floating-point.d.ts +1 -0
- package/dist-server/engine/task/floating-point.js.map +1 -1
- package/dist-server/engine/task/goto.d.ts +1 -0
- package/dist-server/engine/task/graphql-mutate.d.ts +1 -0
- package/dist-server/engine/task/graphql-query.d.ts +1 -0
- package/dist-server/engine/task/headless-post.d.ts +1 -0
- package/dist-server/engine/task/headless-post.js.map +1 -1
- package/dist-server/engine/task/headless-scrap.d.ts +1 -0
- package/dist-server/engine/task/headless-scrap.js.map +1 -1
- package/dist-server/engine/task/http-get.d.ts +1 -0
- package/dist-server/engine/task/http-get.js.map +1 -1
- package/dist-server/engine/task/http-post.d.ts +1 -0
- package/dist-server/engine/task/http-post.js.map +1 -1
- package/dist-server/engine/task/index.d.ts +43 -0
- package/dist-server/engine/task/jsonata.d.ts +1 -0
- package/dist-server/engine/task/local-graphql-mutate.d.ts +1 -0
- package/dist-server/engine/task/local-graphql-mutate.js.map +1 -1
- package/dist-server/engine/task/local-graphql-query.d.ts +1 -0
- package/dist-server/engine/task/local-graphql-query.js.map +1 -1
- package/dist-server/engine/task/log.d.ts +1 -0
- package/dist-server/engine/task/log.js.map +1 -1
- package/dist-server/engine/task/mqtt-publish.d.ts +1 -0
- package/dist-server/engine/task/mqtt-publish.js.map +1 -1
- package/dist-server/engine/task/mqtt-subscribe.d.ts +1 -0
- package/dist-server/engine/task/mqtt-subscribe.js.map +1 -1
- package/dist-server/engine/task/oracle-procedure.d.ts +1 -0
- package/dist-server/engine/task/oracle-procedure.js.map +1 -1
- package/dist-server/engine/task/pick-pending-scenario.d.ts +1 -0
- package/dist-server/engine/task/pick-pending-scenario.js.map +1 -1
- package/dist-server/engine/task/publish.d.ts +1 -0
- package/dist-server/engine/task/publish.js.map +1 -1
- package/dist-server/engine/task/random.d.ts +1 -0
- package/dist-server/engine/task/reset-pending-queue.d.ts +1 -0
- package/dist-server/engine/task/script.d.ts +1 -0
- package/dist-server/engine/task/set-domain.d.ts +1 -0
- package/dist-server/engine/task/set-domain.js.map +1 -1
- package/dist-server/engine/task/sleep.d.ts +1 -0
- package/dist-server/engine/task/sleep.js.map +1 -1
- package/dist-server/engine/task/socket-listener.d.ts +1 -0
- package/dist-server/engine/task/socket-listener.js.map +1 -1
- package/dist-server/engine/task/state-read.d.ts +1 -0
- package/dist-server/engine/task/state-read.js.map +1 -1
- package/dist-server/engine/task/state-write.d.ts +1 -0
- package/dist-server/engine/task/state-write.js.map +1 -1
- package/dist-server/engine/task/stop-scenario.d.ts +1 -0
- package/dist-server/engine/task/sub-scenario.d.ts +1 -0
- package/dist-server/engine/task/switch-goto.d.ts +1 -0
- package/dist-server/engine/task/switch-range-goto.d.ts +1 -0
- package/dist-server/engine/task/switch-range-goto.js.map +1 -1
- package/dist-server/engine/task/switch-range-scenario.d.ts +1 -0
- package/dist-server/engine/task/switch-range-scenario.js.map +1 -1
- package/dist-server/engine/task/switch-range-set.d.ts +1 -0
- package/dist-server/engine/task/switch-range-set.js.map +1 -1
- package/dist-server/engine/task/switch-scenario.d.ts +1 -0
- package/dist-server/engine/task/switch-set.d.ts +1 -0
- package/dist-server/engine/task/throw.d.ts +1 -0
- package/dist-server/engine/task/utils/headless-pool-for-scenario.d.ts +1 -0
- package/dist-server/engine/task/utils/headless-pool-for-scenario.js +1 -2
- package/dist-server/engine/task/utils/headless-pool-for-scenario.js.map +1 -1
- package/dist-server/engine/task/utils/substitute.d.ts +1 -0
- package/dist-server/engine/task/utils/substitute.js +1 -2
- package/dist-server/engine/task/utils/substitute.js.map +1 -1
- package/dist-server/engine/task/variables.d.ts +1 -0
- package/dist-server/engine/task-registry.d.ts +12 -0
- package/dist-server/engine/types.d.ts +94 -0
- package/dist-server/engine/types.js.map +1 -1
- package/dist-server/index.d.ts +6 -0
- package/dist-server/index.js.map +1 -1
- package/dist-server/migrations/index.d.ts +1 -0
- package/dist-server/restful/index.d.ts +1 -0
- package/dist-server/restful/unstable/index.d.ts +7 -0
- package/dist-server/restful/unstable/run-scenario.d.ts +1 -0
- package/dist-server/restful/unstable/run-scenario.js +0 -1
- package/dist-server/restful/unstable/run-scenario.js.map +1 -1
- package/dist-server/restful/unstable/scenario-instance.d.ts +1 -0
- package/dist-server/restful/unstable/scenario-instances.d.ts +1 -0
- package/dist-server/restful/unstable/scenario.d.ts +1 -0
- package/dist-server/restful/unstable/scenarios.d.ts +1 -0
- package/dist-server/restful/unstable/start-scenario.d.ts +1 -0
- package/dist-server/restful/unstable/stop-scenario.d.ts +1 -0
- package/dist-server/routers/scenario-schedule-callback-router.d.ts +1 -0
- package/dist-server/routers/scenario-schedule-callback-router.js +2 -3
- package/dist-server/routers/scenario-schedule-callback-router.js.map +1 -1
- package/dist-server/routers/scenario-view-router.d.ts +1 -0
- package/dist-server/routers/scenario-view-router.js.map +1 -1
- package/dist-server/routes.d.ts +1 -0
- package/dist-server/routes.js.map +1 -1
- package/dist-server/service/analysis/analysis-query.d.ts +3 -0
- package/dist-server/service/analysis/analysis-query.js +2 -2
- package/dist-server/service/analysis/analysis-query.js.map +1 -1
- package/dist-server/service/analysis/index.d.ts +2 -0
- package/dist-server/service/connection/connection-mutation.d.ts +30 -0
- package/dist-server/service/connection/connection-mutation.js +2 -2
- package/dist-server/service/connection/connection-mutation.js.map +1 -1
- package/dist-server/service/connection/connection-query.d.ts +12 -0
- package/dist-server/service/connection/connection-query.js +10 -6
- package/dist-server/service/connection/connection-query.js.map +1 -1
- package/dist-server/service/connection/connection-subscription.d.ts +10 -0
- package/dist-server/service/connection/connection-subscription.js +2 -2
- package/dist-server/service/connection/connection-subscription.js.map +1 -1
- package/dist-server/service/connection/connection-type.d.ts +133 -0
- package/dist-server/service/connection/connection-type.js +11 -11
- package/dist-server/service/connection/connection-type.js.map +1 -1
- package/dist-server/service/connection/index.d.ts +6 -0
- package/dist-server/service/connector/connector-query.d.ts +6 -0
- package/dist-server/service/connector/connector-query.js +2 -2
- package/dist-server/service/connector/connector-query.js.map +1 -1
- package/dist-server/service/connector/connector-type.d.ts +12 -0
- package/dist-server/service/connector/connector-type.js +4 -4
- package/dist-server/service/connector/connector-type.js.map +1 -1
- package/dist-server/service/connector/index.d.ts +3 -0
- package/dist-server/service/index.d.ts +17 -0
- package/dist-server/service/payload-log/index.d.ts +5 -0
- package/dist-server/service/payload-log/payload-log-mutation.d.ts +10 -0
- package/dist-server/service/payload-log/payload-log-mutation.js +4 -4
- package/dist-server/service/payload-log/payload-log-mutation.js.map +1 -1
- package/dist-server/service/payload-log/payload-log-query.d.ts +11 -0
- package/dist-server/service/payload-log/payload-log-query.js +3 -3
- package/dist-server/service/payload-log/payload-log-query.js.map +1 -1
- package/dist-server/service/payload-log/payload-log-type.d.ts +15 -0
- package/dist-server/service/payload-log/payload-log-type.js +6 -6
- package/dist-server/service/payload-log/payload-log-type.js.map +1 -1
- package/dist-server/service/payload-log/payload-log.d.ts +23 -0
- package/dist-server/service/payload-log/payload-log.js +5 -5
- package/dist-server/service/payload-log/payload-log.js.map +1 -1
- package/dist-server/service/property-spec.d.ts +12 -0
- package/dist-server/service/property-spec.js +2 -2
- package/dist-server/service/property-spec.js.map +1 -1
- package/dist-server/service/scenario/index.d.ts +5 -0
- package/dist-server/service/scenario/scenario-mutation.d.ts +13 -0
- package/dist-server/service/scenario/scenario-mutation.js +3 -3
- package/dist-server/service/scenario/scenario-mutation.js.map +1 -1
- package/dist-server/service/scenario/scenario-query.d.ts +18 -0
- package/dist-server/service/scenario/scenario-query.js +3 -3
- package/dist-server/service/scenario/scenario-query.js.map +1 -1
- package/dist-server/service/scenario/scenario-type.d.ts +30 -0
- package/dist-server/service/scenario/scenario-type.js +14 -6
- package/dist-server/service/scenario/scenario-type.js.map +1 -1
- package/dist-server/service/scenario/scenario.d.ts +27 -0
- package/dist-server/service/scenario/scenario.js +9 -4
- package/dist-server/service/scenario/scenario.js.map +1 -1
- package/dist-server/service/scenario-flow/scenario-flow.d.ts +6 -0
- package/dist-server/service/scenario-flow/scenario-flow.js +2 -2
- package/dist-server/service/scenario-flow/scenario-flow.js.map +1 -1
- package/dist-server/service/scenario-instance/index.d.ts +5 -0
- package/dist-server/service/scenario-instance/scenario-instance-mutation.d.ts +6 -0
- package/dist-server/service/scenario-instance/scenario-instance-mutation.js +3 -3
- package/dist-server/service/scenario-instance/scenario-instance-mutation.js.map +1 -1
- package/dist-server/service/scenario-instance/scenario-instance-query.d.ts +6 -0
- package/dist-server/service/scenario-instance/scenario-instance-query.js +3 -67
- package/dist-server/service/scenario-instance/scenario-instance-query.js.map +1 -1
- package/dist-server/service/scenario-instance/scenario-instance-subscription.d.ts +10 -0
- package/dist-server/service/scenario-instance/scenario-instance-subscription.js +2 -2
- package/dist-server/service/scenario-instance/scenario-instance-subscription.js.map +1 -1
- package/dist-server/service/scenario-instance/scenario-instance-type.d.ts +102 -0
- package/dist-server/service/scenario-instance/scenario-instance-type.js +109 -23
- package/dist-server/service/scenario-instance/scenario-instance-type.js.map +1 -1
- package/dist-server/service/scenario-queue/index.d.ts +3 -0
- package/dist-server/service/scenario-queue/scenario-queue-subscription.d.ts +6 -0
- package/dist-server/service/scenario-queue/scenario-queue-subscription.js +2 -2
- package/dist-server/service/scenario-queue/scenario-queue-subscription.js.map +1 -1
- package/dist-server/service/scenario-queue/scenario-queue-type.d.ts +11 -0
- package/dist-server/service/scenario-queue/scenario-queue-type.js +4 -4
- package/dist-server/service/scenario-queue/scenario-queue-type.js.map +1 -1
- package/dist-server/service/state-register/index.d.ts +6 -0
- package/dist-server/service/state-register/state-register-mutation.d.ts +11 -0
- package/dist-server/service/state-register/state-register-mutation.js +2 -2
- package/dist-server/service/state-register/state-register-mutation.js.map +1 -1
- package/dist-server/service/state-register/state-register-query.d.ts +14 -0
- package/dist-server/service/state-register/state-register-query.js +3 -3
- package/dist-server/service/state-register/state-register-query.js.map +1 -1
- package/dist-server/service/state-register/state-register-type.d.ts +23 -0
- package/dist-server/service/state-register/state-register-type.js +6 -6
- package/dist-server/service/state-register/state-register-type.js.map +1 -1
- package/dist-server/service/state-register/state-register.d.ts +22 -0
- package/dist-server/service/state-register/state-register.js +2 -2
- package/dist-server/service/state-register/state-register.js.map +1 -1
- package/dist-server/service/step/index.d.ts +5 -0
- package/dist-server/service/step/step-mutation.d.ts +5 -0
- package/dist-server/service/step/step-mutation.js +2 -2
- package/dist-server/service/step/step-mutation.js.map +1 -1
- package/dist-server/service/step/step-query.d.ts +12 -0
- package/dist-server/service/step/step-query.js +3 -3
- package/dist-server/service/step/step-query.js.map +1 -1
- package/dist-server/service/step/step-type.d.ts +111 -0
- package/dist-server/service/step/step-type.js +8 -8
- package/dist-server/service/step/step-type.js.map +1 -1
- package/dist-server/service/task-type/index.d.ts +3 -0
- package/dist-server/service/task-type/task-type-query.d.ts +6 -0
- package/dist-server/service/task-type/task-type-query.js +2 -2
- package/dist-server/service/task-type/task-type-query.js.map +1 -1
- package/dist-server/service/task-type/task-type-type.d.ts +12 -0
- package/dist-server/service/task-type/task-type-type.js +4 -4
- package/dist-server/service/task-type/task-type-type.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/helps/integration/connector/mssql-connector.ja.md +13 -9
- package/helps/integration/connector/mssql-connector.ko.md +13 -9
- package/helps/integration/connector/mssql-connector.md +13 -9
- package/helps/integration/connector/mssql-connector.ms.md +13 -9
- package/helps/integration/connector/mssql-connector.zh.md +13 -9
- package/helps/integration/connector/operato-connector.ja.md +0 -3
- package/package.json +11 -10
- package/server/controllers/scenario-controller.ts +55 -19
- package/server/engine/connector/mssql-connector.ts +20 -4
- package/server/engine/index.ts +1 -1
- package/server/engine/types.ts +2 -2
- package/server/restful/unstable/run-scenario.ts +0 -1
- package/server/routers/scenario-schedule-callback-router.ts +2 -2
- package/server/service/connection/connection-query.ts +13 -4
- package/server/service/payload-log/payload-log-query.ts +4 -1
- package/server/service/payload-log/payload-log.ts +2 -2
- package/server/service/scenario/scenario-query.ts +1 -1
- package/server/service/scenario/scenario-type.ts +6 -0
- package/server/service/scenario/scenario.ts +6 -2
- package/server/service/scenario-instance/scenario-instance-mutation.ts +7 -4
- package/server/service/scenario-instance/scenario-instance-query.ts +4 -30
- package/server/service/scenario-instance/scenario-instance-type.ts +87 -9
- package/server/service/state-register/state-register-query.ts +4 -1
- package/server/service/step/step-query.ts +1 -1
- package/server/service/step/step-type.ts +22 -22
- package/translations/en.json +2 -1
- package/translations/ja.json +2 -1
- package/translations/ko.json +2 -1
- package/translations/ms.json +2 -1
- package/translations/zh.json +2 -1
@@ -2,7 +2,7 @@ import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'
|
|
2
2
|
|
3
3
|
import { ScalarObject } from '@things-factory/shell'
|
4
4
|
|
5
|
-
import { ScenarioInstance } from './scenario-instance-type'
|
5
|
+
import { ScenarioInstance, ScenarioInstanceRunResult } from './scenario-instance-type'
|
6
6
|
|
7
7
|
import {
|
8
8
|
runScenario as controllerRunScenario,
|
@@ -12,7 +12,7 @@ import {
|
|
12
12
|
|
13
13
|
@Resolver(ScenarioInstance)
|
14
14
|
export class ScenarioInstanceMutation {
|
15
|
-
@Mutation(returns =>
|
15
|
+
@Mutation(returns => ScenarioInstanceRunResult, {
|
16
16
|
description: 'To run new scenario instance and will return the result after the scenario stop.'
|
17
17
|
})
|
18
18
|
async runScenario(
|
@@ -20,7 +20,7 @@ export class ScenarioInstanceMutation {
|
|
20
20
|
@Arg('scenarioName') scenarioName: string,
|
21
21
|
@Arg('variables', type => ScalarObject, { nullable: true }) variables: any,
|
22
22
|
@Ctx() context: ResolverContext
|
23
|
-
): Promise<
|
23
|
+
): Promise<ScenarioInstanceRunResult> {
|
24
24
|
return await controllerRunScenario(instanceName, scenarioName, variables, context)
|
25
25
|
}
|
26
26
|
|
@@ -35,7 +35,10 @@ export class ScenarioInstanceMutation {
|
|
35
35
|
}
|
36
36
|
|
37
37
|
@Mutation(returns => ScenarioInstance, { nullable: true, description: 'To start new scenario instance' })
|
38
|
-
async stopScenario(
|
38
|
+
async stopScenario(
|
39
|
+
@Arg('instanceName', { nullable: true }) instanceName: string,
|
40
|
+
@Ctx() context: ResolverContext
|
41
|
+
): Promise<ScenarioInstance | undefined> {
|
39
42
|
return await controllerStopScenario(instanceName, context)
|
40
43
|
}
|
41
44
|
}
|
@@ -23,7 +23,10 @@ export class ScenarioInstanceQuery {
|
|
23
23
|
}
|
24
24
|
|
25
25
|
@Query(returns => ScenarioInstanceList, { description: 'To fetch multiple scenario instances' })
|
26
|
-
async scenarioInstances(
|
26
|
+
async scenarioInstances(
|
27
|
+
@Args(type => ListParam) params: ListParam,
|
28
|
+
@Ctx() context: ResolverContext
|
29
|
+
): Promise<ScenarioInstanceList> {
|
27
30
|
const { domain } = context.state
|
28
31
|
|
29
32
|
var scenarioInstances = ScenarioEngine.getScenarioInstances(domain)
|
@@ -36,33 +39,4 @@ export class ScenarioInstanceQuery {
|
|
36
39
|
total: items.length
|
37
40
|
}
|
38
41
|
}
|
39
|
-
|
40
|
-
@FieldResolver(type => ScenarioInstance)
|
41
|
-
async root(@Root() scenarioInstance: ScenarioInstance): Promise<ScenarioInstance> {
|
42
|
-
return scenarioInstance.context?.root as ScenarioInstance
|
43
|
-
}
|
44
|
-
|
45
|
-
@FieldResolver(type => ScenarioInstanceStatus)
|
46
|
-
async state(@Root() scenarioInstance: ScenarioInstance): Promise<ScenarioInstanceStatus> {
|
47
|
-
return scenarioInstance.context?.state
|
48
|
-
}
|
49
|
-
|
50
|
-
@FieldResolver(type => ScenarioInstanceProgress)
|
51
|
-
progress(@Root() scenarioInstance: ScenarioInstance): ScenarioInstanceProgress {
|
52
|
-
return scenarioInstance.calcProgress()
|
53
|
-
}
|
54
|
-
@FieldResolver(type => ScalarObject)
|
55
|
-
async variables(@Root() scenarioInstance: ScenarioInstance): Promise<Object> {
|
56
|
-
return scenarioInstance.context?.variables
|
57
|
-
}
|
58
|
-
|
59
|
-
@FieldResolver(type => ScalarObject)
|
60
|
-
async data(@Root() scenarioInstance: ScenarioInstance): Promise<Object> {
|
61
|
-
return scenarioInstance.context?.data
|
62
|
-
}
|
63
|
-
|
64
|
-
@FieldResolver()
|
65
|
-
async timestamp(@Root() scenarioInstance: ScenarioInstance): Promise<Date> {
|
66
|
-
return new Date()
|
67
|
-
}
|
68
42
|
}
|
@@ -7,6 +7,7 @@ import util from 'util'
|
|
7
7
|
import { createLogger, format, transports } from 'winston'
|
8
8
|
|
9
9
|
import { Domain, pubsub, PubSubLogTransport, ScalarObject } from '@things-factory/shell'
|
10
|
+
import { cacheService } from '@things-factory/cache-service'
|
10
11
|
import { User } from '@things-factory/auth-base'
|
11
12
|
import { sleep } from '@things-factory/utils'
|
12
13
|
|
@@ -87,6 +88,33 @@ export class ScenarioInstanceState {
|
|
87
88
|
public timestamp: Date
|
88
89
|
}
|
89
90
|
|
91
|
+
@ObjectType()
|
92
|
+
export class ScenarioInstanceRunResult {
|
93
|
+
@Field({ nullable: true })
|
94
|
+
public scenarioName: string
|
95
|
+
|
96
|
+
@Field({ nullable: true })
|
97
|
+
public instanceName: string
|
98
|
+
|
99
|
+
@Field(type => ScalarObject, { nullable: true })
|
100
|
+
public variables: any
|
101
|
+
|
102
|
+
@Field(type => ScalarObject, { nullable: true })
|
103
|
+
public data: any
|
104
|
+
|
105
|
+
@Field(type => ScalarObject, { nullable: true })
|
106
|
+
public result: any
|
107
|
+
|
108
|
+
@Field({ nullable: true })
|
109
|
+
public timestamp: Date
|
110
|
+
|
111
|
+
@Field({ nullable: true })
|
112
|
+
public message: string
|
113
|
+
|
114
|
+
@Field({ nullable: true })
|
115
|
+
public state: ScenarioInstanceStatus
|
116
|
+
}
|
117
|
+
|
90
118
|
@ObjectType()
|
91
119
|
export class ScenarioInstance {
|
92
120
|
private subScenarioInstances: ScenarioInstance[] = [] // TODO Imple by WeakSet
|
@@ -106,29 +134,43 @@ export class ScenarioInstance {
|
|
106
134
|
public instanceName: string
|
107
135
|
|
108
136
|
@Field({ nullable: true })
|
109
|
-
root: ScenarioInstance
|
137
|
+
get root(): ScenarioInstance {
|
138
|
+
return this.context?.root
|
139
|
+
}
|
110
140
|
|
111
141
|
@Field({ nullable: true })
|
112
|
-
state: ScenarioInstanceStatus
|
142
|
+
get state(): ScenarioInstanceStatus {
|
143
|
+
return this.context?.state
|
144
|
+
}
|
113
145
|
|
114
146
|
@Field(type => ScenarioInstanceProgress, { nullable: true })
|
115
|
-
progress: ScenarioInstanceProgress
|
147
|
+
get progress(): ScenarioInstanceProgress {
|
148
|
+
return this.calcProgress()
|
149
|
+
}
|
116
150
|
|
117
151
|
@Field(type => ScalarObject, { nullable: true })
|
118
|
-
variables: any
|
152
|
+
get variables(): any {
|
153
|
+
return this.context?.variables
|
154
|
+
}
|
119
155
|
|
120
156
|
@Field(type => ScalarObject, { nullable: true })
|
121
|
-
data: any
|
157
|
+
get data(): any {
|
158
|
+
return this.context?.data
|
159
|
+
}
|
122
160
|
|
123
161
|
@Field(type => ScalarObject, { nullable: true })
|
124
162
|
result: any
|
125
163
|
|
126
164
|
@Field({ nullable: true })
|
127
|
-
timestamp: Date
|
165
|
+
get timestamp(): Date {
|
166
|
+
return new Date()
|
167
|
+
}
|
128
168
|
|
129
169
|
@Field({ nullable: true })
|
130
170
|
public message: string
|
131
171
|
|
172
|
+
private scenarioId: string
|
173
|
+
private scenarioTtl: number
|
132
174
|
private steps: Step[]
|
133
175
|
private rounds: number = 0
|
134
176
|
|
@@ -154,10 +196,22 @@ export class ScenarioInstance {
|
|
154
196
|
}
|
155
197
|
}
|
156
198
|
|
157
|
-
constructor(
|
199
|
+
constructor(
|
200
|
+
instanceName,
|
201
|
+
{
|
202
|
+
id: scenarioId,
|
203
|
+
ttl: scenarioTtl,
|
204
|
+
name: scenarioName,
|
205
|
+
steps,
|
206
|
+
domain: scenarioDomain
|
207
|
+
}: { id: string; ttl?: number; name: string; steps: Step[]; domain: Domain },
|
208
|
+
context?
|
209
|
+
) {
|
158
210
|
var { domain, user, lng, unsafeIP, prohibitedPrivileges } = context || {}
|
159
211
|
domain ||= scenarioDomain
|
160
212
|
|
213
|
+
this.scenarioId = scenarioId
|
214
|
+
this.scenarioTtl = scenarioTtl
|
161
215
|
this.instanceName = instanceName
|
162
216
|
this.scenarioName = scenarioName
|
163
217
|
this.steps = orderBy(steps || [], step => step.sequence)
|
@@ -269,7 +323,10 @@ export class ScenarioInstance {
|
|
269
323
|
this.context.logger.error(ex.message ? ex.message : ex)
|
270
324
|
|
271
325
|
debug('failed to run ', `[ Domain: ${domain.name}, Scenario: ${scenarioName} ]\n`, ex)
|
272
|
-
this.setState(
|
326
|
+
this.setState(
|
327
|
+
ScenarioInstanceStatus.HALTED,
|
328
|
+
typeof message == 'object' ? JSON.stringify(message, null, 2) : message
|
329
|
+
)
|
273
330
|
|
274
331
|
throw ex
|
275
332
|
}
|
@@ -280,6 +337,26 @@ export class ScenarioInstance {
|
|
280
337
|
sum[step.name] = this.context.data[step.name]
|
281
338
|
return sum
|
282
339
|
}, {})
|
340
|
+
|
341
|
+
const { scenarioId, scenarioTtl, variables, message, scenarioName, instanceName, result, domain } = this
|
342
|
+
const obj = {
|
343
|
+
scenarioName,
|
344
|
+
instanceName,
|
345
|
+
variables,
|
346
|
+
data: this.data,
|
347
|
+
result,
|
348
|
+
timestamp: new Date(),
|
349
|
+
message,
|
350
|
+
state: ScenarioInstanceStatus.STOPPED /* redundent, no meaning */
|
351
|
+
}
|
352
|
+
|
353
|
+
if (this.scenarioTtl && this.scenarioId) {
|
354
|
+
setTimeout(() => {
|
355
|
+
cacheService.setInCache(scenarioId, { domain: domain.id, variables: variables || {} }, obj, scenarioTtl)
|
356
|
+
})
|
357
|
+
}
|
358
|
+
|
359
|
+
return obj
|
283
360
|
}
|
284
361
|
|
285
362
|
async loadSubscenario(step, scenarioConfig, context) {
|
@@ -442,7 +519,8 @@ export class ScenarioInstance {
|
|
442
519
|
}
|
443
520
|
step.params = step.params || {}
|
444
521
|
|
445
|
-
const connection =
|
522
|
+
const connection =
|
523
|
+
step.connection && ConnectionManager.getConnectionInstanceEntityByName(this.domain, step.connection)
|
446
524
|
|
447
525
|
if (!connection || !connection.edgeId) {
|
448
526
|
var handler = TaskRegistry.getTaskHandler(step.task)
|
@@ -28,7 +28,10 @@ export class StateRegisterQuery {
|
|
28
28
|
|
29
29
|
@Directive('@privilege(category: "state-register", privilege: "query", domainOwnerGranted: true)')
|
30
30
|
@Query(returns => StateRegisterList, { description: 'To fetch multiple StateRegisters' })
|
31
|
-
async stateRegisters(
|
31
|
+
async stateRegisters(
|
32
|
+
@Args(type => ListParam) params: ListParam,
|
33
|
+
@Ctx() context: ResolverContext
|
34
|
+
): Promise<StateRegisterList> {
|
32
35
|
const { domain } = context.state
|
33
36
|
|
34
37
|
const queryBuilder = getQueryBuilderFromListParams({
|
@@ -18,7 +18,7 @@ export class StepQuery {
|
|
18
18
|
}
|
19
19
|
|
20
20
|
@Query(returns => StepList, { description: 'To fetch multiple steps' })
|
21
|
-
async steps(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<StepList> {
|
21
|
+
async steps(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<StepList> {
|
22
22
|
const { domain } = context.state
|
23
23
|
|
24
24
|
const queryBuilder = getQueryBuilderFromListParams({
|
@@ -24,89 +24,89 @@ export class Step {
|
|
24
24
|
*/
|
25
25
|
@PrimaryGeneratedColumn('uuid')
|
26
26
|
@Field(type => ID)
|
27
|
-
readonly id
|
27
|
+
readonly id?: string
|
28
28
|
|
29
29
|
/**
|
30
30
|
* The domain to which this step belongs.
|
31
31
|
*/
|
32
32
|
@ManyToOne(type => Domain)
|
33
33
|
@Field(type => Domain, { nullable: true })
|
34
|
-
domain
|
34
|
+
domain?: Domain
|
35
35
|
|
36
36
|
/**
|
37
37
|
* The ID of the domain associated with this step.
|
38
38
|
*/
|
39
39
|
@RelationId((step: Step) => step.domain)
|
40
|
-
domainId
|
40
|
+
domainId?: string
|
41
41
|
|
42
42
|
/**
|
43
43
|
* The name of the step.
|
44
44
|
*/
|
45
45
|
@Column({ nullable: true })
|
46
46
|
@Field()
|
47
|
-
name
|
47
|
+
name?: string
|
48
48
|
|
49
49
|
/**
|
50
50
|
* A description of what the step involves.
|
51
51
|
*/
|
52
52
|
@Column({ nullable: true })
|
53
53
|
@Field({ nullable: true })
|
54
|
-
description
|
54
|
+
description?: string
|
55
55
|
|
56
56
|
/**
|
57
57
|
* The scenario that includes this step.
|
58
58
|
*/
|
59
59
|
@ManyToOne(type => Scenario, scenario => scenario.steps, { onDelete: 'CASCADE' })
|
60
60
|
@Field(type => Scenario, { nullable: true })
|
61
|
-
scenario
|
61
|
+
scenario?: Scenario
|
62
62
|
|
63
63
|
/**
|
64
64
|
* The ID of the scenario associated with this step.
|
65
65
|
*/
|
66
66
|
@RelationId((step: Step) => step.scenario)
|
67
|
-
scenarioId
|
67
|
+
scenarioId?: string
|
68
68
|
|
69
69
|
/**
|
70
70
|
* The sequence number of the step within its scenario.
|
71
71
|
*/
|
72
72
|
@Column()
|
73
73
|
@Field({ nullable: true })
|
74
|
-
sequence
|
74
|
+
sequence?: number
|
75
75
|
|
76
76
|
/**
|
77
77
|
* The specific task associated with this step.
|
78
78
|
*/
|
79
79
|
@Column()
|
80
80
|
@Field({ nullable: true })
|
81
|
-
task
|
81
|
+
task?: string
|
82
82
|
|
83
83
|
/**
|
84
84
|
* Boolean value to indicate if the step should be skipped.
|
85
85
|
*/
|
86
86
|
@Column({ nullable: true })
|
87
87
|
@Field({ nullable: true })
|
88
|
-
skip
|
88
|
+
skip?: boolean
|
89
89
|
|
90
90
|
/**
|
91
91
|
* Boolean value to indicate if the step should be logged.
|
92
92
|
*/
|
93
93
|
@Column({ nullable: true })
|
94
94
|
@Field({ nullable: true })
|
95
|
-
log
|
95
|
+
log?: boolean
|
96
96
|
|
97
97
|
/**
|
98
98
|
* The connection details associated with this step.
|
99
99
|
*/
|
100
100
|
@Column({ nullable: true })
|
101
101
|
@Field({ nullable: true })
|
102
|
-
connection
|
102
|
+
connection?: string
|
103
103
|
|
104
104
|
/**
|
105
105
|
* The parameters for the step.
|
106
106
|
*/
|
107
107
|
@Column({ nullable: true })
|
108
108
|
@Field({ nullable: true })
|
109
|
-
params
|
109
|
+
params?: string
|
110
110
|
|
111
111
|
/**
|
112
112
|
* A boolean attribute indicating the inclusion status of an element in the result.
|
@@ -116,14 +116,14 @@ export class Step {
|
|
116
116
|
nullable: true,
|
117
117
|
description: 'A boolean attribute indicating the inclusion status of an element in the result'
|
118
118
|
})
|
119
|
-
result
|
119
|
+
result?: boolean = true
|
120
120
|
|
121
121
|
/**
|
122
122
|
* The timestamp when the step was created.
|
123
123
|
*/
|
124
124
|
@CreateDateColumn()
|
125
125
|
@Field({ nullable: true })
|
126
|
-
createdAt
|
126
|
+
createdAt?: Date
|
127
127
|
|
128
128
|
/**
|
129
129
|
* The timestamp when
|
@@ -131,33 +131,33 @@ export class Step {
|
|
131
131
|
*/
|
132
132
|
@UpdateDateColumn()
|
133
133
|
@Field({ nullable: true })
|
134
|
-
updatedAt
|
134
|
+
updatedAt?: Date
|
135
135
|
|
136
136
|
/**
|
137
137
|
* The user who created this step.
|
138
138
|
*/
|
139
139
|
@ManyToOne(type => User, { nullable: true })
|
140
|
-
@Field({ nullable: true })
|
141
|
-
creator
|
140
|
+
@Field(type => User, { nullable: true })
|
141
|
+
creator?: User
|
142
142
|
|
143
143
|
/**
|
144
144
|
* The ID of the user who created this step.
|
145
145
|
*/
|
146
146
|
@RelationId((step: Step) => step.creator)
|
147
|
-
creatorId
|
147
|
+
creatorId?: string
|
148
148
|
|
149
149
|
/**
|
150
150
|
* The user who last updated this step.
|
151
151
|
*/
|
152
152
|
@ManyToOne(type => User, { nullable: true })
|
153
|
-
@Field({ nullable: true })
|
154
|
-
updater
|
153
|
+
@Field(type => User, { nullable: true })
|
154
|
+
updater?: User
|
155
155
|
|
156
156
|
/**
|
157
157
|
* The ID of the user who last updated this step.
|
158
158
|
*/
|
159
159
|
@RelationId((step: Step) => step.updater)
|
160
|
-
updaterId
|
160
|
+
updaterId?: string
|
161
161
|
}
|
162
162
|
|
163
163
|
@InputType()
|
package/translations/en.json
CHANGED
@@ -6,5 +6,6 @@
|
|
6
6
|
"error.timezone is not set": "timezone should be set for the scenario '{scenario}' in order to register as a schedule",
|
7
7
|
"error.scenario instance not found": "scenario instance '{instance}' not found.",
|
8
8
|
"label.auth-key": "authentication key",
|
9
|
-
"label.subscription-handlers": "subscription handlers"
|
9
|
+
"label.subscription-handlers": "subscription handlers",
|
10
|
+
"label.trust-server-certificate": "trust server certificate"
|
10
11
|
}
|
package/translations/ja.json
CHANGED
@@ -6,5 +6,6 @@
|
|
6
6
|
"error.timezone is not set": "スケジュールとして登録するためにはシナリオ'{scenario}'にタイム ゾーン情報が設定される必要があります.",
|
7
7
|
"error.scenario instance not found": "シナリオ インスタンス'{instance}'が見つかりません. 既に終了している可能性があります.",
|
8
8
|
"label.auth-key": "認証キー",
|
9
|
-
"label.subscription-handlers": "サブスクリプションハンドラー"
|
9
|
+
"label.subscription-handlers": "サブスクリプションハンドラー",
|
10
|
+
"label.trust-server-certificate": "サーバー証明書を信頼する"
|
10
11
|
}
|
package/translations/ko.json
CHANGED
@@ -6,5 +6,6 @@
|
|
6
6
|
"error.timezone is not set": "스케쥴로 등록하기 위해서는 시나리오 '{scenario}'에 타임존 정보가 설정되어야 합니다.",
|
7
7
|
"error.scenario instance not found": "시나리오 인스턴스 '{instance}'를 찾을 수 없습니다. 이미 종료되었을 수 있습니다.",
|
8
8
|
"label.auth-key": "인증 키",
|
9
|
-
"label.subscription-handlers": "구독 핸들러"
|
9
|
+
"label.subscription-handlers": "구독 핸들러",
|
10
|
+
"label.trust-server-certificate": "서버 인증서 신뢰"
|
10
11
|
}
|
package/translations/ms.json
CHANGED
@@ -6,5 +6,6 @@
|
|
6
6
|
"error.timezone is not set": "Untuk mendaftarkan sebagai jadual, maklumat zon masa mesti diset dalam senario '{scenario}'.",
|
7
7
|
"error.scenario instance not found": "Tidak dapat mencari instans senario '{instance}'. Mungkin telah berakhir.",
|
8
8
|
"label.auth-key": "Kunci pengesahan",
|
9
|
-
"label.subscription-handlers": "pengendali langganan"
|
9
|
+
"label.subscription-handlers": "pengendali langganan",
|
10
|
+
"label.trust-server-certificate": "percaya sijil pelayan"
|
10
11
|
}
|
package/translations/zh.json
CHANGED
@@ -6,5 +6,6 @@
|
|
6
6
|
"error.timezone is not set": "要注册为计划,场景 '{scenario}' 需要设置时区信息。",
|
7
7
|
"error.scenario instance not found": "无法找到场景实例 '{instance}'。它可能已经结束。",
|
8
8
|
"label.auth-key": "认证密钥",
|
9
|
-
"label.subscription-handlers": "订阅处理程序"
|
9
|
+
"label.subscription-handlers": "订阅处理程序",
|
10
|
+
"label.trust-server-certificate": "信任服务器证书"
|
10
11
|
}
|