@things-factory/integration-base 4.3.671 → 4.3.673
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/connection-manager.js +141 -0
- package/dist-server/engine/connection-manager.js.map +1 -0
- package/dist-server/engine/connector/echo-back-connector.js +41 -0
- package/dist-server/engine/connector/echo-back-connector.js.map +1 -0
- package/dist-server/engine/connector/echo-back-server.js +60 -0
- package/dist-server/engine/connector/echo-back-server.js.map +1 -0
- package/dist-server/engine/connector/graphql-connector.js +91 -0
- package/dist-server/engine/connector/graphql-connector.js.map +1 -0
- package/dist-server/engine/connector/http-connector.js +52 -0
- package/dist-server/engine/connector/http-connector.js.map +1 -0
- package/dist-server/engine/connector/index.js +14 -0
- package/dist-server/engine/connector/index.js.map +1 -0
- package/dist-server/engine/connector/mqtt-connector.js +44 -0
- package/dist-server/engine/connector/mqtt-connector.js.map +1 -0
- package/dist-server/engine/connector/mssql-connector.js +88 -0
- package/dist-server/engine/connector/mssql-connector.js.map +1 -0
- package/dist-server/engine/connector/mysql-connector.js +82 -0
- package/dist-server/engine/connector/mysql-connector.js.map +1 -0
- package/dist-server/engine/connector/oracle-connector.js +80 -0
- package/dist-server/engine/connector/oracle-connector.js.map +1 -0
- package/dist-server/engine/connector/postgresql-connector.js +88 -0
- package/dist-server/engine/connector/postgresql-connector.js.map +1 -0
- package/dist-server/engine/connector/socket-server.js +78 -0
- package/dist-server/engine/connector/socket-server.js.map +1 -0
- package/dist-server/engine/connector/sqlite-connector.js +57 -0
- package/dist-server/engine/connector/sqlite-connector.js.map +1 -0
- package/dist-server/engine/index.js +22 -0
- package/dist-server/engine/index.js.map +1 -0
- package/dist-server/engine/pending-queue.js +75 -0
- package/dist-server/engine/pending-queue.js.map +1 -0
- package/dist-server/engine/scenario-engine.js +74 -0
- package/dist-server/engine/scenario-engine.js.map +1 -0
- package/dist-server/engine/task/book-up-scenario.js +63 -0
- package/dist-server/engine/task/book-up-scenario.js.map +1 -0
- package/dist-server/engine/task/database-query.js +30 -0
- package/dist-server/engine/task/database-query.js.map +1 -0
- package/dist-server/engine/task/echo-receive.js +15 -0
- package/dist-server/engine/task/echo-receive.js.map +1 -0
- package/dist-server/engine/task/echo-send.js +24 -0
- package/dist-server/engine/task/echo-send.js.map +1 -0
- package/dist-server/engine/task/empty-check.js +29 -0
- package/dist-server/engine/task/empty-check.js.map +1 -0
- package/dist-server/engine/task/end.js +14 -0
- package/dist-server/engine/task/end.js.map +1 -0
- package/dist-server/engine/task/floating-point.js +64 -0
- package/dist-server/engine/task/floating-point.js.map +1 -0
- package/dist-server/engine/task/goto.js +20 -0
- package/dist-server/engine/task/goto.js.map +1 -0
- package/dist-server/engine/task/graphql-mutate.js +41 -0
- package/dist-server/engine/task/graphql-mutate.js.map +1 -0
- package/dist-server/engine/task/graphql-query.js +40 -0
- package/dist-server/engine/task/graphql-query.js.map +1 -0
- package/dist-server/engine/task/http-get.js +67 -0
- package/dist-server/engine/task/http-get.js.map +1 -0
- package/dist-server/engine/task/http-post.js +106 -0
- package/dist-server/engine/task/http-post.js.map +1 -0
- package/dist-server/engine/task/index.js +35 -0
- package/dist-server/engine/task/index.js.map +1 -0
- package/dist-server/engine/task/local-graphql-mutate.js +51 -0
- package/dist-server/engine/task/local-graphql-mutate.js.map +1 -0
- package/dist-server/engine/task/local-graphql-query.js +51 -0
- package/dist-server/engine/task/local-graphql-query.js.map +1 -0
- package/dist-server/engine/task/log.js +48 -0
- package/dist-server/engine/task/log.js.map +1 -0
- package/dist-server/engine/task/mqtt-publish.js +35 -0
- package/dist-server/engine/task/mqtt-publish.js.map +1 -0
- package/dist-server/engine/task/mqtt-subscribe.js +109 -0
- package/dist-server/engine/task/mqtt-subscribe.js.map +1 -0
- package/dist-server/engine/task/pick-pending-scenario.js +61 -0
- package/dist-server/engine/task/pick-pending-scenario.js.map +1 -0
- package/dist-server/engine/task/publish.js +31 -0
- package/dist-server/engine/task/publish.js.map +1 -0
- package/dist-server/engine/task/reset-pending-queue.js +13 -0
- package/dist-server/engine/task/reset-pending-queue.js.map +1 -0
- package/dist-server/engine/task/script.js +32 -0
- package/dist-server/engine/task/script.js.map +1 -0
- package/dist-server/engine/task/sleep.js +26 -0
- package/dist-server/engine/task/sleep.js.map +1 -0
- package/dist-server/engine/task/socket-listener.js +86 -0
- package/dist-server/engine/task/socket-listener.js.map +1 -0
- package/dist-server/engine/task/sub-scenario.js +45 -0
- package/dist-server/engine/task/sub-scenario.js.map +1 -0
- package/dist-server/engine/task/switch-goto.js +32 -0
- package/dist-server/engine/task/switch-goto.js.map +1 -0
- package/dist-server/engine/task/switch-range-goto.js +39 -0
- package/dist-server/engine/task/switch-range-goto.js.map +1 -0
- package/dist-server/engine/task/switch-range-scenario.js +60 -0
- package/dist-server/engine/task/switch-range-scenario.js.map +1 -0
- package/dist-server/engine/task/switch-range-set.js +35 -0
- package/dist-server/engine/task/switch-range-set.js.map +1 -0
- package/dist-server/engine/task/switch-scenario.js +53 -0
- package/dist-server/engine/task/switch-scenario.js.map +1 -0
- package/dist-server/engine/task/switch-set.js +28 -0
- package/dist-server/engine/task/switch-set.js.map +1 -0
- package/dist-server/engine/task/throw.js +19 -0
- package/dist-server/engine/task/throw.js.map +1 -0
- package/dist-server/engine/task/utils/substitute.js +46 -0
- package/dist-server/engine/task/utils/substitute.js.map +1 -0
- package/dist-server/engine/task/variables.js +13 -0
- package/dist-server/engine/task/variables.js.map +1 -0
- package/dist-server/engine/task-registry.js +20 -0
- package/dist-server/engine/task-registry.js.map +1 -0
- package/dist-server/engine/types.js +3 -0
- package/dist-server/engine/types.js.map +1 -0
- package/dist-server/index.js +25 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/migrations/index.js +12 -0
- package/dist-server/migrations/index.js.map +1 -0
- package/dist-server/restful/index.js +4 -0
- package/dist-server/restful/index.js.map +1 -0
- package/dist-server/restful/unstable/index.js +10 -0
- package/dist-server/restful/unstable/index.js.map +1 -0
- package/dist-server/restful/unstable/run-scenario.js +40 -0
- package/dist-server/restful/unstable/run-scenario.js.map +1 -0
- package/dist-server/restful/unstable/scenario-instance.js +54 -0
- package/dist-server/restful/unstable/scenario-instance.js.map +1 -0
- package/dist-server/restful/unstable/scenario-instances.js +76 -0
- package/dist-server/restful/unstable/scenario-instances.js.map +1 -0
- package/dist-server/restful/unstable/scenario.js +44 -0
- package/dist-server/restful/unstable/scenario.js.map +1 -0
- package/dist-server/restful/unstable/scenarios.js +65 -0
- package/dist-server/restful/unstable/scenarios.js.map +1 -0
- package/dist-server/restful/unstable/start-scenario.js +35 -0
- package/dist-server/restful/unstable/start-scenario.js.map +1 -0
- package/dist-server/restful/unstable/stop-scenario.js +32 -0
- package/dist-server/restful/unstable/stop-scenario.js.map +1 -0
- package/dist-server/routers/scenario-view-router.js +42 -0
- package/dist-server/routers/scenario-view-router.js.map +1 -0
- package/dist-server/routes.js +14 -0
- package/dist-server/routes.js.map +1 -0
- package/dist-server/service/connection/connection-mutation.js +162 -0
- package/dist-server/service/connection/connection-mutation.js.map +1 -0
- package/dist-server/service/connection/connection-query.js +112 -0
- package/dist-server/service/connection/connection-query.js.map +1 -0
- package/dist-server/service/connection/connection-subscription.js +114 -0
- package/dist-server/service/connection/connection-subscription.js.map +1 -0
- package/dist-server/service/connection/connection-type.js +253 -0
- package/dist-server/service/connection/connection-type.js.map +1 -0
- package/dist-server/service/connection/index.js +10 -0
- package/dist-server/service/connection/index.js.map +1 -0
- package/dist-server/service/connector/connector-query.js +88 -0
- package/dist-server/service/connector/connector-query.js.map +1 -0
- package/dist-server/service/connector/connector-type.js +55 -0
- package/dist-server/service/connector/connector-type.js.map +1 -0
- package/dist-server/service/connector/index.js +7 -0
- package/dist-server/service/connector/index.js.map +1 -0
- package/dist-server/service/index.js +81 -0
- package/dist-server/service/index.js.map +1 -0
- package/dist-server/service/integration/index.js +9 -0
- package/dist-server/service/integration/index.js.map +1 -0
- package/dist-server/service/integration/integration-mutation.js +120 -0
- package/dist-server/service/integration/integration-mutation.js.map +1 -0
- package/dist-server/service/integration/integration-query.js +87 -0
- package/dist-server/service/integration/integration-query.js.map +1 -0
- package/dist-server/service/integration/integration-type.js +77 -0
- package/dist-server/service/integration/integration-type.js.map +1 -0
- package/dist-server/service/integration/integration.js +147 -0
- package/dist-server/service/integration/integration.js.map +1 -0
- package/dist-server/service/payload-log/index.js +9 -0
- package/dist-server/service/payload-log/index.js.map +1 -0
- package/dist-server/service/payload-log/payload-log-mutation.js +144 -0
- package/dist-server/service/payload-log/payload-log-mutation.js.map +1 -0
- package/dist-server/service/payload-log/payload-log-query.js +77 -0
- package/dist-server/service/payload-log/payload-log-query.js.map +1 -0
- package/dist-server/service/payload-log/payload-log-type.js +65 -0
- package/dist-server/service/payload-log/payload-log-type.js.map +1 -0
- package/dist-server/service/payload-log/payload-log.js +109 -0
- package/dist-server/service/payload-log/payload-log.js.map +1 -0
- package/dist-server/service/property-spec.js +42 -0
- package/dist-server/service/property-spec.js.map +1 -0
- package/dist-server/service/scenario/index.js +9 -0
- package/dist-server/service/scenario/index.js.map +1 -0
- package/dist-server/service/scenario/scenario-mutation.js +213 -0
- package/dist-server/service/scenario/scenario-mutation.js.map +1 -0
- package/dist-server/service/scenario/scenario-query.js +130 -0
- package/dist-server/service/scenario/scenario-query.js.map +1 -0
- package/dist-server/service/scenario/scenario-type.js +220 -0
- package/dist-server/service/scenario/scenario-type.js.map +1 -0
- package/dist-server/service/scenario-flow/scenario-flow.js +37 -0
- package/dist-server/service/scenario-flow/scenario-flow.js.map +1 -0
- package/dist-server/service/scenario-instance/index.js +9 -0
- package/dist-server/service/scenario-instance/index.js.map +1 -0
- package/dist-server/service/scenario-instance/scenario-instance-mutation.js +115 -0
- package/dist-server/service/scenario-instance/scenario-instance-mutation.js.map +1 -0
- package/dist-server/service/scenario-instance/scenario-instance-query.js +122 -0
- package/dist-server/service/scenario-instance/scenario-instance-query.js.map +1 -0
- package/dist-server/service/scenario-instance/scenario-instance-subscription.js +122 -0
- package/dist-server/service/scenario-instance/scenario-instance-subscription.js.map +1 -0
- package/dist-server/service/scenario-instance/scenario-instance-type.js +428 -0
- package/dist-server/service/scenario-instance/scenario-instance-type.js.map +1 -0
- package/dist-server/service/scenario-queue/index.js +7 -0
- package/dist-server/service/scenario-queue/index.js.map +1 -0
- package/dist-server/service/scenario-queue/scenario-queue-subscription.js +69 -0
- package/dist-server/service/scenario-queue/scenario-queue-subscription.js.map +1 -0
- package/dist-server/service/scenario-queue/scenario-queue-type.js +52 -0
- package/dist-server/service/scenario-queue/scenario-queue-type.js.map +1 -0
- package/dist-server/service/step/index.js +9 -0
- package/dist-server/service/step/index.js.map +1 -0
- package/dist-server/service/step/step-mutation.js +66 -0
- package/dist-server/service/step/step-mutation.js.map +1 -0
- package/dist-server/service/step/step-query.js +97 -0
- package/dist-server/service/step/step-query.js.map +1 -0
- package/dist-server/service/step/step-type.js +194 -0
- package/dist-server/service/step/step-type.js.map +1 -0
- package/dist-server/service/task-type/index.js +7 -0
- package/dist-server/service/task-type/index.js.map +1 -0
- package/dist-server/service/task-type/task-type-query.js +119 -0
- package/dist-server/service/task-type/task-type-query.js.map +1 -0
- package/dist-server/service/task-type/task-type-type.js +55 -0
- package/dist-server/service/task-type/task-type-type.js.map +1 -0
- package/dist-server/service/webhook/index.js +9 -0
- package/dist-server/service/webhook/index.js.map +1 -0
- package/dist-server/service/webhook/webhook-mutation.js +19 -0
- package/dist-server/service/webhook/webhook-mutation.js.map +1 -0
- package/dist-server/service/webhook/webhook-query.js +18 -0
- package/dist-server/service/webhook/webhook-query.js.map +1 -0
- package/dist-server/service/webhook/webhook-type.js +77 -0
- package/dist-server/service/webhook/webhook-type.js.map +1 -0
- package/dist-server/service/webhook/webhook.js +82 -0
- package/dist-server/service/webhook/webhook.js.map +1 -0
- package/dist-server/service/webhook-event/index.js +9 -0
- package/dist-server/service/webhook-event/index.js.map +1 -0
- package/dist-server/service/webhook-event/webhook-event-enums.js +36 -0
- package/dist-server/service/webhook-event/webhook-event-enums.js.map +1 -0
- package/dist-server/service/webhook-event/webhook-event-mutation.js +18 -0
- package/dist-server/service/webhook-event/webhook-event-mutation.js.map +1 -0
- package/dist-server/service/webhook-event/webhook-event-query.js +18 -0
- package/dist-server/service/webhook-event/webhook-event-query.js.map +1 -0
- package/dist-server/service/webhook-event/webhook-event-type.js +77 -0
- package/dist-server/service/webhook-event/webhook-event-type.js.map +1 -0
- package/dist-server/service/webhook-event/webhook-event.js +60 -0
- package/dist-server/service/webhook-event/webhook-event.js.map +1 -0
- package/dist-server/service/webhook-handler/lambda-handler.js +30 -0
- package/dist-server/service/webhook-handler/lambda-handler.js.map +1 -0
- package/dist-server/service/webhook-handler/webhook-controller.js +54 -0
- package/dist-server/service/webhook-handler/webhook-controller.js.map +1 -0
- package/dist-server/sqs-client.js +29 -0
- package/dist-server/sqs-client.js.map +1 -0
- package/dist-server/sqs-const.js +6 -0
- package/dist-server/sqs-const.js.map +1 -0
- package/dist-server/util/index.js +19 -0
- package/dist-server/util/index.js.map +1 -0
- package/dist-server/util/lambda/lambda-const.js +7 -0
- package/dist-server/util/lambda/lambda-const.js.map +1 -0
- package/dist-server/util/lambda/lambda-service.js +33 -0
- package/dist-server/util/lambda/lambda-service.js.map +1 -0
- package/dist-server/util/sqs-send-message.js +11 -0
- package/dist-server/util/sqs-send-message.js.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,141 @@
|
|
|
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.ConnectionManager = void 0;
|
|
7
|
+
const moment_timezone_1 = __importDefault(require("moment-timezone"));
|
|
8
|
+
const typeorm_1 = require("typeorm");
|
|
9
|
+
const winston_1 = require("winston");
|
|
10
|
+
const shell_1 = require("@things-factory/shell");
|
|
11
|
+
const service_1 = require("../service");
|
|
12
|
+
const { combine, timestamp, splat, printf } = winston_1.format;
|
|
13
|
+
const debug = require('debug')('things-factory:integration-base:connections');
|
|
14
|
+
const SYSTEM_TZ = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
15
|
+
const systemTimestamp = (0, winston_1.format)((info, opts) => {
|
|
16
|
+
if (opts.tz)
|
|
17
|
+
info.timestamp = (0, moment_timezone_1.default)().tz(opts.tz).format();
|
|
18
|
+
return info;
|
|
19
|
+
});
|
|
20
|
+
class ConnectionManager {
|
|
21
|
+
static async ready() {
|
|
22
|
+
const CONNECTIONS = (await (0, typeorm_1.getRepository)(service_1.Connection).find({
|
|
23
|
+
where: { active: true },
|
|
24
|
+
relations: ['domain', 'creator', 'updater']
|
|
25
|
+
})).map(connection => {
|
|
26
|
+
var params = {};
|
|
27
|
+
try {
|
|
28
|
+
params = JSON.parse(connection.params || '{}');
|
|
29
|
+
}
|
|
30
|
+
catch (ex) {
|
|
31
|
+
ConnectionManager.logger.error(`connection '${connection.name}' params should be JSON format`);
|
|
32
|
+
ConnectionManager.logger.error(ex);
|
|
33
|
+
}
|
|
34
|
+
return Object.assign(Object.assign({}, connection), { params });
|
|
35
|
+
});
|
|
36
|
+
ConnectionManager.logger.info('Initializing ConnectionManager...');
|
|
37
|
+
return await Promise.all(Object.keys(ConnectionManager.connectors).map(type => {
|
|
38
|
+
var connector = ConnectionManager.connectors[type];
|
|
39
|
+
ConnectionManager.logger.info(`Connector '${type}' started to ready`);
|
|
40
|
+
return connector
|
|
41
|
+
.ready(CONNECTIONS.filter(connection => connection.type == type))
|
|
42
|
+
.catch(error => {
|
|
43
|
+
ConnectionManager.logger.error(error.message);
|
|
44
|
+
})
|
|
45
|
+
.then(() => {
|
|
46
|
+
ConnectionManager.logger.info(`All connector for '${type}' ready`);
|
|
47
|
+
});
|
|
48
|
+
})).then(() => {
|
|
49
|
+
ConnectionManager.logger.info('ConnectionManager initialization done:');
|
|
50
|
+
Object.keys(ConnectionManager.connections).forEach(key => {
|
|
51
|
+
var connections = ConnectionManager.connections[key];
|
|
52
|
+
ConnectionManager.logger.info('For domain(%s) : %s', key, JSON.stringify(Object.keys(connections)));
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
static registerConnector(type, connector) {
|
|
57
|
+
ConnectionManager.connectors[type] = connector;
|
|
58
|
+
}
|
|
59
|
+
static getConnector(type) {
|
|
60
|
+
return ConnectionManager.connectors[type];
|
|
61
|
+
}
|
|
62
|
+
static getConnectors() {
|
|
63
|
+
return Object.assign({}, ConnectionManager.connectors);
|
|
64
|
+
}
|
|
65
|
+
static unregisterConnector(type) {
|
|
66
|
+
delete ConnectionManager.connectors[type];
|
|
67
|
+
}
|
|
68
|
+
static getConnectionInstance(connection) {
|
|
69
|
+
var _a;
|
|
70
|
+
const { domain, name } = connection;
|
|
71
|
+
return (_a = ConnectionManager.connections[domain.id]) === null || _a === void 0 ? void 0 : _a[name];
|
|
72
|
+
}
|
|
73
|
+
static getConnectionInstanceByName(domain, name) {
|
|
74
|
+
var connections = ConnectionManager.connections[domain.id];
|
|
75
|
+
return connections === null || connections === void 0 ? void 0 : connections[name];
|
|
76
|
+
}
|
|
77
|
+
static getConnectionInstances(domain) {
|
|
78
|
+
var connections = ConnectionManager.connections[domain.id];
|
|
79
|
+
return Object.assign({}, connections);
|
|
80
|
+
}
|
|
81
|
+
static addConnectionInstance(connection, instance) {
|
|
82
|
+
const { domain, name } = connection;
|
|
83
|
+
var connections = ConnectionManager.connections[domain.id];
|
|
84
|
+
if (!connections) {
|
|
85
|
+
connections = ConnectionManager.connections[domain.id] = {};
|
|
86
|
+
}
|
|
87
|
+
connections[name] = instance;
|
|
88
|
+
ConnectionManager.publishState(connection, service_1.ConnectionStatus.CONNECTED);
|
|
89
|
+
debug('add-connection', domain.subdomain, name);
|
|
90
|
+
}
|
|
91
|
+
static removeConnectionInstance(connection) {
|
|
92
|
+
const { domain, name } = connection;
|
|
93
|
+
var connections = ConnectionManager.connections[domain.id];
|
|
94
|
+
var instance = connections === null || connections === void 0 ? void 0 : connections[name];
|
|
95
|
+
if (!connections || !instance) {
|
|
96
|
+
debug('remove-connection', `'${name}' connection not found in domain '${domain.subdomain}'`);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
delete connections[name];
|
|
100
|
+
ConnectionManager.publishState(connection, service_1.ConnectionStatus.DISCONNECTED);
|
|
101
|
+
debug('remove-connection', `'${name}' connection is removed from domain '${domain.subdomain}'`);
|
|
102
|
+
return instance;
|
|
103
|
+
}
|
|
104
|
+
static publishState(connection, state) {
|
|
105
|
+
const { domain, id, name, description, type } = connection;
|
|
106
|
+
shell_1.pubsub.publish('connection-state', {
|
|
107
|
+
connectionState: {
|
|
108
|
+
domain,
|
|
109
|
+
id,
|
|
110
|
+
name,
|
|
111
|
+
description,
|
|
112
|
+
type,
|
|
113
|
+
state,
|
|
114
|
+
timestamp: new Date()
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.ConnectionManager = ConnectionManager;
|
|
120
|
+
ConnectionManager.connectors = {};
|
|
121
|
+
ConnectionManager.connections = {};
|
|
122
|
+
ConnectionManager.logFormat = printf(({ level, message, timestamp }) => {
|
|
123
|
+
return `${timestamp} ${level}: ${message}`;
|
|
124
|
+
});
|
|
125
|
+
ConnectionManager.logger = (0, winston_1.createLogger)({
|
|
126
|
+
format: combine(systemTimestamp({ tz: SYSTEM_TZ }), splat(), ConnectionManager.logFormat),
|
|
127
|
+
transports: [
|
|
128
|
+
new winston_1.transports.DailyRotateFile({
|
|
129
|
+
filename: `logs/connections-%DATE%.log`,
|
|
130
|
+
datePattern: 'YYYY-MM-DD-HH',
|
|
131
|
+
zippedArchive: false,
|
|
132
|
+
maxSize: '20m',
|
|
133
|
+
maxFiles: '14d',
|
|
134
|
+
level: 'info'
|
|
135
|
+
}),
|
|
136
|
+
new shell_1.PubSubLogTransport({
|
|
137
|
+
topic: 'connection-log'
|
|
138
|
+
})
|
|
139
|
+
]
|
|
140
|
+
});
|
|
141
|
+
//# sourceMappingURL=connection-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../server/engine/connection-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
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.EchoBack = void 0;
|
|
7
|
+
const net_1 = __importDefault(require("net"));
|
|
8
|
+
const promise_socket_1 = __importDefault(require("promise-socket"));
|
|
9
|
+
const connection_manager_1 = require("../connection-manager");
|
|
10
|
+
class EchoBack {
|
|
11
|
+
async ready(connectionConfigs) {
|
|
12
|
+
await Promise.all(connectionConfigs.map(this.connect.bind(this)));
|
|
13
|
+
connection_manager_1.ConnectionManager.logger.info('echo-back connections are ready');
|
|
14
|
+
}
|
|
15
|
+
async connect(connection) {
|
|
16
|
+
let socket = new promise_socket_1.default(new net_1.default.Socket());
|
|
17
|
+
let [host, port = 8124] = connection.endpoint.split(':');
|
|
18
|
+
try {
|
|
19
|
+
await socket.connect(port, host);
|
|
20
|
+
connection_manager_1.ConnectionManager.addConnectionInstance(connection, socket);
|
|
21
|
+
connection_manager_1.ConnectionManager.logger.info(`echo-back-connector connection(${connection.name}:${connection.endpoint}) is connected`);
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
connection_manager_1.ConnectionManager.logger.error(`echo-back-connector connection(${connection.name}:${connection.endpoint}) is not connected.\ncause: ${e}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async disconnect(connection) {
|
|
28
|
+
let socket = connection_manager_1.ConnectionManager.removeConnectionInstance(connection);
|
|
29
|
+
await socket.destroy();
|
|
30
|
+
connection_manager_1.ConnectionManager.logger.info(`echo-back-connector connection(${connection.name}) is disconnected`);
|
|
31
|
+
}
|
|
32
|
+
get parameterSpec() {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
get taskPrefixes() {
|
|
36
|
+
return ['echo'];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.EchoBack = EchoBack;
|
|
40
|
+
connection_manager_1.ConnectionManager.registerConnector('echo-back', new EchoBack());
|
|
41
|
+
//# sourceMappingURL=echo-back-connector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"echo-back-connector.js","sourceRoot":"","sources":["../../../server/engine/connector/echo-back-connector.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAqB;AACrB,oEAA0C;AAG1C,8DAAyD;AAEzD,MAAa,QAAQ;IACnB,KAAK,CAAC,KAAK,CAAC,iBAAiB;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEjE,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;IAClE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAAU;QACtB,IAAI,MAAM,GAAG,IAAI,wBAAa,CAAC,IAAI,aAAG,CAAC,MAAM,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAExD,IAAI;YACF,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAChC,sCAAiB,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YAE3D,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAC3B,kCAAkC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,gBAAgB,CACzF,CAAA;SACF;QAAC,OAAO,CAAC,EAAE;YACV,sCAAiB,CAAC,MAAM,CAAC,KAAK,CAC5B,kCAAkC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,+BAA+B,CAAC,EAAE,CAC3G,CAAA;SACF;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAU;QACzB,IAAI,MAAM,GAAG,sCAAiB,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAA;QAEnE,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;QAEtB,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,UAAU,CAAC,IAAI,mBAAmB,CAAC,CAAA;IACrG,CAAC;IAED,IAAI,aAAa;QACf,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,YAAY;QACd,OAAO,CAAC,MAAM,CAAC,CAAA;IACjB,CAAC;CACF;AAxCD,4BAwCC;AAED,sCAAiB,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
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.EchoBack = void 0;
|
|
7
|
+
const net_1 = __importDefault(require("net"));
|
|
8
|
+
const promise_socket_1 = __importDefault(require("promise-socket"));
|
|
9
|
+
const connection_manager_1 = require("../connection-manager");
|
|
10
|
+
class EchoBack {
|
|
11
|
+
async ready(connectionConfigs) {
|
|
12
|
+
await Promise.all(connectionConfigs.map(this.connect.bind(this)));
|
|
13
|
+
connection_manager_1.ConnectionManager.logger.info('echo-back-servers are ready');
|
|
14
|
+
}
|
|
15
|
+
async connect(config) {
|
|
16
|
+
var [host = '0.0.0.0', port = 8124] = config.endpoint.split(':');
|
|
17
|
+
return new Promise((resolve, reject) => {
|
|
18
|
+
var server = net_1.default.createServer(socket => {
|
|
19
|
+
socket.on('data', function (data) {
|
|
20
|
+
socket.write(data.toString());
|
|
21
|
+
});
|
|
22
|
+
socket.on('error', function (err) {
|
|
23
|
+
connection_manager_1.ConnectionManager.logger.error(err);
|
|
24
|
+
reject(err);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
server.listen(port, async () => {
|
|
28
|
+
connection_manager_1.ConnectionManager.logger.info(`Echo-back server listening on ${host}:${port}`);
|
|
29
|
+
/* default client connection */
|
|
30
|
+
let socket = new net_1.default.Socket();
|
|
31
|
+
socket.on('error', console.error);
|
|
32
|
+
try {
|
|
33
|
+
let promiseSocket = new promise_socket_1.default(socket);
|
|
34
|
+
await promiseSocket.connect(port, 'localhost');
|
|
35
|
+
promiseSocket['__server__'] = server;
|
|
36
|
+
connection_manager_1.ConnectionManager.addConnectionInstance(config, promiseSocket);
|
|
37
|
+
connection_manager_1.ConnectionManager.logger.info(`echo-back-server connection(${config.name}:${config.endpoint}) is connected`);
|
|
38
|
+
resolve();
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
connection_manager_1.ConnectionManager.logger.error(`echo-back-server connection(${config.name}:${config.endpoint}) is connected.\ncause: ${err}`);
|
|
42
|
+
reject(err);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
async disconnect(connection) {
|
|
48
|
+
let socket = connection_manager_1.ConnectionManager.removeConnectionInstance(connection);
|
|
49
|
+
var server = socket['__server__'];
|
|
50
|
+
await socket.destroy();
|
|
51
|
+
server && (await server.close());
|
|
52
|
+
connection_manager_1.ConnectionManager.logger.info(`echo-back-server connection(${connection.name}) is disconnected`);
|
|
53
|
+
}
|
|
54
|
+
get parameterSpec() {
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.EchoBack = EchoBack;
|
|
59
|
+
connection_manager_1.ConnectionManager.registerConnector('echo-back-server', new EchoBack());
|
|
60
|
+
//# sourceMappingURL=echo-back-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"echo-back-server.js","sourceRoot":"","sources":["../../../server/engine/connector/echo-back-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GraphqlConnector = void 0;
|
|
4
|
+
require("cross-fetch/polyfill");
|
|
5
|
+
const core_1 = require("@apollo/client/core");
|
|
6
|
+
const connection_manager_1 = require("../connection-manager");
|
|
7
|
+
const oauth2_client_1 = require("@things-factory/oauth2-client");
|
|
8
|
+
const typeorm_1 = require("typeorm");
|
|
9
|
+
const error_1 = require("@apollo/client/link/error");
|
|
10
|
+
const defaultOptions = {
|
|
11
|
+
watchQuery: {
|
|
12
|
+
fetchPolicy: 'no-cache',
|
|
13
|
+
errorPolicy: 'ignore'
|
|
14
|
+
},
|
|
15
|
+
query: {
|
|
16
|
+
fetchPolicy: 'no-cache',
|
|
17
|
+
errorPolicy: 'all'
|
|
18
|
+
},
|
|
19
|
+
mutate: {
|
|
20
|
+
errorPolicy: 'all'
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const cache = new core_1.InMemoryCache({
|
|
24
|
+
addTypename: false
|
|
25
|
+
});
|
|
26
|
+
class GraphqlConnector {
|
|
27
|
+
async ready(connectionConfigs) {
|
|
28
|
+
await Promise.all(connectionConfigs.map(this.connect.bind(this)));
|
|
29
|
+
connection_manager_1.ConnectionManager.logger.info('graphql-connector connections are ready');
|
|
30
|
+
}
|
|
31
|
+
async connect(connection) {
|
|
32
|
+
var { endpoint: uri, params: { authClient } } = connection;
|
|
33
|
+
var ERROR_HANDLER = ({ graphQLErrors, networkError }) => {
|
|
34
|
+
if (graphQLErrors)
|
|
35
|
+
graphQLErrors.map(({ message, locations, path }) => {
|
|
36
|
+
connection_manager_1.ConnectionManager.logger.error(`[GraphQL error] Message: ${message}, Location: ${locations}, Path: ${path}`);
|
|
37
|
+
});
|
|
38
|
+
if (networkError) {
|
|
39
|
+
connection_manager_1.ConnectionManager.logger.error(`[Network error - ${networkError.statusCode}] ${networkError}`);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const oauth2Client = await (0, typeorm_1.getRepository)(oauth2_client_1.Oauth2Client).findOne(authClient);
|
|
43
|
+
const authMiddleware = new core_1.ApolloLink((operation, forward) => {
|
|
44
|
+
// add the authorization to the headers
|
|
45
|
+
operation.setContext(({ headers = {} }) => ({
|
|
46
|
+
headers: Object.assign(Object.assign({}, headers), oauth2Client.getAuthHeaders())
|
|
47
|
+
}));
|
|
48
|
+
return forward(operation);
|
|
49
|
+
});
|
|
50
|
+
connection_manager_1.ConnectionManager.addConnectionInstance(connection, new core_1.ApolloClient({
|
|
51
|
+
defaultOptions,
|
|
52
|
+
cache,
|
|
53
|
+
link: (0, core_1.from)([
|
|
54
|
+
authMiddleware,
|
|
55
|
+
(0, error_1.onError)(ERROR_HANDLER),
|
|
56
|
+
new core_1.HttpLink({
|
|
57
|
+
uri,
|
|
58
|
+
credentials: 'include'
|
|
59
|
+
})
|
|
60
|
+
])
|
|
61
|
+
}));
|
|
62
|
+
connection_manager_1.ConnectionManager.logger.info(`graphql-connector connection(${connection.name}:${connection.endpoint}) is connected`);
|
|
63
|
+
}
|
|
64
|
+
async disconnect(connection) {
|
|
65
|
+
var client = connection_manager_1.ConnectionManager.getConnectionInstance(connection);
|
|
66
|
+
client.stop();
|
|
67
|
+
connection_manager_1.ConnectionManager.removeConnectionInstance(connection);
|
|
68
|
+
connection_manager_1.ConnectionManager.logger.info(`graphql-connector connection(${connection.name}) is disconnected`);
|
|
69
|
+
}
|
|
70
|
+
get parameterSpec() {
|
|
71
|
+
return [
|
|
72
|
+
{
|
|
73
|
+
type: 'entity-selector',
|
|
74
|
+
name: 'authClient',
|
|
75
|
+
label: 'auth-client',
|
|
76
|
+
property: {
|
|
77
|
+
queryName: 'oauth2Clients'
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
];
|
|
81
|
+
}
|
|
82
|
+
get taskPrefixes() {
|
|
83
|
+
return ['graphql'];
|
|
84
|
+
}
|
|
85
|
+
get description() {
|
|
86
|
+
return 'Graphql Http Connector';
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.GraphqlConnector = GraphqlConnector;
|
|
90
|
+
connection_manager_1.ConnectionManager.registerConnector('graphql-connector', new GraphqlConnector());
|
|
91
|
+
//# sourceMappingURL=graphql-connector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-connector.js","sourceRoot":"","sources":["../../../server/engine/connector/graphql-connector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpConnector = void 0;
|
|
4
|
+
const connection_manager_1 = require("../connection-manager");
|
|
5
|
+
const typeorm_1 = require("typeorm");
|
|
6
|
+
const oauth2_client_1 = require("@things-factory/oauth2-client");
|
|
7
|
+
class HttpConnector {
|
|
8
|
+
async ready(connectionConfigs) {
|
|
9
|
+
await Promise.all(connectionConfigs.map(this.connect.bind(this)));
|
|
10
|
+
connection_manager_1.ConnectionManager.logger.info('http-connector connections are ready');
|
|
11
|
+
}
|
|
12
|
+
async connect(connection) {
|
|
13
|
+
var { params } = connection;
|
|
14
|
+
params.rejectUnauthorized = (params.rejectUnauthorized || 'Y') === 'Y';
|
|
15
|
+
if (params.authClient) {
|
|
16
|
+
const oauth2Client = await (0, typeorm_1.getRepository)(oauth2_client_1.Oauth2Client).findOne(params.authClient);
|
|
17
|
+
var authHeaders = oauth2Client.getAuthHeaders();
|
|
18
|
+
}
|
|
19
|
+
connection_manager_1.ConnectionManager.addConnectionInstance(connection, Object.assign(Object.assign({}, connection), { authHeaders: authHeaders || {}, params }));
|
|
20
|
+
connection_manager_1.ConnectionManager.logger.info(`http-connector connection(${connection.name}:${connection.endpoint}) is connected`);
|
|
21
|
+
}
|
|
22
|
+
async disconnect(connection) {
|
|
23
|
+
connection_manager_1.ConnectionManager.removeConnectionInstance(connection);
|
|
24
|
+
connection_manager_1.ConnectionManager.logger.info(`http-connector connection(${connection.name}) is disconnected`);
|
|
25
|
+
}
|
|
26
|
+
get parameterSpec() {
|
|
27
|
+
return [
|
|
28
|
+
{
|
|
29
|
+
type: 'entity-selector',
|
|
30
|
+
name: 'authClient',
|
|
31
|
+
label: 'auth-client',
|
|
32
|
+
property: {
|
|
33
|
+
queryName: 'oauth2Clients'
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'select',
|
|
38
|
+
name: 'rejectUnauthorized',
|
|
39
|
+
label: 'reject-unauthorized',
|
|
40
|
+
property: {
|
|
41
|
+
options: ['Y', 'N']
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
];
|
|
45
|
+
}
|
|
46
|
+
get taskPrefixes() {
|
|
47
|
+
return ['http'];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.HttpConnector = HttpConnector;
|
|
51
|
+
connection_manager_1.ConnectionManager.registerConnector('http-connector', new HttpConnector());
|
|
52
|
+
//# sourceMappingURL=http-connector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-connector.js","sourceRoot":"","sources":["../../../server/engine/connector/http-connector.ts"],"names":[],"mappings":";;;AACA,8DAAyD;AAEzD,qCAAuC;AACvC,iEAA4D;AAE5D,MAAa,aAAa;IACxB,KAAK,CAAC,KAAK,CAAC,iBAAiB;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEjE,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;IACvE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAAU;QACtB,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;QAC3B,MAAM,CAAC,kBAAkB,GAAG,CAAC,MAAM,CAAC,kBAAkB,IAAI,GAAG,CAAC,KAAK,GAAG,CAAA;QAEtE,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,MAAM,YAAY,GAAiB,MAAM,IAAA,uBAAa,EAAC,4BAAY,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAC/F,IAAI,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,CAAA;SAChD;QAED,sCAAiB,CAAC,qBAAqB,CAAC,UAAU,kCAC7C,UAAU,KACb,WAAW,EAAE,WAAW,IAAI,EAAE,EAC9B,MAAM,IACN,CAAA;QAEF,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,gBAAgB,CAAC,CAAA;IACpH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAU;QACzB,sCAAiB,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAA;QAEtD,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,UAAU,CAAC,IAAI,mBAAmB,CAAC,CAAA;IAChG,CAAC;IAED,IAAI,aAAa;QACf,OAAO;YACL;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,aAAa;gBACpB,QAAQ,EAAE;oBACR,SAAS,EAAE,eAAe;iBAC3B;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,qBAAqB;gBAC5B,QAAQ,EAAE;oBACR,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;iBACpB;aACF;SACF,CAAA;IACH,CAAC;IAED,IAAI,YAAY;QACd,OAAO,CAAC,MAAM,CAAC,CAAA;IACjB,CAAC;CACF;AAvDD,sCAuDC;AAED,sCAAiB,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,aAAa,EAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("./echo-back-server");
|
|
4
|
+
require("./echo-back-connector");
|
|
5
|
+
require("./http-connector");
|
|
6
|
+
require("./graphql-connector");
|
|
7
|
+
require("./sqlite-connector");
|
|
8
|
+
require("./postgresql-connector");
|
|
9
|
+
require("./mqtt-connector");
|
|
10
|
+
require("./mssql-connector");
|
|
11
|
+
require("./oracle-connector");
|
|
12
|
+
require("./mysql-connector");
|
|
13
|
+
require("./socket-server");
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/connector/index.ts"],"names":[],"mappings":";;AAAA,8BAA2B;AAC3B,iCAA8B;AAC9B,4BAAyB;AACzB,+BAA4B;AAC5B,8BAA2B;AAC3B,kCAA+B;AAC/B,4BAAyB;AACzB,6BAA0B;AAC1B,8BAA2B;AAC3B,6BAA0B;AAC1B,2BAAwB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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.MqttConnector = void 0;
|
|
7
|
+
const connection_manager_1 = require("../connection-manager");
|
|
8
|
+
const async_mqtt_1 = __importDefault(require("async-mqtt"));
|
|
9
|
+
class MqttConnector {
|
|
10
|
+
async ready(connectionConfigs) {
|
|
11
|
+
await Promise.all(connectionConfigs.map(this.connect.bind(this)));
|
|
12
|
+
connection_manager_1.ConnectionManager.logger.info('mqtt-connector connections are ready');
|
|
13
|
+
}
|
|
14
|
+
async connect(connection) {
|
|
15
|
+
const { endpoint: uri } = connection;
|
|
16
|
+
try {
|
|
17
|
+
const client = await async_mqtt_1.default.connectAsync(uri);
|
|
18
|
+
connection_manager_1.ConnectionManager.addConnectionInstance(connection, {
|
|
19
|
+
client,
|
|
20
|
+
connection
|
|
21
|
+
});
|
|
22
|
+
connection_manager_1.ConnectionManager.logger.info(`mqtt-connector connection(${connection.name}:${connection.endpoint}) is connected`);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
connection_manager_1.ConnectionManager.logger.error(`mqtt-connector connection(${connection.name}:${connection.endpoint}) is failed.\ncause: ${err}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async disconnect(connection) {
|
|
29
|
+
const { client } = connection_manager_1.ConnectionManager.removeConnectionInstance(connection);
|
|
30
|
+
client && (await client.end());
|
|
31
|
+
}
|
|
32
|
+
get parameterSpec() {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
get taskPrefixes() {
|
|
36
|
+
return ['mqtt'];
|
|
37
|
+
}
|
|
38
|
+
get help() {
|
|
39
|
+
return 'integration/connector/mqtt-connector';
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.MqttConnector = MqttConnector;
|
|
43
|
+
connection_manager_1.ConnectionManager.registerConnector('mqtt-connector', new MqttConnector());
|
|
44
|
+
//# sourceMappingURL=mqtt-connector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mqtt-connector.js","sourceRoot":"","sources":["../../../server/engine/connector/mqtt-connector.ts"],"names":[],"mappings":";;;;;;AACA,8DAAyD;AAEzD,4DAA6B;AAE7B,MAAa,aAAa;IACxB,KAAK,CAAC,KAAK,CAAC,iBAAiB;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEjE,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;IACvE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAAU;QACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,UAAU,CAAA;QAEpC,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,oBAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;YAE3C,sCAAiB,CAAC,qBAAqB,CAAC,UAAU,EAAE;gBAClD,MAAM;gBACN,UAAU;aACX,CAAC,CAAA;YAEF,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,gBAAgB,CAAC,CAAA;SACnH;QAAC,OAAO,GAAG,EAAE;YACZ,sCAAiB,CAAC,MAAM,CAAC,KAAK,CAC5B,6BAA6B,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,wBAAwB,GAAG,EAAE,CACjG,CAAA;SACF;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAU;QACzB,MAAM,EAAE,MAAM,EAAE,GAAG,sCAAiB,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAA;QAEzE,MAAM,IAAI,CAAC,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,YAAY;QACd,OAAO,CAAC,MAAM,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,sCAAsC,CAAA;IAC/C,CAAC;CACF;AA3CD,sCA2CC;AAED,sCAAiB,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,aAAa,EAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MssqlConnector = void 0;
|
|
4
|
+
const connection_manager_1 = require("../connection-manager");
|
|
5
|
+
try {
|
|
6
|
+
var Client = require('mssql');
|
|
7
|
+
}
|
|
8
|
+
catch (err) {
|
|
9
|
+
console.error('mssql module loading failed');
|
|
10
|
+
}
|
|
11
|
+
class MssqlConnector {
|
|
12
|
+
async ready(connectionConfigs) {
|
|
13
|
+
await Promise.all(connectionConfigs.map(this.connect));
|
|
14
|
+
connection_manager_1.ConnectionManager.logger.info('mssql-connector connections are ready');
|
|
15
|
+
}
|
|
16
|
+
async connect(connection) {
|
|
17
|
+
const { endpoint, params: { user, password, database, encrypt = 'Y' } } = connection;
|
|
18
|
+
const [host, port = 1433] = endpoint.split(':');
|
|
19
|
+
if (!Client) {
|
|
20
|
+
throw new Error('mssql module loading failed');
|
|
21
|
+
}
|
|
22
|
+
const client = await Client.connect({
|
|
23
|
+
// client is pool
|
|
24
|
+
user,
|
|
25
|
+
password,
|
|
26
|
+
server: `${host}`,
|
|
27
|
+
database: `${database}`,
|
|
28
|
+
encrypt: `${encrypt === 'Y'}`
|
|
29
|
+
});
|
|
30
|
+
connection_manager_1.ConnectionManager.addConnectionInstance(connection, {
|
|
31
|
+
query: async (query, params) => {
|
|
32
|
+
var result = await client.query(query);
|
|
33
|
+
return result.recordset;
|
|
34
|
+
// return (await client.query(query))
|
|
35
|
+
},
|
|
36
|
+
close: client.close.bind(client)
|
|
37
|
+
});
|
|
38
|
+
connection_manager_1.ConnectionManager.logger.info(`MSSql Database(${connection.name}:${database}) at ${endpoint} connected.`);
|
|
39
|
+
}
|
|
40
|
+
async disconnect(connection) {
|
|
41
|
+
var client = connection_manager_1.ConnectionManager.getConnectionInstance(connection);
|
|
42
|
+
try {
|
|
43
|
+
await client.close();
|
|
44
|
+
connection_manager_1.ConnectionManager.logger.info(`MSSql Database(${connection.name}) closed.`);
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
connection_manager_1.ConnectionManager.logger.error(e);
|
|
48
|
+
}
|
|
49
|
+
connection_manager_1.ConnectionManager.removeConnectionInstance(connection);
|
|
50
|
+
}
|
|
51
|
+
get parameterSpec() {
|
|
52
|
+
return [
|
|
53
|
+
{
|
|
54
|
+
type: 'string',
|
|
55
|
+
name: 'user',
|
|
56
|
+
label: 'user'
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
type: 'password',
|
|
60
|
+
name: 'password',
|
|
61
|
+
label: 'password'
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
type: 'string',
|
|
65
|
+
name: 'database',
|
|
66
|
+
placeholder: 'SID',
|
|
67
|
+
label: 'database'
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
type: 'select',
|
|
71
|
+
name: 'encrypt',
|
|
72
|
+
label: 'encrypt',
|
|
73
|
+
property: {
|
|
74
|
+
options: ['Y', 'N']
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
];
|
|
78
|
+
}
|
|
79
|
+
get taskPrefixes() {
|
|
80
|
+
return ['database'];
|
|
81
|
+
}
|
|
82
|
+
get help() {
|
|
83
|
+
return 'integration/connector/mssql-connector';
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.MssqlConnector = MssqlConnector;
|
|
87
|
+
connection_manager_1.ConnectionManager.registerConnector('mssql-connector', new MssqlConnector());
|
|
88
|
+
//# sourceMappingURL=mssql-connector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mssql-connector.js","sourceRoot":"","sources":["../../../server/engine/connector/mssql-connector.ts"],"names":[],"mappings":"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"}
|