@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 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, , 4]);
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, 4];
95
+ return [3, 3];
95
96
  case 2:
96
97
  e_1 = _a.sent();
97
- return [4, this.graphApi.createGraph({ name: constants_1.GRAPH_NAME })];
98
- case 3:
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 [3, 4];
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
- return [4, this.createSkillRelation(skills, id)];
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
- return [4, this.createSkillRelation(skills, id)];
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)-[relationships:IMPLEMENTS]->(:CHANNEL)\n SET flow.isActive = false,\n relationships.isActive = false\n REMOVE flow.activatedAt\n RETURN flow\n ", { id: id })];
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];
@@ -1 +1 @@
1
- {"version":3,"file":"idw.js","sourceRoot":"","sources":["../../src/idw.ts"],"names":[],"mappings":"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"}
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
- yield this.graphApi.createGraph({ name: GRAPH_NAME });
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
- yield this.createSkillRelation(skills, id);
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
- yield this.createSkillRelation(skills, id);
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)-[relationships:IMPLEMENTS]->(:CHANNEL)
191
+ OPTIONAL MATCH (flow)-[channelRelations:IMPLEMENTS]->(:CHANNEL)
192
+ OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS]->(:SKILL)
160
193
  SET flow.isActive = false,
161
- relationships.isActive = false
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 {
@@ -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;;;;;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;YAE1C,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;YAE1C,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;IAEa,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;IAEa,UAAU,CAAC,KAAa,EAAE,MAAyD;;YAE/F,IAAI;gBACF,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;aAC9B;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAEjB;YAED,IAAI;gBACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC/B,KAAK,EAAE,UAAU;oBACjB,MAAM;oBACN,KAAK;iBACN,CAAC,CAAC;aACJ;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAEjB;QACH,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"idw.js","sourceRoot":"","sources":["../../src/idw.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const startUpChannels: {
2
+ id: string;
3
+ name: string;
4
+ icon: string;
5
+ }[];
6
+ //# sourceMappingURL=channels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../../src/data/channels.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;GAoC3B,CAAC"}
@@ -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
@@ -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;IAQf,kBAAkB,CAAC,IAAI,EAAE,IAAI;IAsE7B,UAAU,CAAC,EAAE,EAAE,MAAM;IAOrB,YAAY,CAAC,IAAI,EAAE,IAAI;IAsCvB,cAAc,CAAC,EAAE,EAAE,MAAM;YAWjB,mBAAmB;YAYnB,UAAU;CAoBzB"}
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.1336.0",
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.0-beta.1336.0",
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
- await this.graphApi.createGraph({ name: GRAPH_NAME });
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
- await this.createSkillRelation(skills, id);
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
- await this.createSkillRelation(skills, id);
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)-[relationships:IMPLEMENTS]->(:CHANNEL)
217
+ OPTIONAL MATCH (flow)-[channelRelations:IMPLEMENTS]->(:CHANNEL)
218
+ OPTIONAL MATCH (flow)-[skillRelations:IMPLEMENTS]->(:SKILL)
187
219
  SET flow.isActive = false,
188
- relationships.isActive = false
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 {