@things-factory/integration-base 6.2.86 → 6.2.88
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-type.js +34 -5
- package/dist-server/service/connection/connection-type.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-type.ts +67 -0
- package/server/service/step/step-type.ts +78 -22
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"switch-goto.js","sourceRoot":"","sources":["../../../server/engine/task/switch-goto.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAE9C,oDAA+C;
|
1
|
+
{"version":3,"file":"switch-goto.js","sourceRoot":"","sources":["../../../server/engine/task/switch-goto.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAE9C,oDAA+C;AAK/C,KAAK,UAAU,UAAU,CAAC,IAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAW;IAClE,IAAI,EACF,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAC5B,GAAG,IAAI,CAAA;IAER,IAAI,KAAK,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAElC,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;IAE3C,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,eAAe,KAAK,KAAK,CAAC,CAAA;IAE7D,OAAO;QACL,IAAI;KACL,CAAA;AACH,CAAC;AAED,UAAU,CAAC,aAAa,GAAG;IACzB;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE;YACR,SAAS,EAAE,qBAAqB;SACjC;KACF;CACF,CAAA;AAED,UAAU,CAAC,aAAa,GAAG,IAAI,CAAA;AAE/B,4BAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AACtD,4BAAY,CAAC,mBAAmB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA","sourcesContent":["import { access } from '@things-factory/utils'\n\nimport { TaskRegistry } from '../task-registry'\n\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nasync function SwitchGoTo(step: InputStep, { logger, data }: Context) {\n var {\n params: { accessor, cases }\n } = step\n\n var value = access(accessor, data)\n\n var next = cases[value] || cases['default']\n\n logger.info(`switch to next '${next}' by value '${value}' .`)\n\n return {\n next\n }\n}\n\nSwitchGoTo.parameterSpec = [\n {\n type: 'scenario-step-input',\n name: 'accessor',\n label: 'accessor'\n },\n {\n type: 'map',\n name: 'cases',\n label: 'cases',\n property: {\n valuetype: 'scenario-step-input'\n }\n }\n]\n\nSwitchGoTo.connectorFree = true\n\nTaskRegistry.registerTaskHandler('switch', SwitchGoTo)\nTaskRegistry.registerTaskHandler('switch-goto', SwitchGoTo)\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"switch-range-goto.js","sourceRoot":"","sources":["../../../server/engine/task/switch-range-goto.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAE9C,oDAA+C;
|
1
|
+
{"version":3,"file":"switch-range-goto.js","sourceRoot":"","sources":["../../../server/engine/task/switch-range-goto.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAE9C,oDAA+C;AAI/C,KAAK,UAAU,eAAe,CAAC,IAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAW;IACvE,IAAI,EACF,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAC5B,GAAG,IAAI,CAAA;IAER,IAAI,KAAK,GAAG,MAAM,CAAC,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IAE1C,IAAI,KAAK,GACP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC5B,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,OAAM;SACP;QAED,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE/B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAA;IACpD,CAAC,CAAC,IAAI,SAAS,CAAA;IAEjB,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IAEvB,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,eAAe,KAAK,KAAK,CAAC,CAAA;IAEnE,OAAO;QACL,IAAI;KACL,CAAA;AACH,CAAC;AAED,eAAe,CAAC,aAAa,GAAG;IAC9B;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE;YACR,SAAS,EAAE,qBAAqB;SACjC;KACF;CACF,CAAA;AAED,eAAe,CAAC,aAAa,GAAG,IAAI,CAAA;AAEpC,4BAAY,CAAC,mBAAmB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAA;AACjE,4BAAY,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAA","sourcesContent":["import { access } from '@things-factory/utils'\n\nimport { TaskRegistry } from '../task-registry'\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nasync function SwitchRangeGoTo(step: InputStep, { logger, data }: Context) {\n var {\n params: { accessor, cases }\n } = step\n\n var value = Number(access(accessor, data))\n\n var range =\n Object.keys(cases).find(key => {\n if (key == 'default') {\n return\n }\n\n var [from, to] = key.split('~')\n\n return Number(from) <= value && Number(to) > value\n }) || 'default'\n\n var next = cases[range]\n\n logger.info(`switch-range to next '${next}' by value '${value}' .`)\n\n return {\n next\n }\n}\n\nSwitchRangeGoTo.parameterSpec = [\n {\n type: 'scenario-step-input',\n name: 'accessor',\n label: 'accessor'\n },\n {\n type: 'range',\n name: 'cases',\n label: 'cases',\n property: {\n valuetype: 'scenario-step-input'\n }\n }\n]\n\nSwitchRangeGoTo.connectorFree = true\n\nTaskRegistry.registerTaskHandler('switch-range', SwitchRangeGoTo)\nTaskRegistry.registerTaskHandler('switch-range-goto', SwitchRangeGoTo)\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"switch-range-scenario.js","sourceRoot":"","sources":["../../../server/engine/task/switch-range-scenario.ts"],"names":[],"mappings":";;AAAA,iDAAqD;AACrD,iDAAyD;AAEzD,8DAA0D;AAC1D,oDAA+C;
|
1
|
+
{"version":3,"file":"switch-range-scenario.js","sourceRoot":"","sources":["../../../server/engine/task/switch-range-scenario.ts"],"names":[],"mappings":";;AAAA,iDAAqD;AACrD,iDAAyD;AAEzD,8DAA0D;AAC1D,oDAA+C;AAI/C,KAAK,UAAU,mBAAmB,CAAC,IAAe,EAAE,OAAgB;IAClE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IACpC,IAAI,EACF,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EACvC,GAAG,IAAI,CAAA;IAER,IAAI,KAAK,GAAG,MAAM,CAAC,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IAE1C,IAAI,KAAK,GACP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC5B,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,OAAM;SACP;QAED,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE/B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAA;IACpD,CAAC,CAAC,IAAI,SAAS,CAAA;IAEjB,IAAI,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IAE/B,MAAM,CAAC,IAAI,CAAC,6BAA6B,YAAY,eAAe,KAAK,KAAK,CAAC,CAAA;IAE/E,IAAI,WAAW,GAAG,MAAM,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;QACtD,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;SACnB;QACD,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;KAC/B,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,IAAI,YAAY,CAAC,CAAA;IAC1D,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,WAAW,kCACxC,OAAO,KACV,IAAI,EAAE,EAAE;QACR;;;UAGE;QACF,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAA,iBAAS,EAAC,IAAA,cAAM,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAC7E,CAAA;IACF,MAAM,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,IAAI,SAAS,CAAC,CAAA;IAEvD,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,IAAI;KACtB,CAAA;AACH,CAAC;AAED,mBAAmB,CAAC,aAAa,GAAG;IAClC;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE;YACR,SAAS,EAAE,gBAAgB;SAC5B;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;KACnB;CACF,CAAA;AAED,mBAAmB,CAAC,aAAa,GAAG,IAAI,CAAA;AAExC,4BAAY,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAA","sourcesContent":["import { getRepository } from '@things-factory/shell'\nimport { access, deepClone } from '@things-factory/utils'\n\nimport { Scenario } from '../../service/scenario/scenario'\nimport { TaskRegistry } from '../task-registry'\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nasync function SwitchRangeScenario(step: InputStep, context: Context) {\n var { logger, data, load } = context\n var {\n params: { accessor, cases, variables }\n } = step\n\n var value = Number(access(accessor, data))\n\n var range =\n Object.keys(cases).find(key => {\n if (key == 'default') {\n return\n }\n\n var [from, to] = key.split('~')\n\n return Number(from) <= value && Number(to) > value\n }) || 'default'\n\n var scenarioName = cases[range]\n\n logger.info(`switch-range to scenario '${scenarioName}' by value '${value}' .`)\n\n var subscenario = await getRepository(Scenario).findOne({\n where: {\n name: scenarioName\n },\n relations: ['steps', 'domain']\n })\n\n logger.info(`Sub Scenario '${subscenario.name}' started.`)\n var subContext = await load(step, subscenario, {\n ...context,\n data: {},\n /* \n FIXME variables 설정이 안된 경우에 subscenario의 variables는 undefined가 되는 것이 맞겠지만, \n 하위 호환성 유지를 위해서 부모의 variables를 사용함 \n */\n variables: variables ? deepClone(access(variables, data)) : context.variables\n })\n logger.info(`Sub Scenario '${subscenario.name}' done.`)\n\n return {\n data: subContext.data\n }\n}\n\nSwitchRangeScenario.parameterSpec = [\n {\n type: 'scenario-step-input',\n name: 'accessor',\n label: 'accessor'\n },\n {\n type: 'range',\n name: 'cases',\n label: 'cases',\n property: {\n valuetype: 'scenario-input'\n }\n },\n {\n type: 'scenario-step-input',\n name: 'variables',\n label: 'variables'\n }\n]\n\nSwitchRangeScenario.connectorFree = true\n\nTaskRegistry.registerTaskHandler('switch-range-scenario', SwitchRangeScenario)\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"switch-range-set.js","sourceRoot":"","sources":["../../../server/engine/task/switch-range-set.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAC9C,oDAA+C;
|
1
|
+
{"version":3,"file":"switch-range-set.js","sourceRoot":"","sources":["../../../server/engine/task/switch-range-set.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAC9C,oDAA+C;AAI/C,KAAK,UAAU,cAAc,CAAC,IAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAW;IACtE,IAAI,EACF,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAC5B,GAAG,IAAI,CAAA;IAER,IAAI,KAAK,GAAG,MAAM,CAAC,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IAE1C,IAAI,KAAK,GACP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC5B,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,OAAM;SACP;QAED,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE/B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAA;IACpD,CAAC,CAAC,IAAI,SAAS,CAAA;IAEjB,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IAEvB,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,eAAe,KAAK,KAAK,CAAC,CAAA;IAEnE,OAAO;QACL,IAAI;KACL,CAAA;AACH,CAAC;AAED,cAAc,CAAC,aAAa,GAAG;IAC7B;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;KACf;CACF,CAAA;AAED,cAAc,CAAC,aAAa,GAAG,IAAI,CAAA;AAEnC,4BAAY,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAA","sourcesContent":["import { access } from '@things-factory/utils'\nimport { TaskRegistry } from '../task-registry'\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nasync function SwitchRangeSet(step: InputStep, { logger, data }: Context) {\n var {\n params: { accessor, cases }\n } = step\n\n var value = Number(access(accessor, data))\n\n var range =\n Object.keys(cases).find(key => {\n if (key == 'default') {\n return\n }\n\n var [from, to] = key.split('~')\n\n return Number(from) <= value && Number(to) > value\n }) || 'default'\n\n var data = cases[range]\n\n logger.info(`switch-range to data '${data}' by value '${value}' .`)\n\n return {\n data\n }\n}\n\nSwitchRangeSet.parameterSpec = [\n {\n type: 'scenario-step-input',\n name: 'accessor',\n label: 'accessor'\n },\n {\n type: 'range',\n name: 'cases',\n label: 'cases'\n }\n]\n\nSwitchRangeSet.connectorFree = true\n\nTaskRegistry.registerTaskHandler('switch-range-set', SwitchRangeSet)\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"switch-scenario.js","sourceRoot":"","sources":["../../../server/engine/task/switch-scenario.ts"],"names":[],"mappings":";;AAAA,iDAAqD;AACrD,iDAAyD;AAEzD,8DAA0D;AAC1D,oDAA+C;
|
1
|
+
{"version":3,"file":"switch-scenario.js","sourceRoot":"","sources":["../../../server/engine/task/switch-scenario.ts"],"names":[],"mappings":";;AAAA,iDAAqD;AACrD,iDAAyD;AAEzD,8DAA0D;AAC1D,oDAA+C;AAI/C,KAAK,UAAU,cAAc,CAAC,IAAe,EAAE,OAAgB;IAC7D,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IACpC,IAAI,EACF,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EACvC,GAAG,IAAI,CAAA;IAER,IAAI,KAAK,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAElC,IAAI,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;IACnD,MAAM,CAAC,IAAI,CAAC,uBAAuB,YAAY,eAAe,KAAK,KAAK,CAAC,CAAA;IAEzE,IAAI,WAAW,GAAG,MAAM,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;QACtD,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;SACnB;QACD,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;KAC/B,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,IAAI,YAAY,CAAC,CAAA;IAC1D,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,WAAW,kCACxC,OAAO,KACV,IAAI,EAAE,EAAE;QACR;;;UAGE;QACF,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAA,iBAAS,EAAC,IAAA,cAAM,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAC7E,CAAA;IACF,MAAM,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,IAAI,SAAS,CAAC,CAAA;IAEvD,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,IAAI;KACtB,CAAA;AACH,CAAC;AAED,cAAc,CAAC,aAAa,GAAG;IAC7B;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE;YACR,SAAS,EAAE,gBAAgB;SAC5B;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;KACnB;CACF,CAAA;AAED,cAAc,CAAC,aAAa,GAAG,IAAI,CAAA;AAEnC,4BAAY,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAA","sourcesContent":["import { getRepository } from '@things-factory/shell'\nimport { access, deepClone } from '@things-factory/utils'\n\nimport { Scenario } from '../../service/scenario/scenario'\nimport { TaskRegistry } from '../task-registry'\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nasync function SwitchScenario(step: InputStep, context: Context) {\n var { logger, data, load } = context\n var {\n params: { accessor, cases, variables }\n } = step\n\n var value = access(accessor, data)\n\n var scenarioName = cases[value] || cases['default']\n logger.info(`switch to scenario '${scenarioName}' by value '${value}' .`)\n\n var subscenario = await getRepository(Scenario).findOne({\n where: {\n name: scenarioName\n },\n relations: ['steps', 'domain']\n })\n\n logger.info(`Sub Scenario '${subscenario.name}' started.`)\n var subContext = await load(step, subscenario, {\n ...context,\n data: {},\n /* \n FIXME variables 설정이 안된 경우에 subscenario의 variables는 undefined가 되는 것이 맞겠지만, \n 하위 호환성 유지를 위해서 부모의 variables를 사용함 \n */\n variables: variables ? deepClone(access(variables, data)) : context.variables\n })\n logger.info(`Sub Scenario '${subscenario.name}' done.`)\n\n return {\n data: subContext.data\n }\n}\n\nSwitchScenario.parameterSpec = [\n {\n type: 'scenario-step-input',\n name: 'accessor',\n label: 'accessor'\n },\n {\n type: 'map',\n name: 'cases',\n label: 'cases',\n property: {\n valuetype: 'scenario-input'\n }\n },\n {\n type: 'scenario-step-input',\n name: 'variables',\n label: 'variables'\n }\n]\n\nSwitchScenario.connectorFree = true\n\nTaskRegistry.registerTaskHandler('switch-scenario', SwitchScenario)\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"switch-set.js","sourceRoot":"","sources":["../../../server/engine/task/switch-set.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAC9C,oDAA+C;
|
1
|
+
{"version":3,"file":"switch-set.js","sourceRoot":"","sources":["../../../server/engine/task/switch-set.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAC9C,oDAA+C;AAI/C,KAAK,UAAU,SAAS,CAAC,IAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAW;IACjE,IAAI,EACF,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAC5B,GAAG,IAAI,CAAA;IAER,IAAI,KAAK,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAElC,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;IAE3C,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,eAAe,KAAK,KAAK,CAAC,CAAA;IAE7D,OAAO;QACL,IAAI;KACL,CAAA;AACH,CAAC;AAED,SAAS,CAAC,aAAa,GAAG;IACxB;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;KACf;CACF,CAAA;AAED,SAAS,CAAC,aAAa,GAAG,IAAI,CAAA;AAE9B,4BAAY,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA","sourcesContent":["import { access } from '@things-factory/utils'\nimport { TaskRegistry } from '../task-registry'\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nasync function SwitchSet(step: InputStep, { logger, data }: Context) {\n var {\n params: { accessor, cases }\n } = step\n\n var value = access(accessor, data)\n\n var data = cases[value] || cases['default']\n\n logger.info(`switch to data '${data}' by value '${value}' .`)\n\n return {\n data\n }\n}\n\nSwitchSet.parameterSpec = [\n {\n type: 'scenario-step-input',\n name: 'accessor',\n label: 'accessor'\n },\n {\n type: 'map',\n name: 'cases',\n label: 'cases'\n }\n]\n\nSwitchSet.connectorFree = true\n\nTaskRegistry.registerTaskHandler('switch-set', SwitchSet)\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"throw.js","sourceRoot":"","sources":["../../../server/engine/task/throw.ts"],"names":[],"mappings":";;AAAA,oDAA+C;
|
1
|
+
{"version":3,"file":"throw.js","sourceRoot":"","sources":["../../../server/engine/task/throw.ts"],"names":[],"mappings":";;AAAA,oDAA+C;AAI/C,KAAK,UAAU,KAAK,CAAC,IAAe,EAAE,EAAE,MAAM,EAAW;IACvD,IAAI,EACF,IAAI,EACJ,MAAM,EAAE,EAAE,OAAO,EAAE,EACpB,GAAG,IAAI,CAAA;IAER,MAAM,IAAI,OAAO,wBAAwB,IAAI,GAAG,CAAA;IAEhD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,KAAK,CAAC,aAAa,GAAG;IACpB;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACjB;CACF,CAAA;AAED,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;AAC1B,KAAK,CAAC,IAAI,GAAG,wBAAwB,CAAA;AAErC,4BAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA","sourcesContent":["import { TaskRegistry } from '../task-registry'\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nasync function Throw(step: InputStep, { logger }: Context) {\n var {\n name,\n params: { message }\n } = step\n\n throw `'${message}' is thrown by step '${name}'`\n\n return {}\n}\n\nThrow.parameterSpec = [\n {\n type: 'string',\n name: 'message',\n label: 'message'\n }\n]\n\nThrow.connectorFree = true\nThrow.help = 'integration/task/throw'\n\nTaskRegistry.registerTaskHandler('throw', Throw)\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../server/engine/task/variables.ts"],"names":[],"mappings":";;AAAA,oDAA+C;
|
1
|
+
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../server/engine/task/variables.ts"],"names":[],"mappings":";;AAAA,oDAA+C;AAI/C,KAAK,UAAU,SAAS,CAAC,IAAe,EAAE,EAAE,SAAS,EAAW;IAC9D,OAAO;QACL,IAAI,EAAE,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,SAAS,IAAI,QAAQ,CAAC,CAAC,mBAAM,SAAS,EAAG,CAAC,CAAC,SAAS;KAChH,CAAA;AACH,CAAC;AAED,SAAS,CAAC,aAAa,GAAG,EAAE,CAAA;AAE5B,SAAS,CAAC,aAAa,GAAG,IAAI,CAAA;AAE9B,SAAS,CAAC,IAAI,GAAG,4BAA4B,CAAA;AAE7C,4BAAY,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA","sourcesContent":["import { TaskRegistry } from '../task-registry'\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nasync function Variables(step: InputStep, { variables }: Context) {\n return {\n data: variables instanceof Array ? [...variables] : typeof variables == 'object' ? { ...variables } : variables\n }\n}\n\nVariables.parameterSpec = []\n\nVariables.connectorFree = true\n\nVariables.help = 'integration/task/variables'\n\nTaskRegistry.registerTaskHandler('variables', Variables)\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../server/engine/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Connection, PropertySpec, ScenarioInstanceStatus, Step } from '../service'\n\nexport interface Connector {\n ready(connections: Connection[]): Promise<any>\n connect(connection: Connection): Promise<any>\n disconnect(connection: Connection): Promise<any>\n parameterSpec: PropertySpec[]\n taskPrefixes?: string[]\n description?: string\n help?: string\n}\n\nexport type Context = {\n domain:
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../server/engine/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Connection, PropertySpec, ScenarioInstanceStatus, Step } from '../service'\nimport { Domain } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\n\nexport interface Connector {\n ready(connections: Connection[]): Promise<any>\n connect(connection: Connection): Promise<any>\n disconnect(connection: Connection): Promise<any>\n parameterSpec: PropertySpec[]\n taskPrefixes?: string[]\n description?: string\n help?: string\n}\n\nexport type Context = {\n /** \n * Represents the domain context.\n */\n domain: Domain\n\n /** \n * User information.\n */\n user: User\n\n /** \n * Language code, for example 'en', 'ko'.\n */\n lng: string\n\n /** \n * Flag to indicate if the IP is unsafe, can be undefined.\n */\n unsafeIP: boolean | undefined\n\n /** \n * List of prohibited privileges, can be undefined.\n */\n prohibitedPrivileges: { category: string; privilege: string }[] | undefined\n\n /** \n * Logger for logging purposes.\n */\n logger: any\n\n /** \n * Function to publish events or messages.\n */\n publish: Function\n\n /** \n * Function to load resources or data.\n */\n load: Function\n\n /** \n * Current status of the scenario instance.\n */\n state: ScenarioInstanceStatus\n\n /** \n * General data storage object.\n */\n data: any\n\n /** \n * Variables related to the context.\n */\n variables: Object\n\n /** \n * Local GraphQL client object.\n */\n client: any /* graphql local client */\n\n /** \n * Root object, can be used for various purposes.\n */\n root: Object\n\n /** \n * Array of function closures.\n */\n closures: Function[]\n\n /** \n * Function to check the state.\n */\n checkState: Function\n\n /**\n * MQTT subscriber context object.\n */\n __mqtt_subscriber?: any\n\n /**\n * socket listener context object.\n */\n __socket_listener?: any\n\n /**\n * csv readline context object.\n */\n __csv_resources?: any\n}\n\n\nexport type TaskHandler = (\n step: Step,\n context: Context\n) => Promise<{\n next?: string\n state?: ScenarioInstanceStatus\n data?: any\n}>\n"]}
|
@@ -18,6 +18,10 @@ var ConnectionStatus;
|
|
18
18
|
description: 'state enumeration of a connection'
|
19
19
|
});
|
20
20
|
let Connection = class Connection {
|
21
|
+
/**
|
22
|
+
* Asynchronous method to establish the connection.
|
23
|
+
*
|
24
|
+
*/
|
21
25
|
async connect() {
|
22
26
|
var connector = engine_1.ConnectionManager.getConnector(this.type);
|
23
27
|
var params = {};
|
@@ -29,6 +33,10 @@ let Connection = class Connection {
|
|
29
33
|
}
|
30
34
|
await connector.connect(Object.assign(Object.assign({}, this), { params }));
|
31
35
|
}
|
36
|
+
/**
|
37
|
+
* @brief Asynchronous method to disconnect the connection.
|
38
|
+
*
|
39
|
+
*/
|
32
40
|
async disconnect() {
|
33
41
|
try {
|
34
42
|
var connector = engine_1.ConnectionManager.getConnector(this.type);
|
@@ -46,7 +54,11 @@ tslib_1.__decorate([
|
|
46
54
|
tslib_1.__decorate([
|
47
55
|
(0, typeorm_1.ManyToOne)(type => shell_1.Domain),
|
48
56
|
(0, type_graphql_1.Field)({ nullable: true }),
|
49
|
-
tslib_1.__metadata("design:type", shell_1.Domain
|
57
|
+
tslib_1.__metadata("design:type", shell_1.Domain
|
58
|
+
/**
|
59
|
+
* Stores the ID of the associated Domain.
|
60
|
+
*/
|
61
|
+
)
|
50
62
|
], Connection.prototype, "domain", void 0);
|
51
63
|
tslib_1.__decorate([
|
52
64
|
(0, typeorm_1.RelationId)((connection) => connection.domain),
|
@@ -95,17 +107,29 @@ tslib_1.__decorate([
|
|
95
107
|
tslib_1.__decorate([
|
96
108
|
(0, typeorm_1.CreateDateColumn)(),
|
97
109
|
(0, type_graphql_1.Field)({ nullable: true }),
|
98
|
-
tslib_1.__metadata("design:type", Date
|
110
|
+
tslib_1.__metadata("design:type", Date
|
111
|
+
/**
|
112
|
+
* The date and time when the connection was last updated.
|
113
|
+
*/
|
114
|
+
)
|
99
115
|
], Connection.prototype, "createdAt", void 0);
|
100
116
|
tslib_1.__decorate([
|
101
117
|
(0, typeorm_1.UpdateDateColumn)(),
|
102
118
|
(0, type_graphql_1.Field)({ nullable: true }),
|
103
|
-
tslib_1.__metadata("design:type", Date
|
119
|
+
tslib_1.__metadata("design:type", Date
|
120
|
+
/**
|
121
|
+
* Many-to-One relationship with the User entity who created the connection. Optional field.
|
122
|
+
*/
|
123
|
+
)
|
104
124
|
], Connection.prototype, "updatedAt", void 0);
|
105
125
|
tslib_1.__decorate([
|
106
126
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
107
127
|
(0, type_graphql_1.Field)({ nullable: true }),
|
108
|
-
tslib_1.__metadata("design:type", auth_base_1.User
|
128
|
+
tslib_1.__metadata("design:type", auth_base_1.User
|
129
|
+
/**
|
130
|
+
* Stores the ID of the User who created the connection.
|
131
|
+
*/
|
132
|
+
)
|
109
133
|
], Connection.prototype, "creator", void 0);
|
110
134
|
tslib_1.__decorate([
|
111
135
|
(0, typeorm_1.RelationId)((connection) => connection.creator),
|
@@ -114,7 +138,12 @@ tslib_1.__decorate([
|
|
114
138
|
tslib_1.__decorate([
|
115
139
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
116
140
|
(0, type_graphql_1.Field)({ nullable: true }),
|
117
|
-
tslib_1.__metadata("design:type", auth_base_1.User
|
141
|
+
tslib_1.__metadata("design:type", auth_base_1.User
|
142
|
+
/**
|
143
|
+
* Stores the ID of the User who last updated the connection.
|
144
|
+
*
|
145
|
+
*/
|
146
|
+
)
|
118
147
|
], Connection.prototype, "updater", void 0);
|
119
148
|
tslib_1.__decorate([
|
120
149
|
(0, typeorm_1.RelationId)((connection) => connection.updater),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"connection-type.js","sourceRoot":"","sources":["../../../server/service/connection/connection-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAsF;AACtF,qCASgB;AAEhB,yDAAgD;AAChD,6CAA4C;AAC5C,iDAA8C;AAE9C,yCAAgD;AAEhD,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,2CAAuB,CAAA;IACvB,iDAA6B,CAAA;AAC/B,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B;AAED,IAAA,+BAAgB,EAAC,gBAAgB,EAAE;IACjC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,mCAAmC;CACjD,CAAC,CAAA;AAKK,IAAM,UAAU,GAAhB,MAAM,UAAU;IAmErB,KAAK,CAAC,OAAO;QACX,IAAI,SAAS,GAAG,0BAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzD,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,IAAI;YACF,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAA;SACzC;QAAC,OAAO,EAAE,EAAE;YACX,YAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,IAAI,gCAAgC,EAAE,EAAE,CAAC,CAAA;SAC3E;QAED,MAAM,SAAS,CAAC,OAAO,iCAClB,IAAI,KACP,MAAM,IACN,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI;YACF,IAAI,SAAS,GAAG,0BAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACzD,MAAM,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;SACjC;gBAAS;SACT;IACH,CAAC;CACF,CAAA;AAzFC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;sCACC;AAEnB;IAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IACzB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAClB,cAAM;0CAAA;AAEd;IAAC,IAAA,oBAAU,EAAC,CAAC,UAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;;4CAC1C;AAEhB;IAAC,IAAA,gBAAM,GAAE;IACR,IAAA,oBAAK,GAAE;;wCACI;AAEZ;IAAC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACP;AAEnB;IAAC,IAAA,gBAAM,GAAE;IACR,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACd;AAEZ;IAAC,IAAA,gBAAM,GAAE;IACR,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACV;AAEhB;IAAC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACX;AAEf;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACH;AAEvB;IAAC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACZ;AAEd;IAAC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACf,IAAI;6CAAA;AAEf;IAAC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACf,IAAI;6CAAA;AAEf;IAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjB,gBAAI;2CAAA;AAEb;IAAC,IAAA,oBAAU,EAAC,CAAC,UAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;;6CAC1C;AAEjB;IAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjB,gBAAI;2CAAA;AAEb;IAAC,IAAA,oBAAU,EAAC,CAAC,UAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;;6CAC1C;AAjEN,UAAU;IAHtB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,iBAAiB,EAAE,CAAC,UAAsB,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5G,IAAA,yBAAU,GAAE;GACA,UAAU,CA0FtB;AA1FY,gCAAU;AA6FhB,IAAM,eAAe,GAArB,MAAM,eAAe;CAqB3B,CAAA;AApBC;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjB,cAAM;+CAAA;AAEf;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACf;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACF;AAExB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;kDAAA;AApBL,eAAe;IAD3B,IAAA,yBAAU,GAAE;GACA,eAAe,CAqB3B;AArBY,0CAAe;AAwBrB,IAAM,aAAa,GAAnB,MAAM,aAAa;CAezB,CAAA;AAdC;IAAC,IAAA,oBAAK,GAAE;;2CACI;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACT;AAEjB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACX;AAdJ,aAAa;IADzB,IAAA,wBAAS,GAAE;GACC,aAAa,CAezB;AAfY,sCAAa;AAkBnB,IAAM,eAAe,GAArB,MAAM,eAAe;CAwB3B,CAAA;AAvBC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CAC5B;AAEV;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACT;AAEjB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACV;AAEhB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACX;AAEf;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACX;AAvBJ,eAAe;IAD3B,IAAA,wBAAS,GAAE;GACC,eAAe,CAwB3B;AAxBY,0CAAe;AA2BrB,IAAM,cAAc,GAApB,MAAM,cAAc;CAM1B,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;;6CACT;AAEnB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;6CACN;AALF,cAAc;IAD1B,IAAA,yBAAU,GAAE;GACA,cAAc,CAM1B;AANY,wCAAc","sourcesContent":["import { Field, ID, InputType, Int, ObjectType, registerEnumType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { logger } from '@things-factory/env'\nimport { Domain } from '@things-factory/shell'\n\nimport { ConnectionManager } from '../../engine'\n\nexport enum ConnectionStatus {\n CONNECTED = 'CONNECTED',\n DISCONNECTED = 'DISCONNECTED'\n}\n\nregisterEnumType(ConnectionStatus, {\n name: 'ConnectionStatus',\n description: 'state enumeration of a connection'\n})\n\n@Entity()\n@Index('ix_connection_0', (connection: Connection) => [connection.domain, connection.name], { unique: true })\n@ObjectType()\nexport class Connection {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain: Domain\n\n @RelationId((connection: Connection) => connection.domain)\n domainId: string\n\n @Column()\n @Field()\n name: string\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n description: string\n\n @Column()\n @Field({ nullable: true })\n type: string\n\n @Column()\n @Field({ nullable: true })\n endpoint: string\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n active: boolean\n\n @Field({ nullable: true })\n state: ConnectionStatus\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n params: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator: User\n\n @RelationId((connection: Connection) => connection.creator)\n creatorId: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater: User\n\n @RelationId((connection: Connection) => connection.updater)\n updaterId: string\n\n async connect() {\n var connector = ConnectionManager.getConnector(this.type)\n var params = {}\n\n try {\n params = JSON.parse(this.params || '{}')\n } catch (ex) {\n logger.error(`connection '${this.name}' params should be JSON format`, ex)\n }\n\n await connector.connect({\n ...this,\n params\n })\n }\n\n async disconnect() {\n try {\n var connector = ConnectionManager.getConnector(this.type)\n await connector.disconnect(this)\n } finally {\n }\n }\n}\n\n@ObjectType()\nexport class ConnectionState {\n @Field({ nullable: true })\n domain?: Domain\n\n @Field({ nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n type?: string\n\n @Field({ nullable: true })\n state?: ConnectionStatus\n\n @Field({ nullable: true })\n timestamp?: Date\n}\n\n@InputType()\nexport class NewConnection {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n type?: string\n\n @Field({ nullable: true })\n endpoint?: string\n\n @Field({ nullable: true })\n params?: string\n}\n\n@InputType()\nexport class ConnectionPatch {\n @Field(type => ID, { nullable: true })\n id: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n type?: string\n\n @Field({ nullable: true })\n endpoint?: string\n\n @Field({ nullable: true })\n active?: boolean\n\n @Field({ nullable: true })\n params?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ConnectionList {\n @Field(type => [Connection])\n items: Connection[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
1
|
+
{"version":3,"file":"connection-type.js","sourceRoot":"","sources":["../../../server/service/connection/connection-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, InputType, Int, ObjectType, registerEnumType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { logger } from '@things-factory/env'\nimport { Domain } from '@things-factory/shell'\n\nimport { ConnectionManager } from '../../engine'\n\nexport enum ConnectionStatus {\n CONNECTED = 'CONNECTED',\n DISCONNECTED = 'DISCONNECTED'\n}\n\nregisterEnumType(ConnectionStatus, {\n name: 'ConnectionStatus',\n description: 'state enumeration of a connection'\n})\n\n@Entity()\n@Index('ix_connection_0', (connection: Connection) => [connection.domain, connection.name], { unique: true })\n@ObjectType()\nexport class Connection {\n /** \n * Unique identifier for the connection, generated in UUID format.\n */\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n /** \n * Many-to-One relationship with the Domain entity.\n */\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain: Domain\n\n /** \n * Stores the ID of the associated Domain.\n */\n @RelationId((connection: Connection) => connection.domain)\n domainId: string\n\n /** \n * The name of the connection.\n */\n @Column()\n @Field()\n name: string\n\n /** \n * Optional description for the connection.\n */\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n description: string\n\n /** \n * The type of the connection.\n */\n @Column()\n @Field({ nullable: true })\n type: string\n\n /** \n * The endpoint for the connection.\n */\n @Column()\n @Field({ nullable: true })\n endpoint: string\n\n /** \n * Indicates the active status of the connection.\n */\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n active: boolean\n\n /** \n * The status of the connection, using the ConnectionStatus type.\n */\n @Field({ nullable: true })\n state: ConnectionStatus\n\n /** \n * Additional parameters for the connection, stored as a JSON string.\n */\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n params: string\n\n /** \n * The date and time when the connection was created.\n */\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt: Date\n\n /** \n * The date and time when the connection was last updated.\n */\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n\n /** \n * Many-to-One relationship with the User entity who created the connection. Optional field.\n */\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator: User\n\n /** \n * Stores the ID of the User who created the connection.\n */\n @RelationId((connection: Connection) => connection.creator)\n creatorId: string\n\n /** \n * Many-to-One relationship with the User entity who last updated the connection.\n * Optional field.\n */\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater: User\n\n /**\n * Stores the ID of the User who last updated the connection.\n * \n */\n @RelationId((connection: Connection) => connection.updater)\n updaterId: string\n\n /**\n * Asynchronous method to establish the connection.\n * \n */\n async connect() {\n var connector = ConnectionManager.getConnector(this.type)\n var params = {}\n\n try {\n params = JSON.parse(this.params || '{}')\n } catch (ex) {\n logger.error(`connection '${this.name}' params should be JSON format`, ex)\n }\n\n await connector.connect({\n ...this,\n params\n })\n }\n\n /**\n * @brief Asynchronous method to disconnect the connection.\n * \n */\n async disconnect() {\n try {\n var connector = ConnectionManager.getConnector(this.type)\n await connector.disconnect(this)\n } finally {\n }\n }\n}\n\n/**\n * Connection의 params의 원 타입과 사용 시에 타입 불일치로 인해 임시적으로 생성한 타입으로\n * 추후, 타입 일치를 통해서 제거할 예정임.\n * \n */\nexport interface InputConnection extends Connection {\n params: any;\n}\n\n@ObjectType()\nexport class ConnectionState {\n @Field({ nullable: true })\n domain?: Domain\n\n @Field({ nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n type?: string\n\n @Field({ nullable: true })\n state?: ConnectionStatus\n\n @Field({ nullable: true })\n timestamp?: Date\n}\n\n@InputType()\nexport class NewConnection {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n type?: string\n\n @Field({ nullable: true })\n endpoint?: string\n\n @Field({ nullable: true })\n params?: string\n}\n\n@InputType()\nexport class ConnectionPatch {\n @Field(type => ID, { nullable: true })\n id: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n type?: string\n\n @Field({ nullable: true })\n endpoint?: string\n\n @Field({ nullable: true })\n active?: boolean\n\n @Field({ nullable: true })\n params?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ConnectionList {\n @Field(type => [Connection])\n items: Connection[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
@@ -9,6 +9,9 @@ const shell_1 = require("@things-factory/shell");
|
|
9
9
|
const scenario_1 = require("../scenario/scenario");
|
10
10
|
let Step = class Step {
|
11
11
|
constructor() {
|
12
|
+
/**
|
13
|
+
* A boolean attribute indicating the inclusion status of an element in the result.
|
14
|
+
*/
|
12
15
|
this.result = true;
|
13
16
|
}
|
14
17
|
};
|
@@ -20,30 +23,34 @@ tslib_1.__decorate([
|
|
20
23
|
tslib_1.__decorate([
|
21
24
|
(0, typeorm_1.ManyToOne)(type => shell_1.Domain),
|
22
25
|
(0, type_graphql_1.Field)({ nullable: true }),
|
23
|
-
tslib_1.__metadata("design:type", shell_1.Domain
|
26
|
+
tslib_1.__metadata("design:type", shell_1.Domain
|
27
|
+
/**
|
28
|
+
* The ID of the domain associated with this step.
|
29
|
+
*/
|
30
|
+
)
|
24
31
|
], Step.prototype, "domain", void 0);
|
25
32
|
tslib_1.__decorate([
|
26
33
|
(0, typeorm_1.RelationId)((step) => step.domain),
|
27
34
|
tslib_1.__metadata("design:type", String)
|
28
35
|
], Step.prototype, "domainId", void 0);
|
29
36
|
tslib_1.__decorate([
|
30
|
-
(0, typeorm_1.Column)({
|
31
|
-
nullable: true
|
32
|
-
}),
|
37
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
33
38
|
(0, type_graphql_1.Field)(),
|
34
39
|
tslib_1.__metadata("design:type", String)
|
35
40
|
], Step.prototype, "name", void 0);
|
36
41
|
tslib_1.__decorate([
|
37
|
-
(0, typeorm_1.Column)({
|
38
|
-
nullable: true
|
39
|
-
}),
|
42
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
40
43
|
(0, type_graphql_1.Field)({ nullable: true }),
|
41
44
|
tslib_1.__metadata("design:type", String)
|
42
45
|
], Step.prototype, "description", void 0);
|
43
46
|
tslib_1.__decorate([
|
44
47
|
(0, typeorm_1.ManyToOne)(type => scenario_1.Scenario, scenario => scenario.steps, { onDelete: 'CASCADE' }),
|
45
48
|
(0, type_graphql_1.Field)(type => scenario_1.Scenario, { nullable: true }),
|
46
|
-
tslib_1.__metadata("design:type", scenario_1.Scenario
|
49
|
+
tslib_1.__metadata("design:type", scenario_1.Scenario
|
50
|
+
/**
|
51
|
+
* The ID of the scenario associated with this step.
|
52
|
+
*/
|
53
|
+
)
|
47
54
|
], Step.prototype, "scenario", void 0);
|
48
55
|
tslib_1.__decorate([
|
49
56
|
(0, typeorm_1.RelationId)((step) => step.scenario),
|
@@ -60,55 +67,57 @@ tslib_1.__decorate([
|
|
60
67
|
tslib_1.__metadata("design:type", String)
|
61
68
|
], Step.prototype, "task", void 0);
|
62
69
|
tslib_1.__decorate([
|
63
|
-
(0, typeorm_1.Column)({
|
64
|
-
nullable: true
|
65
|
-
}),
|
70
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
66
71
|
(0, type_graphql_1.Field)({ nullable: true }),
|
67
72
|
tslib_1.__metadata("design:type", Boolean)
|
68
73
|
], Step.prototype, "skip", void 0);
|
69
74
|
tslib_1.__decorate([
|
70
|
-
(0, typeorm_1.Column)({
|
71
|
-
nullable: true
|
72
|
-
}),
|
75
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
73
76
|
(0, type_graphql_1.Field)({ nullable: true }),
|
74
77
|
tslib_1.__metadata("design:type", Boolean)
|
75
78
|
], Step.prototype, "log", void 0);
|
76
79
|
tslib_1.__decorate([
|
77
|
-
(0, typeorm_1.Column)({
|
78
|
-
nullable: true
|
79
|
-
}),
|
80
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
80
81
|
(0, type_graphql_1.Field)({ nullable: true }),
|
81
82
|
tslib_1.__metadata("design:type", String)
|
82
83
|
], Step.prototype, "connection", void 0);
|
83
84
|
tslib_1.__decorate([
|
84
|
-
(0, typeorm_1.Column)({
|
85
|
-
nullable: true
|
86
|
-
}),
|
85
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
87
86
|
(0, type_graphql_1.Field)({ nullable: true }),
|
88
87
|
tslib_1.__metadata("design:type", String)
|
89
88
|
], Step.prototype, "params", void 0);
|
90
89
|
tslib_1.__decorate([
|
91
90
|
(0, typeorm_1.Column)({ nullable: true, default: true }),
|
92
|
-
(0, type_graphql_1.Field)({
|
93
|
-
nullable: true,
|
94
|
-
description: 'a boolean attribute indicating the inclusion status of an element in the result'
|
95
|
-
}),
|
91
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'A boolean attribute indicating the inclusion status of an element in the result' }),
|
96
92
|
tslib_1.__metadata("design:type", Boolean)
|
97
93
|
], Step.prototype, "result", void 0);
|
98
94
|
tslib_1.__decorate([
|
99
95
|
(0, typeorm_1.CreateDateColumn)(),
|
100
96
|
(0, type_graphql_1.Field)({ nullable: true }),
|
101
|
-
tslib_1.__metadata("design:type", Date
|
97
|
+
tslib_1.__metadata("design:type", Date
|
98
|
+
/**
|
99
|
+
* The timestamp when
|
100
|
+
the step was last updated.
|
101
|
+
*/
|
102
|
+
)
|
102
103
|
], Step.prototype, "createdAt", void 0);
|
103
104
|
tslib_1.__decorate([
|
104
105
|
(0, typeorm_1.UpdateDateColumn)(),
|
105
106
|
(0, type_graphql_1.Field)({ nullable: true }),
|
106
|
-
tslib_1.__metadata("design:type", Date
|
107
|
+
tslib_1.__metadata("design:type", Date
|
108
|
+
/**
|
109
|
+
* The user who created this step.
|
110
|
+
*/
|
111
|
+
)
|
107
112
|
], Step.prototype, "updatedAt", void 0);
|
108
113
|
tslib_1.__decorate([
|
109
114
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
110
115
|
(0, type_graphql_1.Field)({ nullable: true }),
|
111
|
-
tslib_1.__metadata("design:type", auth_base_1.User
|
116
|
+
tslib_1.__metadata("design:type", auth_base_1.User
|
117
|
+
/**
|
118
|
+
* The ID of the user who created this step.
|
119
|
+
*/
|
120
|
+
)
|
112
121
|
], Step.prototype, "creator", void 0);
|
113
122
|
tslib_1.__decorate([
|
114
123
|
(0, typeorm_1.RelationId)((step) => step.creator),
|
@@ -117,7 +126,11 @@ tslib_1.__decorate([
|
|
117
126
|
tslib_1.__decorate([
|
118
127
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
119
128
|
(0, type_graphql_1.Field)({ nullable: true }),
|
120
|
-
tslib_1.__metadata("design:type", auth_base_1.User
|
129
|
+
tslib_1.__metadata("design:type", auth_base_1.User
|
130
|
+
/**
|
131
|
+
* The ID of the user who last updated this step.
|
132
|
+
*/
|
133
|
+
)
|
121
134
|
], Step.prototype, "updater", void 0);
|
122
135
|
tslib_1.__decorate([
|
123
136
|
(0, typeorm_1.RelationId)((step) => step.updater),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"step-type.js","sourceRoot":"","sources":["../../../server/service/step/step-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,qCASgB;AAEhB,yDAAgD;AAChD,iDAA8C;AAE9C,mDAA+C;
|
1
|
+
{"version":3,"file":"step-type.js","sourceRoot":"","sources":["../../../server/service/step/step-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { Scenario } from '../scenario/scenario'\n\n\n@Entity()\n@Index('ix_step_0', (step: Step) => [step.scenario, step.sequence], { unique: true })\n@ObjectType()\nexport class Step {\n /** \n * The unique identifier for each step.\n */\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n /** \n * The domain to which this step belongs.\n */\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain: Domain\n\n /** \n * The ID of the domain associated with this step.\n */\n @RelationId((step: Step) => step.domain)\n domainId: string\n\n /** \n * The name of the step.\n */\n @Column({ nullable: true })\n @Field()\n name: string\n\n /** \n * A description of what the step involves.\n */\n @Column({ nullable: true })\n @Field({ nullable: true })\n description: string\n\n /** \n * The scenario that includes this step.\n */\n @ManyToOne(type => Scenario, scenario => scenario.steps, { onDelete: 'CASCADE' })\n @Field(type => Scenario, { nullable: true })\n scenario: Scenario\n\n /** \n * The ID of the scenario associated with this step.\n */\n @RelationId((step: Step) => step.scenario)\n scenarioId: string\n\n /** \n * The sequence number of the step within its scenario.\n */\n @Column()\n @Field({ nullable: true })\n sequence: number\n\n /** \n * The specific task associated with this step.\n */\n @Column()\n @Field({ nullable: true })\n task: string\n\n /** \n * Boolean value to indicate if the step should be skipped.\n */\n @Column({ nullable: true })\n @Field({ nullable: true })\n skip: boolean\n\n /** \n * Boolean value to indicate if the step should be logged.\n */\n @Column({ nullable: true })\n @Field({ nullable: true })\n log: boolean\n\n /** \n * The connection details associated with this step.\n */\n @Column({ nullable: true })\n @Field({ nullable: true })\n connection: string\n\n /** \n * The parameters for the step.\n */\n @Column({ nullable: true })\n @Field({ nullable: true })\n params: string\n\n /** \n * A boolean attribute indicating the inclusion status of an element in the result.\n */\n @Column({ nullable: true, default: true })\n @Field({ nullable: true, description: 'A boolean attribute indicating the inclusion status of an element in the result' })\n result: boolean = true\n\n /** \n * The timestamp when the step was created.\n */\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt: Date\n\n /** \n * The timestamp when\n the step was last updated.\n */\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n\n /**\n * The user who created this step.\n */\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator: User\n\n /**\n * The ID of the user who created this step.\n */\n @RelationId((step: Step) => step.creator)\n creatorId: string\n\n /**\n * The user who last updated this step.\n */\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater: User\n\n /**\n * The ID of the user who last updated this step.\n */\n @RelationId((step: Step) => step.updater)\n updaterId: string\n}\n\n@InputType()\nexport class StepPatch {\n @Field(type => ID, { nullable: true })\n id: string\n\n @Field({ nullable: true })\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field(type => Int, { nullable: true })\n sequence?: number\n\n @Field({ nullable: true })\n task?: string\n\n @Field({ nullable: true })\n skip?: boolean\n\n @Field({ nullable: true })\n log?: boolean\n\n @Field({ nullable: true })\n connection?: string\n\n @Field({ nullable: true })\n params?: string\n\n @Field({ nullable: true })\n result?: boolean\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n/**\n * Step의 params의 원 타입과 사용 시에 타입 불일치로 인해 임시적으로 생성한 타입으로\n * 추후, 타입 일치를 통해서 제거할 예정임.\n * \n */\nexport interface InputStep extends Step {\n params: any\n}\n\n@ObjectType()\nexport class StepList {\n @Field(type => [Step])\n items: Step[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|