@or-sdk/idw 1.1.0-beta.1291.0 → 1.1.0-beta.1293.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/idw.js +15 -22
- package/dist/cjs/idw.js.map +1 -1
- package/dist/esm/idw.js +36 -41
- package/dist/esm/idw.js.map +1 -1
- package/dist/types/idw.d.ts.map +1 -1
- package/package.json +3 -4
- package/src/idw.ts +53 -82
package/dist/cjs/idw.js
CHANGED
|
@@ -50,16 +50,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
50
50
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
55
|
-
};
|
|
56
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
54
|
exports.IDW = void 0;
|
|
58
55
|
var base_1 = require("@or-sdk/base");
|
|
59
56
|
var graph_1 = require("@or-sdk/graph");
|
|
60
57
|
var users_1 = require("@or-sdk/users");
|
|
61
58
|
var constants_1 = require("./constants");
|
|
62
|
-
var lodash_1 = __importDefault(require("lodash"));
|
|
63
59
|
var IDW = (function (_super) {
|
|
64
60
|
__extends(IDW, _super);
|
|
65
61
|
function IDW(params) {
|
|
@@ -98,9 +94,7 @@ var IDW = (function (_super) {
|
|
|
98
94
|
return [3, 4];
|
|
99
95
|
case 2:
|
|
100
96
|
e_1 = _a.sent();
|
|
101
|
-
return [4, this.graphApi.createGraph({
|
|
102
|
-
name: constants_1.GRAPH_NAME,
|
|
103
|
-
})];
|
|
97
|
+
return [4, this.graphApi.createGraph({ name: constants_1.GRAPH_NAME })];
|
|
104
98
|
case 3:
|
|
105
99
|
_a.sent();
|
|
106
100
|
return [3, 4];
|
|
@@ -112,15 +106,16 @@ var IDW = (function (_super) {
|
|
|
112
106
|
IDW.prototype.createOrUpdateFlow = function (flow) {
|
|
113
107
|
var _a;
|
|
114
108
|
return __awaiter(this, void 0, void 0, function () {
|
|
115
|
-
var userId, channel;
|
|
109
|
+
var id, userId, channel;
|
|
116
110
|
return __generator(this, function (_b) {
|
|
117
111
|
switch (_b.label) {
|
|
118
112
|
case 0:
|
|
119
|
-
|
|
113
|
+
id = flow.id;
|
|
114
|
+
if (id === undefined) {
|
|
120
115
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
121
116
|
}
|
|
122
117
|
if (!flow.isDeleted) return [3, 2];
|
|
123
|
-
return [4, this.deleteFlow(
|
|
118
|
+
return [4, this.deleteFlow(id)];
|
|
124
119
|
case 1: return [2, _b.sent()];
|
|
125
120
|
case 2: return [4, this.users.getCurrentUser()];
|
|
126
121
|
case 3:
|
|
@@ -129,23 +124,21 @@ var IDW = (function (_super) {
|
|
|
129
124
|
createdAt: flow.dateCreated,
|
|
130
125
|
description: flow.data.description,
|
|
131
126
|
groupId: flow.botId,
|
|
132
|
-
id:
|
|
127
|
+
id: id,
|
|
133
128
|
name: flow.data.label,
|
|
134
129
|
updatedAt: flow.dateModified,
|
|
135
130
|
userId: userId,
|
|
136
131
|
})];
|
|
137
132
|
case 4:
|
|
138
133
|
_b.sent();
|
|
139
|
-
return [4, this.graphQuery("\n
|
|
140
|
-
id: flow.id,
|
|
141
|
-
})];
|
|
134
|
+
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id })\n OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS { isActive: false }]->(:CHANNEL)\n DELETE relationships\n ", { id: id })];
|
|
142
135
|
case 5:
|
|
143
136
|
_b.sent();
|
|
144
137
|
channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
145
|
-
if (!(channel !== undefined &&
|
|
146
|
-
return [4, this.graphQuery("\n
|
|
138
|
+
if (!(channel !== undefined && channel.length !== 0)) return [3, 7];
|
|
139
|
+
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id }),\n (channel:CHANNEL { id: $channel })\n MERGE (flow)-[relationship:IMPLEMENTS]->(channel)\n ON CREATE\n SET relationship.isActive = false\n ", {
|
|
147
140
|
channel: channel,
|
|
148
|
-
id:
|
|
141
|
+
id: id,
|
|
149
142
|
})];
|
|
150
143
|
case 6:
|
|
151
144
|
_b.sent();
|
|
@@ -178,15 +171,15 @@ var IDW = (function (_super) {
|
|
|
178
171
|
if (id === undefined) {
|
|
179
172
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
180
173
|
}
|
|
181
|
-
return [4, this.graphQuery("\n
|
|
182
|
-
id: id,
|
|
174
|
+
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id })\n OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)\n DELETE relationships\n SET flow.activatedAt = $activatedAt,\n flow.isActive = true\n ", {
|
|
183
175
|
activatedAt: Date.now(),
|
|
176
|
+
id: id,
|
|
184
177
|
})];
|
|
185
178
|
case 1:
|
|
186
179
|
_b.sent();
|
|
187
180
|
channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
188
|
-
if (!(channel !== undefined &&
|
|
189
|
-
return [4, this.graphQuery("\n
|
|
181
|
+
if (!(channel !== undefined && channel.length !== 0)) return [3, 3];
|
|
182
|
+
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id }),\n (channel:CHANNEL { id: $channel })\n MERGE (flow)-[relationship:IMPLEMENTS]->(channel)\n SET relationship.isActive = true\n ", {
|
|
190
183
|
channel: channel,
|
|
191
184
|
id: id,
|
|
192
185
|
})];
|
|
@@ -202,7 +195,7 @@ var IDW = (function (_super) {
|
|
|
202
195
|
return __awaiter(this, void 0, void 0, function () {
|
|
203
196
|
return __generator(this, function (_a) {
|
|
204
197
|
switch (_a.label) {
|
|
205
|
-
case 0: return [4, this.graphQuery("\n
|
|
198
|
+
case 0: return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id })\n OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)\n SET flow.isActive = false,\n relationships.isActive = false\n REMOVE flow.activatedAt\n RETURN flow\n ", { id: id })];
|
|
206
199
|
case 1:
|
|
207
200
|
_a.sent();
|
|
208
201
|
return [2];
|
package/dist/cjs/idw.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idw.js","sourceRoot":"","sources":["../../src/idw.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"idw.js","sourceRoot":"","sources":["../../src/idw.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/idw.js
CHANGED
|
@@ -11,7 +11,6 @@ import { Base } from '@or-sdk/base';
|
|
|
11
11
|
import { Graphs } from '@or-sdk/graph';
|
|
12
12
|
import { Users } from '@or-sdk/users';
|
|
13
13
|
import { GRAPH_NAME, SERVICE_KEY } from './constants';
|
|
14
|
-
import _ from 'lodash';
|
|
15
14
|
export class IDW extends Base {
|
|
16
15
|
constructor(params) {
|
|
17
16
|
const { accountId, discoveryUrl, graphUrl, sdkApiUrl, token, } = params;
|
|
@@ -40,20 +39,19 @@ export class IDW extends Base {
|
|
|
40
39
|
yield this.graphApi.getGraphInfo(GRAPH_NAME);
|
|
41
40
|
}
|
|
42
41
|
catch (e) {
|
|
43
|
-
yield this.graphApi.createGraph({
|
|
44
|
-
name: GRAPH_NAME,
|
|
45
|
-
});
|
|
42
|
+
yield this.graphApi.createGraph({ name: GRAPH_NAME });
|
|
46
43
|
}
|
|
47
44
|
});
|
|
48
45
|
}
|
|
49
46
|
createOrUpdateFlow(flow) {
|
|
50
47
|
var _a;
|
|
51
48
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
|
|
49
|
+
const id = flow.id;
|
|
50
|
+
if (id === undefined) {
|
|
53
51
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
54
52
|
}
|
|
55
53
|
if (flow.isDeleted) {
|
|
56
|
-
return yield this.deleteFlow(
|
|
54
|
+
return yield this.deleteFlow(id);
|
|
57
55
|
}
|
|
58
56
|
const { userId } = yield this.users.getCurrentUser();
|
|
59
57
|
yield this.graphQuery(`
|
|
@@ -80,29 +78,27 @@ export class IDW extends Base {
|
|
|
80
78
|
createdAt: flow.dateCreated,
|
|
81
79
|
description: flow.data.description,
|
|
82
80
|
groupId: flow.botId,
|
|
83
|
-
id
|
|
81
|
+
id,
|
|
84
82
|
name: flow.data.label,
|
|
85
83
|
updatedAt: flow.dateModified,
|
|
86
84
|
userId,
|
|
87
85
|
});
|
|
88
86
|
yield this.graphQuery(`
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
id: flow.id,
|
|
94
|
-
});
|
|
87
|
+
MATCH (flow:FLOW { id: $id })
|
|
88
|
+
OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS { isActive: false }]->(:CHANNEL)
|
|
89
|
+
DELETE relationships
|
|
90
|
+
`, { id });
|
|
95
91
|
const channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
96
|
-
if (channel !== undefined &&
|
|
92
|
+
if (channel !== undefined && channel.length !== 0) {
|
|
97
93
|
yield this.graphQuery(`
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
94
|
+
MATCH (flow:FLOW { id: $id }),
|
|
95
|
+
(channel:CHANNEL { id: $channel })
|
|
96
|
+
MERGE (flow)-[relationship:IMPLEMENTS]->(channel)
|
|
97
|
+
ON CREATE
|
|
98
|
+
SET relationship.isActive = false
|
|
99
|
+
`, {
|
|
104
100
|
channel,
|
|
105
|
-
id
|
|
101
|
+
id,
|
|
106
102
|
});
|
|
107
103
|
}
|
|
108
104
|
});
|
|
@@ -123,24 +119,23 @@ export class IDW extends Base {
|
|
|
123
119
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
124
120
|
}
|
|
125
121
|
yield this.graphQuery(`
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
id,
|
|
122
|
+
MATCH (flow:FLOW { id: $id })
|
|
123
|
+
OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)
|
|
124
|
+
DELETE relationships
|
|
125
|
+
SET flow.activatedAt = $activatedAt,
|
|
126
|
+
flow.isActive = true
|
|
127
|
+
`, {
|
|
133
128
|
activatedAt: Date.now(),
|
|
129
|
+
id,
|
|
134
130
|
});
|
|
135
131
|
const channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
136
|
-
if (channel !== undefined &&
|
|
132
|
+
if (channel !== undefined && channel.length !== 0) {
|
|
137
133
|
yield this.graphQuery(`
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
`, {
|
|
134
|
+
MATCH (flow:FLOW { id: $id }),
|
|
135
|
+
(channel:CHANNEL { id: $channel })
|
|
136
|
+
MERGE (flow)-[relationship:IMPLEMENTS]->(channel)
|
|
137
|
+
SET relationship.isActive = true
|
|
138
|
+
`, {
|
|
144
139
|
channel,
|
|
145
140
|
id,
|
|
146
141
|
});
|
|
@@ -150,12 +145,12 @@ export class IDW extends Base {
|
|
|
150
145
|
deactivateFlow(id) {
|
|
151
146
|
return __awaiter(this, void 0, void 0, function* () {
|
|
152
147
|
yield this.graphQuery(`
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
148
|
+
MATCH (flow:FLOW { id: $id })
|
|
149
|
+
OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)
|
|
150
|
+
SET flow.isActive = false,
|
|
151
|
+
relationships.isActive = false
|
|
152
|
+
REMOVE flow.activatedAt
|
|
153
|
+
RETURN flow
|
|
159
154
|
`, { id });
|
|
160
155
|
});
|
|
161
156
|
}
|
package/dist/esm/idw.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idw.js","sourceRoot":"","sources":["../../src/idw.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"idw.js","sourceRoot":"","sources":["../../src/idw.ts"],"names":[],"mappings":"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"}
|
package/dist/types/idw.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idw.d.ts","sourceRoot":"","sources":["../../src/idw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"idw.d.ts","sourceRoot":"","sources":["../../src/idw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AASpC,qBAAa,GAAI,SAAQ,IAAI;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;gBAalB,MAAM,EAAE,SAAS;IA8BvB,eAAe;IAQf,kBAAkB,CAAC,IAAI,EAAE,IAAI;IA+D7B,UAAU,CAAC,EAAE,EAAE,MAAM;IAOrB,YAAY,CAAC,IAAI,EAAE,IAAI;IA+BvB,cAAc,CAAC,EAAE,EAAE,MAAM;YAWjB,UAAU;CAczB"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.1.0-beta.
|
|
2
|
+
"version": "1.1.0-beta.1293.0",
|
|
3
3
|
"name": "@or-sdk/idw",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
@@ -25,9 +25,8 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@or-sdk/base": "^0.28.1",
|
|
28
|
-
"@or-sdk/deployer": "^1.1.1-beta.
|
|
28
|
+
"@or-sdk/deployer": "^1.1.1-beta.1293.0",
|
|
29
29
|
"@or-sdk/graph": "^1.3.1",
|
|
30
|
-
"@or-sdk/users": "^0.30.0"
|
|
31
|
-
"lodash": "^4.17.21"
|
|
30
|
+
"@or-sdk/users": "^0.30.0"
|
|
32
31
|
}
|
|
33
32
|
}
|
package/src/idw.ts
CHANGED
|
@@ -4,7 +4,6 @@ import { Graphs } from '@or-sdk/graph';
|
|
|
4
4
|
import { Users } from '@or-sdk/users';
|
|
5
5
|
import { GRAPH_NAME, SERVICE_KEY } from './constants';
|
|
6
6
|
import { IDWConfig } from './types';
|
|
7
|
-
import _ from 'lodash';
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* OneReach IDW service client
|
|
@@ -62,19 +61,18 @@ export class IDW extends Base {
|
|
|
62
61
|
try {
|
|
63
62
|
await this.graphApi.getGraphInfo(GRAPH_NAME);
|
|
64
63
|
} catch (e) {
|
|
65
|
-
await this.graphApi.createGraph({
|
|
66
|
-
name: GRAPH_NAME,
|
|
67
|
-
});
|
|
64
|
+
await this.graphApi.createGraph({ name: GRAPH_NAME });
|
|
68
65
|
}
|
|
69
66
|
}
|
|
70
67
|
|
|
71
68
|
async createOrUpdateFlow(flow: Flow) {
|
|
72
|
-
|
|
69
|
+
const id = flow.id;
|
|
70
|
+
if (id === undefined) {
|
|
73
71
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
74
72
|
}
|
|
75
73
|
|
|
76
74
|
if (flow.isDeleted) {
|
|
77
|
-
return await this.deleteFlow(
|
|
75
|
+
return await this.deleteFlow(id);
|
|
78
76
|
}
|
|
79
77
|
|
|
80
78
|
const { userId } = await this.users.getCurrentUser();
|
|
@@ -99,55 +97,35 @@ export class IDW extends Base {
|
|
|
99
97
|
flow.updatedAt = $updatedAt,
|
|
100
98
|
flow.updatedBy = $userId
|
|
101
99
|
RETURN flow
|
|
102
|
-
`,
|
|
103
|
-
{
|
|
100
|
+
`, {
|
|
104
101
|
createdAt: flow.dateCreated,
|
|
105
102
|
description: flow.data.description,
|
|
106
103
|
groupId: flow.botId,
|
|
107
|
-
id
|
|
104
|
+
id,
|
|
108
105
|
name: flow.data.label,
|
|
109
106
|
updatedAt: flow.dateModified,
|
|
110
107
|
userId,
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
DELETE r
|
|
119
|
-
`,
|
|
120
|
-
{
|
|
121
|
-
id: flow.id,
|
|
122
|
-
}
|
|
123
|
-
);
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
await this.graphQuery(`
|
|
111
|
+
MATCH (flow:FLOW { id: $id })
|
|
112
|
+
OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS { isActive: false }]->(:CHANNEL)
|
|
113
|
+
DELETE relationships
|
|
114
|
+
`, { id });
|
|
124
115
|
|
|
125
116
|
const channel = flow.data.meta.idw?.channel;
|
|
126
|
-
if (channel !== undefined &&
|
|
127
|
-
await this.graphQuery(
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
);
|
|
117
|
+
if (channel !== undefined && channel.length !== 0) {
|
|
118
|
+
await this.graphQuery(`
|
|
119
|
+
MATCH (flow:FLOW { id: $id }),
|
|
120
|
+
(channel:CHANNEL { id: $channel })
|
|
121
|
+
MERGE (flow)-[relationship:IMPLEMENTS]->(channel)
|
|
122
|
+
ON CREATE
|
|
123
|
+
SET relationship.isActive = false
|
|
124
|
+
`, {
|
|
125
|
+
channel,
|
|
126
|
+
id,
|
|
127
|
+
});
|
|
139
128
|
}
|
|
140
|
-
// if (channel !== undefined) {
|
|
141
|
-
// const _channel = await this.getChannel(channel);
|
|
142
|
-
// if (channel !== undefined && _.isEmpty(_channel)) return;
|
|
143
|
-
// // TODO: ON MATCH DELETE [:IMPLEMENTS] relationship with channel node's { id != $channel }
|
|
144
|
-
// await this.deleteRelationship(flow.id, channel);
|
|
145
|
-
// // TODO: create :IMPLEMENTS relationship with channel node { id: $channel }
|
|
146
|
-
// await this.createRelationship(flow.id, channel);
|
|
147
|
-
// } else {
|
|
148
|
-
// // TODO: ON MATCH DELETE [:IMPLEMENTS] relationship with channel nodes
|
|
149
|
-
// await this.deleteAllRelationship(flow.id);
|
|
150
|
-
// }
|
|
151
129
|
}
|
|
152
130
|
|
|
153
131
|
async deleteFlow(id: string) {
|
|
@@ -163,53 +141,46 @@ export class IDW extends Base {
|
|
|
163
141
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
164
142
|
}
|
|
165
143
|
|
|
166
|
-
await this.graphQuery(
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
activatedAt: Date.now(),
|
|
177
|
-
}
|
|
178
|
-
);
|
|
144
|
+
await this.graphQuery(`
|
|
145
|
+
MATCH (flow:FLOW { id: $id })
|
|
146
|
+
OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)
|
|
147
|
+
DELETE relationships
|
|
148
|
+
SET flow.activatedAt = $activatedAt,
|
|
149
|
+
flow.isActive = true
|
|
150
|
+
`, {
|
|
151
|
+
activatedAt: Date.now(),
|
|
152
|
+
id,
|
|
153
|
+
});
|
|
179
154
|
|
|
180
155
|
const channel = flow.data.meta.idw?.channel;
|
|
181
|
-
if (channel !== undefined &&
|
|
182
|
-
await this.graphQuery(
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
id,
|
|
192
|
-
}
|
|
193
|
-
);
|
|
156
|
+
if (channel !== undefined && channel.length !== 0) {
|
|
157
|
+
await this.graphQuery(`
|
|
158
|
+
MATCH (flow:FLOW { id: $id }),
|
|
159
|
+
(channel:CHANNEL { id: $channel })
|
|
160
|
+
MERGE (flow)-[relationship:IMPLEMENTS]->(channel)
|
|
161
|
+
SET relationship.isActive = true
|
|
162
|
+
`, {
|
|
163
|
+
channel,
|
|
164
|
+
id,
|
|
165
|
+
});
|
|
194
166
|
}
|
|
195
167
|
}
|
|
196
168
|
|
|
197
|
-
|
|
198
169
|
async deactivateFlow(id: string) {
|
|
199
|
-
await this.graphQuery(
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
RETURN flow
|
|
170
|
+
await this.graphQuery(`
|
|
171
|
+
MATCH (flow:FLOW { id: $id })
|
|
172
|
+
OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)
|
|
173
|
+
SET flow.isActive = false,
|
|
174
|
+
relationships.isActive = false
|
|
175
|
+
REMOVE flow.activatedAt
|
|
176
|
+
RETURN flow
|
|
207
177
|
`, { id });
|
|
208
178
|
}
|
|
209
179
|
|
|
210
180
|
private async graphQuery(query: string, params?: Record<string, null | number | string | boolean>) {
|
|
211
181
|
//create graph if not exists
|
|
212
182
|
await this.checkOrCreateDb();
|
|
183
|
+
|
|
213
184
|
try {
|
|
214
185
|
return await this.graphApi.query({
|
|
215
186
|
graph: GRAPH_NAME,
|
|
@@ -217,7 +188,7 @@ export class IDW extends Base {
|
|
|
217
188
|
query,
|
|
218
189
|
});
|
|
219
190
|
} catch (e) {
|
|
220
|
-
// TODO:
|
|
191
|
+
// TODO: handle errors 🤔
|
|
221
192
|
}
|
|
222
193
|
}
|
|
223
194
|
}
|