@things-factory/integration-base 7.0.0-alpha.1 → 7.0.0-alpha.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 (86) hide show
  1. package/dist-server/controllers/index.js +5 -0
  2. package/dist-server/controllers/index.js.map +1 -0
  3. package/dist-server/controllers/scenario-controller.js +87 -0
  4. package/dist-server/controllers/scenario-controller.js.map +1 -0
  5. package/dist-server/engine/connection-manager.js +37 -6
  6. package/dist-server/engine/connection-manager.js.map +1 -1
  7. package/dist-server/engine/connector/graphql-connector.js +6 -6
  8. package/dist-server/engine/connector/graphql-connector.js.map +1 -1
  9. package/dist-server/engine/connector/operato-connector.js +19 -22
  10. package/dist-server/engine/connector/operato-connector.js.map +1 -1
  11. package/dist-server/engine/connector/oracle-connector.js +113 -17
  12. package/dist-server/engine/connector/oracle-connector.js.map +1 -1
  13. package/dist-server/engine/connector/proxy-connector.js +44 -0
  14. package/dist-server/engine/connector/proxy-connector.js.map +1 -0
  15. package/dist-server/engine/edge-client.js +38 -0
  16. package/dist-server/engine/edge-client.js.map +1 -0
  17. package/dist-server/engine/index.js +1 -0
  18. package/dist-server/engine/index.js.map +1 -1
  19. package/dist-server/engine/task/oracle-procedure.js +1 -15
  20. package/dist-server/engine/task/oracle-procedure.js.map +1 -1
  21. package/dist-server/engine/task/script.js +1 -0
  22. package/dist-server/engine/task/script.js.map +1 -1
  23. package/dist-server/engine/task/utils/headless-pool-for-scenario.js +1 -1
  24. package/dist-server/engine/task/utils/headless-pool-for-scenario.js.map +1 -1
  25. package/dist-server/engine/types.js.map +1 -1
  26. package/dist-server/index.js +1 -0
  27. package/dist-server/index.js.map +1 -1
  28. package/dist-server/restful/unstable/run-scenario.js.map +1 -1
  29. package/dist-server/restful/unstable/start-scenario.js +1 -1
  30. package/dist-server/restful/unstable/start-scenario.js.map +1 -1
  31. package/dist-server/restful/unstable/stop-scenario.js +1 -1
  32. package/dist-server/restful/unstable/stop-scenario.js.map +1 -1
  33. package/dist-server/service/connection/connection-mutation.js +4 -8
  34. package/dist-server/service/connection/connection-mutation.js.map +1 -1
  35. package/dist-server/service/connection/connection-query.js +17 -14
  36. package/dist-server/service/connection/connection-query.js.map +1 -1
  37. package/dist-server/service/connection/connection-subscription.js +2 -2
  38. package/dist-server/service/connection/connection-subscription.js.map +1 -1
  39. package/dist-server/service/connection/connection-type.js +32 -8
  40. package/dist-server/service/connection/connection-type.js.map +1 -1
  41. package/dist-server/service/scenario-instance/scenario-instance-mutation.js +4 -71
  42. package/dist-server/service/scenario-instance/scenario-instance-mutation.js.map +1 -1
  43. package/dist-server/service/scenario-instance/scenario-instance-type.js +18 -5
  44. package/dist-server/service/scenario-instance/scenario-instance-type.js.map +1 -1
  45. package/dist-server/tsconfig.tsbuildinfo +1 -1
  46. package/helps/integration/concept/script-internal-variables.ja.md +21 -1
  47. package/helps/integration/concept/script-internal-variables.ko.md +17 -0
  48. package/helps/integration/concept/script-internal-variables.md +18 -0
  49. package/helps/integration/concept/script-internal-variables.ms.md +19 -1
  50. package/helps/integration/concept/script-internal-variables.zh.md +18 -0
  51. package/helps/integration/connector/oracle-connector.ja.md +90 -0
  52. package/helps/integration/connector/oracle-connector.ko.md +87 -0
  53. package/helps/integration/connector/oracle-connector.md +46 -25
  54. package/helps/integration/connector/oracle-connector.ms.md +87 -0
  55. package/helps/integration/connector/oracle-connector.zh.md +87 -0
  56. package/helps/integration/task/script.ja.md +1 -1
  57. package/helps/integration/task/script.ko.md +1 -1
  58. package/helps/integration/task/script.md +1 -1
  59. package/helps/integration/task/script.ms.md +1 -1
  60. package/helps/integration/task/script.zh.md +1 -1
  61. package/openapi/unstable/scenario.yaml +100 -100
  62. package/openapi/unstable.yaml +11 -11
  63. package/package.json +7 -11
  64. package/server/controllers/index.ts +1 -0
  65. package/server/controllers/scenario-controller.ts +116 -0
  66. package/server/engine/connection-manager.ts +49 -7
  67. package/server/engine/connector/graphql-connector.ts +8 -10
  68. package/server/engine/connector/operato-connector.ts +22 -32
  69. package/server/engine/connector/oracle-connector.ts +132 -22
  70. package/server/engine/connector/proxy-connector.ts +53 -0
  71. package/server/engine/edge-client.ts +45 -0
  72. package/server/engine/index.ts +1 -0
  73. package/server/engine/task/oracle-procedure.ts +1 -16
  74. package/server/engine/task/script.ts +1 -0
  75. package/server/engine/task/utils/headless-pool-for-scenario.ts +1 -1
  76. package/server/engine/types.ts +45 -46
  77. package/server/index.ts +1 -0
  78. package/server/restful/unstable/run-scenario.ts +0 -1
  79. package/server/restful/unstable/start-scenario.ts +1 -1
  80. package/server/restful/unstable/stop-scenario.ts +1 -1
  81. package/server/service/connection/connection-mutation.ts +9 -29
  82. package/server/service/connection/connection-query.ts +13 -12
  83. package/server/service/connection/connection-subscription.ts +2 -2
  84. package/server/service/connection/connection-type.ts +53 -41
  85. package/server/service/scenario-instance/scenario-instance-mutation.ts +10 -121
  86. package/server/service/scenario-instance/scenario-instance-type.ts +24 -13
