@things-factory/integration-base 4.0.21 → 4.0.22
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/socket-client.js +47 -0
- package/dist-server/engine/connector/socket-client.js.map +1 -0
- package/dist-server/engine/scenario-instance.js +283 -0
- package/dist-server/engine/scenario-instance.js.map +1 -0
- package/dist-server/entities/connection.js +102 -0
- package/dist-server/entities/connection.js.map +1 -0
- package/dist-server/entities/index.js +11 -0
- package/dist-server/entities/index.js.map +1 -0
- package/dist-server/entities/scenario-flow.js +37 -0
- package/dist-server/entities/scenario-flow.js.map +1 -0
- package/dist-server/entities/scenario.js +105 -0
- package/dist-server/entities/scenario.js.map +1 -0
- package/dist-server/entities/step.js +101 -0
- package/dist-server/entities/step.js.map +1 -0
- package/dist-server/graphql/index.js +30 -0
- package/dist-server/graphql/index.js.map +1 -0
- package/dist-server/graphql/resolvers/connection/connect-connection.js +19 -0
- package/dist-server/graphql/resolvers/connection/connect-connection.js.map +1 -0
- package/dist-server/graphql/resolvers/connection/connection-log.js +36 -0
- package/dist-server/graphql/resolvers/connection/connection-log.js.map +1 -0
- package/dist-server/graphql/resolvers/connection/connection-query.js +34 -0
- package/dist-server/graphql/resolvers/connection/connection-query.js.map +1 -0
- package/dist-server/graphql/resolvers/connection/connection-state.js +52 -0
- package/dist-server/graphql/resolvers/connection/connection-state.js.map +1 -0
- package/dist-server/graphql/resolvers/connection/create-connection.js +11 -0
- package/dist-server/graphql/resolvers/connection/create-connection.js.map +1 -0
- package/dist-server/graphql/resolvers/connection/delete-connection.js +12 -0
- package/dist-server/graphql/resolvers/connection/delete-connection.js.map +1 -0
- package/dist-server/graphql/resolvers/connection/delete-connections.js +16 -0
- package/dist-server/graphql/resolvers/connection/delete-connections.js.map +1 -0
- package/dist-server/graphql/resolvers/connection/disconnect-connection.js +20 -0
- package/dist-server/graphql/resolvers/connection/disconnect-connection.js.map +1 -0
- package/dist-server/graphql/resolvers/connection/fetch-connection-state.js +18 -0
- package/dist-server/graphql/resolvers/connection/fetch-connection-state.js.map +1 -0
- package/dist-server/graphql/resolvers/connection/index.js +36 -0
- package/dist-server/graphql/resolvers/connection/index.js.map +1 -0
- package/dist-server/graphql/resolvers/connection/update-connection.js +15 -0
- package/dist-server/graphql/resolvers/connection/update-connection.js.map +1 -0
- package/dist-server/graphql/resolvers/connection/update-multiple-connection.js +30 -0
- package/dist-server/graphql/resolvers/connection/update-multiple-connection.js.map +1 -0
- package/dist-server/graphql/resolvers/connector/connector.js +27 -0
- package/dist-server/graphql/resolvers/connector/connector.js.map +1 -0
- package/dist-server/graphql/resolvers/connector/connectors.js +28 -0
- package/dist-server/graphql/resolvers/connector/connectors.js.map +1 -0
- package/dist-server/graphql/resolvers/connector/index.js +27 -0
- package/dist-server/graphql/resolvers/connector/index.js.map +1 -0
- package/dist-server/graphql/resolvers/data/index.js +25 -0
- package/dist-server/graphql/resolvers/data/index.js.map +1 -0
- package/dist-server/graphql/resolvers/data/subscribe-data.js +34 -0
- package/dist-server/graphql/resolvers/data/subscribe-data.js.map +1 -0
- package/dist-server/graphql/resolvers/index.js +18 -0
- package/dist-server/graphql/resolvers/index.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/copy-scenarios.js +62 -0
- package/dist-server/graphql/resolvers/scenario/copy-scenarios.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/create-scenario.js +14 -0
- package/dist-server/graphql/resolvers/scenario/create-scenario.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/delete-scenario.js +12 -0
- package/dist-server/graphql/resolvers/scenario/delete-scenario.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/delete-scenarios.js +16 -0
- package/dist-server/graphql/resolvers/scenario/delete-scenarios.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/index.js +39 -0
- package/dist-server/graphql/resolvers/scenario/index.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/run-scenario.js +37 -0
- package/dist-server/graphql/resolvers/scenario/run-scenario.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/scenario-instance-log.js +41 -0
- package/dist-server/graphql/resolvers/scenario/scenario-instance-log.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/scenario-instance-query.js +44 -0
- package/dist-server/graphql/resolvers/scenario/scenario-instance-query.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/scenario-instance-state.js +50 -0
- package/dist-server/graphql/resolvers/scenario/scenario-instance-state.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/scenario-query.js +46 -0
- package/dist-server/graphql/resolvers/scenario/scenario-query.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/scenario-queue-state.js +42 -0
- package/dist-server/graphql/resolvers/scenario/scenario-queue-state.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/start-scenario.js +26 -0
- package/dist-server/graphql/resolvers/scenario/start-scenario.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/stop-scenario.js +26 -0
- package/dist-server/graphql/resolvers/scenario/stop-scenario.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/update-multiple-scenario.js +30 -0
- package/dist-server/graphql/resolvers/scenario/update-multiple-scenario.js.map +1 -0
- package/dist-server/graphql/resolvers/scenario/update-scenario.js +20 -0
- package/dist-server/graphql/resolvers/scenario/update-scenario.js.map +1 -0
- package/dist-server/graphql/resolvers/step/create-step.js +14 -0
- package/dist-server/graphql/resolvers/step/create-step.js.map +1 -0
- package/dist-server/graphql/resolvers/step/delete-step.js +12 -0
- package/dist-server/graphql/resolvers/step/delete-step.js.map +1 -0
- package/dist-server/graphql/resolvers/step/delete-steps.js +16 -0
- package/dist-server/graphql/resolvers/step/delete-steps.js.map +1 -0
- package/dist-server/graphql/resolvers/step/index.js +31 -0
- package/dist-server/graphql/resolvers/step/index.js.map +1 -0
- package/dist-server/graphql/resolvers/step/step-query.js +25 -0
- package/dist-server/graphql/resolvers/step/step-query.js.map +1 -0
- package/dist-server/graphql/resolvers/step/update-multiple-step.js +20 -0
- package/dist-server/graphql/resolvers/step/update-multiple-step.js.map +1 -0
- package/dist-server/graphql/resolvers/step/update-step.js +15 -0
- package/dist-server/graphql/resolvers/step/update-step.js.map +1 -0
- package/dist-server/graphql/resolvers/task-type/index.js +27 -0
- package/dist-server/graphql/resolvers/task-type/index.js.map +1 -0
- package/dist-server/graphql/resolvers/task-type/task-type.js +17 -0
- package/dist-server/graphql/resolvers/task-type/task-type.js.map +1 -0
- package/dist-server/graphql/resolvers/task-type/task-types.js +68 -0
- package/dist-server/graphql/resolvers/task-type/task-types.js.map +1 -0
- package/dist-server/graphql/resolvers/video/index.js +25 -0
- package/dist-server/graphql/resolvers/video/index.js.map +1 -0
- package/dist-server/graphql/resolvers/video/subscribe-video.js +20 -0
- package/dist-server/graphql/resolvers/video/subscribe-video.js.map +1 -0
- package/dist-server/graphql/types/connection/connection-list.js +14 -0
- package/dist-server/graphql/types/connection/connection-list.js.map +1 -0
- package/dist-server/graphql/types/connection/connection-patch.js +20 -0
- package/dist-server/graphql/types/connection/connection-patch.js.map +1 -0
- package/dist-server/graphql/types/connection/connection-state.js +24 -0
- package/dist-server/graphql/types/connection/connection-state.js.map +1 -0
- package/dist-server/graphql/types/connection/connection.js +25 -0
- package/dist-server/graphql/types/connection/connection.js.map +1 -0
- package/dist-server/graphql/types/connection/domain-connection.js +13 -0
- package/dist-server/graphql/types/connection/domain-connection.js.map +1 -0
- package/dist-server/graphql/types/connection/index.js +46 -0
- package/dist-server/graphql/types/connection/index.js.map +1 -0
- package/dist-server/graphql/types/connection/new-connection.js +17 -0
- package/dist-server/graphql/types/connection/new-connection.js.map +1 -0
- package/dist-server/graphql/types/connector/connector-list.js +14 -0
- package/dist-server/graphql/types/connector/connector-list.js.map +1 -0
- package/dist-server/graphql/types/connector/connector.js +17 -0
- package/dist-server/graphql/types/connector/connector.js.map +1 -0
- package/dist-server/graphql/types/connector/index.js +27 -0
- package/dist-server/graphql/types/connector/index.js.map +1 -0
- package/dist-server/graphql/types/data/data.js +15 -0
- package/dist-server/graphql/types/data/data.js.map +1 -0
- package/dist-server/graphql/types/data/index.js +24 -0
- package/dist-server/graphql/types/data/index.js.map +1 -0
- package/dist-server/graphql/types/index.js +19 -0
- package/dist-server/graphql/types/index.js.map +1 -0
- package/dist-server/graphql/types/property-spec.js +17 -0
- package/dist-server/graphql/types/property-spec.js.map +1 -0
- package/dist-server/graphql/types/scenario/domain-scenario.js +14 -0
- package/dist-server/graphql/types/scenario/domain-scenario.js.map +1 -0
- package/dist-server/graphql/types/scenario/index.js +53 -0
- package/dist-server/graphql/types/scenario/index.js.map +1 -0
- package/dist-server/graphql/types/scenario/new-scenario.js +18 -0
- package/dist-server/graphql/types/scenario/new-scenario.js.map +1 -0
- package/dist-server/graphql/types/scenario/pending-object.js +16 -0
- package/dist-server/graphql/types/scenario/pending-object.js.map +1 -0
- package/dist-server/graphql/types/scenario/scenario-instance-list.js +14 -0
- package/dist-server/graphql/types/scenario/scenario-instance-list.js.map +1 -0
- package/dist-server/graphql/types/scenario/scenario-instance.js +37 -0
- package/dist-server/graphql/types/scenario/scenario-instance.js.map +1 -0
- package/dist-server/graphql/types/scenario/scenario-list.js +14 -0
- package/dist-server/graphql/types/scenario/scenario-list.js.map +1 -0
- package/dist-server/graphql/types/scenario/scenario-patch.js +20 -0
- package/dist-server/graphql/types/scenario/scenario-patch.js.map +1 -0
- package/dist-server/graphql/types/scenario/scenario-queue-state.js +14 -0
- package/dist-server/graphql/types/scenario/scenario-queue-state.js.map +1 -0
- package/dist-server/graphql/types/scenario/scenario.js +27 -0
- package/dist-server/graphql/types/scenario/scenario.js.map +1 -0
- package/dist-server/graphql/types/step/index.js +36 -0
- package/dist-server/graphql/types/step/index.js.map +1 -0
- package/dist-server/graphql/types/step/new-step.js +20 -0
- package/dist-server/graphql/types/step/new-step.js.map +1 -0
- package/dist-server/graphql/types/step/step-list.js +14 -0
- package/dist-server/graphql/types/step/step-list.js.map +1 -0
- package/dist-server/graphql/types/step/step-patch.js +22 -0
- package/dist-server/graphql/types/step/step-patch.js.map +1 -0
- package/dist-server/graphql/types/step/step.js +27 -0
- package/dist-server/graphql/types/step/step.js.map +1 -0
- package/dist-server/graphql/types/task-type/index.js +27 -0
- package/dist-server/graphql/types/task-type/index.js.map +1 -0
- package/dist-server/graphql/types/task-type/task-type-list.js +14 -0
- package/dist-server/graphql/types/task-type/task-type-list.js.map +1 -0
- package/dist-server/graphql/types/task-type/task-type.js +17 -0
- package/dist-server/graphql/types/task-type/task-type.js.map +1 -0
- package/dist-server/graphql/types/video/index.js +24 -0
- package/dist-server/graphql/types/video/index.js.map +1 -0
- package/dist-server/graphql/types/video/video.js +17 -0
- package/dist-server/graphql/types/video/video.js.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.DataResolver = void 0;
|
|
23
|
+
const data = __importStar(require("./subscribe-data"));
|
|
24
|
+
exports.DataResolver = data;
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/data/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAwC;AAE3B,QAAA,YAAY,GAAG,IAAI,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Subscription = void 0;
|
|
4
|
+
const shell_1 = require("@things-factory/shell");
|
|
5
|
+
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
6
|
+
const debug = require('debug')('things-factory:integraton-base:subscribe-data');
|
|
7
|
+
exports.Subscription = {
|
|
8
|
+
data: {
|
|
9
|
+
subscribe: (_, args, context, info) => {
|
|
10
|
+
var _a;
|
|
11
|
+
const { domain, user } = context.state;
|
|
12
|
+
const { tag } = args;
|
|
13
|
+
const subdomain = domain === null || domain === void 0 ? void 0 : domain.subdomain;
|
|
14
|
+
debug('subscribe', subdomain, tag);
|
|
15
|
+
if (!domain || !tag) {
|
|
16
|
+
throw new Error('domain and tag required');
|
|
17
|
+
}
|
|
18
|
+
if (!((_a = user.domains) === null || _a === void 0 ? void 0 : _a.find(d => d.subdomain === subdomain))) {
|
|
19
|
+
throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`);
|
|
20
|
+
}
|
|
21
|
+
return graphql_subscriptions_1.withFilter(() => shell_1.pubsub.asyncIterator('data'), (payload, variables, context, info) => {
|
|
22
|
+
const { domain: pdomain, tag } = payload.data;
|
|
23
|
+
if (tag !== variables.tag) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
if (subdomain !== (pdomain === null || pdomain === void 0 ? void 0 : pdomain.subdomain)) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
return true;
|
|
30
|
+
})(_, args, context, info);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=subscribe-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribe-data.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/data/subscribe-data.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAC9C,iEAAkD;AAElD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,+CAA+C,CAAC,CAAA;AAElE,QAAA,YAAY,GAAG;IAC1B,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;;YACpC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACtC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;YACpB,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;YAEnC,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;YAElC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE;gBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;aAC3C;YAED,IAAI,QAAC,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,EAAC,EAAE;gBACvD,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;aAChF;YAED,OAAO,kCAAU,CACf,GAAG,EAAE,CAAC,cAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAClC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;gBACpC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAA;gBAE7C,IAAI,GAAG,KAAK,SAAS,CAAC,GAAG,EAAE;oBACzB,OAAO,KAAK,CAAA;iBACb;gBAED,IAAI,SAAS,MAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA,EAAE;oBACpC,OAAO,KAAK,CAAA;iBACb;gBAED,OAAO,IAAI,CAAA;YACb,CAAC,CACF,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAC3B,CAAC;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./connection"), exports);
|
|
14
|
+
__exportStar(require("./step"), exports);
|
|
15
|
+
__exportStar(require("./task-type"), exports);
|
|
16
|
+
__exportStar(require("./scenario"), exports);
|
|
17
|
+
__exportStar(require("./connector"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/graphql/resolvers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA4B;AAC5B,yCAAsB;AACtB,8CAA2B;AAC3B,6CAA0B;AAC1B,8CAA2B"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Mutation = void 0;
|
|
7
|
+
const typeorm_1 = require("typeorm");
|
|
8
|
+
const entities_1 = require("../../../entities");
|
|
9
|
+
const engine_1 = require("../../../engine");
|
|
10
|
+
const types_1 = require("../../../engine/types");
|
|
11
|
+
const v4_1 = __importDefault(require("uuid/v4"));
|
|
12
|
+
exports.Mutation = {
|
|
13
|
+
async copyScenarios(_, { ids }, context) {
|
|
14
|
+
const { domain, user, tx } = context.state;
|
|
15
|
+
const originals = await tx.getRepository(entities_1.Scenario).find({
|
|
16
|
+
where: {
|
|
17
|
+
id: typeorm_1.In(ids),
|
|
18
|
+
domain
|
|
19
|
+
},
|
|
20
|
+
relations: ['domain', 'steps']
|
|
21
|
+
});
|
|
22
|
+
if (originals.length == 0)
|
|
23
|
+
return false;
|
|
24
|
+
var newSteps = [];
|
|
25
|
+
var newCopys = originals.map(scenario => {
|
|
26
|
+
let scenarioId = v4_1.default();
|
|
27
|
+
newSteps.push(...scenario.steps.map(step => {
|
|
28
|
+
return {
|
|
29
|
+
scenario: scenarioId,
|
|
30
|
+
name: step.name,
|
|
31
|
+
description: step.description,
|
|
32
|
+
sequence: step.sequence,
|
|
33
|
+
task: step.task,
|
|
34
|
+
connection: step.connection,
|
|
35
|
+
params: step.params,
|
|
36
|
+
domain,
|
|
37
|
+
creator: user,
|
|
38
|
+
updater: user
|
|
39
|
+
};
|
|
40
|
+
}));
|
|
41
|
+
return {
|
|
42
|
+
id: scenarioId,
|
|
43
|
+
name: scenario.name + ' (' + scenarioId + ')',
|
|
44
|
+
type: scenario.type,
|
|
45
|
+
description: scenario.description,
|
|
46
|
+
active: false,
|
|
47
|
+
schedule: scenario.schedule,
|
|
48
|
+
timezone: scenario.timezone,
|
|
49
|
+
domain,
|
|
50
|
+
creator: user,
|
|
51
|
+
updater: user
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
var copiedScenarios = await tx.getRepository(entities_1.Scenario).save(newCopys);
|
|
55
|
+
var copiedSteps = await tx.getRepository(entities_1.Step).save(newSteps);
|
|
56
|
+
return copiedScenarios.map(scenario => {
|
|
57
|
+
scenario.steps = copiedSteps.filter(step => step.scenario == scenario.id);
|
|
58
|
+
return Object.assign(Object.assign({}, scenario), { state: engine_1.ScenarioInstanceStatus[types_1.SCENARIO_STATE.UNLOADED] });
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=copy-scenarios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-scenarios.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/scenario/copy-scenarios.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA4B;AAC5B,gDAAkD;AAClD,4CAAwD;AACxD,iDAAsD;AAEtD,iDAA0B;AAEb,QAAA,QAAQ,GAAG;IACtB,KAAK,CAAC,aAAa,CAAC,CAAM,EAAE,EAAE,GAAG,EAAE,EAAE,OAAY;QAC/C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,IAAI,CAAC;YACtD,KAAK,EAAE;gBACL,EAAE,EAAE,YAAE,CAAC,GAAG,CAAC;gBACX,MAAM;aACP;YACD,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;SAC/B,CAAC,CAAA;QAEF,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;QAEvC,IAAI,QAAQ,GAAG,EAAE,CAAA;QAEjB,IAAI,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACtC,IAAI,UAAU,GAAG,YAAI,EAAE,CAAA;YACvB,QAAQ,CAAC,IAAI,CACX,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC3B,OAAO;oBACL,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;oBAEnB,MAAM;oBACN,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;iBACd,CAAA;YACH,CAAC,CAAC,CACH,CAAA;YAED,OAAO;gBACL,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,UAAU,GAAG,GAAG;gBAC7C,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAE3B,MAAM;gBACN,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;aACd,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,eAAe,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrE,IAAI,WAAW,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,eAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE7D,OAAO,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACpC,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAA;YACzE,uCACK,QAAQ,KACX,KAAK,EAAE,+BAAsB,CAAC,sBAAc,CAAC,QAAQ,CAAC,IACvD;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mutation = void 0;
|
|
4
|
+
const entities_1 = require("../../../entities");
|
|
5
|
+
const engine_1 = require("../../../engine");
|
|
6
|
+
const types_1 = require("../../../engine/types");
|
|
7
|
+
exports.Mutation = {
|
|
8
|
+
async createScenario(_, { scenario }, context) {
|
|
9
|
+
const { domain, user, tx } = context.state;
|
|
10
|
+
const saved = await tx.getRepository(entities_1.Scenario).save(Object.assign(Object.assign({}, scenario), { domain, creator: user, updater: user }));
|
|
11
|
+
return Object.assign(Object.assign({}, saved), { state: engine_1.ScenarioInstanceStatus[types_1.SCENARIO_STATE.UNLOADED] });
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=create-scenario.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-scenario.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/scenario/create-scenario.ts"],"names":[],"mappings":";;;AAAA,gDAA4C;AAC5C,4CAAwD;AACxD,iDAAsD;AAEzC,QAAA,QAAQ,GAAG;IACtB,KAAK,CAAC,cAAc,CAAC,CAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAY;QACrD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,IAAI,iCAC9C,QAAQ,KACX,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;QAEF,uCACK,KAAK,KACR,KAAK,EAAE,+BAAsB,CAAC,sBAAc,CAAC,QAAQ,CAAC,IACvD;IACH,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mutation = void 0;
|
|
4
|
+
const entities_1 = require("../../../entities");
|
|
5
|
+
exports.Mutation = {
|
|
6
|
+
async deleteScenario(_, { name }, context) {
|
|
7
|
+
const { domain, tx } = context.state;
|
|
8
|
+
await tx.getRepository(entities_1.Scenario).delete({ domain, name });
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=delete-scenario.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-scenario.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/scenario/delete-scenario.ts"],"names":[],"mappings":";;;AAAA,gDAA4C;AAE/B,QAAA,QAAQ,GAAG;IACtB,KAAK,CAAC,cAAc,CAAC,CAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAY;QACjD,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAEzD,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mutation = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const entities_1 = require("../../../entities");
|
|
6
|
+
exports.Mutation = {
|
|
7
|
+
async deleteScenarios(_, { ids }, context) {
|
|
8
|
+
const { domain, tx } = context.state;
|
|
9
|
+
await tx.getRepository(entities_1.Scenario).delete({
|
|
10
|
+
domain,
|
|
11
|
+
id: typeorm_1.In(ids)
|
|
12
|
+
});
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=delete-scenarios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-scenarios.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/scenario/delete-scenarios.ts"],"names":[],"mappings":";;;AAAA,qCAA4B;AAC5B,gDAA4C;AAE/B,QAAA,QAAQ,GAAG;IACtB,KAAK,CAAC,eAAe,CAAC,CAAM,EAAE,EAAE,GAAG,EAAE,EAAE,OAAY;QACjD,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,MAAM,CAAC;YACtC,MAAM;YACN,EAAE,EAAE,YAAE,CAAC,GAAG,CAAC;SACZ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.ScenarioResolver = void 0;
|
|
23
|
+
const scenarioQuery = __importStar(require("./scenario-query"));
|
|
24
|
+
const updateScenario = __importStar(require("./update-scenario"));
|
|
25
|
+
const updateMultipleScenario = __importStar(require("./update-multiple-scenario"));
|
|
26
|
+
const createScenario = __importStar(require("./create-scenario"));
|
|
27
|
+
const deleteScenario = __importStar(require("./delete-scenario"));
|
|
28
|
+
const deleteScenarios = __importStar(require("./delete-scenarios"));
|
|
29
|
+
const copyScenarios = __importStar(require("./copy-scenarios"));
|
|
30
|
+
const startScenario = __importStar(require("./start-scenario"));
|
|
31
|
+
const stopScenario = __importStar(require("./stop-scenario"));
|
|
32
|
+
const runScenario = __importStar(require("./run-scenario"));
|
|
33
|
+
const scenarioInstanceResolver = __importStar(require("./scenario-instance-query"));
|
|
34
|
+
const scenarioInstanceState = __importStar(require("./scenario-instance-state"));
|
|
35
|
+
const scenarioInstanceLog = __importStar(require("./scenario-instance-log"));
|
|
36
|
+
const scenarioQueueState = __importStar(require("./scenario-queue-state"));
|
|
37
|
+
const utils_1 = require("@things-factory/utils");
|
|
38
|
+
exports.ScenarioResolver = utils_1.deepMerge(scenarioQuery, scenarioInstanceResolver, updateScenario, updateMultipleScenario, createScenario, deleteScenario, deleteScenarios, copyScenarios, startScenario, stopScenario, runScenario, scenarioInstanceState, scenarioInstanceLog, scenarioQueueState);
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/scenario/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAiD;AAEjD,kEAAmD;AACnD,mFAAoE;AACpE,kEAAmD;AACnD,kEAAmD;AACnD,oEAAqD;AACrD,gEAAiD;AAEjD,gEAAiD;AACjD,8DAA+C;AAC/C,4DAA6C;AAE7C,oFAAqE;AACrE,iFAAkE;AAClE,6EAA8D;AAE9D,2EAA4D;AAE5D,iDAAiD;AAEpC,QAAA,gBAAgB,GAAG,iBAAS,CACvC,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,CACnB,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mutation = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const shell_1 = require("@things-factory/shell");
|
|
6
|
+
const entities_1 = require("../../../entities");
|
|
7
|
+
const engine_1 = require("../../../engine");
|
|
8
|
+
const debug = require('debug')('things-factory:integration-base:run-scenario');
|
|
9
|
+
/**
|
|
10
|
+
* 동기적인 시나리오 호출
|
|
11
|
+
* 호출된 시나리오가 종료된 후 그 결과를 리턴한다.
|
|
12
|
+
*/
|
|
13
|
+
exports.Mutation = {
|
|
14
|
+
async runScenario(_, { instanceName, scenarioName, variables }, context) {
|
|
15
|
+
const { domain } = context.state;
|
|
16
|
+
debug(scenarioName, instanceName, variables);
|
|
17
|
+
var repository = typeorm_1.getRepository(entities_1.Scenario);
|
|
18
|
+
var scenario = await repository.findOne({
|
|
19
|
+
where: { domain, name: scenarioName },
|
|
20
|
+
relations: ['domain', 'steps', 'creator', 'updater']
|
|
21
|
+
});
|
|
22
|
+
if (!scenario) {
|
|
23
|
+
throw new Error(context.t('error.scenario not found', {
|
|
24
|
+
scenario: scenarioName
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
/* 시나리오 인스턴스를 생성한다. */
|
|
28
|
+
instanceName = instanceName || scenarioName + '-' + String(Date.now());
|
|
29
|
+
var instance = new engine_1.ScenarioInstance(instanceName, scenario, {
|
|
30
|
+
variables,
|
|
31
|
+
client: shell_1.GraphqlLocalClient.client
|
|
32
|
+
});
|
|
33
|
+
await instance.run();
|
|
34
|
+
return instance;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=run-scenario.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-scenario.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/scenario/run-scenario.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,iDAA0D;AAC1D,gDAA4C;AAC5C,4CAA0E;AAE1E,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,8CAA8C,CAAC,CAAA;AAE9E;;;GAGG;AACU,QAAA,QAAQ,GAAG;IACtB,KAAK,CAAC,WAAW,CAAC,CAAM,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAY;QAC/E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;QAE5C,IAAI,UAAU,GAAG,uBAAa,CAAC,mBAAQ,CAAC,CAAA;QACxC,IAAI,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACtC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;YACrC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;SACrD,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE;gBACpC,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAA;SACF;QAED,sBAAsB;QACtB,YAAY,GAAG,YAAY,IAAI,YAAY,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QACtE,IAAI,QAAQ,GAAG,IAAI,yBAAgB,CAAC,YAAY,EAAE,QAAQ,EAAE;YAC1D,SAAS;YACT,MAAM,EAAE,0BAAkB,CAAC,MAAM;SAClC,CAAC,CAAA;QACF,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAA;QAEpB,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Subscription = void 0;
|
|
4
|
+
const shell_1 = require("@things-factory/shell");
|
|
5
|
+
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
6
|
+
const debug = require('debug')('things-factory:integraton-base:scenario-instance-log');
|
|
7
|
+
exports.Subscription = {
|
|
8
|
+
scenarioInstanceLog: {
|
|
9
|
+
subscribe: (_, args, context, info) => {
|
|
10
|
+
var _a;
|
|
11
|
+
const { domain, user } = context.state;
|
|
12
|
+
const { instanceName, scenarioName, level } = args;
|
|
13
|
+
const subdomain = domain === null || domain === void 0 ? void 0 : domain.subdomain;
|
|
14
|
+
debug('subscribe', subdomain, scenarioName, instanceName);
|
|
15
|
+
if (!domain) {
|
|
16
|
+
throw new Error('domain required');
|
|
17
|
+
}
|
|
18
|
+
if (!((_a = user.domains) === null || _a === void 0 ? void 0 : _a.find(d => d.subdomain === subdomain))) {
|
|
19
|
+
throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`);
|
|
20
|
+
}
|
|
21
|
+
return graphql_subscriptions_1.withFilter(() => shell_1.pubsub.asyncIterator('scenario-instance-log'), (payload, variables, context, info) => {
|
|
22
|
+
const { source, level: plevel } = payload.scenarioInstanceLog;
|
|
23
|
+
const { domain: pdomain, scenarioName: pscenarioName, instanceName: pinstanceName } = source;
|
|
24
|
+
if (subdomain !== (pdomain === null || pdomain === void 0 ? void 0 : pdomain.subdomain)) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
if (scenarioName && pscenarioName !== scenarioName) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
if (instanceName && pinstanceName !== instanceName) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
if (level && level !== plevel) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
})(_, args, context, info);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=scenario-instance-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-instance-log.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/scenario/scenario-instance-log.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAC9C,iEAAkD;AAElD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,sDAAsD,CAAC,CAAA;AAEzE,QAAA,YAAY,GAAG;IAC1B,mBAAmB,EAAE;QACnB,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;;YACpC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACtC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;YAClD,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;YAEnC,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;YAEzD,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;aACnC;YAED,IAAI,QAAC,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,EAAC,EAAE;gBACvD,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;aAChF;YAED,OAAO,kCAAU,CACf,GAAG,EAAE,CAAC,cAAM,CAAC,aAAa,CAAC,uBAAuB,CAAC,EACnD,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;gBACpC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAA;gBAC7D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;gBAE5F,IAAI,SAAS,MAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA,EAAE;oBACpC,OAAO,KAAK,CAAA;iBACb;gBAED,IAAI,YAAY,IAAI,aAAa,KAAK,YAAY,EAAE;oBAClD,OAAO,KAAK,CAAA;iBACb;gBAED,IAAI,YAAY,IAAI,aAAa,KAAK,YAAY,EAAE;oBAClD,OAAO,KAAK,CAAA;iBACb;gBAED,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM,EAAE;oBAC7B,OAAO,KAAK,CAAA;iBACb;gBAED,OAAO,IAAI,CAAA;YACb,CAAC,CACF,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAC3B,CAAC;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScenarioInstance = exports.Query = void 0;
|
|
4
|
+
const engine_1 = require("../../../engine");
|
|
5
|
+
const shell_1 = require("@things-factory/shell");
|
|
6
|
+
exports.Query = {
|
|
7
|
+
scenarioInstance(_, { instanceName }, context) {
|
|
8
|
+
const { domain } = context.state;
|
|
9
|
+
return engine_1.ScenarioEngine.getScenarioInstance(domain, instanceName);
|
|
10
|
+
},
|
|
11
|
+
scenarioInstances(_, params, context) {
|
|
12
|
+
const { domain } = context.state;
|
|
13
|
+
var scenarioInstances = engine_1.ScenarioEngine.getScenarioInstances(domain);
|
|
14
|
+
/* IMPLEMENT-ME 검색 기능.. */
|
|
15
|
+
const convertedParams = shell_1.convertListParams(params, domain.id);
|
|
16
|
+
var items = scenarioInstances;
|
|
17
|
+
return {
|
|
18
|
+
items,
|
|
19
|
+
total: items.length
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.ScenarioInstance = {
|
|
24
|
+
async root(instance) {
|
|
25
|
+
var _a;
|
|
26
|
+
return (_a = instance.context) === null || _a === void 0 ? void 0 : _a.root;
|
|
27
|
+
},
|
|
28
|
+
async state(instance) {
|
|
29
|
+
var _a;
|
|
30
|
+
return engine_1.ScenarioInstanceStatus[(_a = instance.context) === null || _a === void 0 ? void 0 : _a.state];
|
|
31
|
+
},
|
|
32
|
+
async variables(instance) {
|
|
33
|
+
var _a;
|
|
34
|
+
return (_a = instance.context) === null || _a === void 0 ? void 0 : _a.variables;
|
|
35
|
+
},
|
|
36
|
+
async data(instance) {
|
|
37
|
+
var _a;
|
|
38
|
+
return (_a = instance.context) === null || _a === void 0 ? void 0 : _a.data;
|
|
39
|
+
},
|
|
40
|
+
async timestamp(instance) {
|
|
41
|
+
return String(Date.now());
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=scenario-instance-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-instance-query.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/scenario/scenario-instance-query.ts"],"names":[],"mappings":";;;AAAA,4CAAwE;AACxE,iDAAoE;AAEvD,QAAA,KAAK,GAAG;IACnB,gBAAgB,CAAC,CAAM,EAAE,EAAE,YAAY,EAAE,EAAE,OAAY;QACrD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,uBAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACjE,CAAC;IAED,iBAAiB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;QACvD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,IAAI,iBAAiB,GAAG,uBAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACnE,0BAA0B;QAC1B,MAAM,eAAe,GAAG,yBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QAE5D,IAAI,KAAK,GAAG,iBAAiB,CAAA;QAE7B,OAAO;YACL,KAAK;YACL,KAAK,EAAE,KAAK,CAAC,MAAM;SACpB,CAAA;IACH,CAAC;CACF,CAAA;AAEY,QAAA,gBAAgB,GAAG;IAC9B,KAAK,CAAC,IAAI,CAAC,QAAQ;;QACjB,aAAO,QAAQ,CAAC,OAAO,0CAAE,IAAI,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAQ;;QAClB,OAAO,+BAAsB,OAAC,QAAQ,CAAC,OAAO,0CAAE,KAAK,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAQ;;QACtB,aAAO,QAAQ,CAAC,OAAO,0CAAE,SAAS,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ;;QACjB,aAAO,QAAQ,CAAC,OAAO,0CAAE,IAAI,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAQ;QACtB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAC3B,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Subscription = void 0;
|
|
4
|
+
const shell_1 = require("@things-factory/shell");
|
|
5
|
+
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
6
|
+
const engine_1 = require("../../../engine");
|
|
7
|
+
const debug = require('debug')('things-factory:integraton-base:scenario-instance-state');
|
|
8
|
+
exports.Subscription = {
|
|
9
|
+
scenarioInstanceState: {
|
|
10
|
+
subscribe: (_, args, context, info) => {
|
|
11
|
+
var _a;
|
|
12
|
+
const { domain, user } = context.state;
|
|
13
|
+
const { instanceName, scenarioName } = args;
|
|
14
|
+
const subdomain = domain === null || domain === void 0 ? void 0 : domain.subdomain;
|
|
15
|
+
debug('subscribe', subdomain, scenarioName, instanceName);
|
|
16
|
+
if (!domain) {
|
|
17
|
+
throw new Error('domain required');
|
|
18
|
+
}
|
|
19
|
+
if (!((_a = user.domains) === null || _a === void 0 ? void 0 : _a.find(d => d.subdomain === subdomain))) {
|
|
20
|
+
throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`);
|
|
21
|
+
}
|
|
22
|
+
process.nextTick(() => {
|
|
23
|
+
engine_1.ScenarioEngine.getScenarioInstances(domain)
|
|
24
|
+
.filter(instance => {
|
|
25
|
+
return ((!instanceName || instance.instanceName === instanceName) &&
|
|
26
|
+
(!scenarioName || instance.scenarioName === scenarioName));
|
|
27
|
+
})
|
|
28
|
+
.forEach(instance => {
|
|
29
|
+
shell_1.pubsub.publish('scenario-instance-state', {
|
|
30
|
+
scenarioInstanceState: instance.serialize()
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
return graphql_subscriptions_1.withFilter(() => shell_1.pubsub.asyncIterator('scenario-instance-state'), (payload, variables, context, info) => {
|
|
35
|
+
const { domain: pdomain, scenarioName: pscenarioName, instanceName: pinstanceName } = payload.scenarioInstanceState;
|
|
36
|
+
if (subdomain !== (pdomain === null || pdomain === void 0 ? void 0 : pdomain.subdomain)) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
if (scenarioName && pscenarioName !== scenarioName) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
if (instanceName && pinstanceName !== instanceName) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
return true;
|
|
46
|
+
})(_, args, context, info);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=scenario-instance-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-instance-state.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/scenario/scenario-instance-state.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAC9C,iEAAkD;AAElD,4CAAgD;AAEhD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,wDAAwD,CAAC,CAAA;AAE3E,QAAA,YAAY,GAAG;IAC1B,qBAAqB,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;;YACpC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACtC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;YAC3C,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;YAEnC,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;YAEzD,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;aACnC;YAED,IAAI,QAAC,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,EAAC,EAAE;gBACvD,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;aAChF;YAED,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;gBACpB,uBAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC;qBACxC,MAAM,CAAC,QAAQ,CAAC,EAAE;oBACjB,OAAO,CACL,CAAC,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,CAAC;wBACzD,CAAC,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,CAAC,CAC1D,CAAA;gBACH,CAAC,CAAC;qBACD,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAClB,cAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE;wBACxC,qBAAqB,EAAE,QAAQ,CAAC,SAAS,EAAE;qBAC5C,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;YAEF,OAAO,kCAAU,CACf,GAAG,EAAE,CAAC,cAAM,CAAC,aAAa,CAAC,yBAAyB,CAAC,EACrD,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;gBACpC,MAAM,EACJ,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,aAAa,EAC5B,GAAG,OAAO,CAAC,qBAAqB,CAAA;gBAEjC,IAAI,SAAS,MAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA,EAAE;oBACpC,OAAO,KAAK,CAAA;iBACb;gBAED,IAAI,YAAY,IAAI,aAAa,KAAK,YAAY,EAAE;oBAClD,OAAO,KAAK,CAAA;iBACb;gBAED,IAAI,YAAY,IAAI,aAAa,KAAK,YAAY,EAAE;oBAClD,OAAO,KAAK,CAAA;iBACb;gBAED,OAAO,IAAI,CAAA;YACb,CAAC,CACF,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAC3B,CAAC;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Domain = exports.Scenario = exports.Query = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const shell_1 = require("@things-factory/shell");
|
|
6
|
+
const entities_1 = require("../../../entities");
|
|
7
|
+
const engine_1 = require("../../../engine");
|
|
8
|
+
exports.Query = {
|
|
9
|
+
async scenario(_, { id }, context) {
|
|
10
|
+
const { domain } = context.state;
|
|
11
|
+
return await typeorm_1.getRepository(entities_1.Scenario).findOne({
|
|
12
|
+
where: { domain, id },
|
|
13
|
+
relations: ['domain', 'creator', 'updater']
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
async scenarios(_, params, context) {
|
|
17
|
+
const { domain } = context.state;
|
|
18
|
+
const convertedParams = shell_1.convertListParams(params, domain.id);
|
|
19
|
+
const [items, total] = await typeorm_1.getRepository(entities_1.Scenario).findAndCount(Object.assign(Object.assign({}, convertedParams), { relations: ['domain', 'creator', 'updater'] }));
|
|
20
|
+
return { items, total };
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.Scenario = {
|
|
24
|
+
async steps(scenario, {}, context) {
|
|
25
|
+
const { domain } = context.state;
|
|
26
|
+
return await typeorm_1.getRepository(entities_1.Step).find({
|
|
27
|
+
where: { domain, scenario }
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
async state(scenario) {
|
|
31
|
+
var _a;
|
|
32
|
+
var instance = engine_1.ScenarioEngine.getScenarioInstance(scenario.domain, scenario.name);
|
|
33
|
+
return instance && engine_1.ScenarioInstanceStatus[(_a = instance.context) === null || _a === void 0 ? void 0 : _a.state];
|
|
34
|
+
},
|
|
35
|
+
async instances(scenario, {}, context) {
|
|
36
|
+
return engine_1.ScenarioEngine.getScenarioInstances(scenario.domain, scenario.name);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
exports.Domain = {
|
|
40
|
+
async scenarios(domain, {}, context) {
|
|
41
|
+
return await typeorm_1.getRepository(entities_1.Scenario).find({
|
|
42
|
+
where: { domain }
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=scenario-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-query.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/scenario/scenario-query.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,iDAAoE;AACpE,gDAAoE;AACpE,4CAAwE;AAE3D,QAAA,KAAK,GAAG;IACnB,KAAK,CAAC,QAAQ,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAY;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,uBAAa,CAAC,mBAAc,CAAC,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACrB,SAAS,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;SAC5C,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;QACrD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,eAAe,GAAG,yBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QAC5D,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,uBAAa,CAAC,mBAAc,CAAC,CAAC,YAAY,iCAClE,eAAe,KAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,IAC3C,CAAA;QAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;CACF,CAAA;AAEY,QAAA,QAAQ,GAAG;IACtB,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAY;QACpC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,uBAAa,CAAC,eAAI,CAAC,CAAC,IAAI,CAAC;YACpC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC5B,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAQ;;QAClB,IAAI,QAAQ,GAAG,uBAAc,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QACjF,OAAO,QAAQ,IAAI,+BAAsB,OAAC,QAAQ,CAAC,OAAO,0CAAE,KAAK,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAY;QACxC,OAAO,uBAAc,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5E,CAAC;CACF,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,OAAY;QACtC,OAAO,MAAM,uBAAa,CAAC,mBAAc,CAAC,CAAC,IAAI,CAAC;YAC9C,KAAK,EAAE,EAAE,MAAM,EAAE;SAClB,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Subscription = void 0;
|
|
4
|
+
const shell_1 = require("@things-factory/shell");
|
|
5
|
+
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
6
|
+
const engine_1 = require("../../../engine");
|
|
7
|
+
const debug = require('debug')('things-factory:integraton-base:scenario-queue-state');
|
|
8
|
+
exports.Subscription = {
|
|
9
|
+
scenarioQueueState: {
|
|
10
|
+
subscribe: (_, args, context, info) => {
|
|
11
|
+
var _a;
|
|
12
|
+
const { domain, user } = context.state;
|
|
13
|
+
const subdomain = domain === null || domain === void 0 ? void 0 : domain.subdomain;
|
|
14
|
+
debug('subscribe', subdomain);
|
|
15
|
+
if (!domain) {
|
|
16
|
+
throw new Error('domain required.');
|
|
17
|
+
}
|
|
18
|
+
if (!((_a = user.domains) === null || _a === void 0 ? void 0 : _a.find(d => d.subdomain === subdomain))) {
|
|
19
|
+
throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`);
|
|
20
|
+
}
|
|
21
|
+
process.nextTick(async () => {
|
|
22
|
+
var queue = engine_1.ScenarioEngine.getPendingQueue(domain);
|
|
23
|
+
if (queue) {
|
|
24
|
+
shell_1.pubsub.publish('scenario-queue-state', {
|
|
25
|
+
scenarioQueueState: {
|
|
26
|
+
domain,
|
|
27
|
+
queue: queue.queue
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
return graphql_subscriptions_1.withFilter(() => shell_1.pubsub.asyncIterator('scenario-queue-state'), (payload, variables, context, info) => {
|
|
33
|
+
const { domain: pdomain } = payload.scenarioQueueState;
|
|
34
|
+
if ((pdomain === null || pdomain === void 0 ? void 0 : pdomain.subdomain) !== subdomain) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
})(_, args, context, info);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=scenario-queue-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-queue-state.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/scenario/scenario-queue-state.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAC9C,iEAAkD;AAElD,4CAAgD;AAEhD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,qDAAqD,CAAC,CAAA;AAExE,QAAA,YAAY,GAAG;IAC1B,kBAAkB,EAAE;QAClB,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;;YACpC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACtC,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;YAEnC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;YAE7B,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;aACpC;YAED,IAAI,QAAC,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,EAAC,EAAE;gBACvD,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;aAChF;YAED,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;gBAC1B,IAAI,KAAK,GAAG,uBAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;gBAClD,IAAI,KAAK,EAAE;oBACT,cAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE;wBACrC,kBAAkB,EAAE;4BAClB,MAAM;4BACN,KAAK,EAAE,KAAK,CAAC,KAAK;yBACnB;qBACF,CAAC,CAAA;iBACH;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,kCAAU,CACf,GAAG,EAAE,CAAC,cAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,EAClD,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;gBACpC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAA;gBAEtD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,MAAK,SAAS,EAAE;oBACpC,OAAO,KAAK,CAAA;iBACb;gBAED,OAAO,IAAI,CAAA;YACb,CAAC,CACF,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAC3B,CAAC;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mutation = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const entities_1 = require("../../../entities");
|
|
6
|
+
const engine_1 = require("../../../engine");
|
|
7
|
+
const debug = require('debug')('things-factory:integration-base:start-scenario');
|
|
8
|
+
exports.Mutation = {
|
|
9
|
+
async startScenario(_, { instanceName, scenarioName, variables }, context) {
|
|
10
|
+
const { domain } = context.state;
|
|
11
|
+
debug(instanceName, scenarioName, variables);
|
|
12
|
+
var repository = typeorm_1.getRepository(entities_1.Scenario);
|
|
13
|
+
var scenario = await repository.findOne({
|
|
14
|
+
where: { domain, name: scenarioName },
|
|
15
|
+
relations: ['domain', 'steps', 'creator', 'updater']
|
|
16
|
+
});
|
|
17
|
+
if (!scenario) {
|
|
18
|
+
throw new Error(context.t('error.scenario not found', {
|
|
19
|
+
scenario: scenarioName
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
instanceName = instanceName || scenarioName;
|
|
23
|
+
return await engine_1.ScenarioEngine.load(instanceName, scenario, { variables });
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=start-scenario.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-scenario.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/scenario/start-scenario.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,gDAA4C;AAC5C,4CAAgD;AAEhD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,gDAAgD,CAAC,CAAA;AAEnE,QAAA,QAAQ,GAAG;IACtB,KAAK,CAAC,aAAa,CAAC,CAAM,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAY;QACjF,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;QAE5C,IAAI,UAAU,GAAG,uBAAa,CAAC,mBAAQ,CAAC,CAAA;QACxC,IAAI,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACtC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;YACrC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;SACrD,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE;gBACpC,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAA;SACF;QAED,YAAY,GAAG,YAAY,IAAI,YAAY,CAAA;QAC3C,OAAO,MAAM,uBAAc,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;IACzE,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mutation = void 0;
|
|
4
|
+
const engine_1 = require("../../../engine");
|
|
5
|
+
const types_1 = require("../../../engine/types");
|
|
6
|
+
const debug = require('debug')('things-factory:integration-base:stop-scenario');
|
|
7
|
+
exports.Mutation = {
|
|
8
|
+
async stopScenario(_, { instanceName }, context) {
|
|
9
|
+
const { domain } = context.state;
|
|
10
|
+
debug(instanceName);
|
|
11
|
+
var scenarioInstance = engine_1.ScenarioEngine.getScenarioInstance(domain, instanceName);
|
|
12
|
+
if (!scenarioInstance) {
|
|
13
|
+
debug(`ScenarioInstance(${instanceName}) Not Found.`);
|
|
14
|
+
return {
|
|
15
|
+
instanceName,
|
|
16
|
+
scenarioName: '',
|
|
17
|
+
state: engine_1.ScenarioInstanceStatus[types_1.SCENARIO_STATE.UNLOADED],
|
|
18
|
+
timestamp: String(Date.now())
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const { scenarioName } = scenarioInstance;
|
|
22
|
+
await engine_1.ScenarioEngine.unload(domain, instanceName);
|
|
23
|
+
return scenarioInstance;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=stop-scenario.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop-scenario.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/scenario/stop-scenario.ts"],"names":[],"mappings":";;;AAAA,4CAAwE;AACxE,iDAAsD;AAEtD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,+CAA+C,CAAC,CAAA;AAElE,QAAA,QAAQ,GAAG;IACtB,KAAK,CAAC,YAAY,CAAC,CAAM,EAAE,EAAE,YAAY,EAAE,EAAE,OAAY;QACvD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,KAAK,CAAC,YAAY,CAAC,CAAA;QAEnB,IAAI,gBAAgB,GAAG,uBAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAE/E,IAAI,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,oBAAoB,YAAY,cAAc,CAAC,CAAA;YACrD,OAAO;gBACL,YAAY;gBACZ,YAAY,EAAE,EAAE;gBAChB,KAAK,EAAE,+BAAsB,CAAC,sBAAc,CAAC,QAAQ,CAAC;gBACtD,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;aAC9B,CAAA;SACF;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAA;QACzC,MAAM,uBAAc,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAEjD,OAAO,gBAAgB,CAAA;IACzB,CAAC;CACF,CAAA"}
|