@juzi/wechaty 1.0.94 → 1.0.95

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.
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.packageJson = exports.GIT_COMMIT_HASH = void 0;
4
- exports.GIT_COMMIT_HASH = 'b5e69ef799bb0e7f396d463ac0073ce50dee411a';
4
+ exports.GIT_COMMIT_HASH = '8eea7731845274434f01773b15db78928bd1b2f8';
5
5
  exports.packageJson = {
6
6
  "name": "@juzi/wechaty",
7
- "version": "1.0.94",
7
+ "version": "1.0.95",
8
8
  "description": "Wechaty is a RPA SDK for Chatbot Makers.",
9
9
  "type": "module",
10
10
  "exports": {
@@ -113,7 +113,7 @@ exports.packageJson = {
113
113
  },
114
114
  "homepage": "https://github.com/wechaty/",
115
115
  "dependencies": {
116
- "@juzi/wechaty-puppet-service": "^1.0.91",
116
+ "@juzi/wechaty-puppet-service": "^1.0.92",
117
117
  "clone-class": "^1.1.1",
118
118
  "cmd-ts": "^0.10.0",
119
119
  "cockatiel": "^2.0.2",
@@ -136,7 +136,7 @@ exports.packageJson = {
136
136
  "@chatie/eslint-config": "^1.0.4",
137
137
  "@chatie/semver": "^0.4.7",
138
138
  "@chatie/tsconfig": "^4.6.3",
139
- "@juzi/wechaty-puppet": "^1.0.83",
139
+ "@juzi/wechaty-puppet": "^1.0.84",
140
140
  "@juzi/wechaty-puppet-mock": "^1.0.1",
141
141
  "@swc/core": "1.3.44",
142
142
  "@swc/helpers": "^0.3.6",
@@ -53,6 +53,7 @@ declare class TagMixin extends MixinBase {
53
53
  group(): Promise<TagGroupInterface | undefined>;
54
54
  static list(): Promise<TagInterface[]>;
55
55
  static find(filter: TagQueryFilter): Promise<TagInterface | undefined>;
56
+ static findMulti(filters: TagQueryFilter[]): Promise<TagInterface[] | undefined>;
56
57
  /**
57
58
  * Force reload data for Tag, Sync data from low-level API again.
58
59
  *
@@ -77,8 +78,14 @@ declare class TagMixin extends MixinBase {
77
78
  contactList(): Promise<ContactInterface[]>;
78
79
  tag(contacts: ContactInterface | ContactInterface[]): Promise<void>;
79
80
  static createTag(name: string, tagGroup?: TagGroupInterface): Promise<TagInterface | void>;
81
+ static createMultiTag(nameList: string[], tagGroup?: TagGroupInterface): Promise<TagInterface[] | void>;
80
82
  static deleteTag(tagInstance: TagInterface): Promise<void>;
81
- static modifyTag(tagInstance: TagInterface, tagNewName: string): Promise<void>;
83
+ static deleteMultiTag(tagInstances: TagInterface[]): Promise<void>;
84
+ static modifyTag(tagInstance: TagInterface, tagNewName: string): Promise<TagInterface | void>;
85
+ static modifyMultiTag(tagInfos: Array<{
86
+ tag: TagInterface;
87
+ newName: string;
88
+ }>): Promise<TagInterface[] | void>;
82
89
  toString(): string;
83
90
  }
84
91
  declare const TagImplBase_base: {
@@ -1 +1 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAA;AAEtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAS9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,QAAA,MAAM,SAAS;;;;;;;;;;;sBAId,CAAA;AAED,cAAM,QAAS,SAAQ,SAAS;aAcZ,EAAE,EAAE,MAAM;IAZ5B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAA;IAE7B;;OAEG;gBAEe,EAAE,EAAE,MAAM;IAM5B,IAAI,IAAK,MAAM,CAAC,KAAK,CAAC,GAAG;IAIzB,IAAI,IAAK,MAAM;IAIf,OAAO,IAAK,MAAM;IAIZ,KAAK,IAAK,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;WAIzC,IAAI,IAAK,OAAO,CAAC,YAAY,EAAE,CAAC;WAwChC,IAAI,CAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IA0B7E;;;;;;OAMG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACH,OAAO,IAAK,OAAO;IAInB;;;;;;;OAOG;IACG,KAAK,CACT,SAAS,UAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAqBV,WAAW,IAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQ3C,GAAG,CAAE,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;WAY7D,SAAS,CAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;WAepF,SAAS,CAAE,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;WAWpD,SAAS,CAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5E,QAAQ;CAIlB;;;;;;;AAED,cAAM,WAAY,SAAQ,gBAA6C;CAAG;AAC1E,UAAU,gBAAiB,SAAQ,WAAW;CAAG;AAEjD,aAAK,oBAAoB,GACrB,OAAO,CAAA;AAEX,aAAK,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;;;;;;;AAChE,cAAM,OAAQ,SAAQ,YAA4C;CAAG;AAErE,aAAK,cAAc,GAAG,WAAW,CAC/B,gBAAgB,EAChB,IAAI,CAAC,OAAO,OAAO,EAAE,MAAM,CAAC,CAC7B,CAAA;AAED,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,GACb,CAAA;AACD,OAAO,EACL,OAAO,GACR,CAAA"}
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAA;AAEtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAU9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,QAAA,MAAM,SAAS;;;;;;;;;;;sBAId,CAAA;AAED,cAAM,QAAS,SAAQ,SAAS;aAcZ,EAAE,EAAE,MAAM;IAZ5B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAA;IAE7B;;OAEG;gBAEe,EAAE,EAAE,MAAM;IAM5B,IAAI,IAAK,MAAM,CAAC,KAAK,CAAC,GAAG;IAIzB,IAAI,IAAK,MAAM;IAIf,OAAO,IAAK,MAAM;IAIZ,KAAK,IAAK,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;WAIzC,IAAI,IAAK,OAAO,CAAC,YAAY,EAAE,CAAC;WAwChC,IAAI,CAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;WA0BhE,SAAS,CAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;IA0CvF;;;;;;OAMG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACH,OAAO,IAAK,OAAO;IAInB;;;;;;;OAOG;IACG,KAAK,CACT,SAAS,UAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAqBV,WAAW,IAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQ3C,GAAG,CAAE,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;WAY7D,SAAS,CAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;WAkBpF,cAAc,CAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;WAkBjG,SAAS,CAAE,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;WAWpD,cAAc,CAAE,YAAY,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;WAW5D,SAAS,CAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;WAsBvF,cAAc,CACzB,QAAQ,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GACtD,OAAO,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;IAsBxB,QAAQ;CAIlB;;;;;;;AAED,cAAM,WAAY,SAAQ,gBAA6C;CAAG;AAC1E,UAAU,gBAAiB,SAAQ,WAAW;CAAG;AAEjD,aAAK,oBAAoB,GACrB,OAAO,CAAA;AAEX,aAAK,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;;;;;;;AAChE,cAAM,OAAQ,SAAQ,YAA4C;CAAG;AAErE,aAAK,cAAc,GAAG,WAAW,CAC/B,gBAAgB,EAChB,IAAI,CAAC,OAAO,OAAO,EAAE,MAAM,CAAC,CAC7B,CAAA;AAED,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,GACb,CAAA;AACD,OAAO,EACL,OAAO,GACR,CAAA"}
@@ -22,6 +22,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  exports.TagImpl = void 0;
27
30
  /**
@@ -47,6 +50,7 @@ const PUPPET = __importStar(require("@juzi/wechaty-puppet"));
47
50
  const rx_queue_1 = require("rx-queue");
48
51
  const config_js_1 = require("../config.js");
49
52
  const poolify_js_1 = require("../user-mixins/poolify.js");
53
+ const assert_1 = __importDefault(require("assert"));
50
54
  const validation_js_1 = require("../user-mixins/validation.js");
51
55
  const wechatify_js_1 = require("../user-mixins/wechatify.js");
52
56
  const MixinBase = (0, wechatify_js_1.wechatifyMixin)((0, poolify_js_1.poolifyMixin)(Object)());
@@ -135,6 +139,43 @@ class TagMixin extends MixinBase {
135
139
  return undefined;
136
140
  // TODO: use a puppet method to find tag, like how contact and room do it
137
141
  }
142
+ static async findMulti(filters) {
143
+ config_js_1.log.silly('Tag', 'find(%s)', JSON.stringify(filters));
144
+ const filterIdList = filters.filter(i => !!i.id).map(i => i.id);
145
+ const filterNameList = filters.filter(i => !!i.name).map(i => i.name);
146
+ const resultSet = new Set();
147
+ if (filterIdList.length) {
148
+ const tags = filterIdList.map(i => {
149
+ (0, assert_1.default)(i, 'Should not be undefined');
150
+ return this.wechaty.Tag.load(i);
151
+ });
152
+ try {
153
+ await Promise.all(tags.map(i => i.ready()));
154
+ }
155
+ catch (e) {
156
+ this.wechaty.emitError(e);
157
+ return undefined;
158
+ }
159
+ for (const tag of tags) {
160
+ resultSet.add(tag);
161
+ }
162
+ }
163
+ if (filterNameList.length) {
164
+ const list = await this.wechaty.Tag.list();
165
+ const tagMap = new Map();
166
+ // FIXME: There are two tag types in wework, and the names can be repeated
167
+ list.forEach(i => tagMap.set(i.name(), i));
168
+ for (const name of filterNameList) {
169
+ (0, assert_1.default)(typeof name === 'string', 'Only supported string');
170
+ const tag = tagMap.get(name);
171
+ if (tag) {
172
+ resultSet.add(tag);
173
+ }
174
+ }
175
+ }
176
+ return resultSet.size ? Array.from(resultSet) : undefined;
177
+ // TODO: use a puppet method to find tag, like how contact and room do it
178
+ }
138
179
  /**
139
180
  * Force reload data for Tag, Sync data from low-level API again.
140
181
  *
@@ -195,9 +236,12 @@ class TagMixin extends MixinBase {
195
236
  static async createTag(name, tagGroup) {
196
237
  config_js_1.log.verbose('Tag', 'createTag(%s, %s)', tagGroup, name);
197
238
  try {
198
- const tagId = await this.wechaty.puppet.tagTagAdd(name, tagGroup?.name());
199
- if (tagId) {
200
- const newTag = await this.find({ id: tagId });
239
+ const tagInfoList = await this.wechaty.puppet.tagTagAdd([name], tagGroup?.name());
240
+ if (tagInfoList?.length) {
241
+ const filter = {
242
+ id: tagInfoList[0]?.id,
243
+ };
244
+ const newTag = await this.find(filter);
201
245
  return newTag;
202
246
  }
203
247
  }
@@ -206,26 +250,85 @@ class TagMixin extends MixinBase {
206
250
  config_js_1.log.error('Tag', 'createTag() exception: %s', e.message);
207
251
  }
208
252
  }
253
+ static async createMultiTag(nameList, tagGroup) {
254
+ config_js_1.log.verbose('Tag', 'createMultiTag(%s, %s)', tagGroup, nameList);
255
+ try {
256
+ const tagInfoList = await this.wechaty.puppet.tagTagAdd(nameList, tagGroup?.name());
257
+ if (tagInfoList?.length) {
258
+ const filterList = tagInfoList.map(i => ({
259
+ id: i.id,
260
+ }));
261
+ const newTagList = await this.findMulti(filterList);
262
+ return newTagList;
263
+ }
264
+ }
265
+ catch (e) {
266
+ this.wechaty.emitError(e);
267
+ config_js_1.log.error('Tag', 'createMultiTag() exception: %s', e.message);
268
+ }
269
+ }
209
270
  static async deleteTag(tagInstance) {
210
271
  config_js_1.log.verbose('Tag', 'deleteTag(%s, %s)', tagInstance);
211
272
  try {
212
- await this.wechaty.puppet.tagTagDelete(tagInstance.id);
273
+ await this.wechaty.puppet.tagTagDelete([tagInstance.id]);
213
274
  }
214
275
  catch (e) {
215
276
  this.wechaty.emitError(e);
216
277
  config_js_1.log.error('Tag', 'deleteTag() exception: %s', e.message);
217
278
  }
218
279
  }
280
+ static async deleteMultiTag(tagInstances) {
281
+ config_js_1.log.verbose('Tag', 'deleteMultiTag(%s, %s)', tagInstances);
282
+ try {
283
+ await this.wechaty.puppet.tagTagDelete(tagInstances.map(i => i.id));
284
+ }
285
+ catch (e) {
286
+ this.wechaty.emitError(e);
287
+ config_js_1.log.error('Tag', 'deleteMultiTag() exception: %s', e.message);
288
+ }
289
+ }
219
290
  static async modifyTag(tagInstance, tagNewName) {
220
291
  config_js_1.log.verbose('Tag', 'modifyTag(%s, %s)', tagInstance);
221
292
  try {
222
- await this.wechaty.puppet.tagTagModify(tagInstance.id, tagNewName);
293
+ const tagNewInfo = {
294
+ id: tagInstance.id,
295
+ name: tagNewName,
296
+ };
297
+ const tagInfoList = await this.wechaty.puppet.tagTagModify([tagNewInfo]);
298
+ if (tagInfoList?.length) {
299
+ const filter = {
300
+ id: tagInfoList[0]?.id,
301
+ };
302
+ const newTag = await this.find(filter);
303
+ return newTag;
304
+ }
223
305
  }
224
306
  catch (e) {
225
307
  this.wechaty.emitError(e);
226
308
  config_js_1.log.error('Tag', 'modifyTag() exception: %s', e.message);
227
309
  }
228
310
  }
311
+ static async modifyMultiTag(tagInfos) {
312
+ config_js_1.log.verbose('Tag', 'modifyMultiTag(%o)', tagInfos);
313
+ try {
314
+ const tagNewInfoList = tagInfos.map(i => ({
315
+ id: i.tag.id,
316
+ name: i.newName,
317
+ }));
318
+ const tagInfoList = await this.wechaty.puppet.tagTagModify(tagNewInfoList);
319
+ if (tagInfoList?.length) {
320
+ const filterList = tagInfoList.map(i => ({
321
+ id: i.id,
322
+ }));
323
+ const newTagList = await this.findMulti(filterList);
324
+ return newTagList;
325
+ }
326
+ }
327
+ catch (e) {
328
+ this.wechaty.emitError(e);
329
+ config_js_1.log.error('Tag', 'modifyMultiTag() exception: %s', e.message);
330
+ }
331
+ }
229
332
  toString() {
230
333
  return `<Tag#${this.name() || this.id}>`;
231
334
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- export const GIT_COMMIT_HASH = 'b5e69ef799bb0e7f396d463ac0073ce50dee411a';
1
+ export const GIT_COMMIT_HASH = '8eea7731845274434f01773b15db78928bd1b2f8';
2
2
  export const packageJson = {
3
3
  "name": "@juzi/wechaty",
4
- "version": "1.0.94",
4
+ "version": "1.0.95",
5
5
  "description": "Wechaty is a RPA SDK for Chatbot Makers.",
6
6
  "type": "module",
7
7
  "exports": {
@@ -110,7 +110,7 @@ export const packageJson = {
110
110
  },
111
111
  "homepage": "https://github.com/wechaty/",
112
112
  "dependencies": {
113
- "@juzi/wechaty-puppet-service": "^1.0.91",
113
+ "@juzi/wechaty-puppet-service": "^1.0.92",
114
114
  "clone-class": "^1.1.1",
115
115
  "cmd-ts": "^0.10.0",
116
116
  "cockatiel": "^2.0.2",
@@ -133,7 +133,7 @@ export const packageJson = {
133
133
  "@chatie/eslint-config": "^1.0.4",
134
134
  "@chatie/semver": "^0.4.7",
135
135
  "@chatie/tsconfig": "^4.6.3",
136
- "@juzi/wechaty-puppet": "^1.0.83",
136
+ "@juzi/wechaty-puppet": "^1.0.84",
137
137
  "@juzi/wechaty-puppet-mock": "^1.0.1",
138
138
  "@swc/core": "1.3.44",
139
139
  "@swc/helpers": "^0.3.6",
@@ -53,6 +53,7 @@ declare class TagMixin extends MixinBase {
53
53
  group(): Promise<TagGroupInterface | undefined>;
54
54
  static list(): Promise<TagInterface[]>;
55
55
  static find(filter: TagQueryFilter): Promise<TagInterface | undefined>;
56
+ static findMulti(filters: TagQueryFilter[]): Promise<TagInterface[] | undefined>;
56
57
  /**
57
58
  * Force reload data for Tag, Sync data from low-level API again.
58
59
  *
@@ -77,8 +78,14 @@ declare class TagMixin extends MixinBase {
77
78
  contactList(): Promise<ContactInterface[]>;
78
79
  tag(contacts: ContactInterface | ContactInterface[]): Promise<void>;
79
80
  static createTag(name: string, tagGroup?: TagGroupInterface): Promise<TagInterface | void>;
81
+ static createMultiTag(nameList: string[], tagGroup?: TagGroupInterface): Promise<TagInterface[] | void>;
80
82
  static deleteTag(tagInstance: TagInterface): Promise<void>;
81
- static modifyTag(tagInstance: TagInterface, tagNewName: string): Promise<void>;
83
+ static deleteMultiTag(tagInstances: TagInterface[]): Promise<void>;
84
+ static modifyTag(tagInstance: TagInterface, tagNewName: string): Promise<TagInterface | void>;
85
+ static modifyMultiTag(tagInfos: Array<{
86
+ tag: TagInterface;
87
+ newName: string;
88
+ }>): Promise<TagInterface[] | void>;
82
89
  toString(): string;
83
90
  }
84
91
  declare const TagImplBase_base: {
@@ -1 +1 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAA;AAEtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAS9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,QAAA,MAAM,SAAS;;;;;;;;;;;sBAId,CAAA;AAED,cAAM,QAAS,SAAQ,SAAS;aAcZ,EAAE,EAAE,MAAM;IAZ5B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAA;IAE7B;;OAEG;gBAEe,EAAE,EAAE,MAAM;IAM5B,IAAI,IAAK,MAAM,CAAC,KAAK,CAAC,GAAG;IAIzB,IAAI,IAAK,MAAM;IAIf,OAAO,IAAK,MAAM;IAIZ,KAAK,IAAK,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;WAIzC,IAAI,IAAK,OAAO,CAAC,YAAY,EAAE,CAAC;WAwChC,IAAI,CAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IA0B7E;;;;;;OAMG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACH,OAAO,IAAK,OAAO;IAInB;;;;;;;OAOG;IACG,KAAK,CACT,SAAS,UAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAqBV,WAAW,IAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQ3C,GAAG,CAAE,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;WAY7D,SAAS,CAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;WAepF,SAAS,CAAE,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;WAWpD,SAAS,CAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5E,QAAQ;CAIlB;;;;;;;AAED,cAAM,WAAY,SAAQ,gBAA6C;CAAG;AAC1E,UAAU,gBAAiB,SAAQ,WAAW;CAAG;AAEjD,aAAK,oBAAoB,GACrB,OAAO,CAAA;AAEX,aAAK,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;;;;;;;AAChE,cAAM,OAAQ,SAAQ,YAA4C;CAAG;AAErE,aAAK,cAAc,GAAG,WAAW,CAC/B,gBAAgB,EAChB,IAAI,CAAC,OAAO,OAAO,EAAE,MAAM,CAAC,CAC7B,CAAA;AAED,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,GACb,CAAA;AACD,OAAO,EACL,OAAO,GACR,CAAA"}
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAA;AAEtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAU9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,QAAA,MAAM,SAAS;;;;;;;;;;;sBAId,CAAA;AAED,cAAM,QAAS,SAAQ,SAAS;aAcZ,EAAE,EAAE,MAAM;IAZ5B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAA;IAE7B;;OAEG;gBAEe,EAAE,EAAE,MAAM;IAM5B,IAAI,IAAK,MAAM,CAAC,KAAK,CAAC,GAAG;IAIzB,IAAI,IAAK,MAAM;IAIf,OAAO,IAAK,MAAM;IAIZ,KAAK,IAAK,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;WAIzC,IAAI,IAAK,OAAO,CAAC,YAAY,EAAE,CAAC;WAwChC,IAAI,CAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;WA0BhE,SAAS,CAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;IA0CvF;;;;;;OAMG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACH,OAAO,IAAK,OAAO;IAInB;;;;;;;OAOG;IACG,KAAK,CACT,SAAS,UAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAqBV,WAAW,IAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQ3C,GAAG,CAAE,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;WAY7D,SAAS,CAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;WAkBpF,cAAc,CAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;WAkBjG,SAAS,CAAE,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;WAWpD,cAAc,CAAE,YAAY,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;WAW5D,SAAS,CAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;WAsBvF,cAAc,CACzB,QAAQ,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GACtD,OAAO,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;IAsBxB,QAAQ;CAIlB;;;;;;;AAED,cAAM,WAAY,SAAQ,gBAA6C;CAAG;AAC1E,UAAU,gBAAiB,SAAQ,WAAW;CAAG;AAEjD,aAAK,oBAAoB,GACrB,OAAO,CAAA;AAEX,aAAK,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;;;;;;;AAChE,cAAM,OAAQ,SAAQ,YAA4C;CAAG;AAErE,aAAK,cAAc,GAAG,WAAW,CAC/B,gBAAgB,EAChB,IAAI,CAAC,OAAO,OAAO,EAAE,MAAM,CAAC,CAC7B,CAAA;AAED,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,GACb,CAAA;AACD,OAAO,EACL,OAAO,GACR,CAAA"}
@@ -21,6 +21,7 @@ import * as PUPPET from '@juzi/wechaty-puppet';
21
21
  import { concurrencyExecuter } from 'rx-queue';
22
22
  import { log } from '../config.js';
23
23
  import { poolifyMixin } from '../user-mixins/poolify.js';
24
+ import assert from 'assert';
24
25
  import { validationMixin } from '../user-mixins/validation.js';
25
26
  import { wechatifyMixin, } from '../user-mixins/wechatify.js';
26
27
  const MixinBase = wechatifyMixin(poolifyMixin(Object)());
@@ -109,6 +110,43 @@ class TagMixin extends MixinBase {
109
110
  return undefined;
110
111
  // TODO: use a puppet method to find tag, like how contact and room do it
111
112
  }
113
+ static async findMulti(filters) {
114
+ log.silly('Tag', 'find(%s)', JSON.stringify(filters));
115
+ const filterIdList = filters.filter(i => !!i.id).map(i => i.id);
116
+ const filterNameList = filters.filter(i => !!i.name).map(i => i.name);
117
+ const resultSet = new Set();
118
+ if (filterIdList.length) {
119
+ const tags = filterIdList.map(i => {
120
+ assert(i, 'Should not be undefined');
121
+ return this.wechaty.Tag.load(i);
122
+ });
123
+ try {
124
+ await Promise.all(tags.map(i => i.ready()));
125
+ }
126
+ catch (e) {
127
+ this.wechaty.emitError(e);
128
+ return undefined;
129
+ }
130
+ for (const tag of tags) {
131
+ resultSet.add(tag);
132
+ }
133
+ }
134
+ if (filterNameList.length) {
135
+ const list = await this.wechaty.Tag.list();
136
+ const tagMap = new Map();
137
+ // FIXME: There are two tag types in wework, and the names can be repeated
138
+ list.forEach(i => tagMap.set(i.name(), i));
139
+ for (const name of filterNameList) {
140
+ assert(typeof name === 'string', 'Only supported string');
141
+ const tag = tagMap.get(name);
142
+ if (tag) {
143
+ resultSet.add(tag);
144
+ }
145
+ }
146
+ }
147
+ return resultSet.size ? Array.from(resultSet) : undefined;
148
+ // TODO: use a puppet method to find tag, like how contact and room do it
149
+ }
112
150
  /**
113
151
  * Force reload data for Tag, Sync data from low-level API again.
114
152
  *
@@ -169,9 +207,12 @@ class TagMixin extends MixinBase {
169
207
  static async createTag(name, tagGroup) {
170
208
  log.verbose('Tag', 'createTag(%s, %s)', tagGroup, name);
171
209
  try {
172
- const tagId = await this.wechaty.puppet.tagTagAdd(name, tagGroup?.name());
173
- if (tagId) {
174
- const newTag = await this.find({ id: tagId });
210
+ const tagInfoList = await this.wechaty.puppet.tagTagAdd([name], tagGroup?.name());
211
+ if (tagInfoList?.length) {
212
+ const filter = {
213
+ id: tagInfoList[0]?.id,
214
+ };
215
+ const newTag = await this.find(filter);
175
216
  return newTag;
176
217
  }
177
218
  }
@@ -180,26 +221,85 @@ class TagMixin extends MixinBase {
180
221
  log.error('Tag', 'createTag() exception: %s', e.message);
181
222
  }
182
223
  }
224
+ static async createMultiTag(nameList, tagGroup) {
225
+ log.verbose('Tag', 'createMultiTag(%s, %s)', tagGroup, nameList);
226
+ try {
227
+ const tagInfoList = await this.wechaty.puppet.tagTagAdd(nameList, tagGroup?.name());
228
+ if (tagInfoList?.length) {
229
+ const filterList = tagInfoList.map(i => ({
230
+ id: i.id,
231
+ }));
232
+ const newTagList = await this.findMulti(filterList);
233
+ return newTagList;
234
+ }
235
+ }
236
+ catch (e) {
237
+ this.wechaty.emitError(e);
238
+ log.error('Tag', 'createMultiTag() exception: %s', e.message);
239
+ }
240
+ }
183
241
  static async deleteTag(tagInstance) {
184
242
  log.verbose('Tag', 'deleteTag(%s, %s)', tagInstance);
185
243
  try {
186
- await this.wechaty.puppet.tagTagDelete(tagInstance.id);
244
+ await this.wechaty.puppet.tagTagDelete([tagInstance.id]);
187
245
  }
188
246
  catch (e) {
189
247
  this.wechaty.emitError(e);
190
248
  log.error('Tag', 'deleteTag() exception: %s', e.message);
191
249
  }
192
250
  }
251
+ static async deleteMultiTag(tagInstances) {
252
+ log.verbose('Tag', 'deleteMultiTag(%s, %s)', tagInstances);
253
+ try {
254
+ await this.wechaty.puppet.tagTagDelete(tagInstances.map(i => i.id));
255
+ }
256
+ catch (e) {
257
+ this.wechaty.emitError(e);
258
+ log.error('Tag', 'deleteMultiTag() exception: %s', e.message);
259
+ }
260
+ }
193
261
  static async modifyTag(tagInstance, tagNewName) {
194
262
  log.verbose('Tag', 'modifyTag(%s, %s)', tagInstance);
195
263
  try {
196
- await this.wechaty.puppet.tagTagModify(tagInstance.id, tagNewName);
264
+ const tagNewInfo = {
265
+ id: tagInstance.id,
266
+ name: tagNewName,
267
+ };
268
+ const tagInfoList = await this.wechaty.puppet.tagTagModify([tagNewInfo]);
269
+ if (tagInfoList?.length) {
270
+ const filter = {
271
+ id: tagInfoList[0]?.id,
272
+ };
273
+ const newTag = await this.find(filter);
274
+ return newTag;
275
+ }
197
276
  }
198
277
  catch (e) {
199
278
  this.wechaty.emitError(e);
200
279
  log.error('Tag', 'modifyTag() exception: %s', e.message);
201
280
  }
202
281
  }
282
+ static async modifyMultiTag(tagInfos) {
283
+ log.verbose('Tag', 'modifyMultiTag(%o)', tagInfos);
284
+ try {
285
+ const tagNewInfoList = tagInfos.map(i => ({
286
+ id: i.tag.id,
287
+ name: i.newName,
288
+ }));
289
+ const tagInfoList = await this.wechaty.puppet.tagTagModify(tagNewInfoList);
290
+ if (tagInfoList?.length) {
291
+ const filterList = tagInfoList.map(i => ({
292
+ id: i.id,
293
+ }));
294
+ const newTagList = await this.findMulti(filterList);
295
+ return newTagList;
296
+ }
297
+ }
298
+ catch (e) {
299
+ this.wechaty.emitError(e);
300
+ log.error('Tag', 'modifyMultiTag() exception: %s', e.message);
301
+ }
302
+ }
203
303
  toString() {
204
304
  return `<Tag#${this.name() || this.id}>`;
205
305
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAI9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EACL,cAAc,GACf,MAA0B,6BAA6B,CAAA;AAIxD,MAAM,SAAS,GAAG,cAAc,CAC9B,YAAY,CACV,MAAM,CACP,EAAoB,CACtB,CAAA;AAED,MAAM,QAAS,SAAQ,SAAS;IAcZ;IAZlB;;;;;OAKG;IACH,OAAO,CAAsB;IAE7B;;OAEG;IACH,YACkB,EAAU;QAE1B,KAAK,EAAE,CAAA;QAFS,OAAE,GAAF,EAAE,CAAQ;QAG1B,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;IACnC,CAAC;IAED,IAAI;QACF,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAA;IAC3E,CAAC;IAED,IAAI;QACF,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAClD,CAAC;IAED,OAAO;QACL,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACrG,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI;QACf,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAE5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;QAExD,IAAI,oBAAoB,GAAG,CAAC,CAAA;QAC5B,IAAI,eAAe,GAAG,CAAC,CAAA;QACvB,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC5D,MAAM,OAAO,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;aACzC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACzC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBACzB,oBAAoB,EAAE,CAAA;gBACtB,eAAe,EAAE,CAAA;gBACjB,IAAI,oBAAoB,GAAG,CAAC,EAAE;oBAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;iBACxC;gBACD,IAAI,eAAe,GAAG,mBAAmB,EAAE;oBACzC,MAAM,IAAI,KAAK,CAAC,GAAG,mBAAmB,gBAAgB,CAAC,CAAA;iBACxD;YACH,CAAC,CAAC,CAAA;YACF,oBAAoB,GAAG,CAAC,CAAA;YACxB,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QAED,MAAM,WAAW,GAAG,EAAE,CAAA;QACtB,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAA;QAExE,MAAM,OAAO,GAAmB,EAAE,CAAA;QAClC,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,WAAW,EAAE;YACnC,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aAClB;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAE,MAAsB;QACvC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QAEpD,IAAI,MAAM,CAAC,EAAE,EAAE;YACb,MAAM,GAAG,GAAI,IAAI,CAAC,OAAO,CAAC,GAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAEvE,IAAI;gBACF,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;aAClB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBACzB,OAAO,SAAS,CAAA;aACjB;YACD,OAAO,GAAG,CAAA;SACX;QAED,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAA;YAClF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;aACf;SACF;QAED,OAAO,SAAS,CAAA;QAChB,yEAAyE;IAC3E,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CACT,SAAS,GAAG,KAAK;QAEjB,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,gCAAgC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QAEhF,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,gBAAgB;YAClD,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAA;YAC1C,OAAM;SACP;QAED,IAAI;YACF,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SAE7D;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACzB,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,0DAA0D,EAC3E,IAAI,CAAC,EAAE,EACN,CAAW,CAAC,OAAO,CACrB,CAAA;YACD,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,4BAA4B,EAAE,IAAI,CAAC,CAAA;QAEtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvE,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC/E,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAuB,CAAA;IAChG,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,QAA+C;QACxD,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QAE1D,IAAI,UAAoB,CAAA;QACxB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;SACrC;aAAM;YACL,UAAU,GAAG,CAAE,QAAQ,CAAC,EAAE,CAAE,CAAA;SAC7B;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAE,IAAI,CAAC,EAAE,CAAE,EAAE,UAAU,CAAC,CAAA;IACrE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAE,IAAY,EAAE,QAA4B;QAChE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QAEvD,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;YACzE,IAAI,KAAK,EAAE;gBACT,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC7C,OAAO,MAAM,CAAA;aACd;SACF;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACzB,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,2BAA2B,EAAG,CAAW,CAAC,OAAO,CAAC,CAAA;SACpE;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAE,WAAyB;QAC/C,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAA;QAEpD,IAAI;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;SACvD;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACzB,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,2BAA2B,EAAG,CAAW,CAAC,OAAO,CAAC,CAAA;SACpE;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAE,WAAyB,EAAE,UAAkB;QACnE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAA;QAEpD,IAAI;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;SACnE;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACzB,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,2BAA2B,EAAG,CAAW,CAAC,OAAO,CAAC,CAAA;SACpE;IACH,CAAC;IAEQ,QAAQ;QACf,OAAO,QAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,CAAA;IAC1C,CAAC;CAEF;AAED,MAAM,WAAY,SAAQ,eAAe,CAAC,QAAQ,CAAC,EAAoB;CAAG;AAO1E,MAAM,OAAQ,SAAQ,eAAe,CAAC,WAAW,CAAC,EAAgB;CAAG;AAYrE,OAAO,EACL,OAAO,GACR,CAAA"}
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juzi/wechaty",
3
- "version": "1.0.94",
3
+ "version": "1.0.95",
4
4
  "description": "Wechaty is a RPA SDK for Chatbot Makers.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -109,7 +109,7 @@
109
109
  },
110
110
  "homepage": "https://github.com/wechaty/",
111
111
  "dependencies": {
112
- "@juzi/wechaty-puppet-service": "^1.0.91",
112
+ "@juzi/wechaty-puppet-service": "^1.0.92",
113
113
  "clone-class": "^1.1.1",
114
114
  "cmd-ts": "^0.10.0",
115
115
  "cockatiel": "^2.0.2",
@@ -132,7 +132,7 @@
132
132
  "@chatie/eslint-config": "^1.0.4",
133
133
  "@chatie/semver": "^0.4.7",
134
134
  "@chatie/tsconfig": "^4.6.3",
135
- "@juzi/wechaty-puppet": "^1.0.83",
135
+ "@juzi/wechaty-puppet": "^1.0.84",
136
136
  "@juzi/wechaty-puppet-mock": "^1.0.1",
137
137
  "@swc/core": "1.3.44",
138
138
  "@swc/helpers": "^0.3.6",
@@ -4,10 +4,10 @@
4
4
  */
5
5
  import type { PackageJsonWechaty } from './config'
6
6
 
7
- export const GIT_COMMIT_HASH: string = 'b5e69ef799bb0e7f396d463ac0073ce50dee411a'
7
+ export const GIT_COMMIT_HASH: string = '8eea7731845274434f01773b15db78928bd1b2f8'
8
8
  export const packageJson: PackageJsonWechaty = {
9
9
  "name": "@juzi/wechaty",
10
- "version": "1.0.94",
10
+ "version": "1.0.95",
11
11
  "description": "Wechaty is a RPA SDK for Chatbot Makers.",
12
12
  "type": "module",
13
13
  "exports": {
@@ -116,7 +116,7 @@ export const packageJson: PackageJsonWechaty = {
116
116
  },
117
117
  "homepage": "https://github.com/wechaty/",
118
118
  "dependencies": {
119
- "@juzi/wechaty-puppet-service": "^1.0.91",
119
+ "@juzi/wechaty-puppet-service": "^1.0.92",
120
120
  "clone-class": "^1.1.1",
121
121
  "cmd-ts": "^0.10.0",
122
122
  "cockatiel": "^2.0.2",
@@ -139,7 +139,7 @@ export const packageJson: PackageJsonWechaty = {
139
139
  "@chatie/eslint-config": "^1.0.4",
140
140
  "@chatie/semver": "^0.4.7",
141
141
  "@chatie/tsconfig": "^4.6.3",
142
- "@juzi/wechaty-puppet": "^1.0.83",
142
+ "@juzi/wechaty-puppet": "^1.0.84",
143
143
  "@juzi/wechaty-puppet-mock": "^1.0.1",
144
144
  "@swc/core": "1.3.44",
145
145
  "@swc/helpers": "^0.3.6",
@@ -25,6 +25,7 @@ import { concurrencyExecuter } from 'rx-queue'
25
25
  import { log } from '../config.js'
26
26
  import { poolifyMixin } from '../user-mixins/poolify.js'
27
27
 
28
+ import assert from 'assert'
28
29
  import { validationMixin } from '../user-mixins/validation.js'
29
30
  import {
30
31
  wechatifyMixin,
@@ -140,6 +141,48 @@ class TagMixin extends MixinBase {
140
141
  // TODO: use a puppet method to find tag, like how contact and room do it
141
142
  }
142
143
 
144
+ static async findMulti (filters: TagQueryFilter[]): Promise<TagInterface[] | undefined> {
145
+ log.silly('Tag', 'find(%s)', JSON.stringify(filters))
146
+
147
+ const filterIdList = filters.filter(i => !!i.id).map(i => i.id)
148
+ const filterNameList = filters.filter(i => !!i.name).map(i => i.name)
149
+ const resultSet = new Set<TagInterface>()
150
+
151
+ if (filterIdList.length) {
152
+ const tags = filterIdList.map(i => {
153
+ assert(i, 'Should not be undefined')
154
+ return (this.wechaty.Tag as any as typeof TagImpl).load(i)
155
+ })
156
+
157
+ try {
158
+ await Promise.all(tags.map(i => i.ready()))
159
+ } catch (e) {
160
+ this.wechaty.emitError(e)
161
+ return undefined
162
+ }
163
+ for (const tag of tags) {
164
+ resultSet.add(tag)
165
+ }
166
+ }
167
+
168
+ if (filterNameList.length) {
169
+ const list = await this.wechaty.Tag.list()
170
+ const tagMap = new Map<string, TagInterface>()
171
+ // FIXME: There are two tag types in wework, and the names can be repeated
172
+ list.forEach(i => tagMap.set(i.name(), i))
173
+ for (const name of filterNameList) {
174
+ assert(typeof name === 'string', 'Only supported string')
175
+ const tag = tagMap.get(name)
176
+ if (tag) {
177
+ resultSet.add(tag)
178
+ }
179
+ }
180
+ }
181
+
182
+ return resultSet.size ? Array.from(resultSet) : undefined
183
+ // TODO: use a puppet method to find tag, like how contact and room do it
184
+ }
185
+
143
186
  /**
144
187
  * Force reload data for Tag, Sync data from low-level API again.
145
188
  *
@@ -214,9 +257,12 @@ class TagMixin extends MixinBase {
214
257
  log.verbose('Tag', 'createTag(%s, %s)', tagGroup, name)
215
258
 
216
259
  try {
217
- const tagId = await this.wechaty.puppet.tagTagAdd(name, tagGroup?.name())
218
- if (tagId) {
219
- const newTag = await this.find({ id: tagId })
260
+ const tagInfoList = await this.wechaty.puppet.tagTagAdd([ name ], tagGroup?.name())
261
+ if (tagInfoList?.length) {
262
+ const filter : PUPPET.filters.Tag = {
263
+ id: tagInfoList[0]?.id,
264
+ }
265
+ const newTag = await this.find(filter)
220
266
  return newTag
221
267
  }
222
268
  } catch (e) {
@@ -225,28 +271,92 @@ class TagMixin extends MixinBase {
225
271
  }
226
272
  }
227
273
 
274
+ static async createMultiTag (nameList: string[], tagGroup?: TagGroupInterface): Promise<TagInterface[] | void> {
275
+ log.verbose('Tag', 'createMultiTag(%s, %s)', tagGroup, nameList)
276
+
277
+ try {
278
+ const tagInfoList = await this.wechaty.puppet.tagTagAdd(nameList, tagGroup?.name())
279
+ if (tagInfoList?.length) {
280
+ const filterList : PUPPET.filters.Tag[] = tagInfoList.map(i => ({
281
+ id: i.id,
282
+ }))
283
+ const newTagList = await this.findMulti(filterList)
284
+ return newTagList
285
+ }
286
+ } catch (e) {
287
+ this.wechaty.emitError(e)
288
+ log.error('Tag', 'createMultiTag() exception: %s', (e as Error).message)
289
+ }
290
+ }
291
+
228
292
  static async deleteTag (tagInstance: TagInterface): Promise<void> {
229
293
  log.verbose('Tag', 'deleteTag(%s, %s)', tagInstance)
230
294
 
231
295
  try {
232
- await this.wechaty.puppet.tagTagDelete(tagInstance.id)
296
+ await this.wechaty.puppet.tagTagDelete([ tagInstance.id ])
233
297
  } catch (e) {
234
298
  this.wechaty.emitError(e)
235
299
  log.error('Tag', 'deleteTag() exception: %s', (e as Error).message)
236
300
  }
237
301
  }
238
302
 
239
- static async modifyTag (tagInstance: TagInterface, tagNewName: string): Promise<void> {
303
+ static async deleteMultiTag (tagInstances: TagInterface[]): Promise<void> {
304
+ log.verbose('Tag', 'deleteMultiTag(%s, %s)', tagInstances)
305
+
306
+ try {
307
+ await this.wechaty.puppet.tagTagDelete(tagInstances.map(i => i.id))
308
+ } catch (e) {
309
+ this.wechaty.emitError(e)
310
+ log.error('Tag', 'deleteMultiTag() exception: %s', (e as Error).message)
311
+ }
312
+ }
313
+
314
+ static async modifyTag (tagInstance: TagInterface, tagNewName: string): Promise<TagInterface | void> {
240
315
  log.verbose('Tag', 'modifyTag(%s, %s)', tagInstance)
241
316
 
242
317
  try {
243
- await this.wechaty.puppet.tagTagModify(tagInstance.id, tagNewName)
318
+ const tagNewInfo: PUPPET.types.TagInfo = {
319
+ id: tagInstance.id,
320
+ name: tagNewName,
321
+ }
322
+ const tagInfoList = await this.wechaty.puppet.tagTagModify([ tagNewInfo ])
323
+ if (tagInfoList?.length) {
324
+ const filter : PUPPET.filters.Tag = {
325
+ id: tagInfoList[0]?.id,
326
+ }
327
+ const newTag = await this.find(filter)
328
+ return newTag
329
+ }
244
330
  } catch (e) {
245
331
  this.wechaty.emitError(e)
246
332
  log.error('Tag', 'modifyTag() exception: %s', (e as Error).message)
247
333
  }
248
334
  }
249
335
 
336
+ static async modifyMultiTag (
337
+ tagInfos: Array<{ tag: TagInterface, newName: string }>,
338
+ ): Promise<TagInterface[] | void> {
339
+ log.verbose('Tag', 'modifyMultiTag(%o)', tagInfos)
340
+
341
+ try {
342
+ const tagNewInfoList: PUPPET.types.TagInfo[] = tagInfos.map(i => ({
343
+ id: i.tag.id,
344
+ name: i.newName,
345
+ }))
346
+ const tagInfoList = await this.wechaty.puppet.tagTagModify(tagNewInfoList)
347
+ if (tagInfoList?.length) {
348
+ const filterList : PUPPET.filters.Tag[] = tagInfoList.map(i => ({
349
+ id: i.id,
350
+ }))
351
+ const newTagList = await this.findMulti(filterList)
352
+ return newTagList
353
+ }
354
+ } catch (e) {
355
+ this.wechaty.emitError(e)
356
+ log.error('Tag', 'modifyMultiTag() exception: %s', (e as Error).message)
357
+ }
358
+ }
359
+
250
360
  override toString () {
251
361
  return `<Tag#${this.name() || this.id}>`
252
362
  }