@or-sdk/idw 1.1.0-beta.1316.0 → 1.1.0-beta.1319.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 +74 -37
- package/dist/cjs/idw.js.map +1 -1
- package/dist/esm/idw.js +39 -13
- package/dist/esm/idw.js.map +1 -1
- package/dist/types/idw.d.ts +3 -1
- package/dist/types/idw.d.ts.map +1 -1
- package/dist/types/types.d.ts +11 -0
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/idw.ts +42 -15
- package/src/types.ts +14 -0
package/dist/cjs/idw.js
CHANGED
|
@@ -104,11 +104,11 @@ var IDW = (function (_super) {
|
|
|
104
104
|
});
|
|
105
105
|
};
|
|
106
106
|
IDW.prototype.createOrUpdateFlow = function (flow) {
|
|
107
|
-
var _a;
|
|
107
|
+
var _a, _b;
|
|
108
108
|
return __awaiter(this, void 0, void 0, function () {
|
|
109
|
-
var id, userId, channel;
|
|
110
|
-
return __generator(this, function (
|
|
111
|
-
switch (
|
|
109
|
+
var id, userId, channel, skills;
|
|
110
|
+
return __generator(this, function (_c) {
|
|
111
|
+
switch (_c.label) {
|
|
112
112
|
case 0:
|
|
113
113
|
id = flow.id;
|
|
114
114
|
if (id === undefined) {
|
|
@@ -116,10 +116,10 @@ var IDW = (function (_super) {
|
|
|
116
116
|
}
|
|
117
117
|
if (!flow.isDeleted) return [3, 2];
|
|
118
118
|
return [4, this.deleteFlow(id)];
|
|
119
|
-
case 1: return [2,
|
|
119
|
+
case 1: return [2, _c.sent()];
|
|
120
120
|
case 2: return [4, this.users.getCurrentUser()];
|
|
121
121
|
case 3:
|
|
122
|
-
userId = (
|
|
122
|
+
userId = (_c.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,
|
|
@@ -130,20 +130,27 @@ var IDW = (function (_super) {
|
|
|
130
130
|
userId: userId,
|
|
131
131
|
})];
|
|
132
132
|
case 4:
|
|
133
|
-
|
|
134
|
-
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id })\n OPTIONAL MATCH (flow)-[
|
|
133
|
+
_c.sent();
|
|
134
|
+
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id })\n OPTIONAL MATCH (flow)-[channelRelations:IMPLEMENTS { isActive: false }]->(:CHANNEL)\n OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS]->(:SKILL)\n DELETE channelRelations, skillRelations\n ", { id: id })];
|
|
135
135
|
case 5:
|
|
136
|
-
|
|
136
|
+
_c.sent();
|
|
137
137
|
channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
138
|
+
skills = (_b = flow.data.meta.idw) === null || _b === void 0 ? void 0 : _b.skills;
|
|
138
139
|
if (!(channel !== undefined && channel.length !== 0)) return [3, 7];
|
|
139
140
|
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
141
|
channel: channel,
|
|
141
142
|
id: id,
|
|
142
143
|
})];
|
|
143
144
|
case 6:
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
case 7:
|
|
145
|
+
_c.sent();
|
|
146
|
+
_c.label = 7;
|
|
147
|
+
case 7:
|
|
148
|
+
if (!(skills === null || skills === void 0 ? void 0 : skills.length)) return [3, 9];
|
|
149
|
+
return [4, this.createSkillRelation(skills, id)];
|
|
150
|
+
case 8:
|
|
151
|
+
_c.sent();
|
|
152
|
+
_c.label = 9;
|
|
153
|
+
case 9: return [2];
|
|
147
154
|
}
|
|
148
155
|
});
|
|
149
156
|
});
|
|
@@ -161,32 +168,39 @@ var IDW = (function (_super) {
|
|
|
161
168
|
});
|
|
162
169
|
};
|
|
163
170
|
IDW.prototype.activateFlow = function (flow) {
|
|
164
|
-
var _a;
|
|
171
|
+
var _a, _b;
|
|
165
172
|
return __awaiter(this, void 0, void 0, function () {
|
|
166
|
-
var id, channel;
|
|
167
|
-
return __generator(this, function (
|
|
168
|
-
switch (
|
|
173
|
+
var id, channel, skills;
|
|
174
|
+
return __generator(this, function (_c) {
|
|
175
|
+
switch (_c.label) {
|
|
169
176
|
case 0:
|
|
170
177
|
id = flow.id;
|
|
171
178
|
if (id === undefined) {
|
|
172
179
|
throw new Error('Only flows with id can be added to the IDW graph');
|
|
173
180
|
}
|
|
174
|
-
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id })\n OPTIONAL MATCH (flow)-[
|
|
181
|
+
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id })\n OPTIONAL MATCH (flow)-[channelRelations:IMPLEMENTS]->(:CHANNEL)\n OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS]->(:SKILL)\n DELETE channelRelations, skillRelations\n SET flow.activatedAt = $activatedAt,\n flow.isActive = true\n ", {
|
|
175
182
|
activatedAt: Date.now(),
|
|
176
183
|
id: id,
|
|
177
184
|
})];
|
|
178
185
|
case 1:
|
|
179
|
-
|
|
186
|
+
_c.sent();
|
|
180
187
|
channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
188
|
+
skills = (_b = flow.data.meta.idw) === null || _b === void 0 ? void 0 : _b.skills;
|
|
181
189
|
if (!(channel !== undefined && channel.length !== 0)) return [3, 3];
|
|
182
190
|
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
191
|
channel: channel,
|
|
184
192
|
id: id,
|
|
185
193
|
})];
|
|
186
194
|
case 2:
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
case 3:
|
|
195
|
+
_c.sent();
|
|
196
|
+
_c.label = 3;
|
|
197
|
+
case 3:
|
|
198
|
+
if (!(skills === null || skills === void 0 ? void 0 : skills.length)) return [3, 5];
|
|
199
|
+
return [4, this.createSkillRelation(skills, id)];
|
|
200
|
+
case 4:
|
|
201
|
+
_c.sent();
|
|
202
|
+
_c.label = 5;
|
|
203
|
+
case 5: return [2];
|
|
190
204
|
}
|
|
191
205
|
});
|
|
192
206
|
});
|
|
@@ -203,34 +217,57 @@ var IDW = (function (_super) {
|
|
|
203
217
|
});
|
|
204
218
|
});
|
|
205
219
|
};
|
|
206
|
-
IDW.prototype.
|
|
220
|
+
IDW.prototype.createSkillRelation = function (skillIds, flowId) {
|
|
207
221
|
return __awaiter(this, void 0, void 0, function () {
|
|
208
|
-
var
|
|
222
|
+
var preparedIds;
|
|
209
223
|
return __generator(this, function (_a) {
|
|
210
224
|
switch (_a.label) {
|
|
211
225
|
case 0:
|
|
212
|
-
|
|
213
|
-
return [4, this.
|
|
226
|
+
preparedIds = skillIds.map(function (id) { return "'".concat(id, "'"); });
|
|
227
|
+
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id }), (skill:SKILL)\n WHERE skill.id in [".concat(preparedIds, "]\n MERGE (flow)-[:IMPLEMENTS]->(skill)\n return skill, flow\n "), {
|
|
228
|
+
id: flowId,
|
|
229
|
+
})];
|
|
230
|
+
case 1:
|
|
231
|
+
_a.sent();
|
|
232
|
+
return [2];
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
};
|
|
237
|
+
IDW.prototype.getSkillsList = function () {
|
|
238
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
239
|
+
var data;
|
|
240
|
+
return __generator(this, function (_a) {
|
|
241
|
+
switch (_a.label) {
|
|
242
|
+
case 0: return [4, this.graphQuery("\n MATCH (skills:SKILL)\n RETURN skills\n ", {})];
|
|
243
|
+
case 1:
|
|
244
|
+
data = _a.sent();
|
|
245
|
+
return [2, (data !== null && data !== void 0 ? data : []).map(function (row) { return row.properties; })];
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
};
|
|
250
|
+
IDW.prototype.graphQuery = function (query, params) {
|
|
251
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
252
|
+
var e_2;
|
|
253
|
+
return __generator(this, function (_a) {
|
|
254
|
+
switch (_a.label) {
|
|
255
|
+
case 0: return [4, this.checkOrCreateDb()];
|
|
214
256
|
case 1:
|
|
215
257
|
_a.sent();
|
|
216
|
-
|
|
258
|
+
_a.label = 2;
|
|
217
259
|
case 2:
|
|
218
|
-
|
|
219
|
-
console.warn(e_2);
|
|
220
|
-
return [3, 3];
|
|
221
|
-
case 3:
|
|
222
|
-
_a.trys.push([3, 5, , 6]);
|
|
260
|
+
_a.trys.push([2, 4, , 5]);
|
|
223
261
|
return [4, this.graphApi.query({
|
|
224
262
|
graph: constants_1.GRAPH_NAME,
|
|
225
263
|
params: params,
|
|
226
264
|
query: query,
|
|
227
265
|
})];
|
|
228
|
-
case
|
|
229
|
-
case
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
case 6: return [2];
|
|
266
|
+
case 3: return [2, _a.sent()];
|
|
267
|
+
case 4:
|
|
268
|
+
e_2 = _a.sent();
|
|
269
|
+
return [3, 5];
|
|
270
|
+
case 5: return [2];
|
|
234
271
|
}
|
|
235
272
|
});
|
|
236
273
|
});
|
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,EAAE,IAAI,EAAE,sBAAU,EAAE,CAAC,EAAA;;wBAArD,SAAqD,CAAC;;;;;;KAEzD;IAEK,gCAAkB,GAAxB,UAAyB,IAAU;;;;;;;wBAC3B,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;wBACnB,IAAI,EAAE,KAAK,SAAS,EAAE;4BACpB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;yBACrE;6BAEG,IAAI,CAAC,SAAS,EAAd,cAAc;wBACT,WAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAA;4BAAhC,WAAO,SAAyB,EAAC;4BAGhB,WAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAA;;wBAA5C,MAAM,GAAK,CAAA,SAAiC,CAAA,OAAtC;wBAEd,WAAM,IAAI,CAAC,UAAU,CAAC,+qBAoBrB,EAAE;gCACD,SAAS,EAAE,IAAI,CAAC,WAAW;gCAC3B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gCAClC,OAAO,EAAE,IAAI,CAAC,KAAK;gCACnB,EAAE,IAAA;gCACF,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;gCACrB,SAAS,EAAE,IAAI,CAAC,YAAY;gCAC5B,MAAM,QAAA;6BACP,CAAC,EAAA;;wBA5BF,SA4BE,CAAC;wBAEH,WAAM,IAAI,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"idw.js","sourceRoot":"","sources":["../../src/idw.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/idw.js
CHANGED
|
@@ -44,7 +44,7 @@ export class IDW extends Base {
|
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
createOrUpdateFlow(flow) {
|
|
47
|
-
var _a;
|
|
47
|
+
var _a, _b;
|
|
48
48
|
return __awaiter(this, void 0, void 0, function* () {
|
|
49
49
|
const id = flow.id;
|
|
50
50
|
if (id === undefined) {
|
|
@@ -85,10 +85,12 @@ export class IDW extends Base {
|
|
|
85
85
|
});
|
|
86
86
|
yield this.graphQuery(`
|
|
87
87
|
MATCH (flow:FLOW { id: $id })
|
|
88
|
-
OPTIONAL MATCH (flow)-[
|
|
89
|
-
|
|
88
|
+
OPTIONAL MATCH (flow)-[channelRelations:IMPLEMENTS { isActive: false }]->(:CHANNEL)
|
|
89
|
+
OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS]->(:SKILL)
|
|
90
|
+
DELETE channelRelations, skillRelations
|
|
90
91
|
`, { id });
|
|
91
92
|
const channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
93
|
+
const skills = (_b = flow.data.meta.idw) === null || _b === void 0 ? void 0 : _b.skills;
|
|
92
94
|
if (channel !== undefined && channel.length !== 0) {
|
|
93
95
|
yield this.graphQuery(`
|
|
94
96
|
MATCH (flow:FLOW { id: $id }),
|
|
@@ -101,6 +103,9 @@ export class IDW extends Base {
|
|
|
101
103
|
id,
|
|
102
104
|
});
|
|
103
105
|
}
|
|
106
|
+
if (skills === null || skills === void 0 ? void 0 : skills.length) {
|
|
107
|
+
yield this.createSkillRelation(skills, id);
|
|
108
|
+
}
|
|
104
109
|
});
|
|
105
110
|
}
|
|
106
111
|
deleteFlow(id) {
|
|
@@ -112,7 +117,7 @@ export class IDW extends Base {
|
|
|
112
117
|
});
|
|
113
118
|
}
|
|
114
119
|
activateFlow(flow) {
|
|
115
|
-
var _a;
|
|
120
|
+
var _a, _b;
|
|
116
121
|
return __awaiter(this, void 0, void 0, function* () {
|
|
117
122
|
const id = flow.id;
|
|
118
123
|
if (id === undefined) {
|
|
@@ -120,8 +125,9 @@ export class IDW extends Base {
|
|
|
120
125
|
}
|
|
121
126
|
yield this.graphQuery(`
|
|
122
127
|
MATCH (flow:FLOW { id: $id })
|
|
123
|
-
OPTIONAL MATCH (flow)-[
|
|
124
|
-
|
|
128
|
+
OPTIONAL MATCH (flow)-[channelRelations:IMPLEMENTS]->(:CHANNEL)
|
|
129
|
+
OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS]->(:SKILL)
|
|
130
|
+
DELETE channelRelations, skillRelations
|
|
125
131
|
SET flow.activatedAt = $activatedAt,
|
|
126
132
|
flow.isActive = true
|
|
127
133
|
`, {
|
|
@@ -129,6 +135,7 @@ export class IDW extends Base {
|
|
|
129
135
|
id,
|
|
130
136
|
});
|
|
131
137
|
const channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
138
|
+
const skills = (_b = flow.data.meta.idw) === null || _b === void 0 ? void 0 : _b.skills;
|
|
132
139
|
if (channel !== undefined && channel.length !== 0) {
|
|
133
140
|
yield this.graphQuery(`
|
|
134
141
|
MATCH (flow:FLOW { id: $id }),
|
|
@@ -140,6 +147,9 @@ export class IDW extends Base {
|
|
|
140
147
|
id,
|
|
141
148
|
});
|
|
142
149
|
}
|
|
150
|
+
if (skills === null || skills === void 0 ? void 0 : skills.length) {
|
|
151
|
+
yield this.createSkillRelation(skills, id);
|
|
152
|
+
}
|
|
143
153
|
});
|
|
144
154
|
}
|
|
145
155
|
deactivateFlow(id) {
|
|
@@ -154,14 +164,31 @@ export class IDW extends Base {
|
|
|
154
164
|
`, { id });
|
|
155
165
|
});
|
|
156
166
|
}
|
|
167
|
+
createSkillRelation(skillIds, flowId) {
|
|
168
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
169
|
+
const preparedIds = skillIds.map(id => `'${id}'`);
|
|
170
|
+
yield this.graphQuery(`
|
|
171
|
+
MATCH (flow:FLOW { id: $id }), (skill:SKILL)
|
|
172
|
+
WHERE skill.id in [${preparedIds}]
|
|
173
|
+
MERGE (flow)-[:IMPLEMENTS]->(skill)
|
|
174
|
+
return skill, flow
|
|
175
|
+
`, {
|
|
176
|
+
id: flowId,
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
getSkillsList() {
|
|
181
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
182
|
+
const data = yield this.graphQuery(`
|
|
183
|
+
MATCH (skills:SKILL)
|
|
184
|
+
RETURN skills
|
|
185
|
+
`, {});
|
|
186
|
+
return (data !== null && data !== void 0 ? data : []).map(row => row.properties);
|
|
187
|
+
});
|
|
188
|
+
}
|
|
157
189
|
graphQuery(query, params) {
|
|
158
190
|
return __awaiter(this, void 0, void 0, function* () {
|
|
159
|
-
|
|
160
|
-
yield this.checkOrCreateDb();
|
|
161
|
-
}
|
|
162
|
-
catch (e) {
|
|
163
|
-
console.warn(e);
|
|
164
|
-
}
|
|
191
|
+
yield this.checkOrCreateDb();
|
|
165
192
|
try {
|
|
166
193
|
return yield this.graphApi.query({
|
|
167
194
|
graph: GRAPH_NAME,
|
|
@@ -170,7 +197,6 @@ export class IDW extends Base {
|
|
|
170
197
|
});
|
|
171
198
|
}
|
|
172
199
|
catch (e) {
|
|
173
|
-
console.warn(e);
|
|
174
200
|
}
|
|
175
201
|
});
|
|
176
202
|
}
|
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,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;aACvD;QACH,CAAC;KAAA;IAEK,kBAAkB,CAAC,IAAU;;;YACjC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,IAAI,EAAE,KAAK,SAAS,EAAE;gBACpB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;aACrE;YAED,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;aAClC;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAErD,MAAM,IAAI,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;KAoBrB,EAAE;gBACD,SAAS,EAAE,IAAI,CAAC,WAAW;gBAC3B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,OAAO,EAAE,IAAI,CAAC,KAAK;gBACnB,EAAE;gBACF,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,IAAI,CAAC,YAAY;gBAC5B,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,UAAU,CAAC
|
|
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,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;aACvD;QACH,CAAC;KAAA;IAEK,kBAAkB,CAAC,IAAU;;;YACjC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,IAAI,EAAE,KAAK,SAAS,EAAE;gBACpB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;aACrE;YAED,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;aAClC;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAErD,MAAM,IAAI,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;KAoBrB,EAAE;gBACD,SAAS,EAAE,IAAI,CAAC,WAAW;gBAC3B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,OAAO,EAAE,IAAI,CAAC,KAAK;gBACnB,EAAE;gBACF,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,IAAI,CAAC,YAAY;gBAC5B,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,UAAU,CAAC;;;;;KAKrB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAEX,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,OAAO,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,MAAM,CAAC;YAC1C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjD,MAAM,IAAI,CAAC,UAAU,CAAC;;;;;;OAMrB,EAAE;oBACD,OAAO;oBACP,EAAE;iBACH,CAAC,CAAC;aACJ;YAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE;gBAClB,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aAC5C;;KACF;IAEK,UAAU,CAAC,EAAU;;YACzB,MAAM,IAAI,CAAC,UAAU,CAAC;;;KAGrB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACb,CAAC;KAAA;IAEK,YAAY,CAAC,IAAU;;;YAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,IAAI,EAAE,KAAK,SAAS,EAAE;gBACpB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;aACrE;YAED,MAAM,IAAI,CAAC,UAAU,CAAC;;;;;;;KAOrB,EAAE;gBACD,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;gBACvB,EAAE;aACH,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,OAAO,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,MAAM,CAAC;YAC1C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjD,MAAM,IAAI,CAAC,UAAU,CAAC;;;;;OAKrB,EAAE;oBACD,OAAO;oBACP,EAAE;iBACH,CAAC,CAAC;aACJ;YAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE;gBAClB,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aAC5C;;KACF;IAEK,cAAc,CAAC,EAAU;;YAC7B,MAAM,IAAI,CAAC,UAAU,CAAC;;;;;;;KAOrB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACb,CAAC;KAAA;IAGa,mBAAmB,CAAC,QAAkB,EAAE,MAAc;;YAClE,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,UAAU,CAAC;;6BAEG,WAAW;;;OAGjC,EAAE;gBACH,EAAE,EAAE,MAAM;aACX,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,aAAa;;YACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAoC;;;KAGrE,EAAE,EAAE,CAAC,CAAC;YACP,OAAO,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;KAAA;IAEa,UAAU,CAAI,KAAa,EAAE,MAAyD;;YAElG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE7B,IAAI;gBACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAI;oBAClC,KAAK,EAAE,UAAU;oBACjB,MAAM;oBACN,KAAK;iBACN,CAAC,CAAC;aACJ;YAAC,OAAO,CAAC,EAAE;aAEX;QACH,CAAC;KAAA;CACF"}
|
package/dist/types/idw.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Base } from '@or-sdk/base';
|
|
2
2
|
import { Flow } from '@or-sdk/deployer';
|
|
3
|
-
import { IDWConfig } from './types';
|
|
3
|
+
import { IDWConfig, SimpleNode } from './types';
|
|
4
4
|
export declare class IDW extends Base {
|
|
5
5
|
private readonly graphApi;
|
|
6
6
|
private readonly users;
|
|
@@ -10,6 +10,8 @@ export declare class IDW extends Base {
|
|
|
10
10
|
deleteFlow(id: string): Promise<void>;
|
|
11
11
|
activateFlow(flow: Flow): Promise<void>;
|
|
12
12
|
deactivateFlow(id: string): Promise<void>;
|
|
13
|
+
private createSkillRelation;
|
|
14
|
+
getSkillsList(): Promise<SimpleNode[]>;
|
|
13
15
|
private graphQuery;
|
|
14
16
|
}
|
|
15
17
|
//# sourceMappingURL=idw.d.ts.map
|
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,
|
|
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,EAAyB,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AASvE,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;IAqE7B,UAAU,CAAC,EAAE,EAAE,MAAM;IAOrB,YAAY,CAAC,IAAI,EAAE,IAAI;IAqCvB,cAAc,CAAC,EAAE,EAAE,MAAM;YAYjB,mBAAmB;IAY3B,aAAa,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAQ9B,UAAU;CAczB"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -6,4 +6,15 @@ export type IDWConfig = {
|
|
|
6
6
|
sdkApiUrl?: string;
|
|
7
7
|
token: Token;
|
|
8
8
|
};
|
|
9
|
+
export interface SimpleNode {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
icon?: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface GraphEntityProperties<T> {
|
|
16
|
+
id: number;
|
|
17
|
+
labels: string[];
|
|
18
|
+
properties: T;
|
|
19
|
+
}
|
|
9
20
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,MAAM,SAAS,GAAG;IAItB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,MAAM,SAAS,GAAG;IAItB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAGF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,CAAC,CAAC;CACf"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.1.0-beta.
|
|
2
|
+
"version": "1.1.0-beta.1319.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.
|
|
28
|
+
"@or-sdk/deployer": "^1.2.0-beta.1319.0",
|
|
29
29
|
"@or-sdk/graph": "^1.3.1",
|
|
30
30
|
"@or-sdk/users": "^0.30.0"
|
|
31
31
|
}
|
package/src/idw.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { Flow } from '@or-sdk/deployer';
|
|
|
3
3
|
import { Graphs } from '@or-sdk/graph';
|
|
4
4
|
import { Users } from '@or-sdk/users';
|
|
5
5
|
import { GRAPH_NAME, SERVICE_KEY } from './constants';
|
|
6
|
-
import { IDWConfig } from './types';
|
|
6
|
+
import { GraphEntityProperties, IDWConfig, SimpleNode } from './types';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* OneReach IDW service client
|
|
@@ -109,11 +109,13 @@ export class IDW extends Base {
|
|
|
109
109
|
|
|
110
110
|
await this.graphQuery(`
|
|
111
111
|
MATCH (flow:FLOW { id: $id })
|
|
112
|
-
OPTIONAL MATCH (flow)-[
|
|
113
|
-
|
|
112
|
+
OPTIONAL MATCH (flow)-[channelRelations:IMPLEMENTS { isActive: false }]->(:CHANNEL)
|
|
113
|
+
OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS]->(:SKILL)
|
|
114
|
+
DELETE channelRelations, skillRelations
|
|
114
115
|
`, { id });
|
|
115
116
|
|
|
116
117
|
const channel = flow.data.meta.idw?.channel;
|
|
118
|
+
const skills = flow.data.meta.idw?.skills;
|
|
117
119
|
if (channel !== undefined && channel.length !== 0) {
|
|
118
120
|
await this.graphQuery(`
|
|
119
121
|
MATCH (flow:FLOW { id: $id }),
|
|
@@ -126,6 +128,10 @@ export class IDW extends Base {
|
|
|
126
128
|
id,
|
|
127
129
|
});
|
|
128
130
|
}
|
|
131
|
+
|
|
132
|
+
if (skills?.length) {
|
|
133
|
+
await this.createSkillRelation(skills, id);
|
|
134
|
+
}
|
|
129
135
|
}
|
|
130
136
|
|
|
131
137
|
async deleteFlow(id: string) {
|
|
@@ -143,8 +149,9 @@ export class IDW extends Base {
|
|
|
143
149
|
|
|
144
150
|
await this.graphQuery(`
|
|
145
151
|
MATCH (flow:FLOW { id: $id })
|
|
146
|
-
OPTIONAL MATCH (flow)-[
|
|
147
|
-
|
|
152
|
+
OPTIONAL MATCH (flow)-[channelRelations:IMPLEMENTS]->(:CHANNEL)
|
|
153
|
+
OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS]->(:SKILL)
|
|
154
|
+
DELETE channelRelations, skillRelations
|
|
148
155
|
SET flow.activatedAt = $activatedAt,
|
|
149
156
|
flow.isActive = true
|
|
150
157
|
`, {
|
|
@@ -153,6 +160,7 @@ export class IDW extends Base {
|
|
|
153
160
|
});
|
|
154
161
|
|
|
155
162
|
const channel = flow.data.meta.idw?.channel;
|
|
163
|
+
const skills = flow.data.meta.idw?.skills;
|
|
156
164
|
if (channel !== undefined && channel.length !== 0) {
|
|
157
165
|
await this.graphQuery(`
|
|
158
166
|
MATCH (flow:FLOW { id: $id }),
|
|
@@ -164,6 +172,10 @@ export class IDW extends Base {
|
|
|
164
172
|
id,
|
|
165
173
|
});
|
|
166
174
|
}
|
|
175
|
+
|
|
176
|
+
if (skills?.length) {
|
|
177
|
+
await this.createSkillRelation(skills, id);
|
|
178
|
+
}
|
|
167
179
|
}
|
|
168
180
|
|
|
169
181
|
async deactivateFlow(id: string) {
|
|
@@ -177,23 +189,38 @@ export class IDW extends Base {
|
|
|
177
189
|
`, { id });
|
|
178
190
|
}
|
|
179
191
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
192
|
+
|
|
193
|
+
private async createSkillRelation(skillIds: string[], flowId: string) {
|
|
194
|
+
const preparedIds = skillIds.map(id => `'${id}'`);
|
|
195
|
+
await this.graphQuery(`
|
|
196
|
+
MATCH (flow:FLOW { id: $id }), (skill:SKILL)
|
|
197
|
+
WHERE skill.id in [${preparedIds}]
|
|
198
|
+
MERGE (flow)-[:IMPLEMENTS]->(skill)
|
|
199
|
+
return skill, flow
|
|
200
|
+
`, {
|
|
201
|
+
id: flowId,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
async getSkillsList(): Promise<SimpleNode[]> {
|
|
206
|
+
const data = await this.graphQuery<GraphEntityProperties<SimpleNode>>(`
|
|
207
|
+
MATCH (skills:SKILL)
|
|
208
|
+
RETURN skills
|
|
209
|
+
`, {});
|
|
210
|
+
return (data ?? []).map(row => row.properties);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
private async graphQuery<T>(query: string, params?: Record<string, null | number | string | boolean>) {
|
|
214
|
+
// if 'idw' graph doesn't exist - create it
|
|
215
|
+
await this.checkOrCreateDb();
|
|
188
216
|
|
|
189
217
|
try {
|
|
190
|
-
return await this.graphApi.query({
|
|
218
|
+
return await this.graphApi.query<T>({
|
|
191
219
|
graph: GRAPH_NAME,
|
|
192
220
|
params,
|
|
193
221
|
query,
|
|
194
222
|
});
|
|
195
223
|
} catch (e) {
|
|
196
|
-
console.warn(e);
|
|
197
224
|
// TODO: handle errors 🤔
|
|
198
225
|
}
|
|
199
226
|
}
|
package/src/types.ts
CHANGED
|
@@ -26,3 +26,17 @@ export type IDWConfig = {
|
|
|
26
26
|
*/
|
|
27
27
|
token: Token;
|
|
28
28
|
};
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
export interface SimpleNode {
|
|
32
|
+
id: string;
|
|
33
|
+
name: string;
|
|
34
|
+
icon?: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface GraphEntityProperties<T> {
|
|
39
|
+
id: number;
|
|
40
|
+
labels: string[];
|
|
41
|
+
properties: T;
|
|
42
|
+
}
|