@or-sdk/idw 1.1.0-beta.1299.0 → 1.1.0-beta.1301.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 +36 -51
- package/dist/cjs/idw.js.map +1 -1
- package/dist/esm/idw.js +18 -46
- package/dist/esm/idw.js.map +1 -1
- package/dist/types/idw.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/idw.ts +89 -49
package/dist/cjs/idw.js
CHANGED
|
@@ -94,7 +94,9 @@ var IDW = (function (_super) {
|
|
|
94
94
|
return [3, 4];
|
|
95
95
|
case 2:
|
|
96
96
|
e_1 = _a.sent();
|
|
97
|
-
return [4, this.graphApi.createGraph({
|
|
97
|
+
return [4, this.graphApi.createGraph({
|
|
98
|
+
name: constants_1.GRAPH_NAME,
|
|
99
|
+
})];
|
|
98
100
|
case 3:
|
|
99
101
|
_a.sent();
|
|
100
102
|
return [3, 4];
|
|
@@ -104,46 +106,32 @@ var IDW = (function (_super) {
|
|
|
104
106
|
});
|
|
105
107
|
};
|
|
106
108
|
IDW.prototype.createOrUpdateFlow = function (flow) {
|
|
107
|
-
var _a;
|
|
108
109
|
return __awaiter(this, void 0, void 0, function () {
|
|
109
|
-
var
|
|
110
|
-
return __generator(this, function (
|
|
111
|
-
switch (
|
|
110
|
+
var userId;
|
|
111
|
+
return __generator(this, function (_a) {
|
|
112
|
+
switch (_a.label) {
|
|
112
113
|
case 0:
|
|
113
|
-
|
|
114
|
-
if (id === undefined) {
|
|
114
|
+
if (flow.id === undefined) {
|
|
115
115
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
116
116
|
}
|
|
117
117
|
if (!flow.isDeleted) return [3, 2];
|
|
118
|
-
return [4, this.deleteFlow(id)];
|
|
119
|
-
case 1: return [2,
|
|
118
|
+
return [4, this.deleteFlow(flow.id)];
|
|
119
|
+
case 1: return [2, _a.sent()];
|
|
120
120
|
case 2: return [4, this.users.getCurrentUser()];
|
|
121
121
|
case 3:
|
|
122
|
-
userId = (
|
|
122
|
+
userId = (_a.sent()).userId;
|
|
123
123
|
return [4, this.graphQuery("\n MERGE (flow:FLOW { id: $id })\n ON MATCH\n SET flow.createdAt = $createdAt,\n flow.createdBy = $userId,\n flow.description = $description,\n flow.groupId = $groupId,\n flow.name = $name,\n flow.updatedAt = $updatedAt,\n flow.updatedBy = $userId\n ON CREATE\n SET flow.createdAt = $createdAt,\n flow.createdBy = $userId,\n flow.description = $description,\n flow.groupId = $groupId,\n flow.isActive = false,\n flow.name = $name,\n flow.updatedAt = $updatedAt,\n flow.updatedBy = $userId\n RETURN flow\n ", {
|
|
124
124
|
createdAt: flow.dateCreated,
|
|
125
125
|
description: flow.data.description,
|
|
126
126
|
groupId: flow.botId,
|
|
127
|
-
id: id,
|
|
127
|
+
id: flow.id,
|
|
128
128
|
name: flow.data.label,
|
|
129
129
|
updatedAt: flow.dateModified,
|
|
130
130
|
userId: userId,
|
|
131
131
|
})];
|
|
132
132
|
case 4:
|
|
133
|
-
|
|
134
|
-
return [
|
|
135
|
-
case 5:
|
|
136
|
-
_b.sent();
|
|
137
|
-
channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
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 ", {
|
|
140
|
-
channel: channel,
|
|
141
|
-
id: id,
|
|
142
|
-
})];
|
|
143
|
-
case 6:
|
|
144
|
-
_b.sent();
|
|
145
|
-
_b.label = 7;
|
|
146
|
-
case 7: return [2];
|
|
133
|
+
_a.sent();
|
|
134
|
+
return [2];
|
|
147
135
|
}
|
|
148
136
|
});
|
|
149
137
|
});
|
|
@@ -161,32 +149,22 @@ var IDW = (function (_super) {
|
|
|
161
149
|
});
|
|
162
150
|
};
|
|
163
151
|
IDW.prototype.activateFlow = function (flow) {
|
|
164
|
-
var _a;
|
|
165
152
|
return __awaiter(this, void 0, void 0, function () {
|
|
166
|
-
var id
|
|
167
|
-
return __generator(this, function (
|
|
168
|
-
switch (
|
|
153
|
+
var id;
|
|
154
|
+
return __generator(this, function (_a) {
|
|
155
|
+
switch (_a.label) {
|
|
169
156
|
case 0:
|
|
170
157
|
id = flow.id;
|
|
171
158
|
if (id === undefined) {
|
|
172
159
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
173
160
|
}
|
|
174
|
-
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id })\n
|
|
161
|
+
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id })\n SET flow.isActive = true,\n flow.activatedAt = $activatedAt\n RETURN flow\n ", {
|
|
175
162
|
activatedAt: Date.now(),
|
|
176
163
|
id: id,
|
|
177
164
|
})];
|
|
178
165
|
case 1:
|
|
179
|
-
|
|
180
|
-
|
|
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 ", {
|
|
183
|
-
channel: channel,
|
|
184
|
-
id: id,
|
|
185
|
-
})];
|
|
186
|
-
case 2:
|
|
187
|
-
_b.sent();
|
|
188
|
-
_b.label = 3;
|
|
189
|
-
case 3: return [2];
|
|
166
|
+
_a.sent();
|
|
167
|
+
return [2];
|
|
190
168
|
}
|
|
191
169
|
});
|
|
192
170
|
});
|
|
@@ -195,7 +173,7 @@ var IDW = (function (_super) {
|
|
|
195
173
|
return __awaiter(this, void 0, void 0, function () {
|
|
196
174
|
return __generator(this, function (_a) {
|
|
197
175
|
switch (_a.label) {
|
|
198
|
-
case 0: return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id }
|
|
176
|
+
case 0: return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id } )\n SET flow.isActive = false\n REMOVE flow.activatedAt\n RETURN flow\n ", { id: id })];
|
|
199
177
|
case 1:
|
|
200
178
|
_a.sent();
|
|
201
179
|
return [2];
|
|
@@ -205,25 +183,32 @@ var IDW = (function (_super) {
|
|
|
205
183
|
};
|
|
206
184
|
IDW.prototype.graphQuery = function (query, params) {
|
|
207
185
|
return __awaiter(this, void 0, void 0, function () {
|
|
208
|
-
var e_2;
|
|
186
|
+
var e_2, e_3;
|
|
209
187
|
return __generator(this, function (_a) {
|
|
210
188
|
switch (_a.label) {
|
|
211
|
-
case 0:
|
|
189
|
+
case 0:
|
|
190
|
+
_a.trys.push([0, 2, , 3]);
|
|
191
|
+
return [4, this.checkOrCreateDb()];
|
|
212
192
|
case 1:
|
|
213
193
|
_a.sent();
|
|
214
|
-
|
|
194
|
+
return [3, 3];
|
|
215
195
|
case 2:
|
|
216
|
-
_a.
|
|
196
|
+
e_2 = _a.sent();
|
|
197
|
+
console.warn(e_2);
|
|
198
|
+
return [3, 3];
|
|
199
|
+
case 3:
|
|
200
|
+
_a.trys.push([3, 5, , 6]);
|
|
217
201
|
return [4, this.graphApi.query({
|
|
218
202
|
graph: constants_1.GRAPH_NAME,
|
|
219
203
|
params: params,
|
|
220
204
|
query: query,
|
|
221
205
|
})];
|
|
222
|
-
case
|
|
223
|
-
case
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
206
|
+
case 4: return [2, _a.sent()];
|
|
207
|
+
case 5:
|
|
208
|
+
e_3 = _a.sent();
|
|
209
|
+
console.warn(e_3);
|
|
210
|
+
return [3, 6];
|
|
211
|
+
case 6: return [2];
|
|
227
212
|
}
|
|
228
213
|
});
|
|
229
214
|
});
|
package/dist/cjs/idw.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idw.js","sourceRoot":"","sources":["../../src/idw.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAoC;AAEpC,uCAAuC;AACvC,uCAAsC;AACtC,yCAAsD;AAUtD;IAAyB,uBAAI;IAe3B,aAAY,MAAiB;QAA7B,iBA4BC;QA1BG,IAAA,SAAS,GAKP,MAAM,UALC,EACT,YAAY,GAIV,MAAM,aAJI,EACZ,QAAQ,GAGN,MAAM,SAHA,EACR,SAAS,GAEP,MAAM,UAFC,EACT,KAAK,GACH,MAAM,MADH,CACI;gBAEX,kBAAM;YACJ,SAAS,WAAA;YACT,YAAY,cAAA;YACZ,UAAU,EAAE,uBAAW;YACvB,KAAK,OAAA;SACN,CAAC;QAEF,KAAI,CAAC,QAAQ,GAAG,IAAI,cAAM,CAAC;YACzB,SAAS,WAAA;YACT,YAAY,cAAA;YACZ,QAAQ,UAAA;YACR,KAAK,OAAA;SACN,CAAC,CAAC;QACH,KAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC;YACrB,SAAS,WAAA;YACT,KAAK,OAAA;YACL,YAAY,cAAA;YACZ,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;;IACL,CAAC;IAEK,6BAAe,GAArB;;;;;;;wBAEI,WAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,sBAAU,CAAC,EAAA;;wBAA5C,SAA4C,CAAC;;;;wBAE7C,WAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"idw.js","sourceRoot":"","sources":["../../src/idw.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/idw.js
CHANGED
|
@@ -39,19 +39,19 @@ export class IDW extends Base {
|
|
|
39
39
|
yield this.graphApi.getGraphInfo(GRAPH_NAME);
|
|
40
40
|
}
|
|
41
41
|
catch (e) {
|
|
42
|
-
yield this.graphApi.createGraph({
|
|
42
|
+
yield this.graphApi.createGraph({
|
|
43
|
+
name: GRAPH_NAME,
|
|
44
|
+
});
|
|
43
45
|
}
|
|
44
46
|
});
|
|
45
47
|
}
|
|
46
48
|
createOrUpdateFlow(flow) {
|
|
47
|
-
var _a;
|
|
48
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
|
|
50
|
-
if (id === undefined) {
|
|
50
|
+
if (flow.id === undefined) {
|
|
51
51
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
52
52
|
}
|
|
53
53
|
if (flow.isDeleted) {
|
|
54
|
-
return yield this.deleteFlow(id);
|
|
54
|
+
return yield this.deleteFlow(flow.id);
|
|
55
55
|
}
|
|
56
56
|
const { userId } = yield this.users.getCurrentUser();
|
|
57
57
|
yield this.graphQuery(`
|
|
@@ -78,29 +78,11 @@ export class IDW extends Base {
|
|
|
78
78
|
createdAt: flow.dateCreated,
|
|
79
79
|
description: flow.data.description,
|
|
80
80
|
groupId: flow.botId,
|
|
81
|
-
id,
|
|
81
|
+
id: flow.id,
|
|
82
82
|
name: flow.data.label,
|
|
83
83
|
updatedAt: flow.dateModified,
|
|
84
84
|
userId,
|
|
85
85
|
});
|
|
86
|
-
yield this.graphQuery(`
|
|
87
|
-
MATCH (flow:FLOW { id: $id })
|
|
88
|
-
OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS { isActive: false }]->(:CHANNEL)
|
|
89
|
-
DELETE relationships
|
|
90
|
-
`, { id });
|
|
91
|
-
const channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
92
|
-
if (channel !== undefined && channel.length !== 0) {
|
|
93
|
-
yield this.graphQuery(`
|
|
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
|
-
`, {
|
|
100
|
-
channel,
|
|
101
|
-
id,
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
86
|
});
|
|
105
87
|
}
|
|
106
88
|
deleteFlow(id) {
|
|
@@ -112,7 +94,6 @@ export class IDW extends Base {
|
|
|
112
94
|
});
|
|
113
95
|
}
|
|
114
96
|
activateFlow(flow) {
|
|
115
|
-
var _a;
|
|
116
97
|
return __awaiter(this, void 0, void 0, function* () {
|
|
117
98
|
const id = flow.id;
|
|
118
99
|
if (id === undefined) {
|
|
@@ -120,35 +101,20 @@ export class IDW extends Base {
|
|
|
120
101
|
}
|
|
121
102
|
yield this.graphQuery(`
|
|
122
103
|
MATCH (flow:FLOW { id: $id })
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
flow.isActive = true
|
|
104
|
+
SET flow.isActive = true,
|
|
105
|
+
flow.activatedAt = $activatedAt
|
|
106
|
+
RETURN flow
|
|
127
107
|
`, {
|
|
128
108
|
activatedAt: Date.now(),
|
|
129
109
|
id,
|
|
130
110
|
});
|
|
131
|
-
const channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
132
|
-
if (channel !== undefined && channel.length !== 0) {
|
|
133
|
-
yield this.graphQuery(`
|
|
134
|
-
MATCH (flow:FLOW { id: $id }),
|
|
135
|
-
(channel:CHANNEL { id: $channel })
|
|
136
|
-
MERGE (flow)-[relationship:IMPLEMENTS]->(channel)
|
|
137
|
-
SET relationship.isActive = true
|
|
138
|
-
`, {
|
|
139
|
-
channel,
|
|
140
|
-
id,
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
111
|
});
|
|
144
112
|
}
|
|
145
113
|
deactivateFlow(id) {
|
|
146
114
|
return __awaiter(this, void 0, void 0, function* () {
|
|
147
115
|
yield this.graphQuery(`
|
|
148
|
-
MATCH (flow:FLOW { id: $id })
|
|
149
|
-
|
|
150
|
-
SET flow.isActive = false,
|
|
151
|
-
relationships.isActive = false
|
|
116
|
+
MATCH (flow:FLOW { id: $id } )
|
|
117
|
+
SET flow.isActive = false
|
|
152
118
|
REMOVE flow.activatedAt
|
|
153
119
|
RETURN flow
|
|
154
120
|
`, { id });
|
|
@@ -156,7 +122,12 @@ export class IDW extends Base {
|
|
|
156
122
|
}
|
|
157
123
|
graphQuery(query, params) {
|
|
158
124
|
return __awaiter(this, void 0, void 0, function* () {
|
|
159
|
-
|
|
125
|
+
try {
|
|
126
|
+
yield this.checkOrCreateDb();
|
|
127
|
+
}
|
|
128
|
+
catch (e) {
|
|
129
|
+
console.warn(e);
|
|
130
|
+
}
|
|
160
131
|
try {
|
|
161
132
|
return yield this.graphApi.query({
|
|
162
133
|
graph: GRAPH_NAME,
|
|
@@ -165,6 +136,7 @@ export class IDW extends Base {
|
|
|
165
136
|
});
|
|
166
137
|
}
|
|
167
138
|
catch (e) {
|
|
139
|
+
console.warn(e);
|
|
168
140
|
}
|
|
169
141
|
});
|
|
170
142
|
}
|
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;AAUtD,MAAM,OAAO,GAAI,SAAQ,IAAI;IAe3B,YAAY,MAAiB;QAC3B,MAAM,EACJ,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,KAAK,GACN,GAAG,MAAM,CAAC;QAEX,KAAK,CAAC;YACJ,SAAS;YACT,YAAY;YACZ,UAAU,EAAE,WAAW;YACvB,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC;YACzB,SAAS;YACT,YAAY;YACZ,QAAQ;YACR,KAAK;SACN,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC;YACrB,SAAS;YACT,KAAK;YACL,YAAY;YACZ,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;IAEK,eAAe;;YACnB,IAAI;gBACF,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;aAC9C;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,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;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;
|
|
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;IAUf,kBAAkB,CAAC,IAAI,EAAE,IAAI;IAqG7B,UAAU,CAAC,EAAE,EAAE,MAAM;IAOrB,YAAY,CAAC,IAAI,EAAE,IAAI;IA2BvB,cAAc,CAAC,EAAE,EAAE,MAAM;YASjB,UAAU;CAoBzB"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.1.0-beta.
|
|
2
|
+
"version": "1.1.0-beta.1301.0",
|
|
3
3
|
"name": "@or-sdk/idw",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@or-sdk/base": "^0.28.1",
|
|
28
|
-
"@or-sdk/deployer": "^1.1.
|
|
28
|
+
"@or-sdk/deployer": "^1.1.2-beta.1301.0",
|
|
29
29
|
"@or-sdk/graph": "^1.3.1",
|
|
30
30
|
"@or-sdk/users": "^0.30.0"
|
|
31
31
|
}
|
package/src/idw.ts
CHANGED
|
@@ -61,18 +61,19 @@ export class IDW extends Base {
|
|
|
61
61
|
try {
|
|
62
62
|
await this.graphApi.getGraphInfo(GRAPH_NAME);
|
|
63
63
|
} catch (e) {
|
|
64
|
-
await this.graphApi.createGraph({
|
|
64
|
+
await this.graphApi.createGraph({
|
|
65
|
+
name: GRAPH_NAME,
|
|
66
|
+
});
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
69
|
|
|
68
70
|
async createOrUpdateFlow(flow: Flow) {
|
|
69
|
-
|
|
70
|
-
if (id === undefined) {
|
|
71
|
+
if (flow.id === undefined) {
|
|
71
72
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
72
73
|
}
|
|
73
74
|
|
|
74
75
|
if (flow.isDeleted) {
|
|
75
|
-
return await this.deleteFlow(id);
|
|
76
|
+
return await this.deleteFlow(flow.id);
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
const { userId } = await this.users.getCurrentUser();
|
|
@@ -97,37 +98,76 @@ export class IDW extends Base {
|
|
|
97
98
|
flow.updatedAt = $updatedAt,
|
|
98
99
|
flow.updatedBy = $userId
|
|
99
100
|
RETURN flow
|
|
100
|
-
`,
|
|
101
|
+
`,
|
|
102
|
+
{
|
|
101
103
|
createdAt: flow.dateCreated,
|
|
102
104
|
description: flow.data.description,
|
|
103
105
|
groupId: flow.botId,
|
|
104
|
-
id,
|
|
106
|
+
id: flow.id,
|
|
105
107
|
name: flow.data.label,
|
|
106
108
|
updatedAt: flow.dateModified,
|
|
107
109
|
userId,
|
|
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 });
|
|
115
|
-
|
|
116
|
-
const channel = flow.data.meta.idw?.channel;
|
|
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
|
-
});
|
|
128
110
|
}
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
// const channel = flow.data.meta.idw?.channel;
|
|
114
|
+
// if (channel !== undefined) {
|
|
115
|
+
// const _channel = await this.getChannel(channel);
|
|
116
|
+
// if (channel !== undefined && _.isEmpty(_channel)) return;
|
|
117
|
+
// // TODO: ON MATCH DELETE [:IMPLEMENTS] relationship with channel node's { id != $channel }
|
|
118
|
+
// await this.deleteRelationship(flow.id, channel);
|
|
119
|
+
// // TODO: create :IMPLEMENTS relationship with channel node { id: $channel }
|
|
120
|
+
// await this.createRelationship(flow.id, channel);
|
|
121
|
+
// } else {
|
|
122
|
+
// // TODO: ON MATCH DELETE [:IMPLEMENTS] relationship with channel nodes
|
|
123
|
+
// await this.deleteAllRelationship(flow.id);
|
|
124
|
+
// }
|
|
129
125
|
}
|
|
130
126
|
|
|
127
|
+
// async getChannel(channel: string) {
|
|
128
|
+
// return await this.graphQuery(`
|
|
129
|
+
// MATCH (channel: CHANNEL {id: $channel})
|
|
130
|
+
// RETURN channel`,
|
|
131
|
+
// { channel });
|
|
132
|
+
// }
|
|
133
|
+
|
|
134
|
+
// async getActivatedFlow(channel: string) {
|
|
135
|
+
// return await this.graphQuery(`
|
|
136
|
+
// MATCH (flow:FLOW { isActive: true })-[:IMPLEMENTS]-(:CHANNEL { channel: $channel })
|
|
137
|
+
// RETURN flow`,
|
|
138
|
+
// { channel });
|
|
139
|
+
// }
|
|
140
|
+
|
|
141
|
+
// async deleteRelationship(id: string, channel = '') {
|
|
142
|
+
// await this.graphQuery(`
|
|
143
|
+
// MATCH (:FLOW {id: $id})-[r:IMPLEMENTS]->(:CHANNEL {id: $channel})
|
|
144
|
+
// DELETE r
|
|
145
|
+
// `, {
|
|
146
|
+
// id,
|
|
147
|
+
// channel,
|
|
148
|
+
// });
|
|
149
|
+
// }
|
|
150
|
+
|
|
151
|
+
// async deleteAllRelationship(id: string, channel = '') {
|
|
152
|
+
// await this.graphQuery(`
|
|
153
|
+
// MATCH (:FLOW {id: $id})-[r:IMPLEMENTS]->(:CHANNEL)
|
|
154
|
+
// DELETE r
|
|
155
|
+
// `, {
|
|
156
|
+
// id,
|
|
157
|
+
// channel,
|
|
158
|
+
// });
|
|
159
|
+
// }
|
|
160
|
+
|
|
161
|
+
// async createRelationship(id: string, channel: string) {
|
|
162
|
+
// await this.graphQuery(`
|
|
163
|
+
// MATCH (f:FLOW {id: $id}), (c:CHANNEL {id: $channel})
|
|
164
|
+
// MERGE (f)-[:IMPLEMENTS]->(c)
|
|
165
|
+
// `, {
|
|
166
|
+
// id,
|
|
167
|
+
// channel,
|
|
168
|
+
// });
|
|
169
|
+
// }
|
|
170
|
+
|
|
131
171
|
async deleteFlow(id: string) {
|
|
132
172
|
await this.graphQuery(`
|
|
133
173
|
MATCH (flow:FLOW { id: $id })
|
|
@@ -141,45 +181,44 @@ export class IDW extends Base {
|
|
|
141
181
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
142
182
|
}
|
|
143
183
|
|
|
184
|
+
// const channel = flow.data.meta?.idw?.channel;
|
|
185
|
+
// if (channel != undefined) {
|
|
186
|
+
// // TODO: only throw if a (:FLOW { isActive: true })-[:IMPLEMENTS]-(:CHANNEL { channel: $channel })
|
|
187
|
+
// const activatedFlow = await this.getActivatedFlow(channel);
|
|
188
|
+
// if (activatedFlow && activatedFlow.length > 0) {
|
|
189
|
+
// throw new Error(`Cannot activate second flow for channel ${channel}`);
|
|
190
|
+
// }
|
|
191
|
+
// }
|
|
192
|
+
|
|
144
193
|
await this.graphQuery(`
|
|
145
194
|
MATCH (flow:FLOW { id: $id })
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
flow.isActive = true
|
|
195
|
+
SET flow.isActive = true,
|
|
196
|
+
flow.activatedAt = $activatedAt
|
|
197
|
+
RETURN flow
|
|
150
198
|
`, {
|
|
151
199
|
activatedAt: Date.now(),
|
|
152
200
|
id,
|
|
153
201
|
});
|
|
154
|
-
|
|
155
|
-
const channel = flow.data.meta.idw?.channel;
|
|
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
|
-
});
|
|
166
|
-
}
|
|
167
202
|
}
|
|
168
203
|
|
|
204
|
+
|
|
169
205
|
async deactivateFlow(id: string) {
|
|
170
206
|
await this.graphQuery(`
|
|
171
|
-
MATCH (flow:FLOW { id: $id })
|
|
172
|
-
|
|
173
|
-
SET flow.isActive = false,
|
|
174
|
-
relationships.isActive = false
|
|
207
|
+
MATCH (flow:FLOW { id: $id } )
|
|
208
|
+
SET flow.isActive = false
|
|
175
209
|
REMOVE flow.activatedAt
|
|
176
210
|
RETURN flow
|
|
177
211
|
`, { id });
|
|
178
212
|
}
|
|
179
213
|
|
|
180
214
|
private async graphQuery(query: string, params?: Record<string, null | number | string | boolean>) {
|
|
181
|
-
//
|
|
182
|
-
|
|
215
|
+
//create graph if not exists
|
|
216
|
+
try {
|
|
217
|
+
await this.checkOrCreateDb();
|
|
218
|
+
} catch (e) {
|
|
219
|
+
console.warn(e);
|
|
220
|
+
// TODO: handle errors 🤔
|
|
221
|
+
}
|
|
183
222
|
|
|
184
223
|
try {
|
|
185
224
|
return await this.graphApi.query({
|
|
@@ -188,6 +227,7 @@ export class IDW extends Base {
|
|
|
188
227
|
query,
|
|
189
228
|
});
|
|
190
229
|
} catch (e) {
|
|
230
|
+
console.warn(e);
|
|
191
231
|
// TODO: handle errors 🤔
|
|
192
232
|
}
|
|
193
233
|
}
|