@@ -10,9 +10,11 @@ import { Domain, pubsub, PubSubLogTransport, ScalarObject } from '@things-factor
10
10
  import { User } from '@things-factory/auth-base'
11
11
  import { sleep } from '@things-factory/utils'
12
12
 
13
+ import { ConnectionManager } from '../../engine/connection-manager'
13
14
  import { TaskRegistry } from '../../engine'
14
15
  import { Context } from '../../engine/types'
15
16
  import { Step } from '../step/step-type'
17
+ import { handler as edgeHandler } from '../../engine/edge-client'
16
18
 
17
19
  const debug = require('debug')('things-factory:integration-base:scenario-instance')
18
20
  const { combine, timestamp, splat, printf } = format
@@ -125,7 +127,7 @@ export class ScenarioInstance {
125
127
  timestamp: Date
126
128
 
127
129
  @Field({ nullable: true })
128
- private message: string
130
+ public message: string
129
131
 
130
132
  private steps: Step[]
131
133
  private rounds: number = 0
@@ -267,10 +269,7 @@ export class ScenarioInstance {
267
269
  this.context.logger.error(ex.message ? ex.message : ex)
268
270
 
269
271
  debug('failed to run ', `[ Domain: ${domain.name}, Scenario: ${scenarioName} ]\n`, ex)
270
- this.setState(
271
- ScenarioInstanceStatus.HALTED,
272
- typeof message == 'object' ? JSON.stringify(message, null, 2) : message
273
- )
272
+ this.setState(ScenarioInstanceStatus.HALTED, typeof message == 'object' ? JSON.stringify(message, null, 2) : message)
274
273
 
275
274
  throw ex
276
275
  }
@@ -376,9 +375,9 @@ export class ScenarioInstance {
376
375
  return
377
376
  }
378
377
 
379
- this.message = `${this.instanceName}:[state changed] ${ScenarioInstanceStatus[this.getState()]} => ${
380
- ScenarioInstanceStatus[state]
381
- }${message ? ' caused by ' + util.inspect(message, false, 2, true) : ''}`
378
+ this.message = `${this.instanceName}:[state changed] ${ScenarioInstanceStatus[this.getState()]} => ${ScenarioInstanceStatus[state]}${
379
+ message ? ' caused by ' + util.inspect(message, false, 2, true) : ''
380
+ }`
382
381
 
383
382
  this.context.state = state
384
383
 
@@ -421,6 +420,12 @@ export class ScenarioInstance {
421
420
  if (this.disposer) {
422
421
  await this.disposer.call(this)
423
422
  }
423
+
424
+ // {{ CHECKPOINT 본 인스턴스를 위해서 생성된 logger를 닫는다.
425
+ if (this.context?.logger) {
426
+ this.context.logger.close()
427
+ }
428
+ // }}
424
429
  }
425
430
 
426
431
  async process(step, context): Promise<{ next: string; state: ScenarioInstanceStatus; data: object }> {
@@ -437,12 +442,18 @@ export class ScenarioInstance {
437
442
  }
438
443
  step.params = step.params || {}
439
444
 
440
- var handler = TaskRegistry.getTaskHandler(step.task)
441
- if (!handler) {
442
- throw new Error(`no task handler for step '${step.name}'(${step.id})`)
443
- }
445
+ const connection = step.connection && ConnectionManager.getConnectionInstanceEntityByName(this.domain, step.connection)
444
446
 
445
- var retval: any = await handler(step, context)
447
+ if (!connection || !connection.edgeId) {
448
+ var handler = TaskRegistry.getTaskHandler(step.task)
449
+ if (!handler) {
450
+ throw new Error(`no task handler for step '${step.name}'(${step.id})`)
451
+ }
452
+
453
+ var retval: any = await handler(step, context)
454
+ } else {
455
+ var retval: any = await edgeHandler(step, context)
456
+ }
446
457
 
447
458
  if (step.log) {
448
459
  var { data } = retval || {}