@or-sdk/bots 0.24.0-410.0 → 0.24.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 +9 -0
- package/dist/cjs/Bots.js +129 -98
- package/dist/cjs/Bots.js.map +1 -1
- package/dist/cjs/constants.js +3 -2
- package/dist/cjs/constants.js.map +1 -1
- package/dist/esm/Bots.js +94 -64
- package/dist/esm/Bots.js.map +1 -1
- package/dist/esm/constants.js +8 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/types/Bots.d.ts +11 -21
- package/dist/types/constants.d.ts +2 -1
- package/dist/types/types.d.ts +1 -11
- package/package.json +6 -5
- package/src/Bots.ts +121 -126
- package/src/constants.ts +9 -1
- package/src/types.ts +1 -10
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
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
|
+
## [0.24.0](https://gitlab.com/onereach/platform/or-sdk-next/compare/@or-sdk/bots@0.23.7...@or-sdk/bots@0.24.0) (2022-06-14)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **deployments:** Deployments sdk ([41219bd](https://gitlab.com/onereach/platform/or-sdk-next/commit/41219bdf58956fc07aea1d0d5093e8cfddabc00d))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
6
15
|
### [0.23.7](https://gitlab.com/onereach/platform/or-sdk-next/compare/@or-sdk/bots@0.23.6...@or-sdk/bots@0.23.7) (2022-06-10)
|
|
7
16
|
|
|
8
17
|
|
package/dist/cjs/Bots.js
CHANGED
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
var __assign = (this && this.__assign) || function () {
|
|
18
3
|
__assign = Object.assign || function(t) {
|
|
19
4
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -61,139 +46,185 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
61
46
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
62
47
|
}
|
|
63
48
|
};
|
|
49
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
50
|
+
var t = {};
|
|
51
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
52
|
+
t[p] = s[p];
|
|
53
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
54
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
55
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
56
|
+
t[p[i]] = s[p[i]];
|
|
57
|
+
}
|
|
58
|
+
return t;
|
|
59
|
+
};
|
|
64
60
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
61
|
exports.Bots = void 0;
|
|
66
|
-
var
|
|
62
|
+
var data_hub_1 = require("@or-sdk/data-hub");
|
|
67
63
|
var constants_1 = require("./constants");
|
|
68
|
-
var
|
|
69
|
-
|
|
64
|
+
var tags_1 = require("@or-sdk/tags");
|
|
65
|
+
var utils_1 = require("./utils");
|
|
66
|
+
var Bots = (function () {
|
|
70
67
|
function Bots(params) {
|
|
71
|
-
var
|
|
72
|
-
|
|
73
|
-
|
|
68
|
+
var token = params.token, discoveryUrl = params.discoveryUrl, accountId = params.accountId, dataHubUrl = params.dataHubUrl;
|
|
69
|
+
this.dataHub = new data_hub_1.DataHub({
|
|
70
|
+
token: token,
|
|
71
|
+
discoveryUrl: discoveryUrl,
|
|
72
|
+
accountId: accountId,
|
|
73
|
+
dataHubUrl: dataHubUrl,
|
|
74
|
+
});
|
|
75
|
+
this.tags = new tags_1.Tags({
|
|
74
76
|
token: token,
|
|
75
77
|
discoveryUrl: discoveryUrl,
|
|
76
|
-
serviceKey: constants_1.SERVICE_KEY,
|
|
77
78
|
accountId: accountId,
|
|
78
|
-
|
|
79
|
-
})
|
|
80
|
-
return _this;
|
|
79
|
+
dataHubUrl: dataHubUrl,
|
|
80
|
+
});
|
|
81
81
|
}
|
|
82
82
|
Bots.prototype.init = function () {
|
|
83
83
|
return __awaiter(this, void 0, void 0, function () {
|
|
84
84
|
return __generator(this, function (_a) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
query.isDeleted = true;
|
|
95
|
-
if (!includeDeleted && includeExisting)
|
|
96
|
-
query.isDeleted = false;
|
|
97
|
-
return [2, this.callApiV2({
|
|
98
|
-
route: '/bots',
|
|
99
|
-
params: {
|
|
100
|
-
query: query,
|
|
101
|
-
projection: projection,
|
|
102
|
-
limit: limit,
|
|
103
|
-
offset: offset,
|
|
104
|
-
},
|
|
105
|
-
})];
|
|
85
|
+
switch (_a.label) {
|
|
86
|
+
case 0: return [4, Promise.all([
|
|
87
|
+
this.dataHub.init(),
|
|
88
|
+
this.tags.init(),
|
|
89
|
+
])];
|
|
90
|
+
case 1:
|
|
91
|
+
_a.sent();
|
|
92
|
+
return [2];
|
|
93
|
+
}
|
|
106
94
|
});
|
|
107
95
|
});
|
|
108
96
|
};
|
|
109
97
|
Bots.prototype.listBots = function (params) {
|
|
110
98
|
if (params === void 0) { params = {}; }
|
|
111
99
|
return __awaiter(this, void 0, void 0, function () {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
})];
|
|
100
|
+
var _a, projection, varPrams, variables, data;
|
|
101
|
+
return __generator(this, function (_b) {
|
|
102
|
+
_a = params.projection, projection = _a === void 0 ? [] : _a, varPrams = __rest(params, ["projection"]);
|
|
103
|
+
variables = __assign({ entity: constants_1.ENTITY_NAME, params: __assign({ queryParams: {}, includeDeleted: false, includeExisting: true, limit: 30 }, varPrams) }, this.dataHub.isCrossAccount ? { accountId: this.dataHub.currentAccountId } : { sandbox: false });
|
|
104
|
+
data = {
|
|
105
|
+
operationName: this.dataHub.getOperationName(data_hub_1.OperationNames.LIST),
|
|
106
|
+
query: (0, utils_1.getListQuery)({
|
|
107
|
+
crossAccount: this.dataHub.isCrossAccount,
|
|
108
|
+
projection: projection,
|
|
109
|
+
}),
|
|
110
|
+
variables: variables,
|
|
111
|
+
};
|
|
112
|
+
return [2, this.dataHub.getFullList('POST', '/graphql', data)];
|
|
126
113
|
});
|
|
127
114
|
});
|
|
128
115
|
};
|
|
129
116
|
Bots.prototype.getBot = function (id) {
|
|
130
117
|
return __awaiter(this, void 0, void 0, function () {
|
|
118
|
+
var route, params;
|
|
131
119
|
return __generator(this, function (_a) {
|
|
132
|
-
|
|
120
|
+
switch (_a.label) {
|
|
121
|
+
case 0:
|
|
122
|
+
route = "/v2/".concat(this.dataHub.currentAccountId ? this.dataHub.currentAccountId : 'current', "/bot/").concat(id);
|
|
123
|
+
params = {
|
|
124
|
+
includeDeleted: false,
|
|
125
|
+
includeExisting: true,
|
|
126
|
+
};
|
|
127
|
+
return [4, this.dataHub.makeRequest({
|
|
128
|
+
method: 'GET',
|
|
129
|
+
route: route,
|
|
130
|
+
params: params,
|
|
131
|
+
})];
|
|
132
|
+
case 1: return [2, _a.sent()];
|
|
133
|
+
}
|
|
133
134
|
});
|
|
134
135
|
});
|
|
135
136
|
};
|
|
136
|
-
Bots.prototype.saveBot = function (
|
|
137
|
+
Bots.prototype.saveBot = function (source) {
|
|
137
138
|
return __awaiter(this, void 0, void 0, function () {
|
|
138
|
-
var
|
|
139
|
+
var route, data;
|
|
139
140
|
return __generator(this, function (_a) {
|
|
140
141
|
switch (_a.label) {
|
|
141
142
|
case 0:
|
|
142
|
-
bot.id
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
143
|
+
route = "/v2/".concat(this.dataHub.currentAccountId ? this.dataHub.currentAccountId : 'current', "/bot/").concat(source.id ? source.id : 'new');
|
|
144
|
+
data = {
|
|
145
|
+
bot: source,
|
|
146
|
+
};
|
|
147
|
+
return [4, this.dataHub.makeRequest({
|
|
148
|
+
method: 'POST',
|
|
149
|
+
route: route,
|
|
150
|
+
data: data,
|
|
149
151
|
})];
|
|
150
|
-
case 1:
|
|
151
|
-
id = (_a.sent()).id;
|
|
152
|
-
return [2, __assign(__assign({}, bot), { id: id })];
|
|
152
|
+
case 1: return [2, _a.sent()];
|
|
153
153
|
}
|
|
154
154
|
});
|
|
155
155
|
});
|
|
156
156
|
};
|
|
157
|
-
Bots.prototype.deleteBot = function (
|
|
158
|
-
if (temporarily === void 0) { temporarily = true; }
|
|
157
|
+
Bots.prototype.deleteBot = function (botId) {
|
|
159
158
|
return __awaiter(this, void 0, void 0, function () {
|
|
159
|
+
var variables, operationName, data, result;
|
|
160
160
|
return __generator(this, function (_a) {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
|
|
161
|
+
switch (_a.label) {
|
|
162
|
+
case 0:
|
|
163
|
+
if (this.dataHub.isCrossAccount) {
|
|
164
|
+
throw Error('Cross-account deleting is not implemented.');
|
|
165
|
+
}
|
|
166
|
+
variables = {
|
|
167
|
+
entity: constants_1.ENTITY_NAME,
|
|
168
|
+
data: {
|
|
169
|
+
id: botId,
|
|
170
|
+
subscribe: true,
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
operationName = this.dataHub.getOperationName(data_hub_1.OperationNames.DELETE_TEMPORARILY);
|
|
174
|
+
data = {
|
|
175
|
+
operationName: operationName,
|
|
176
|
+
query: constants_1.QUERY_DELETE,
|
|
177
|
+
variables: variables,
|
|
178
|
+
};
|
|
179
|
+
return [4, this.dataHub.makeRequest({
|
|
180
|
+
method: 'POST',
|
|
181
|
+
route: '/graphql',
|
|
182
|
+
data: data,
|
|
183
|
+
})];
|
|
184
|
+
case 1:
|
|
185
|
+
result = _a.sent();
|
|
186
|
+
return [2, this.dataHub.subscribe(result.data[operationName].requestId)];
|
|
187
|
+
}
|
|
168
188
|
});
|
|
169
189
|
});
|
|
170
190
|
};
|
|
171
|
-
Bots.
|
|
191
|
+
Bots.prototype.addTags = function (source, tagNames) {
|
|
172
192
|
return __awaiter(this, void 0, void 0, function () {
|
|
193
|
+
var tags, tagIds, newIds;
|
|
173
194
|
return __generator(this, function (_a) {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
195
|
+
switch (_a.label) {
|
|
196
|
+
case 0: return [4, this.tags.getMultipleTagsByName(tagNames, true)];
|
|
197
|
+
case 1:
|
|
198
|
+
tags = _a.sent();
|
|
199
|
+
tagIds = tags.map(function (tag) { return tag.id; });
|
|
200
|
+
newIds = (0, tags_1.filterTagIds)(source.tags, tagIds).newIds;
|
|
201
|
+
if (!newIds.length) {
|
|
202
|
+
throw Error('No tags to add.');
|
|
203
|
+
}
|
|
204
|
+
return [2, this.saveBot(__assign(__assign({}, source), { tags: (0, tags_1.addTagsIds)(source.tags, newIds) }))];
|
|
205
|
+
}
|
|
183
206
|
});
|
|
184
207
|
});
|
|
185
208
|
};
|
|
186
|
-
Bots.prototype.
|
|
209
|
+
Bots.prototype.removeTags = function (source, tagNames) {
|
|
187
210
|
return __awaiter(this, void 0, void 0, function () {
|
|
211
|
+
var tags, tagIds, existingIds;
|
|
188
212
|
return __generator(this, function (_a) {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
213
|
+
switch (_a.label) {
|
|
214
|
+
case 0: return [4, this.tags.getMultipleTagsByName(tagNames)];
|
|
215
|
+
case 1:
|
|
216
|
+
tags = _a.sent();
|
|
217
|
+
tagIds = tags.map(function (tag) { return tag.id; });
|
|
218
|
+
existingIds = (0, tags_1.filterTagIds)(source.tags, tagIds).existingIds;
|
|
219
|
+
if (!existingIds.length) {
|
|
220
|
+
throw Error('No tags to remove.');
|
|
221
|
+
}
|
|
222
|
+
return [2, this.saveBot(__assign(__assign({}, source), { tags: (0, tags_1.removeTagIds)(source.tags, existingIds) }))];
|
|
223
|
+
}
|
|
193
224
|
});
|
|
194
225
|
});
|
|
195
226
|
};
|
|
196
227
|
return Bots;
|
|
197
|
-
}(
|
|
228
|
+
}());
|
|
198
229
|
exports.Bots = Bots;
|
|
199
230
|
//# sourceMappingURL=Bots.js.map
|
package/dist/cjs/Bots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bots.js","sourceRoot":"","sources":["../../src/Bots.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Bots.js","sourceRoot":"","sources":["../../src/Bots.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/constants.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
3
|
+
exports.ENTITY_NAME = exports.QUERY_DELETE = void 0;
|
|
4
|
+
exports.QUERY_DELETE = "mutation deleteTemporarily($entity: EntityType!, $data: DeleteInput!) {\n deleteTemporarily(entity: $entity, data: $data) {\n ... on AsyncRequest {\n requestId\n }\n }\n}";
|
|
5
|
+
exports.ENTITY_NAME = 'BOT';
|
|
5
6
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,yLAM1B,CAAC;AAEU,QAAA,WAAW,GAAG,KAAK,CAAC"}
|
package/dist/esm/Bots.js
CHANGED
|
@@ -7,103 +7,133 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
11
|
+
var t = {};
|
|
12
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
13
|
+
t[p] = s[p];
|
|
14
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
15
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
16
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
17
|
+
t[p[i]] = s[p[i]];
|
|
18
|
+
}
|
|
19
|
+
return t;
|
|
20
|
+
};
|
|
21
|
+
import { DataHub, OperationNames } from '@or-sdk/data-hub';
|
|
22
|
+
import { QUERY_DELETE, ENTITY_NAME, } from './constants';
|
|
23
|
+
import { Tags, filterTagIds, addTagsIds, removeTagIds } from '@or-sdk/tags';
|
|
24
|
+
import { getListQuery } from './utils';
|
|
25
|
+
export class Bots {
|
|
13
26
|
constructor(params) {
|
|
14
|
-
const { token, discoveryUrl, accountId,
|
|
15
|
-
|
|
27
|
+
const { token, discoveryUrl, accountId, dataHubUrl } = params;
|
|
28
|
+
this.dataHub = new DataHub({
|
|
16
29
|
token,
|
|
17
30
|
discoveryUrl,
|
|
18
|
-
serviceKey: SERVICE_KEY,
|
|
19
31
|
accountId,
|
|
20
|
-
|
|
32
|
+
dataHubUrl,
|
|
21
33
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
34
|
+
this.tags = new Tags({
|
|
35
|
+
token,
|
|
36
|
+
discoveryUrl,
|
|
37
|
+
accountId,
|
|
38
|
+
dataHubUrl,
|
|
25
39
|
});
|
|
26
40
|
}
|
|
27
|
-
|
|
41
|
+
init() {
|
|
28
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return this.callApiV2({
|
|
34
|
-
route: '/bots',
|
|
35
|
-
params: {
|
|
36
|
-
query,
|
|
37
|
-
projection,
|
|
38
|
-
limit,
|
|
39
|
-
offset,
|
|
40
|
-
},
|
|
41
|
-
});
|
|
43
|
+
yield Promise.all([
|
|
44
|
+
this.dataHub.init(),
|
|
45
|
+
this.tags.init(),
|
|
46
|
+
]);
|
|
42
47
|
});
|
|
43
48
|
}
|
|
44
49
|
listBots(params = {}) {
|
|
45
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
route: `/bots/${botId}`,
|
|
53
|
-
params: {
|
|
51
|
+
const { projection = [] } = params, varPrams = __rest(params, ["projection"]);
|
|
52
|
+
const variables = Object.assign({ entity: ENTITY_NAME, params: Object.assign({ queryParams: {}, includeDeleted: false, includeExisting: true, limit: 30 }, varPrams) }, this.dataHub.isCrossAccount ? { accountId: this.dataHub.currentAccountId } : { sandbox: false });
|
|
53
|
+
const data = {
|
|
54
|
+
operationName: this.dataHub.getOperationName(OperationNames.LIST),
|
|
55
|
+
query: getListQuery({
|
|
56
|
+
crossAccount: this.dataHub.isCrossAccount,
|
|
54
57
|
projection,
|
|
55
|
-
},
|
|
56
|
-
|
|
58
|
+
}),
|
|
59
|
+
variables,
|
|
60
|
+
};
|
|
61
|
+
return this.dataHub.getFullList('POST', '/graphql', data);
|
|
57
62
|
});
|
|
58
63
|
}
|
|
59
64
|
getBot(id) {
|
|
60
65
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
|
|
66
|
+
const route = `/v2/${this.dataHub.currentAccountId ? this.dataHub.currentAccountId : 'current'}/bot/${id}`;
|
|
67
|
+
const params = {
|
|
68
|
+
includeDeleted: false,
|
|
69
|
+
includeExisting: true,
|
|
70
|
+
};
|
|
71
|
+
return yield this.dataHub.makeRequest({
|
|
72
|
+
method: 'GET',
|
|
73
|
+
route,
|
|
74
|
+
params,
|
|
75
|
+
});
|
|
62
76
|
});
|
|
63
77
|
}
|
|
64
|
-
saveBot(
|
|
78
|
+
saveBot(source) {
|
|
65
79
|
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
bot.id
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
80
|
+
const route = `/v2/${this.dataHub.currentAccountId ? this.dataHub.currentAccountId : 'current'}/bot/${source.id ? source.id : 'new'}`;
|
|
81
|
+
const data = {
|
|
82
|
+
bot: source,
|
|
83
|
+
};
|
|
84
|
+
return yield this.dataHub.makeRequest({
|
|
85
|
+
method: 'POST',
|
|
86
|
+
route,
|
|
87
|
+
data,
|
|
73
88
|
});
|
|
74
|
-
return Object.assign(Object.assign({}, bot), { id });
|
|
75
89
|
});
|
|
76
90
|
}
|
|
77
|
-
deleteBot(
|
|
91
|
+
deleteBot(botId) {
|
|
78
92
|
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
-
|
|
80
|
-
|
|
93
|
+
if (this.dataHub.isCrossAccount) {
|
|
94
|
+
throw Error('Cross-account deleting is not implemented.');
|
|
95
|
+
}
|
|
96
|
+
const variables = {
|
|
97
|
+
entity: ENTITY_NAME,
|
|
81
98
|
data: {
|
|
82
|
-
|
|
99
|
+
id: botId,
|
|
100
|
+
subscribe: true,
|
|
83
101
|
},
|
|
84
|
-
|
|
102
|
+
};
|
|
103
|
+
const operationName = this.dataHub.getOperationName(OperationNames.DELETE_TEMPORARILY);
|
|
104
|
+
const data = {
|
|
105
|
+
operationName,
|
|
106
|
+
query: QUERY_DELETE,
|
|
107
|
+
variables,
|
|
108
|
+
};
|
|
109
|
+
const result = yield this.dataHub.makeRequest({
|
|
110
|
+
method: 'POST',
|
|
111
|
+
route: '/graphql',
|
|
112
|
+
data,
|
|
85
113
|
});
|
|
114
|
+
return this.dataHub.subscribe(result.data[operationName].requestId);
|
|
86
115
|
});
|
|
87
116
|
}
|
|
88
|
-
|
|
117
|
+
addTags(source, tagNames) {
|
|
89
118
|
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
},
|
|
98
|
-
};
|
|
119
|
+
const tags = yield this.tags.getMultipleTagsByName(tagNames, true);
|
|
120
|
+
const tagIds = tags.map(tag => tag.id);
|
|
121
|
+
const { newIds } = filterTagIds(source.tags, tagIds);
|
|
122
|
+
if (!newIds.length) {
|
|
123
|
+
throw Error('No tags to add.');
|
|
124
|
+
}
|
|
125
|
+
return this.saveBot(Object.assign(Object.assign({}, source), { tags: addTagsIds(source.tags, newIds) }));
|
|
99
126
|
});
|
|
100
127
|
}
|
|
101
|
-
|
|
128
|
+
removeTags(source, tagNames) {
|
|
102
129
|
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
130
|
+
const tags = yield this.tags.getMultipleTagsByName(tagNames);
|
|
131
|
+
const tagIds = tags.map(tag => tag.id);
|
|
132
|
+
const { existingIds } = filterTagIds(source.tags, tagIds);
|
|
133
|
+
if (!existingIds.length) {
|
|
134
|
+
throw Error('No tags to remove.');
|
|
135
|
+
}
|
|
136
|
+
return this.saveBot(Object.assign(Object.assign({}, source), { tags: removeTagIds(source.tags, existingIds) }));
|
|
107
137
|
});
|
|
108
138
|
}
|
|
109
139
|
}
|
package/dist/esm/Bots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bots.js","sourceRoot":"","sources":["../../src/Bots.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Bots.js","sourceRoot":"","sources":["../../src/Bots.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/constants.js
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
export const
|
|
1
|
+
export const QUERY_DELETE = `mutation deleteTemporarily($entity: EntityType!, $data: DeleteInput!) {
|
|
2
|
+
deleteTemporarily(entity: $entity, data: $data) {
|
|
3
|
+
... on AsyncRequest {
|
|
4
|
+
requestId
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
}`;
|
|
8
|
+
export const ENTITY_NAME = 'BOT';
|
|
2
9
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;EAM1B,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC"}
|
package/dist/types/Bots.d.ts
CHANGED
|
@@ -1,26 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { List } from '@or-sdk/base';
|
|
2
|
+
import { GraphqlResponseCheckExecution } from '@or-sdk/data-hub';
|
|
3
|
+
import { BotsConfig, Bot, ListBotsParams } from './types';
|
|
4
|
+
import { Taggable } from '@or-sdk/tags';
|
|
5
|
+
export declare class Bots implements Taggable<Bot> {
|
|
6
|
+
private readonly dataHub;
|
|
7
|
+
private readonly tags;
|
|
4
8
|
constructor(params: BotsConfig);
|
|
5
9
|
init(): Promise<void>;
|
|
6
|
-
getBots({ query, projection, includeDeleted, includeExisting, limit, offset }?: GetBotsParams): Promise<List<Bot>>;
|
|
7
10
|
listBots(params?: ListBotsParams): Promise<List<Bot>>;
|
|
8
|
-
getBotById(botId: string, projection?: string[]): Promise<Bot>;
|
|
9
11
|
getBot(id: string): Promise<Bot>;
|
|
10
|
-
saveBot(
|
|
11
|
-
deleteBot(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
static getNewBot(): Promise<{
|
|
15
|
-
data: {
|
|
16
|
-
label: string;
|
|
17
|
-
description: string;
|
|
18
|
-
longDescription: string;
|
|
19
|
-
iconUrl: string;
|
|
20
|
-
deploy: {};
|
|
21
|
-
};
|
|
22
|
-
}>;
|
|
23
|
-
recoverBot(bot: {
|
|
24
|
-
id: string;
|
|
25
|
-
}): Promise<null>;
|
|
12
|
+
saveBot(source: Bot): Promise<Bot>;
|
|
13
|
+
deleteBot(botId: string): Promise<GraphqlResponseCheckExecution>;
|
|
14
|
+
addTags(source: Bot, tagNames: string[]): Promise<Bot>;
|
|
15
|
+
removeTags(source: Bot, tagNames: string[]): Promise<Bot>;
|
|
26
16
|
}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const QUERY_DELETE = "mutation deleteTemporarily($entity: EntityType!, $data: DeleteInput!) {\n deleteTemporarily(entity: $entity, data: $data) {\n ... on AsyncRequest {\n requestId\n }\n }\n}";
|
|
2
|
+
export declare const ENTITY_NAME = "BOT";
|
package/dist/types/types.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export declare type BotsConfig = {
|
|
|
3
3
|
token: Token;
|
|
4
4
|
discoveryUrl?: string;
|
|
5
5
|
accountId?: string;
|
|
6
|
-
|
|
6
|
+
dataHubUrl?: string;
|
|
7
7
|
};
|
|
8
8
|
export declare type Bot = {
|
|
9
9
|
id?: string;
|
|
@@ -27,13 +27,3 @@ export declare type ListBotsParams = {
|
|
|
27
27
|
includeExisting?: boolean;
|
|
28
28
|
projection?: string[];
|
|
29
29
|
};
|
|
30
|
-
export declare type GetBotsParams = {
|
|
31
|
-
includeDeleted?: boolean;
|
|
32
|
-
includeExisting?: boolean;
|
|
33
|
-
projection?: string[];
|
|
34
|
-
query?: {
|
|
35
|
-
[key: string]: any;
|
|
36
|
-
};
|
|
37
|
-
limit?: number;
|
|
38
|
-
offset?: number;
|
|
39
|
-
};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.24.0
|
|
2
|
+
"version": "0.24.0",
|
|
3
3
|
"name": "@or-sdk/bots",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
"access": "public"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@or-sdk/base": "^0.24.
|
|
27
|
-
"@or-sdk/data-hub": "^0.23.
|
|
28
|
-
"@or-sdk/tags": "^0.24.0
|
|
29
|
-
}
|
|
26
|
+
"@or-sdk/base": "^0.24.1",
|
|
27
|
+
"@or-sdk/data-hub": "^0.23.7",
|
|
28
|
+
"@or-sdk/tags": "^0.24.0"
|
|
29
|
+
},
|
|
30
|
+
"gitHead": "cb96ea9aaf7a72dd4bde29b1d58ef47b40d3052c"
|
|
30
31
|
}
|
package/src/Bots.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
1
|
+
import { List } from '@or-sdk/base';
|
|
2
|
+
import { DataHub, GraphqlResponse, GraphqlResponseCheckExecution, GraphqlResponseDelete, OperationNames } from '@or-sdk/data-hub';
|
|
3
|
+
import { BotsConfig, Bot, ListBotsParams } from './types';
|
|
4
|
+
import {
|
|
5
|
+
QUERY_DELETE,
|
|
6
|
+
ENTITY_NAME,
|
|
7
|
+
} from './constants';
|
|
8
|
+
import { Tags, Taggable, filterTagIds, addTagsIds, removeTagIds } from '@or-sdk/tags';
|
|
9
|
+
import { getListQuery } from './utils';
|
|
6
10
|
|
|
7
11
|
/**
|
|
8
12
|
* OneReach Bots service client
|
|
@@ -11,8 +15,9 @@ import { Bot, BotsConfig, GetBotsParams, ListBotsParams } from './types';
|
|
|
11
15
|
* $ npm i @or-sdk/bots
|
|
12
16
|
* ```
|
|
13
17
|
*/
|
|
14
|
-
export class Bots
|
|
15
|
-
|
|
18
|
+
export class Bots implements Taggable<Bot> {
|
|
19
|
+
private readonly dataHub: DataHub;
|
|
20
|
+
private readonly tags: Tags;
|
|
16
21
|
|
|
17
22
|
/**
|
|
18
23
|
* ```typescript
|
|
@@ -21,46 +26,27 @@ export class Bots extends Base {
|
|
|
21
26
|
* ```
|
|
22
27
|
*/
|
|
23
28
|
constructor(params: BotsConfig) {
|
|
24
|
-
const { token, discoveryUrl, accountId,
|
|
25
|
-
|
|
29
|
+
const { token, discoveryUrl, accountId, dataHubUrl } = params;
|
|
30
|
+
|
|
31
|
+
this.dataHub = new DataHub({
|
|
26
32
|
token,
|
|
27
33
|
discoveryUrl,
|
|
28
|
-
serviceKey: SERVICE_KEY,
|
|
29
34
|
accountId,
|
|
30
|
-
|
|
35
|
+
dataHubUrl,
|
|
36
|
+
});
|
|
37
|
+
this.tags = new Tags({
|
|
38
|
+
token,
|
|
39
|
+
discoveryUrl,
|
|
40
|
+
accountId,
|
|
41
|
+
dataHubUrl,
|
|
31
42
|
});
|
|
32
|
-
|
|
33
|
-
// this.tags = new Tags({
|
|
34
|
-
// token,
|
|
35
|
-
// discoveryUrl,
|
|
36
|
-
// accountId,
|
|
37
|
-
// serviceKey: SERVICE_KEY,
|
|
38
|
-
// dataHub2Url,
|
|
39
|
-
// });
|
|
40
43
|
}
|
|
41
44
|
|
|
42
45
|
async init() {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
* ```typescript
|
|
48
|
-
* const botList = await bots.getBots();
|
|
49
|
-
* ```
|
|
50
|
-
*/
|
|
51
|
-
|
|
52
|
-
public async getBots({ query = {}, projection, includeDeleted = false, includeExisting = true, limit, offset }: GetBotsParams = {}): Promise<List<Bot>> {
|
|
53
|
-
if (includeDeleted && !includeExisting) query.isDeleted = true;
|
|
54
|
-
if (!includeDeleted && includeExisting) query.isDeleted = false;
|
|
55
|
-
return this.callApiV2({
|
|
56
|
-
route: '/bots',
|
|
57
|
-
params: {
|
|
58
|
-
query,
|
|
59
|
-
projection,
|
|
60
|
-
limit,
|
|
61
|
-
offset,
|
|
62
|
-
},
|
|
63
|
-
});
|
|
46
|
+
await Promise.all([
|
|
47
|
+
this.dataHub.init(),
|
|
48
|
+
this.tags.init(),
|
|
49
|
+
]);
|
|
64
50
|
}
|
|
65
51
|
|
|
66
52
|
/**
|
|
@@ -70,23 +56,33 @@ export class Bots extends Base {
|
|
|
70
56
|
* ```
|
|
71
57
|
*/
|
|
72
58
|
public async listBots(params: ListBotsParams = {}): Promise<List<Bot>> {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Get bot by id
|
|
78
|
-
* ```typescript
|
|
79
|
-
* const bot = await bots.getBotById('bot-id');
|
|
80
|
-
* ```
|
|
81
|
-
*/
|
|
82
|
-
public async getBotById(botId: string, projection?: string[]): Promise<Bot> {
|
|
83
|
-
return this.callApiV2({
|
|
84
|
-
route: `/bots/${botId}`,
|
|
59
|
+
const { projection = [], ...varPrams } = params;
|
|
60
|
+
const variables = {
|
|
61
|
+
entity: ENTITY_NAME,
|
|
85
62
|
params: {
|
|
86
|
-
|
|
63
|
+
queryParams: {},
|
|
64
|
+
includeDeleted: false,
|
|
65
|
+
includeExisting: true,
|
|
66
|
+
limit: 30,
|
|
67
|
+
|
|
68
|
+
// overrides
|
|
69
|
+
...varPrams,
|
|
87
70
|
},
|
|
88
|
-
|
|
71
|
+
... this.dataHub.isCrossAccount ? { accountId: this.dataHub.currentAccountId } : { sandbox: false },
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const data = {
|
|
75
|
+
operationName: this.dataHub.getOperationName(OperationNames.LIST),
|
|
76
|
+
query: getListQuery({
|
|
77
|
+
crossAccount: this.dataHub.isCrossAccount,
|
|
78
|
+
projection,
|
|
79
|
+
}),
|
|
80
|
+
variables,
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
return this.dataHub.getFullList<Bot>('POST', '/graphql', data);
|
|
89
84
|
}
|
|
85
|
+
|
|
90
86
|
/**
|
|
91
87
|
* Get bot
|
|
92
88
|
* ```typescript
|
|
@@ -94,31 +90,40 @@ export class Bots extends Base {
|
|
|
94
90
|
* ```
|
|
95
91
|
*/
|
|
96
92
|
public async getBot(id: string): Promise<Bot> {
|
|
97
|
-
|
|
93
|
+
const route = `/v2/${this.dataHub.currentAccountId ? this.dataHub.currentAccountId : 'current'}/bot/${id}`;
|
|
94
|
+
|
|
95
|
+
const params = {
|
|
96
|
+
includeDeleted: false,
|
|
97
|
+
includeExisting: true,
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
return await this.dataHub.makeRequest<Bot>({
|
|
101
|
+
method: 'GET',
|
|
102
|
+
route,
|
|
103
|
+
params,
|
|
104
|
+
});
|
|
98
105
|
}
|
|
99
106
|
|
|
100
107
|
/**
|
|
101
108
|
* Save bot
|
|
102
109
|
*
|
|
103
|
-
* If source contains existing id - existing bot be updated
|
|
110
|
+
* If source contains existing id - existing bot will be updated
|
|
104
111
|
* ```typescript
|
|
105
112
|
* const savedBot = await bots.saveBot(botSource);
|
|
106
113
|
* ```
|
|
107
114
|
*/
|
|
108
|
-
public async saveBot(
|
|
109
|
-
bot.id
|
|
110
|
-
const { id } = await this.callApiV2({
|
|
111
|
-
route: `/bots/${bot.id}`,
|
|
112
|
-
data: {
|
|
113
|
-
bot,
|
|
114
|
-
},
|
|
115
|
-
method: 'post',
|
|
116
|
-
});
|
|
115
|
+
public async saveBot(source: Bot): Promise<Bot> {
|
|
116
|
+
const route = `/v2/${this.dataHub.currentAccountId ? this.dataHub.currentAccountId : 'current'}/bot/${source.id ? source.id : 'new'}`;
|
|
117
117
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
id,
|
|
118
|
+
const data = {
|
|
119
|
+
bot: source,
|
|
121
120
|
};
|
|
121
|
+
|
|
122
|
+
return await this.dataHub.makeRequest<Bot>({
|
|
123
|
+
method: 'POST',
|
|
124
|
+
route,
|
|
125
|
+
data,
|
|
126
|
+
});
|
|
122
127
|
}
|
|
123
128
|
|
|
124
129
|
/**
|
|
@@ -127,14 +132,34 @@ export class Bots extends Base {
|
|
|
127
132
|
* await bots.deleteBot('bot-id');
|
|
128
133
|
* ```
|
|
129
134
|
*/
|
|
130
|
-
public async deleteBot(
|
|
131
|
-
|
|
132
|
-
|
|
135
|
+
public async deleteBot(botId: string): Promise<GraphqlResponseCheckExecution> {
|
|
136
|
+
if (this.dataHub.isCrossAccount) {
|
|
137
|
+
throw Error('Cross-account deleting is not implemented.');
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
const variables = {
|
|
141
|
+
entity: ENTITY_NAME,
|
|
133
142
|
data: {
|
|
134
|
-
|
|
143
|
+
id: botId,
|
|
144
|
+
subscribe: true,
|
|
135
145
|
},
|
|
136
|
-
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
const operationName = this.dataHub.getOperationName(OperationNames.DELETE_TEMPORARILY);
|
|
149
|
+
|
|
150
|
+
const data = {
|
|
151
|
+
operationName,
|
|
152
|
+
query: QUERY_DELETE,
|
|
153
|
+
variables,
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
const result = await this.dataHub.makeRequest<GraphqlResponse<void>>({
|
|
157
|
+
method: 'POST',
|
|
158
|
+
route: '/graphql',
|
|
159
|
+
data,
|
|
137
160
|
});
|
|
161
|
+
|
|
162
|
+
return this.dataHub.subscribe((result.data[operationName] as GraphqlResponseDelete).requestId);
|
|
138
163
|
}
|
|
139
164
|
|
|
140
165
|
/**
|
|
@@ -143,21 +168,21 @@ export class Bots extends Base {
|
|
|
143
168
|
* const bot = await bots.addTags(botSource, tagIdsArr);
|
|
144
169
|
* ```
|
|
145
170
|
*/
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
171
|
+
public async addTags(source: Bot, tagNames: string[]): Promise<Bot> {
|
|
172
|
+
const tags = await this.tags.getMultipleTagsByName(tagNames, true);
|
|
173
|
+
const tagIds = tags.map(tag => tag.id!);
|
|
149
174
|
|
|
150
|
-
|
|
175
|
+
const { newIds } = filterTagIds(source.tags, tagIds);
|
|
151
176
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
177
|
+
if (!newIds.length) {
|
|
178
|
+
throw Error('No tags to add.');
|
|
179
|
+
}
|
|
155
180
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
181
|
+
return this.saveBot({
|
|
182
|
+
...source,
|
|
183
|
+
tags: addTagsIds(source.tags, newIds),
|
|
184
|
+
});
|
|
185
|
+
}
|
|
161
186
|
|
|
162
187
|
/**
|
|
163
188
|
* Remove tags
|
|
@@ -165,50 +190,20 @@ export class Bots extends Base {
|
|
|
165
190
|
* const bot = await bots.removeTags(botSource, tagIdsArr);
|
|
166
191
|
* ```
|
|
167
192
|
*/
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
// const { existingIds } = filterTagIds(source.tags, tagIds);
|
|
193
|
+
public async removeTags(source: Bot, tagNames: string[]): Promise<Bot> {
|
|
194
|
+
const tags = await this.tags.getMultipleTagsByName(tagNames);
|
|
195
|
+
const tagIds = tags.map(tag => tag.id!);
|
|
173
196
|
|
|
174
|
-
|
|
175
|
-
// throw Error('No tags to remove.');
|
|
176
|
-
// }
|
|
197
|
+
const { existingIds } = filterTagIds(source.tags, tagIds);
|
|
177
198
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
// });
|
|
182
|
-
// }
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* Get new bot
|
|
186
|
-
* ```typescript
|
|
187
|
-
* const bot = await bots.getNewBot();
|
|
188
|
-
* ```
|
|
189
|
-
*/
|
|
190
|
-
static async getNewBot() {
|
|
191
|
-
return {
|
|
192
|
-
data: {
|
|
193
|
-
label: '',
|
|
194
|
-
description: '',
|
|
195
|
-
longDescription: '',
|
|
196
|
-
iconUrl: '',
|
|
197
|
-
deploy: {},
|
|
198
|
-
},
|
|
199
|
-
};
|
|
200
|
-
}
|
|
199
|
+
if (!existingIds.length) {
|
|
200
|
+
throw Error('No tags to remove.');
|
|
201
|
+
}
|
|
201
202
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
* const bot = await bots.recoverBot({id});
|
|
206
|
-
* ```
|
|
207
|
-
*/
|
|
208
|
-
public async recoverBot(bot: {id: string;}): Promise<null> {
|
|
209
|
-
return this.callApiV2({
|
|
210
|
-
route: `/bots/${bot.id}`,
|
|
211
|
-
method: 'patch',
|
|
203
|
+
return this.saveBot({
|
|
204
|
+
...source,
|
|
205
|
+
tags: removeTagIds(source.tags, existingIds),
|
|
212
206
|
});
|
|
213
207
|
}
|
|
208
|
+
|
|
214
209
|
}
|
package/src/constants.ts
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
export const
|
|
1
|
+
export const QUERY_DELETE = `mutation deleteTemporarily($entity: EntityType!, $data: DeleteInput!) {
|
|
2
|
+
deleteTemporarily(entity: $entity, data: $data) {
|
|
3
|
+
... on AsyncRequest {
|
|
4
|
+
requestId
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
}`;
|
|
8
|
+
|
|
9
|
+
export const ENTITY_NAME = 'BOT';
|
|
2
10
|
|
package/src/types.ts
CHANGED
|
@@ -19,7 +19,7 @@ export type BotsConfig = {
|
|
|
19
19
|
/**
|
|
20
20
|
* Url of OneReach DataHub api
|
|
21
21
|
*/
|
|
22
|
-
|
|
22
|
+
dataHubUrl?: string;
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
export type Bot = {
|
|
@@ -45,12 +45,3 @@ export type ListBotsParams = {
|
|
|
45
45
|
includeExisting?: boolean;
|
|
46
46
|
projection?: string[];
|
|
47
47
|
};
|
|
48
|
-
|
|
49
|
-
export type GetBotsParams = {
|
|
50
|
-
includeDeleted?: boolean;
|
|
51
|
-
includeExisting?: boolean;
|
|
52
|
-
projection?: string[];
|
|
53
|
-
query?: {[key: string]: any;};
|
|
54
|
-
limit?: number;
|
|
55
|
-
offset?: number;
|
|
56
|
-
};
|