@or-sdk/bots 0.13.1 → 0.14.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/Bots.js +56 -1
- package/dist/cjs/Bots.js.map +1 -1
- package/dist/esm/Bots.js +31 -1
- package/dist/esm/Bots.js.map +1 -1
- package/dist/types/Bots.d.ts +5 -1
- package/dist/types/types.d.ts +1 -0
- package/package.json +5 -4
- package/src/Bots.ts +55 -2
- package/src/types.ts +1 -0
package/dist/cjs/Bots.js
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
14
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
15
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -39,6 +50,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
50
|
exports.Bots = void 0;
|
|
40
51
|
var data_hub_1 = require("@or-sdk/data-hub");
|
|
41
52
|
var constants_1 = require("./constants");
|
|
53
|
+
var tags_1 = require("@or-sdk/tags");
|
|
42
54
|
var Bots = (function () {
|
|
43
55
|
function Bots(params) {
|
|
44
56
|
var token = params.token, discoveryUrl = params.discoveryUrl;
|
|
@@ -46,12 +58,19 @@ var Bots = (function () {
|
|
|
46
58
|
token: token,
|
|
47
59
|
discoveryUrl: discoveryUrl,
|
|
48
60
|
});
|
|
61
|
+
this.tags = new tags_1.Tags({
|
|
62
|
+
token: token,
|
|
63
|
+
discoveryUrl: discoveryUrl,
|
|
64
|
+
});
|
|
49
65
|
}
|
|
50
66
|
Bots.prototype.init = function () {
|
|
51
67
|
return __awaiter(this, void 0, void 0, function () {
|
|
52
68
|
return __generator(this, function (_a) {
|
|
53
69
|
switch (_a.label) {
|
|
54
|
-
case 0: return [4,
|
|
70
|
+
case 0: return [4, Promise.all([
|
|
71
|
+
this.dataHub.init(),
|
|
72
|
+
this.tags.init(),
|
|
73
|
+
])];
|
|
55
74
|
case 1:
|
|
56
75
|
_a.sent();
|
|
57
76
|
return [2];
|
|
@@ -153,6 +172,42 @@ var Bots = (function () {
|
|
|
153
172
|
});
|
|
154
173
|
});
|
|
155
174
|
};
|
|
175
|
+
Bots.prototype.addTags = function (source, tagNames) {
|
|
176
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
177
|
+
var tags, tagIds, newIds;
|
|
178
|
+
return __generator(this, function (_a) {
|
|
179
|
+
switch (_a.label) {
|
|
180
|
+
case 0: return [4, this.tags.getMultipleTagsByName(tagNames, true)];
|
|
181
|
+
case 1:
|
|
182
|
+
tags = _a.sent();
|
|
183
|
+
tagIds = tags.map(function (tag) { return tag.id; });
|
|
184
|
+
newIds = (0, tags_1.filterTagIds)(source.tags, tagIds).newIds;
|
|
185
|
+
if (!newIds.length) {
|
|
186
|
+
throw Error('No tags to add.');
|
|
187
|
+
}
|
|
188
|
+
return [2, this.saveBot(__assign(__assign({}, source), { tags: (0, tags_1.addTagsIds)(source.tags, newIds) }))];
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
};
|
|
193
|
+
Bots.prototype.removeTags = function (source, tagNames) {
|
|
194
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
195
|
+
var tags, tagIds, existingIds;
|
|
196
|
+
return __generator(this, function (_a) {
|
|
197
|
+
switch (_a.label) {
|
|
198
|
+
case 0: return [4, this.tags.getMultipleTagsByName(tagNames)];
|
|
199
|
+
case 1:
|
|
200
|
+
tags = _a.sent();
|
|
201
|
+
tagIds = tags.map(function (tag) { return tag.id; });
|
|
202
|
+
existingIds = (0, tags_1.filterTagIds)(source.tags, tagIds).existingIds;
|
|
203
|
+
if (!existingIds.length) {
|
|
204
|
+
throw Error('No tags to remove.');
|
|
205
|
+
}
|
|
206
|
+
return [2, this.saveBot(__assign(__assign({}, source), { tags: (0, tags_1.removeTagIds)(source.tags, existingIds) }))];
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
};
|
|
156
211
|
return Bots;
|
|
157
212
|
}());
|
|
158
213
|
exports.Bots = Bots;
|
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/esm/Bots.js
CHANGED
|
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { DataHub } from '@or-sdk/data-hub';
|
|
11
11
|
import { QUERY_LIST, QUERY_DELETE, ENTITY_NAME } from './constants';
|
|
12
|
+
import { Tags, filterTagIds, addTagsIds, removeTagIds } from '@or-sdk/tags';
|
|
12
13
|
export class Bots {
|
|
13
14
|
constructor(params) {
|
|
14
15
|
const { token, discoveryUrl } = params;
|
|
@@ -16,10 +17,17 @@ export class Bots {
|
|
|
16
17
|
token,
|
|
17
18
|
discoveryUrl,
|
|
18
19
|
});
|
|
20
|
+
this.tags = new Tags({
|
|
21
|
+
token,
|
|
22
|
+
discoveryUrl,
|
|
23
|
+
});
|
|
19
24
|
}
|
|
20
25
|
init() {
|
|
21
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
yield
|
|
27
|
+
yield Promise.all([
|
|
28
|
+
this.dataHub.init(),
|
|
29
|
+
this.tags.init(),
|
|
30
|
+
]);
|
|
23
31
|
});
|
|
24
32
|
}
|
|
25
33
|
listBots() {
|
|
@@ -91,5 +99,27 @@ export class Bots {
|
|
|
91
99
|
return this.dataHub.subscribe(requestId);
|
|
92
100
|
});
|
|
93
101
|
}
|
|
102
|
+
addTags(source, tagNames) {
|
|
103
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
const tags = yield this.tags.getMultipleTagsByName(tagNames, true);
|
|
105
|
+
const tagIds = tags.map(tag => tag.id);
|
|
106
|
+
const { newIds } = filterTagIds(source.tags, tagIds);
|
|
107
|
+
if (!newIds.length) {
|
|
108
|
+
throw Error('No tags to add.');
|
|
109
|
+
}
|
|
110
|
+
return this.saveBot(Object.assign(Object.assign({}, source), { tags: addTagsIds(source.tags, newIds) }));
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
removeTags(source, tagNames) {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
const tags = yield this.tags.getMultipleTagsByName(tagNames);
|
|
116
|
+
const tagIds = tags.map(tag => tag.id);
|
|
117
|
+
const { existingIds } = filterTagIds(source.tags, tagIds);
|
|
118
|
+
if (!existingIds.length) {
|
|
119
|
+
throw Error('No tags to remove.');
|
|
120
|
+
}
|
|
121
|
+
return this.saveBot(Object.assign(Object.assign({}, source), { tags: removeTagIds(source.tags, existingIds) }));
|
|
122
|
+
});
|
|
123
|
+
}
|
|
94
124
|
}
|
|
95
125
|
//# sourceMappingURL=Bots.js.map
|
package/dist/esm/Bots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bots.js","sourceRoot":"","sources":["../../src/Bots.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAkD,MAAM,kBAAkB,CAAC;AAE3F,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Bots.js","sourceRoot":"","sources":["../../src/Bots.ts"],"names":[],"mappings":"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"}
|
package/dist/types/Bots.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { List } from '@or-sdk/base';
|
|
2
2
|
import { GraphqlResponseCheckExecution } from '@or-sdk/data-hub';
|
|
3
3
|
import { BotsConfig, Bot } from './types';
|
|
4
|
-
|
|
4
|
+
import { Taggable } from '@or-sdk/tags';
|
|
5
|
+
export declare class Bots implements Taggable<Bot> {
|
|
5
6
|
private readonly dataHub;
|
|
7
|
+
private readonly tags;
|
|
6
8
|
constructor(params: BotsConfig);
|
|
7
9
|
init(): Promise<void>;
|
|
8
10
|
listBots(): Promise<List<Bot>>;
|
|
9
11
|
getBot(id: string): Promise<Bot>;
|
|
10
12
|
saveBot(source: Bot): Promise<Bot>;
|
|
11
13
|
deleteBot(botId: string): Promise<GraphqlResponseCheckExecution>;
|
|
14
|
+
addTags(source: Bot, tagNames: string[]): Promise<Bot>;
|
|
15
|
+
removeTags(source: Bot, tagNames: string[]): Promise<Bot>;
|
|
12
16
|
}
|
package/dist/types/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.14.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.
|
|
27
|
-
"@or-sdk/data-hub": "^0.
|
|
26
|
+
"@or-sdk/base": "^0.14.0",
|
|
27
|
+
"@or-sdk/data-hub": "^0.14.0",
|
|
28
|
+
"@or-sdk/tags": "^0.14.0"
|
|
28
29
|
},
|
|
29
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "5a9977bbaa2aabe4461155b78bf59ac68c698668"
|
|
30
31
|
}
|
package/src/Bots.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { List } from '@or-sdk/base';
|
|
|
2
2
|
import { DataHub, GraphqlResponse, GraphqlResponseCheckExecution } from '@or-sdk/data-hub';
|
|
3
3
|
import { BotsConfig, Bot } from './types';
|
|
4
4
|
import { QUERY_LIST, QUERY_DELETE, ENTITY_NAME } from './constants';
|
|
5
|
+
import { Tags, Taggable, filterTagIds, addTagsIds, removeTagIds } from '@or-sdk/tags';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* OneReach Bots service client
|
|
@@ -10,8 +11,9 @@ import { QUERY_LIST, QUERY_DELETE, ENTITY_NAME } from './constants';
|
|
|
10
11
|
* $ npm i @or-sdk/bots
|
|
11
12
|
* ```
|
|
12
13
|
*/
|
|
13
|
-
export class Bots {
|
|
14
|
+
export class Bots implements Taggable<Bot> {
|
|
14
15
|
private readonly dataHub: DataHub;
|
|
16
|
+
private readonly tags: Tags;
|
|
15
17
|
|
|
16
18
|
/**
|
|
17
19
|
* ```typescript
|
|
@@ -27,10 +29,17 @@ export class Bots {
|
|
|
27
29
|
token,
|
|
28
30
|
discoveryUrl,
|
|
29
31
|
});
|
|
32
|
+
this.tags = new Tags({
|
|
33
|
+
token,
|
|
34
|
+
discoveryUrl,
|
|
35
|
+
});
|
|
30
36
|
}
|
|
31
37
|
|
|
32
38
|
async init() {
|
|
33
|
-
await
|
|
39
|
+
await Promise.all([
|
|
40
|
+
this.dataHub.init(),
|
|
41
|
+
this.tags.init(),
|
|
42
|
+
]);
|
|
34
43
|
}
|
|
35
44
|
|
|
36
45
|
/**
|
|
@@ -133,4 +142,48 @@ export class Bots {
|
|
|
133
142
|
return this.dataHub.subscribe(requestId);
|
|
134
143
|
}
|
|
135
144
|
|
|
145
|
+
/**
|
|
146
|
+
* Add tags
|
|
147
|
+
* ```typescript
|
|
148
|
+
* const bot = await bots.addTags(botSource, tagIdsArr);
|
|
149
|
+
* ```
|
|
150
|
+
*/
|
|
151
|
+
public async addTags(source: Bot, tagNames: string[]): Promise<Bot> {
|
|
152
|
+
const tags = await this.tags.getMultipleTagsByName(tagNames, true);
|
|
153
|
+
const tagIds = tags.map(tag => tag.id!);
|
|
154
|
+
|
|
155
|
+
const { newIds } = filterTagIds(source.tags, tagIds);
|
|
156
|
+
|
|
157
|
+
if (!newIds.length) {
|
|
158
|
+
throw Error('No tags to add.');
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return this.saveBot({
|
|
162
|
+
...source,
|
|
163
|
+
tags: addTagsIds(source.tags, newIds),
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Remove tags
|
|
169
|
+
* ```typescript
|
|
170
|
+
* const bot = await bots.removeTags(botSource, tagIdsArr);
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
public async removeTags(source: Bot, tagNames: string[]): Promise<Bot> {
|
|
174
|
+
const tags = await this.tags.getMultipleTagsByName(tagNames);
|
|
175
|
+
const tagIds = tags.map(tag => tag.id!);
|
|
176
|
+
|
|
177
|
+
const { existingIds } = filterTagIds(source.tags, tagIds);
|
|
178
|
+
|
|
179
|
+
if (!existingIds.length) {
|
|
180
|
+
throw Error('No tags to remove.');
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
return this.saveBot({
|
|
184
|
+
...source,
|
|
185
|
+
tags: removeTagIds(source.tags, existingIds),
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
|
|
136
189
|
}
|