@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 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({ name: constants_1.GRAPH_NAME })];
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 id, userId, channel;
110
- return __generator(this, function (_b) {
111
- switch (_b.label) {
110
+ var userId;
111
+ return __generator(this, function (_a) {
112
+ switch (_a.label) {
112
113
  case 0:
113
- id = flow.id;
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, _b.sent()];
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 = (_b.sent()).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
- _b.sent();
134
- return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id })\n OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS { isActive: false }]->(:CHANNEL)\n DELETE relationships\n ", { id: id })];
135
- case 5:
136
- _b.sent();
137
- channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
138
- if (!(channel !== undefined && channel.length !== 0)) return [3, 7];
139
- return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id }),\n (channel:CHANNEL { id: $channel })\n MERGE (flow)-[relationship:IMPLEMENTS]->(channel)\n ON CREATE\n SET relationship.isActive = false\n ", {
140
- channel: channel,
141
- id: id,
142
- })];
143
- case 6:
144
- _b.sent();
145
- _b.label = 7;
146
- case 7: return [2];
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, channel;
167
- return __generator(this, function (_b) {
168
- switch (_b.label) {
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 OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)\n DELETE relationships\n SET flow.activatedAt = $activatedAt,\n flow.isActive = true\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
- _b.sent();
180
- channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
181
- if (!(channel !== undefined && channel.length !== 0)) return [3, 3];
182
- return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id }),\n (channel:CHANNEL { id: $channel })\n MERGE (flow)-[relationship:IMPLEMENTS]->(channel)\n SET relationship.isActive = true\n ", {
183
- channel: channel,
184
- id: id,
185
- })];
186
- case 2:
187
- _b.sent();
188
- _b.label = 3;
189
- case 3: return [2];
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 })\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 })];
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];
@@ -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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"}
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({ name: GRAPH_NAME });
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
- const id = flow.id;
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
- OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)
124
- DELETE relationships
125
- SET flow.activatedAt = $activatedAt,
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
- OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)
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 });
@@ -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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"}
@@ -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;IA+D7B,UAAU,CAAC,EAAE,EAAE,MAAM;IAOrB,YAAY,CAAC,IAAI,EAAE,IAAI;IA+BvB,cAAc,CAAC,EAAE,EAAE,MAAM;YAWjB,UAAU;CAczB"}
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.1293.0",
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.1293.0",
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({ name: GRAPH_NAME });
64
+ await this.graphApi.createGraph({
65
+ name: GRAPH_NAME,
66
+ });
65
67
  }
66
68
  }
67
69
 
68
70
  async createOrUpdateFlow(flow: Flow) {
69
- const id = flow.id;
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
- OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)
147
- DELETE relationships
148
- SET flow.activatedAt = $activatedAt,
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
- OPTIONAL MATCH (flow)-[relationships:IMPLEMENTS]->(:CHANNEL)
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
- //create graph if not exists
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: handle errors 🤔
224
+ // TODO: if 'idw' graph doesn't exist - create it, seed with channels data, and retry query
192
225
  }
193
226
  }
194
227
  }