@or-sdk/idw 1.1.0-beta.1288.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 +42 -20
- package/dist/cjs/idw.js.map +1 -1
- package/dist/esm/idw.js +45 -11
- 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 +50 -83
package/dist/cjs/idw.js
CHANGED
|
@@ -94,9 +94,7 @@ 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({
|
|
98
|
-
name: constants_1.GRAPH_NAME,
|
|
99
|
-
})];
|
|
97
|
+
return [4, this.graphApi.createGraph({ name: constants_1.GRAPH_NAME })];
|
|
100
98
|
case 3:
|
|
101
99
|
_a.sent();
|
|
102
100
|
return [3, 4];
|
|
@@ -106,32 +104,46 @@ var IDW = (function (_super) {
|
|
|
106
104
|
});
|
|
107
105
|
};
|
|
108
106
|
IDW.prototype.createOrUpdateFlow = function (flow) {
|
|
107
|
+
var _a;
|
|
109
108
|
return __awaiter(this, void 0, void 0, function () {
|
|
110
|
-
var userId;
|
|
111
|
-
return __generator(this, function (
|
|
112
|
-
switch (
|
|
109
|
+
var id, userId, channel;
|
|
110
|
+
return __generator(this, function (_b) {
|
|
111
|
+
switch (_b.label) {
|
|
113
112
|
case 0:
|
|
114
|
-
|
|
113
|
+
id = flow.id;
|
|
114
|
+
if (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(
|
|
119
|
-
case 1: return [2,
|
|
118
|
+
return [4, this.deleteFlow(id)];
|
|
119
|
+
case 1: return [2, _b.sent()];
|
|
120
120
|
case 2: return [4, this.users.getCurrentUser()];
|
|
121
121
|
case 3:
|
|
122
|
-
userId = (
|
|
122
|
+
userId = (_b.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:
|
|
127
|
+
id: 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 [
|
|
133
|
+
_b.sent();
|
|
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 })];
|
|
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];
|
|
135
147
|
}
|
|
136
148
|
});
|
|
137
149
|
});
|
|
@@ -149,22 +161,32 @@ var IDW = (function (_super) {
|
|
|
149
161
|
});
|
|
150
162
|
};
|
|
151
163
|
IDW.prototype.activateFlow = function (flow) {
|
|
164
|
+
var _a;
|
|
152
165
|
return __awaiter(this, void 0, void 0, function () {
|
|
153
|
-
var id;
|
|
154
|
-
return __generator(this, function (
|
|
155
|
-
switch (
|
|
166
|
+
var id, channel;
|
|
167
|
+
return __generator(this, function (_b) {
|
|
168
|
+
switch (_b.label) {
|
|
156
169
|
case 0:
|
|
157
170
|
id = flow.id;
|
|
158
171
|
if (id === undefined) {
|
|
159
172
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
160
173
|
}
|
|
161
|
-
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id })\n SET flow.
|
|
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 ", {
|
|
162
175
|
activatedAt: Date.now(),
|
|
163
176
|
id: id,
|
|
164
177
|
})];
|
|
165
178
|
case 1:
|
|
166
|
-
|
|
167
|
-
|
|
179
|
+
_b.sent();
|
|
180
|
+
channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
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];
|
|
168
190
|
}
|
|
169
191
|
});
|
|
170
192
|
});
|
|
@@ -173,7 +195,7 @@ var IDW = (function (_super) {
|
|
|
173
195
|
return __awaiter(this, void 0, void 0, function () {
|
|
174
196
|
return __generator(this, function (_a) {
|
|
175
197
|
switch (_a.label) {
|
|
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 })];
|
|
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 })];
|
|
177
199
|
case 1:
|
|
178
200
|
_a.sent();
|
|
179
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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({
|
|
43
|
-
name: GRAPH_NAME,
|
|
44
|
-
});
|
|
42
|
+
yield this.graphApi.createGraph({ name: GRAPH_NAME });
|
|
45
43
|
}
|
|
46
44
|
});
|
|
47
45
|
}
|
|
48
46
|
createOrUpdateFlow(flow) {
|
|
47
|
+
var _a;
|
|
49
48
|
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
-
|
|
49
|
+
const id = flow.id;
|
|
50
|
+
if (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(
|
|
54
|
+
return yield this.deleteFlow(id);
|
|
55
55
|
}
|
|
56
56
|
const { userId } = yield this.users.getCurrentUser();
|
|
57
57
|
yield this.graphQuery(`
|
|
@@ -78,11 +78,29 @@ 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,
|
|
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
|
+
}
|
|
86
104
|
});
|
|
87
105
|
}
|
|
88
106
|
deleteFlow(id) {
|
|
@@ -94,6 +112,7 @@ export class IDW extends Base {
|
|
|
94
112
|
});
|
|
95
113
|
}
|
|
96
114
|
activateFlow(flow) {
|
|
115
|
+
var _a;
|
|
97
116
|
return __awaiter(this, void 0, void 0, function* () {
|
|
98
117
|
const id = flow.id;
|
|
99
118
|
if (id === undefined) {
|
|
@@ -101,20 +120,35 @@ export class IDW extends Base {
|
|
|
101
120
|
}
|
|
102
121
|
yield this.graphQuery(`
|
|
103
122
|
MATCH (flow:FLOW { id: $id })
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
123
|
+
OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)
|
|
124
|
+
DELETE relationships
|
|
125
|
+
SET flow.activatedAt = $activatedAt,
|
|
126
|
+
flow.isActive = true
|
|
107
127
|
`, {
|
|
108
128
|
activatedAt: Date.now(),
|
|
109
129
|
id,
|
|
110
130
|
});
|
|
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
|
+
}
|
|
111
143
|
});
|
|
112
144
|
}
|
|
113
145
|
deactivateFlow(id) {
|
|
114
146
|
return __awaiter(this, void 0, void 0, function* () {
|
|
115
147
|
yield this.graphQuery(`
|
|
116
|
-
MATCH (flow:FLOW { id: $id }
|
|
117
|
-
|
|
148
|
+
MATCH (flow:FLOW { id: $id })
|
|
149
|
+
OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)
|
|
150
|
+
SET flow.isActive = false,
|
|
151
|
+
relationships.isActive = false
|
|
118
152
|
REMOVE flow.activatedAt
|
|
119
153
|
RETURN flow
|
|
120
154
|
`, { id });
|
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;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,7 +25,7 @@
|
|
|
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
30
|
"@or-sdk/users": "^0.30.0"
|
|
31
31
|
}
|
package/src/idw.ts
CHANGED
|
@@ -61,19 +61,18 @@ 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({
|
|
65
|
-
name: GRAPH_NAME,
|
|
66
|
-
});
|
|
64
|
+
await this.graphApi.createGraph({ name: GRAPH_NAME });
|
|
67
65
|
}
|
|
68
66
|
}
|
|
69
67
|
|
|
70
68
|
async createOrUpdateFlow(flow: Flow) {
|
|
71
|
-
|
|
69
|
+
const id = flow.id;
|
|
70
|
+
if (id === undefined) {
|
|
72
71
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
73
72
|
}
|
|
74
73
|
|
|
75
74
|
if (flow.isDeleted) {
|
|
76
|
-
return await this.deleteFlow(
|
|
75
|
+
return await this.deleteFlow(id);
|
|
77
76
|
}
|
|
78
77
|
|
|
79
78
|
const { userId } = await this.users.getCurrentUser();
|
|
@@ -98,76 +97,37 @@ export class IDW extends Base {
|
|
|
98
97
|
flow.updatedAt = $updatedAt,
|
|
99
98
|
flow.updatedBy = $userId
|
|
100
99
|
RETURN flow
|
|
101
|
-
`,
|
|
102
|
-
{
|
|
100
|
+
`, {
|
|
103
101
|
createdAt: flow.dateCreated,
|
|
104
102
|
description: flow.data.description,
|
|
105
103
|
groupId: flow.botId,
|
|
106
|
-
id
|
|
104
|
+
id,
|
|
107
105
|
name: flow.data.label,
|
|
108
106
|
updatedAt: flow.dateModified,
|
|
109
107
|
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
|
+
});
|
|
110
128
|
}
|
|
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
|
-
// }
|
|
125
129
|
}
|
|
126
130
|
|
|
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
|
-
|
|
171
131
|
async deleteFlow(id: string) {
|
|
172
132
|
await this.graphQuery(`
|
|
173
133
|
MATCH (flow:FLOW { id: $id })
|
|
@@ -181,39 +141,46 @@ export class IDW extends Base {
|
|
|
181
141
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
182
142
|
}
|
|
183
143
|
|
|
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
|
-
|
|
193
144
|
await this.graphQuery(`
|
|
194
145
|
MATCH (flow:FLOW { id: $id })
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
146
|
+
OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)
|
|
147
|
+
DELETE relationships
|
|
148
|
+
SET flow.activatedAt = $activatedAt,
|
|
149
|
+
flow.isActive = true
|
|
198
150
|
`, {
|
|
199
151
|
activatedAt: Date.now(),
|
|
200
152
|
id,
|
|
201
153
|
});
|
|
202
|
-
}
|
|
203
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
|
+
}
|
|
204
168
|
|
|
205
169
|
async deactivateFlow(id: string) {
|
|
206
170
|
await this.graphQuery(`
|
|
207
|
-
MATCH (flow:FLOW { id: $id }
|
|
208
|
-
|
|
171
|
+
MATCH (flow:FLOW { id: $id })
|
|
172
|
+
OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)
|
|
173
|
+
SET flow.isActive = false,
|
|
174
|
+
relationships.isActive = false
|
|
209
175
|
REMOVE flow.activatedAt
|
|
210
176
|
RETURN flow
|
|
211
177
|
`, { id });
|
|
212
178
|
}
|
|
213
179
|
|
|
214
180
|
private async graphQuery(query: string, params?: Record<string, null | number | string | boolean>) {
|
|
215
|
-
//
|
|
181
|
+
//create graph if not exists
|
|
216
182
|
await this.checkOrCreateDb();
|
|
183
|
+
|
|
217
184
|
try {
|
|
218
185
|
return await this.graphApi.query({
|
|
219
186
|
graph: GRAPH_NAME,
|
|
@@ -221,7 +188,7 @@ export class IDW extends Base {
|
|
|
221
188
|
query,
|
|
222
189
|
});
|
|
223
190
|
} catch (e) {
|
|
224
|
-
// TODO:
|
|
191
|
+
// TODO: handle errors 🤔
|
|
225
192
|
}
|
|
226
193
|
}
|
|
227
194
|
}
|