@or-sdk/idw 1.1.0-beta.1293.0 → 1.1.0-beta.1295.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 +20 -42
- package/dist/cjs/idw.js.map +1 -1
- package/dist/esm/idw.js +11 -45
- 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 +83 -50
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];
|
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 });
|
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;CAazB"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.1.0-beta.
|
|
2
|
+
"version": "1.1.0-beta.1295.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.1295.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,46 +181,39 @@ 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
|
-
//
|
|
215
|
+
// if 'idw' graph doesn't exist - create it
|
|
182
216
|
await this.checkOrCreateDb();
|
|
183
|
-
|
|
184
217
|
try {
|
|
185
218
|
return await this.graphApi.query({
|
|
186
219
|
graph: GRAPH_NAME,
|
|
@@ -188,7 +221,7 @@ export class IDW extends Base {
|
|
|
188
221
|
query,
|
|
189
222
|
});
|
|
190
223
|
} catch (e) {
|
|
191
|
-
// TODO:
|
|
224
|
+
// TODO: if 'idw' graph doesn't exist - create it, seed with channels data, and retry query
|
|
192
225
|
}
|
|
193
226
|
}
|
|
194
227
|
}
|