@or-sdk/idw 1.2.0-beta.1336.0 → 1.2.0-beta.1386.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/CHANGELOG.md +26 -0
- package/dist/cjs/data/channels.js +41 -0
- package/dist/cjs/data/channels.js.map +1 -0
- package/dist/cjs/idw.js +39 -29
- package/dist/cjs/idw.js.map +1 -1
- package/dist/esm/data/channels.js +38 -0
- package/dist/esm/data/channels.js.map +1 -0
- package/dist/esm/idw.js +40 -19
- package/dist/esm/idw.js.map +1 -1
- package/dist/types/data/channels.d.ts +6 -0
- package/dist/types/data/channels.d.ts.map +1 -0
- package/dist/types/idw.d.ts +1 -1
- package/dist/types/idw.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/data/channels.ts +37 -0
- package/src/idw.ts +39 -18
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,32 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.1.3](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/idw@1.1.2...@or-sdk/idw@1.1.3) (2023-05-24)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @or-sdk/idw
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [1.1.2](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/idw@1.1.1...@or-sdk/idw@1.1.2) (2023-05-22)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **@or-sdk/idw:** add isActive for skills relationship ([2ef23cd](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/commit/2ef23cd8df3167ee8de166a4eec109799886e836))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## [1.1.1](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/idw@1.1.0...@or-sdk/idw@1.1.1) (2023-05-22)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* **@or-sdk/idw:** update idw sdk to process skills meta ([1330eb8](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/commit/1330eb8ef8ef2ef09b5b80c22678b8f7bd986eec))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
6
32
|
## [1.1.0](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/idw@1.0.2...@or-sdk/idw@1.1.0) (2023-05-19)
|
|
7
33
|
|
|
8
34
|
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.startUpChannels = void 0;
|
|
4
|
+
exports.startUpChannels = [
|
|
5
|
+
{
|
|
6
|
+
id: 'facebook-messenger',
|
|
7
|
+
name: 'Facebook Messenger',
|
|
8
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/messenger.png',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
id: 'sms',
|
|
12
|
+
name: 'SMS',
|
|
13
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/sms.png',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
id: 'telegram',
|
|
17
|
+
name: 'Telegram',
|
|
18
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/telegram.png',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: 'twitter',
|
|
22
|
+
name: 'Twitter',
|
|
23
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/twitter.png',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: 'viber',
|
|
27
|
+
name: 'Viber',
|
|
28
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/viber.png',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 'viber-business',
|
|
32
|
+
name: 'Viber Business',
|
|
33
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/viber.png',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: 'whatsapp',
|
|
37
|
+
name: 'WhatsApp',
|
|
38
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/whatsapp.png',
|
|
39
|
+
},
|
|
40
|
+
];
|
|
41
|
+
//# sourceMappingURL=channels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../../../src/data/channels.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC7B;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,0GAA0G;KACjH;IACD;QACE,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,oGAAoG;KAC3G;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,yGAAyG;KAChH;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,wGAAwG;KAC/G;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sGAAsG;KAC7G;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,sGAAsG;KAC7G;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,yGAAyG;KAChH;CACF,CAAC"}
|
package/dist/cjs/idw.js
CHANGED
|
@@ -56,6 +56,7 @@ var base_1 = require("@or-sdk/base");
|
|
|
56
56
|
var graph_1 = require("@or-sdk/graph");
|
|
57
57
|
var users_1 = require("@or-sdk/users");
|
|
58
58
|
var constants_1 = require("./constants");
|
|
59
|
+
var channels_1 = require("./data/channels");
|
|
59
60
|
var IDW = (function (_super) {
|
|
60
61
|
__extends(IDW, _super);
|
|
61
62
|
function IDW(params) {
|
|
@@ -87,18 +88,38 @@ var IDW = (function (_super) {
|
|
|
87
88
|
return __generator(this, function (_a) {
|
|
88
89
|
switch (_a.label) {
|
|
89
90
|
case 0:
|
|
90
|
-
_a.trys.push([0, 2, ,
|
|
91
|
+
_a.trys.push([0, 2, , 3]);
|
|
91
92
|
return [4, this.graphApi.getGraphInfo(constants_1.GRAPH_NAME)];
|
|
92
93
|
case 1:
|
|
93
94
|
_a.sent();
|
|
94
|
-
return [3,
|
|
95
|
+
return [3, 3];
|
|
95
96
|
case 2:
|
|
96
97
|
e_1 = _a.sent();
|
|
97
|
-
|
|
98
|
-
|
|
98
|
+
this.createDb();
|
|
99
|
+
return [3, 3];
|
|
100
|
+
case 3: return [2];
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
IDW.prototype.createDb = function () {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
107
|
+
return __generator(this, function (_a) {
|
|
108
|
+
switch (_a.label) {
|
|
109
|
+
case 0: return [4, this.graphApi.createGraph({ name: constants_1.GRAPH_NAME })];
|
|
110
|
+
case 1:
|
|
111
|
+
_a.sent();
|
|
112
|
+
return [4, this.graphApi.query({
|
|
113
|
+
graph: constants_1.GRAPH_NAME,
|
|
114
|
+
query: "CREATE \n ".concat(channels_1.startUpChannels.map(function (_a) {
|
|
115
|
+
var id = _a.id, name = _a.name, icon = _a.icon;
|
|
116
|
+
return "(:CHANNEL {id: '".concat(id, "', name; '").concat(name, "', icon: '").concat(icon, "'})");
|
|
117
|
+
}), "\n "),
|
|
118
|
+
params: {},
|
|
119
|
+
})];
|
|
120
|
+
case 2:
|
|
99
121
|
_a.sent();
|
|
100
|
-
return [
|
|
101
|
-
case 4: return [2];
|
|
122
|
+
return [2];
|
|
102
123
|
}
|
|
103
124
|
});
|
|
104
125
|
});
|
|
@@ -106,7 +127,7 @@ var IDW = (function (_super) {
|
|
|
106
127
|
IDW.prototype.createOrUpdateFlow = function (flow) {
|
|
107
128
|
var _a, _b;
|
|
108
129
|
return __awaiter(this, void 0, void 0, function () {
|
|
109
|
-
var id, userId, channel, skills;
|
|
130
|
+
var id, userId, channel, skills, preparedIds;
|
|
110
131
|
return __generator(this, function (_c) {
|
|
111
132
|
switch (_c.label) {
|
|
112
133
|
case 0:
|
|
@@ -131,7 +152,7 @@ var IDW = (function (_super) {
|
|
|
131
152
|
})];
|
|
132
153
|
case 4:
|
|
133
154
|
_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 })];
|
|
155
|
+
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 { isActive: false }]->(:SKILL)\n DELETE channelRelations, skillRelations\n ", { id: id })];
|
|
135
156
|
case 5:
|
|
136
157
|
_c.sent();
|
|
137
158
|
channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
@@ -146,7 +167,10 @@ var IDW = (function (_super) {
|
|
|
146
167
|
_c.label = 7;
|
|
147
168
|
case 7:
|
|
148
169
|
if (!(skills === null || skills === void 0 ? void 0 : skills.length)) return [3, 9];
|
|
149
|
-
|
|
170
|
+
preparedIds = skills.map(function (id) { return "'".concat(id, "'"); });
|
|
171
|
+
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id }), (skill:SKILL)\n WHERE skill.id in [".concat(preparedIds, "]\n MERGE (flow)-[relationship:IMPLEMENTS]->(skill)\n ON CREATE\n SET relationship.isActive = false\n "), {
|
|
172
|
+
id: id,
|
|
173
|
+
})];
|
|
150
174
|
case 8:
|
|
151
175
|
_c.sent();
|
|
152
176
|
_c.label = 9;
|
|
@@ -170,7 +194,7 @@ var IDW = (function (_super) {
|
|
|
170
194
|
IDW.prototype.activateFlow = function (flow) {
|
|
171
195
|
var _a, _b;
|
|
172
196
|
return __awaiter(this, void 0, void 0, function () {
|
|
173
|
-
var id, channel, skills;
|
|
197
|
+
var id, channel, skills, preparedIds;
|
|
174
198
|
return __generator(this, function (_c) {
|
|
175
199
|
switch (_c.label) {
|
|
176
200
|
case 0:
|
|
@@ -196,7 +220,10 @@ var IDW = (function (_super) {
|
|
|
196
220
|
_c.label = 3;
|
|
197
221
|
case 3:
|
|
198
222
|
if (!(skills === null || skills === void 0 ? void 0 : skills.length)) return [3, 5];
|
|
199
|
-
|
|
223
|
+
preparedIds = skills.map(function (id) { return "'".concat(id, "'"); });
|
|
224
|
+
return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id }), (skill:SKILL)\n WHERE skill.id in [".concat(preparedIds, "]\n MERGE (flow)-[relationship:IMPLEMENTS]->(skill)\n SET relationship.isActive = true\n "), {
|
|
225
|
+
id: id,
|
|
226
|
+
})];
|
|
200
227
|
case 4:
|
|
201
228
|
_c.sent();
|
|
202
229
|
_c.label = 5;
|
|
@@ -209,24 +236,7 @@ var IDW = (function (_super) {
|
|
|
209
236
|
return __awaiter(this, void 0, void 0, function () {
|
|
210
237
|
return __generator(this, function (_a) {
|
|
211
238
|
switch (_a.label) {
|
|
212
|
-
case 0: return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id })\n OPTIONAL MATCH (flow)-[
|
|
213
|
-
case 1:
|
|
214
|
-
_a.sent();
|
|
215
|
-
return [2];
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
});
|
|
219
|
-
};
|
|
220
|
-
IDW.prototype.createSkillRelation = function (skillIds, flowId) {
|
|
221
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
222
|
-
var preparedIds;
|
|
223
|
-
return __generator(this, function (_a) {
|
|
224
|
-
switch (_a.label) {
|
|
225
|
-
case 0:
|
|
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
|
-
})];
|
|
239
|
+
case 0: 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 SET flow.isActive = false,\n channelRelations.isActive = false,\n skillRelations.isActive = false\n REMOVE flow.activatedAt\n RETURN flow\n ", { id: id })];
|
|
230
240
|
case 1:
|
|
231
241
|
_a.sent();
|
|
232
242
|
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;
|
|
1
|
+
{"version":3,"file":"idw.js","sourceRoot":"","sources":["../../src/idw.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export const startUpChannels = [
|
|
2
|
+
{
|
|
3
|
+
id: 'facebook-messenger',
|
|
4
|
+
name: 'Facebook Messenger',
|
|
5
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/messenger.png',
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
id: 'sms',
|
|
9
|
+
name: 'SMS',
|
|
10
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/sms.png',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
id: 'telegram',
|
|
14
|
+
name: 'Telegram',
|
|
15
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/telegram.png',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: 'twitter',
|
|
19
|
+
name: 'Twitter',
|
|
20
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/twitter.png',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 'viber',
|
|
24
|
+
name: 'Viber',
|
|
25
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/viber.png',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: 'viber-business',
|
|
29
|
+
name: 'Viber Business',
|
|
30
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/viber.png',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: 'whatsapp',
|
|
34
|
+
name: 'WhatsApp',
|
|
35
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/whatsapp.png',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
//# sourceMappingURL=channels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../../../src/data/channels.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,0GAA0G;KACjH;IACD;QACE,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,oGAAoG;KAC3G;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,yGAAyG;KAChH;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,wGAAwG;KAC/G;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sGAAsG;KAC7G;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,sGAAsG;KAC7G;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,yGAAyG;KAChH;CACF,CAAC"}
|
package/dist/esm/idw.js
CHANGED
|
@@ -11,6 +11,7 @@ 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 { startUpChannels } from './data/channels';
|
|
14
15
|
export class IDW extends Base {
|
|
15
16
|
constructor(params) {
|
|
16
17
|
const { accountId, discoveryUrl, graphUrl, sdkApiUrl, token, } = params;
|
|
@@ -39,10 +40,24 @@ export class IDW extends Base {
|
|
|
39
40
|
yield this.graphApi.getGraphInfo(GRAPH_NAME);
|
|
40
41
|
}
|
|
41
42
|
catch (e) {
|
|
42
|
-
|
|
43
|
+
this.createDb();
|
|
43
44
|
}
|
|
44
45
|
});
|
|
45
46
|
}
|
|
47
|
+
createDb() {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
yield this.graphApi.createGraph({ name: GRAPH_NAME });
|
|
50
|
+
yield this.graphApi.query({
|
|
51
|
+
graph: GRAPH_NAME,
|
|
52
|
+
query: `CREATE
|
|
53
|
+
${startUpChannels.map(({ id, name, icon }) => {
|
|
54
|
+
return `(:CHANNEL {id: '${id}', name; '${name}', icon: '${icon}'})`;
|
|
55
|
+
})}
|
|
56
|
+
`,
|
|
57
|
+
params: {},
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
46
61
|
createOrUpdateFlow(flow) {
|
|
47
62
|
var _a, _b;
|
|
48
63
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -86,7 +101,7 @@ export class IDW extends Base {
|
|
|
86
101
|
yield this.graphQuery(`
|
|
87
102
|
MATCH (flow:FLOW { id: $id })
|
|
88
103
|
OPTIONAL MATCH (flow)-[channelRelations:IMPLEMENTS { isActive: false }]->(:CHANNEL)
|
|
89
|
-
OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS]->(:SKILL)
|
|
104
|
+
OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS { isActive: false }]->(:SKILL)
|
|
90
105
|
DELETE channelRelations, skillRelations
|
|
91
106
|
`, { id });
|
|
92
107
|
const channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
|
|
@@ -104,7 +119,16 @@ export class IDW extends Base {
|
|
|
104
119
|
});
|
|
105
120
|
}
|
|
106
121
|
if (skills === null || skills === void 0 ? void 0 : skills.length) {
|
|
107
|
-
|
|
122
|
+
const preparedIds = skills.map(id => `'${id}'`);
|
|
123
|
+
yield this.graphQuery(`
|
|
124
|
+
MATCH (flow:FLOW { id: $id }), (skill:SKILL)
|
|
125
|
+
WHERE skill.id in [${preparedIds}]
|
|
126
|
+
MERGE (flow)-[relationship:IMPLEMENTS]->(skill)
|
|
127
|
+
ON CREATE
|
|
128
|
+
SET relationship.isActive = false
|
|
129
|
+
`, {
|
|
130
|
+
id,
|
|
131
|
+
});
|
|
108
132
|
}
|
|
109
133
|
});
|
|
110
134
|
}
|
|
@@ -148,7 +172,15 @@ export class IDW extends Base {
|
|
|
148
172
|
});
|
|
149
173
|
}
|
|
150
174
|
if (skills === null || skills === void 0 ? void 0 : skills.length) {
|
|
151
|
-
|
|
175
|
+
const preparedIds = skills.map(id => `'${id}'`);
|
|
176
|
+
yield this.graphQuery(`
|
|
177
|
+
MATCH (flow:FLOW { id: $id }), (skill:SKILL)
|
|
178
|
+
WHERE skill.id in [${preparedIds}]
|
|
179
|
+
MERGE (flow)-[relationship:IMPLEMENTS]->(skill)
|
|
180
|
+
SET relationship.isActive = true
|
|
181
|
+
`, {
|
|
182
|
+
id,
|
|
183
|
+
});
|
|
152
184
|
}
|
|
153
185
|
});
|
|
154
186
|
}
|
|
@@ -156,27 +188,16 @@ export class IDW extends Base {
|
|
|
156
188
|
return __awaiter(this, void 0, void 0, function* () {
|
|
157
189
|
yield this.graphQuery(`
|
|
158
190
|
MATCH (flow:FLOW { id: $id })
|
|
159
|
-
OPTIONAL MATCH (flow)-[
|
|
191
|
+
OPTIONAL MATCH (flow)-[channelRelations:IMPLEMENTS]->(:CHANNEL)
|
|
192
|
+
OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS]->(:SKILL)
|
|
160
193
|
SET flow.isActive = false,
|
|
161
|
-
|
|
194
|
+
channelRelations.isActive = false,
|
|
195
|
+
skillRelations.isActive = false
|
|
162
196
|
REMOVE flow.activatedAt
|
|
163
197
|
RETURN flow
|
|
164
198
|
`, { id });
|
|
165
199
|
});
|
|
166
200
|
}
|
|
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
201
|
graphQuery(query, params) {
|
|
181
202
|
return __awaiter(this, void 0, void 0, function* () {
|
|
182
203
|
try {
|
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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../../src/data/channels.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;GAoC3B,CAAC"}
|
package/dist/types/idw.d.ts
CHANGED
|
@@ -6,11 +6,11 @@ export declare class IDW extends Base {
|
|
|
6
6
|
private readonly users;
|
|
7
7
|
constructor(params: IDWConfig);
|
|
8
8
|
checkOrCreateDb(): Promise<void>;
|
|
9
|
+
createDb(): Promise<void>;
|
|
9
10
|
createOrUpdateFlow(flow: Flow): Promise<void>;
|
|
10
11
|
deleteFlow(id: string): Promise<void>;
|
|
11
12
|
activateFlow(flow: Flow): Promise<void>;
|
|
12
13
|
deactivateFlow(id: string): Promise<void>;
|
|
13
|
-
private createSkillRelation;
|
|
14
14
|
private graphQuery;
|
|
15
15
|
}
|
|
16
16
|
//# 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,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;AAUpC,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,QAAQ;IAaR,kBAAkB,CAAC,IAAI,EAAE,IAAI;IA+E7B,UAAU,CAAC,EAAE,EAAE,MAAM;IAOrB,YAAY,CAAC,IAAI,EAAE,IAAI;IA8CvB,cAAc,CAAC,EAAE,EAAE,MAAM;YAajB,UAAU;CAoBzB"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.2.0-beta.
|
|
2
|
+
"version": "1.2.0-beta.1386.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.2
|
|
28
|
+
"@or-sdk/deployer": "^1.1.2",
|
|
29
29
|
"@or-sdk/graph": "^1.3.1",
|
|
30
30
|
"@or-sdk/users": "^0.30.0"
|
|
31
31
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export const startUpChannels = [
|
|
2
|
+
{
|
|
3
|
+
id: 'facebook-messenger',
|
|
4
|
+
name: 'Facebook Messenger',
|
|
5
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/messenger.png',
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
id: 'sms',
|
|
9
|
+
name: 'SMS',
|
|
10
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/sms.png',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
id: 'telegram',
|
|
14
|
+
name: 'Telegram',
|
|
15
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/telegram.png',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: 'twitter',
|
|
19
|
+
name: 'Twitter',
|
|
20
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/twitter.png',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 'viber',
|
|
24
|
+
name: 'Viber',
|
|
25
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/viber.png',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: 'viber-business',
|
|
29
|
+
name: 'Viber Business',
|
|
30
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/viber.png',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: 'whatsapp',
|
|
34
|
+
name: 'WhatsApp',
|
|
35
|
+
icon: 'https://files.qa.api.onereach.ai/public/9c1b43df-0f7c-43fe-819f-be9df1f39759/channel-icons/whatsapp.png',
|
|
36
|
+
},
|
|
37
|
+
];
|
package/src/idw.ts
CHANGED
|
@@ -4,6 +4,7 @@ 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 { startUpChannels } from './data/channels';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* OneReach IDW service client
|
|
@@ -61,10 +62,23 @@ export class IDW extends Base {
|
|
|
61
62
|
try {
|
|
62
63
|
await this.graphApi.getGraphInfo(GRAPH_NAME);
|
|
63
64
|
} catch (e) {
|
|
64
|
-
|
|
65
|
+
this.createDb();
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
68
|
|
|
69
|
+
async createDb() {
|
|
70
|
+
await this.graphApi.createGraph({ name: GRAPH_NAME });
|
|
71
|
+
await this.graphApi.query({
|
|
72
|
+
graph: GRAPH_NAME,
|
|
73
|
+
query: `CREATE
|
|
74
|
+
${startUpChannels.map(({ id, name, icon }) => {
|
|
75
|
+
return `(:CHANNEL {id: '${id}', name; '${name}', icon: '${icon}'})`;
|
|
76
|
+
})}
|
|
77
|
+
`,
|
|
78
|
+
params: {},
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
68
82
|
async createOrUpdateFlow(flow: Flow) {
|
|
69
83
|
const id = flow.id;
|
|
70
84
|
if (id === undefined) {
|
|
@@ -110,7 +124,7 @@ export class IDW extends Base {
|
|
|
110
124
|
await this.graphQuery(`
|
|
111
125
|
MATCH (flow:FLOW { id: $id })
|
|
112
126
|
OPTIONAL MATCH (flow)-[channelRelations:IMPLEMENTS { isActive: false }]->(:CHANNEL)
|
|
113
|
-
OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS]->(:SKILL)
|
|
127
|
+
OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS { isActive: false }]->(:SKILL)
|
|
114
128
|
DELETE channelRelations, skillRelations
|
|
115
129
|
`, { id });
|
|
116
130
|
|
|
@@ -131,7 +145,16 @@ export class IDW extends Base {
|
|
|
131
145
|
}
|
|
132
146
|
|
|
133
147
|
if (skills?.length) {
|
|
134
|
-
|
|
148
|
+
const preparedIds = skills.map(id => `'${id}'`);
|
|
149
|
+
await this.graphQuery(`
|
|
150
|
+
MATCH (flow:FLOW { id: $id }), (skill:SKILL)
|
|
151
|
+
WHERE skill.id in [${preparedIds}]
|
|
152
|
+
MERGE (flow)-[relationship:IMPLEMENTS]->(skill)
|
|
153
|
+
ON CREATE
|
|
154
|
+
SET relationship.isActive = false
|
|
155
|
+
`, {
|
|
156
|
+
id,
|
|
157
|
+
});
|
|
135
158
|
}
|
|
136
159
|
}
|
|
137
160
|
|
|
@@ -176,33 +199,31 @@ export class IDW extends Base {
|
|
|
176
199
|
}
|
|
177
200
|
|
|
178
201
|
if (skills?.length) {
|
|
179
|
-
|
|
202
|
+
const preparedIds = skills.map(id => `'${id}'`);
|
|
203
|
+
await this.graphQuery(`
|
|
204
|
+
MATCH (flow:FLOW { id: $id }), (skill:SKILL)
|
|
205
|
+
WHERE skill.id in [${preparedIds}]
|
|
206
|
+
MERGE (flow)-[relationship:IMPLEMENTS]->(skill)
|
|
207
|
+
SET relationship.isActive = true
|
|
208
|
+
`, {
|
|
209
|
+
id,
|
|
210
|
+
});
|
|
180
211
|
}
|
|
181
212
|
}
|
|
182
213
|
|
|
183
214
|
async deactivateFlow(id: string) {
|
|
184
215
|
await this.graphQuery(`
|
|
185
216
|
MATCH (flow:FLOW { id: $id })
|
|
186
|
-
OPTIONAL MATCH (flow)-[
|
|
217
|
+
OPTIONAL MATCH (flow)-[channelRelations:IMPLEMENTS]->(:CHANNEL)
|
|
218
|
+
OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS]->(:SKILL)
|
|
187
219
|
SET flow.isActive = false,
|
|
188
|
-
|
|
220
|
+
channelRelations.isActive = false,
|
|
221
|
+
skillRelations.isActive = false
|
|
189
222
|
REMOVE flow.activatedAt
|
|
190
223
|
RETURN flow
|
|
191
224
|
`, { id });
|
|
192
225
|
}
|
|
193
226
|
|
|
194
|
-
private async createSkillRelation(skillIds: string[], flowId: string) {
|
|
195
|
-
const preparedIds = skillIds.map(id => `'${id}'`);
|
|
196
|
-
await this.graphQuery(`
|
|
197
|
-
MATCH (flow:FLOW { id: $id }), (skill:SKILL)
|
|
198
|
-
WHERE skill.id in [${preparedIds}]
|
|
199
|
-
MERGE (flow)-[:IMPLEMENTS]->(skill)
|
|
200
|
-
return skill, flow
|
|
201
|
-
`, {
|
|
202
|
-
id: flowId,
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
|
|
206
227
|
private async graphQuery(query: string, params?: Record<string, null | number | string | boolean>) {
|
|
207
228
|
//create graph if not exists
|
|
208
229
|
try {
|