@or-sdk/idw 1.1.0-beta.1288.0 → 1.1.0-beta.1291.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
@@ -50,12 +50,16 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
50
50
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
51
  }
52
52
  };
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
53
56
  Object.defineProperty(exports, "__esModule", { value: true });
54
57
  exports.IDW = void 0;
55
58
  var base_1 = require("@or-sdk/base");
56
59
  var graph_1 = require("@or-sdk/graph");
57
60
  var users_1 = require("@or-sdk/users");
58
61
  var constants_1 = require("./constants");
62
+ var lodash_1 = __importDefault(require("lodash"));
59
63
  var IDW = (function (_super) {
60
64
  __extends(IDW, _super);
61
65
  function IDW(params) {
@@ -106,20 +110,21 @@ var IDW = (function (_super) {
106
110
  });
107
111
  };
108
112
  IDW.prototype.createOrUpdateFlow = function (flow) {
113
+ var _a;
109
114
  return __awaiter(this, void 0, void 0, function () {
110
- var userId;
111
- return __generator(this, function (_a) {
112
- switch (_a.label) {
115
+ var userId, channel;
116
+ return __generator(this, function (_b) {
117
+ switch (_b.label) {
113
118
  case 0:
114
119
  if (flow.id === undefined) {
115
120
  throw new Error('Only flows with id can be added to the IDW graph');
116
121
  }
117
122
  if (!flow.isDeleted) return [3, 2];
118
123
  return [4, this.deleteFlow(flow.id)];
119
- case 1: return [2, _a.sent()];
124
+ case 1: return [2, _b.sent()];
120
125
  case 2: return [4, this.users.getCurrentUser()];
121
126
  case 3:
122
- userId = (_a.sent()).userId;
127
+ userId = (_b.sent()).userId;
123
128
  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
129
  createdAt: flow.dateCreated,
125
130
  description: flow.data.description,
@@ -130,8 +135,22 @@ var IDW = (function (_super) {
130
135
  userId: userId,
131
136
  })];
132
137
  case 4:
133
- _a.sent();
134
- return [2];
138
+ _b.sent();
139
+ return [4, this.graphQuery("\n MATCH (flow:FLOW {id: $id})\n OPTIONAL MATCH (f)-[r:IMPLEMENTS {isActive: false}]->(:CHANNEL)\n DELETE r\n ", {
140
+ id: flow.id,
141
+ })];
142
+ case 5:
143
+ _b.sent();
144
+ channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
145
+ if (!(channel !== undefined && !lodash_1.default.isEmpty(channel))) return [3, 7];
146
+ return [4, this.graphQuery("\n MATCH (f:FLOW {id: $id}),\n (c:CHANNEL {id: $channel})\n MERGE (f)-[r:IMPLEMENTS]->(c)\n ON CREATE\n SET r.isActive = false\n ", {
147
+ channel: channel,
148
+ id: flow.id,
149
+ })];
150
+ case 6:
151
+ _b.sent();
152
+ _b.label = 7;
153
+ case 7: return [2];
135
154
  }
136
155
  });
137
156
  });
@@ -149,22 +168,32 @@ var IDW = (function (_super) {
149
168
  });
150
169
  };
151
170
  IDW.prototype.activateFlow = function (flow) {
171
+ var _a;
152
172
  return __awaiter(this, void 0, void 0, function () {
153
- var id;
154
- return __generator(this, function (_a) {
155
- switch (_a.label) {
173
+ var id, channel;
174
+ return __generator(this, function (_b) {
175
+ switch (_b.label) {
156
176
  case 0:
157
177
  id = flow.id;
158
178
  if (id === undefined) {
159
179
  throw new Error('Only flows with id can be added to the IDW graph');
160
180
  }
161
- return [4, this.graphQuery("\n MATCH (flow:FLOW { id: $id })\n SET flow.isActive = true,\n flow.activatedAt = $activatedAt\n RETURN flow\n ", {
162
- activatedAt: Date.now(),
181
+ return [4, this.graphQuery("\n MATCH (flow:FLOW {id: $id})\n OPTIONAL MATCH (f)-[r:IMPLEMENTS]->(:CHANNEL)\n DELETE r\n SET flow.isActive = true,\n flow.activatedAt = $activatedAt\n ", {
163
182
  id: id,
183
+ activatedAt: Date.now(),
164
184
  })];
165
185
  case 1:
166
- _a.sent();
167
- return [2];
186
+ _b.sent();
187
+ channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
188
+ if (!(channel !== undefined && !lodash_1.default.isEmpty(channel))) return [3, 3];
189
+ return [4, this.graphQuery("\n MATCH (flow:FLOW {id: $id}),\n (channel:CHANNEL {id: $channel})\n MERGE (flow)-[r:IMPLEMENTS]->(channel)\n ON CREATE\n SET r.isActive = true\n ", {
190
+ channel: channel,
191
+ id: id,
192
+ })];
193
+ case 2:
194
+ _b.sent();
195
+ _b.label = 3;
196
+ case 3: return [2];
168
197
  }
169
198
  });
170
199
  });
@@ -173,7 +202,7 @@ var IDW = (function (_super) {
173
202
  return __awaiter(this, void 0, void 0, function () {
174
203
  return __generator(this, function (_a) {
175
204
  switch (_a.label) {
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 })];
205
+ case 0: return [4, this.graphQuery("\n MATCH (flow:FLOW {id: $id})\n OPTIONAL MATCH (flow)-[r:IMPLEMENTS]->(:CHANNEL)\n SET flow.isActive = false,\n r.isActive = false\n REMOVE flow.activatedAt\n RETURN flow\n ", { id: id })];
177
206
  case 1:
178
207
  _a.sent();
179
208
  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
@@ -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 _ from 'lodash';
14
15
  export class IDW extends Base {
15
16
  constructor(params) {
16
17
  const { accountId, discoveryUrl, graphUrl, sdkApiUrl, token, } = params;
@@ -46,6 +47,7 @@ export class IDW extends Base {
46
47
  });
47
48
  }
48
49
  createOrUpdateFlow(flow) {
50
+ var _a;
49
51
  return __awaiter(this, void 0, void 0, function* () {
50
52
  if (flow.id === undefined) {
51
53
  throw new Error('Only flows with id can be added to the IDW graph');
@@ -83,6 +85,26 @@ export class IDW extends Base {
83
85
  updatedAt: flow.dateModified,
84
86
  userId,
85
87
  });
88
+ yield this.graphQuery(`
89
+ MATCH (flow:FLOW {id: $id})
90
+ OPTIONAL MATCH (f)-[r:IMPLEMENTS {isActive: false}]->(:CHANNEL)
91
+ DELETE r
92
+ `, {
93
+ id: flow.id,
94
+ });
95
+ const channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
96
+ if (channel !== undefined && !_.isEmpty(channel)) {
97
+ yield this.graphQuery(`
98
+ MATCH (f:FLOW {id: $id}),
99
+ (c:CHANNEL {id: $channel})
100
+ MERGE (f)-[r:IMPLEMENTS]->(c)
101
+ ON CREATE
102
+ SET r.isActive = false
103
+ `, {
104
+ channel,
105
+ id: flow.id,
106
+ });
107
+ }
86
108
  });
87
109
  }
88
110
  deleteFlow(id) {
@@ -94,29 +116,46 @@ export class IDW extends Base {
94
116
  });
95
117
  }
96
118
  activateFlow(flow) {
119
+ var _a;
97
120
  return __awaiter(this, void 0, void 0, function* () {
98
121
  const id = flow.id;
99
122
  if (id === undefined) {
100
123
  throw new Error('Only flows with id can be added to the IDW graph');
101
124
  }
102
125
  yield this.graphQuery(`
103
- MATCH (flow:FLOW { id: $id })
104
- SET flow.isActive = true,
105
- flow.activatedAt = $activatedAt
106
- RETURN flow
107
- `, {
108
- activatedAt: Date.now(),
126
+ MATCH (flow:FLOW {id: $id})
127
+ OPTIONAL MATCH (f)-[r:IMPLEMENTS]->(:CHANNEL)
128
+ DELETE r
129
+ SET flow.isActive = true,
130
+ flow.activatedAt = $activatedAt
131
+ `, {
109
132
  id,
133
+ activatedAt: Date.now(),
110
134
  });
135
+ const channel = (_a = flow.data.meta.idw) === null || _a === void 0 ? void 0 : _a.channel;
136
+ if (channel !== undefined && !_.isEmpty(channel)) {
137
+ yield this.graphQuery(`
138
+ MATCH (flow:FLOW {id: $id}),
139
+ (channel:CHANNEL {id: $channel})
140
+ MERGE (flow)-[r:IMPLEMENTS]->(channel)
141
+ ON CREATE
142
+ SET r.isActive = true
143
+ `, {
144
+ channel,
145
+ id,
146
+ });
147
+ }
111
148
  });
112
149
  }
113
150
  deactivateFlow(id) {
114
151
  return __awaiter(this, void 0, void 0, function* () {
115
152
  yield this.graphQuery(`
116
- MATCH (flow:FLOW { id: $id } )
117
- SET flow.isActive = false
118
- REMOVE flow.activatedAt
119
- RETURN flow
153
+ MATCH (flow:FLOW {id: $id})
154
+ OPTIONAL MATCH (flow)-[r:IMPLEMENTS]->(:CHANNEL)
155
+ SET flow.isActive = false,
156
+ r.isActive = false
157
+ REMOVE flow.activatedAt
158
+ RETURN flow
120
159
  `, { id });
121
160
  });
122
161
  }
@@ -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;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"}
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;IAUf,kBAAkB,CAAC,IAAI,EAAE,IAAI;IAkF7B,UAAU,CAAC,EAAE,EAAE,MAAM;IAOrB,YAAY,CAAC,IAAI,EAAE,IAAI;IAsCvB,cAAc,CAAC,EAAE,EAAE,MAAM;YAYjB,UAAU;CAazB"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.0-beta.1288.0",
2
+ "version": "1.1.0-beta.1291.0",
3
3
  "name": "@or-sdk/idw",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
@@ -25,8 +25,9 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@or-sdk/base": "^0.28.1",
28
- "@or-sdk/deployer": "^1.1.1-beta.1288.0",
28
+ "@or-sdk/deployer": "^1.1.1-beta.1291.0",
29
29
  "@or-sdk/graph": "^1.3.1",
30
- "@or-sdk/users": "^0.30.0"
30
+ "@or-sdk/users": "^0.30.0",
31
+ "lodash": "^4.17.21"
31
32
  }
32
33
  }
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 _ from 'lodash';
7
8
 
8
9
  /**
9
10
  * OneReach IDW service client
@@ -110,7 +111,32 @@ export class IDW extends Base {
110
111
  }
111
112
  );
112
113
 
113
- // const channel = flow.data.meta.idw?.channel;
114
+ await this.graphQuery(
115
+ `
116
+ MATCH (flow:FLOW {id: $id})
117
+ OPTIONAL MATCH (f)-[r:IMPLEMENTS {isActive: false}]->(:CHANNEL)
118
+ DELETE r
119
+ `,
120
+ {
121
+ id: flow.id,
122
+ }
123
+ );
124
+
125
+ const channel = flow.data.meta.idw?.channel;
126
+ if (channel !== undefined && !_.isEmpty(channel)) {
127
+ await this.graphQuery(
128
+ `
129
+ MATCH (f:FLOW {id: $id}),
130
+ (c:CHANNEL {id: $channel})
131
+ MERGE (f)-[r:IMPLEMENTS]->(c)
132
+ ON CREATE
133
+ SET r.isActive = false
134
+ `, {
135
+ channel,
136
+ id: flow.id,
137
+ }
138
+ );
139
+ }
114
140
  // if (channel !== undefined) {
115
141
  // const _channel = await this.getChannel(channel);
116
142
  // if (channel !== undefined && _.isEmpty(_channel)) return;
@@ -124,50 +150,6 @@ export class IDW extends Base {
124
150
  // }
125
151
  }
126
152
 
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
-
171
153
  async deleteFlow(id: string) {
172
154
  await this.graphQuery(`
173
155
  MATCH (flow:FLOW { id: $id })
@@ -181,38 +163,52 @@ export class IDW extends Base {
181
163
  throw new Error('Only flows with id can be added to the IDW graph');
182
164
  }
183
165
 
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
- // }
166
+ await this.graphQuery(
167
+ `
168
+ MATCH (flow:FLOW {id: $id})
169
+ OPTIONAL MATCH (f)-[r:IMPLEMENTS]->(:CHANNEL)
170
+ DELETE r
171
+ SET flow.isActive = true,
172
+ flow.activatedAt = $activatedAt
173
+ `,
174
+ {
175
+ id,
176
+ activatedAt: Date.now(),
177
+ }
178
+ );
192
179
 
193
- await this.graphQuery(`
194
- MATCH (flow:FLOW { id: $id })
195
- SET flow.isActive = true,
196
- flow.activatedAt = $activatedAt
197
- RETURN flow
198
- `, {
199
- activatedAt: Date.now(),
200
- id,
201
- });
180
+ const channel = flow.data.meta.idw?.channel;
181
+ if (channel !== undefined && !_.isEmpty(channel)) {
182
+ await this.graphQuery(
183
+ `
184
+ MATCH (flow:FLOW {id: $id}),
185
+ (channel:CHANNEL {id: $channel})
186
+ MERGE (flow)-[r:IMPLEMENTS]->(channel)
187
+ ON CREATE
188
+ SET r.isActive = true
189
+ `, {
190
+ channel,
191
+ id,
192
+ }
193
+ );
194
+ }
202
195
  }
203
196
 
204
197
 
205
198
  async deactivateFlow(id: string) {
206
- await this.graphQuery(`
207
- MATCH (flow:FLOW { id: $id } )
208
- SET flow.isActive = false
209
- REMOVE flow.activatedAt
210
- RETURN flow
199
+ await this.graphQuery(
200
+ `
201
+ MATCH (flow:FLOW {id: $id})
202
+ OPTIONAL MATCH (flow)-[r:IMPLEMENTS]->(:CHANNEL)
203
+ SET flow.isActive = false,
204
+ r.isActive = false
205
+ REMOVE flow.activatedAt
206
+ RETURN flow
211
207
  `, { id });
212
208
  }
213
209
 
214
210
  private async graphQuery(query: string, params?: Record<string, null | number | string | boolean>) {
215
- // if 'idw' graph doesn't exist - create it
211
+ //create graph if not exists
216
212
  await this.checkOrCreateDb();
217
213
  try {
218
214
  return await this.graphApi.query({