@steedos/metadata-registrar 2.2.41

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/LICENSE.txt ADDED
@@ -0,0 +1,25 @@
1
+ Steedos Licensing
2
+
3
+ SOFTWARE LICENSING
4
+
5
+ To determine under which license you may use a file from the Steedos source code,
6
+ please resort to the header of that file.
7
+
8
+ If the file has no header, the following rules apply
9
+ 1. project templates are licensed under MIT, see License.MIT.txt
10
+ 2. enterprise features are licensed under Steedos Enterprise Terms, see License.enterprise.txt
11
+ 3. source code that is neither (1) nor (2) is licensed under AGPL, see License.AGPL.txt
12
+
13
+ On request, licenses under different terms are available.
14
+
15
+ Project templates can be found in the folders steedos-projects/
16
+
17
+ Source code of enterprise features are files that
18
+ * are in folders named "ee" or start with "ee_", or in subfolders of such folders.
19
+ * contain the strings "ee_" in its filename name.
20
+ The files can be found by running the command `find . -iname ee -or -iname "*_ee*" -or -iname "*ee_*"`
21
+
22
+ STEEDOS TRADEMARK GUIDELINES
23
+
24
+ Your use of the mark Steedos is subject to Steedos, Inc's prior written approval. For trademark approval or any questions
25
+ you have about using these trademarks, please email zhuangjianguo@steedos.com
package/README.md ADDED
@@ -0,0 +1,2 @@
1
+ ## 功能说明
2
+ - 此包是vscode扩展包`Steedos Extension Pack`元数据同步主要逻辑。
package/lib/index.d.ts ADDED
@@ -0,0 +1,28 @@
1
+ declare function clearPackageServices(broker: any, packageServices: any): Promise<void>;
2
+ declare function clearPackageServicesMetadatas(broker: any, offlinePackageServices: any): Promise<void>;
3
+ export declare function started(broker: any): Promise<any>;
4
+ export declare function stopped(broker: any): Promise<void>;
5
+ export declare const Register: {
6
+ clearPackageServices: typeof clearPackageServices;
7
+ clearPackageServicesMetadatas: typeof clearPackageServicesMetadatas;
8
+ get(broker: any, key: string): Promise<any>;
9
+ mget(broker: any, keys: Array<string>): Promise<any>;
10
+ filter(broker: any, key: string): Promise<Array<any>>;
11
+ mfilter(broker: any, keys: Array<string>): Promise<Array<any>>;
12
+ add(broker: any, params: any, meta: any): Promise<any>;
13
+ madd(broker: any, params: any, meta: any): Promise<any>;
14
+ addServiceMetadata(broker: any, params: any, meta: any): Promise<void>;
15
+ maddServiceMetadata(broker: any, params: any, meta: any): Promise<void>;
16
+ fuzzyDelete(broker: any, key: string): Promise<void>;
17
+ delete(broker: any, key: string): Promise<boolean>;
18
+ deleteServiceMetadata(broker: any, params: any): Promise<boolean>;
19
+ getServiceMetadatas(broker: any, params: any): Promise<any[]>;
20
+ getServiceMetadata(broker: any, params: any, meta: any): Promise<any>;
21
+ removeServiceMetadata(broker: any, params: any, meta: any): Promise<any>;
22
+ refreshServiceMetadatas(broker: any, params: any): Promise<void>;
23
+ lpush(broker: any, params: any): Promise<any>;
24
+ rpush(broker: any, params: any): Promise<any>;
25
+ lrange(broker: any, params: any): Promise<any>;
26
+ filterList(broker: any, params: any): Promise<any>;
27
+ };
28
+ export {};
package/lib/index.js ADDED
@@ -0,0 +1,631 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Register = exports.stopped = exports.started = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const SERVICE_METADATA_PREFIX = '$METADATA';
6
+ const PACKAGE_SERVICES_KEY = '$PACKAGE-SERVICES';
7
+ const PACKAGE_SERVICE_PREFIX = '~packages-';
8
+ const METADATA_SERVICES_PREFIX = '$METADATA-SERVICES';
9
+ const _ = require("underscore");
10
+ const lodash_1 = require("lodash");
11
+ let savePackageServicesTimeoutID = null;
12
+ const useScan = true;
13
+ function redisScanKeys(redisClient, match, count = 10000) {
14
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
15
+ if (!useScan) {
16
+ return yield redisClient.keys(match);
17
+ }
18
+ else {
19
+ return yield new Promise((resolve, reject) => {
20
+ if (_.isFunction(redisClient.scanStream)) {
21
+ var stream = redisClient.scanStream({
22
+ // only returns keys following the pattern of `user:*`
23
+ match: match,
24
+ // returns approximately 100 elements per call
25
+ count: count
26
+ });
27
+ var keys = [];
28
+ stream.on('data', function (resultKeys) {
29
+ for (var i = 0; i < resultKeys.length; i++) {
30
+ keys.push(resultKeys[i]);
31
+ }
32
+ });
33
+ stream.on('end', function () {
34
+ resolve(keys);
35
+ });
36
+ }
37
+ else {
38
+ let nodes = redisClient.nodes('master');
39
+ let allPromises = [];
40
+ for (let index = 0; index < nodes.length; index++) {
41
+ const node = nodes[index];
42
+ allPromises.push(new Promise((res, reject) => {
43
+ var keys = [];
44
+ node.scanStream({
45
+ // only returns keys following the pattern of `user:*`
46
+ match: match,
47
+ // returns approximately 100 elements per call
48
+ count: count
49
+ }).on('data', resultKeys => {
50
+ for (var i = 0; i < resultKeys.length; i++) {
51
+ keys.push(resultKeys[i]);
52
+ }
53
+ }).on('end', () => {
54
+ // console.info("scan end, node %s:%d", node.options.host, node.options.port);
55
+ res(keys);
56
+ });
57
+ }));
58
+ }
59
+ Promise.all(allPromises).then((values) => {
60
+ let joinedKeys = [];
61
+ for (const keys of values) {
62
+ joinedKeys = joinedKeys.concat(keys);
63
+ }
64
+ resolve(joinedKeys);
65
+ });
66
+ }
67
+ });
68
+ }
69
+ });
70
+ }
71
+ function transformMetadata(params, meta) {
72
+ return Object.assign(Object.assign({}, meta.caller), { metadata: params.data });
73
+ }
74
+ function transformMetadatas(params, meta) {
75
+ const data = {};
76
+ (0, lodash_1.map)(params.data, (value, key) => {
77
+ data[key] = Object.assign(Object.assign({}, meta.caller), { metadata: value });
78
+ });
79
+ return data;
80
+ }
81
+ function getKey(key, keyPrefix) {
82
+ return key.replace(keyPrefix, "");
83
+ }
84
+ function getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadataApiName) {
85
+ return `$${nodeID}.${SERVICE_METADATA_PREFIX}.${serviceName}.${metadataType}.${metadataApiName}`;
86
+ }
87
+ function addServiceMetadata(broker, params, meta) {
88
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
89
+ const { nodeID } = meta.caller || { nodeID: undefined };
90
+ if (!nodeID) {
91
+ console.log(`addServiceMetadata meta`, meta);
92
+ }
93
+ const { metadataType, metadataApiName, metadataServiceName } = meta || { metadataType: undefined, metadataApiName: undefined, metadataServiceName: undefined };
94
+ if (!metadataServiceName) {
95
+ return;
96
+ }
97
+ const key = getServiceMetadataCacherKey(nodeID, metadataServiceName, metadataType, metadataApiName);
98
+ yield broker.cacher.set(key, {
99
+ nodeIds: [nodeID],
100
+ metadataType,
101
+ metadataApiName,
102
+ metadataServiceName,
103
+ metadata: params.data,
104
+ });
105
+ });
106
+ }
107
+ function maddServiceMetadata(broker, params, meta) {
108
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
109
+ const { nodeID } = meta.caller || { nodeID: undefined };
110
+ if (!nodeID) {
111
+ console.log(`addServiceMetadata meta`, meta);
112
+ }
113
+ const { metadataType, metadataServiceName } = meta || { metadataType: undefined, metadataServiceName: undefined };
114
+ //data: {k1:v1, k2:v2}
115
+ const { data } = params;
116
+ if (!metadataServiceName || !data) {
117
+ return;
118
+ }
119
+ const mdata = {};
120
+ (0, lodash_1.map)(data, (value, metadataApiName) => {
121
+ mdata[getServiceMetadataCacherKey(nodeID, metadataServiceName, metadataType, metadataApiName)] = {
122
+ nodeIds: [nodeID],
123
+ metadataType,
124
+ metadataApiName,
125
+ metadataServiceName,
126
+ metadata: value,
127
+ };
128
+ });
129
+ yield mset(broker, mdata);
130
+ });
131
+ }
132
+ function mget(broker, keys) {
133
+ var _a;
134
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
135
+ if (!keys || keys.length == 0) {
136
+ return [];
137
+ }
138
+ const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
139
+ const values = yield broker.cacher.client.mget(...(0, lodash_1.map)(keys, (key) => {
140
+ if (key && !key.startsWith(keyPrefix)) {
141
+ return `${keyPrefix}${key}`;
142
+ }
143
+ else {
144
+ return key;
145
+ }
146
+ }));
147
+ const results = [];
148
+ _.map(values, (item) => {
149
+ try {
150
+ if (item) {
151
+ results.push(JSON.parse(item));
152
+ }
153
+ else {
154
+ results.push(item);
155
+ }
156
+ }
157
+ catch (error) {
158
+ results.push(item);
159
+ }
160
+ });
161
+ return results;
162
+ });
163
+ }
164
+ function mset(broker, data) {
165
+ var _a;
166
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
167
+ if (_.isEmpty(data)) {
168
+ return;
169
+ }
170
+ const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
171
+ const mdata = {};
172
+ _.map(data, (v, k) => {
173
+ mdata[`${keyPrefix}${k}`] = JSON.stringify(v);
174
+ });
175
+ return yield broker.cacher.client.mset(mdata);
176
+ });
177
+ }
178
+ // 这里需要更改
179
+ function query(broker, queryKey) {
180
+ var _a;
181
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
182
+ try {
183
+ // const s = new Date().getTime();
184
+ const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
185
+ // const sk = new Date().getTime();
186
+ const keys = yield redisScanKeys(broker.cacher.client, `${keyPrefix}${queryKey}`); //broker.cacher.client.keys(`${keyPrefix}${queryKey}`); //TODO 此功能仅支持redis cache
187
+ // const dk = new Date().getTime() - sk;
188
+ // const sv = new Date().getTime();
189
+ // REPLACE: const keys = await mockCacherKeys(ctx, `${keyPrefix}${queryKey}`) //TODO 此功能仅支持redis cache
190
+ const values = _.compact(yield mget(broker, keys));
191
+ // const dv = new Date().getTime() - sv;
192
+ // const d = new Date().getTime() - s;
193
+ // if (d > Number(process.env.STEEDOS_DURATION)) {
194
+ // console.log(`query`, d, dk, dv, `${keyPrefix}${queryKey}`);
195
+ // }
196
+ return values;
197
+ }
198
+ catch (error) {
199
+ // console.error(`error`, error)
200
+ }
201
+ return [];
202
+ });
203
+ }
204
+ function getPackageServiceCacherKey(nodeID, serviceName) {
205
+ return `$${nodeID}.${PACKAGE_SERVICES_KEY}.${serviceName}`;
206
+ }
207
+ function setPackageServices(broker, packageServices) {
208
+ var packageServices_1, packageServices_1_1;
209
+ var e_1, _a;
210
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
211
+ try {
212
+ for (packageServices_1 = (0, tslib_1.__asyncValues)(packageServices); packageServices_1_1 = yield packageServices_1.next(), !packageServices_1_1.done;) {
213
+ const packageService = packageServices_1_1.value;
214
+ broker.cacher.set(getPackageServiceCacherKey(packageService.nodeID, packageService.name), { service: packageService });
215
+ }
216
+ }
217
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
218
+ finally {
219
+ try {
220
+ if (packageServices_1_1 && !packageServices_1_1.done && (_a = packageServices_1.return)) yield _a.call(packageServices_1);
221
+ }
222
+ finally { if (e_1) throw e_1.error; }
223
+ }
224
+ });
225
+ }
226
+ function clearPackageServices(broker, packageServices) {
227
+ var packageServices_2, packageServices_2_1;
228
+ var e_2, _a;
229
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
230
+ try {
231
+ for (packageServices_2 = (0, tslib_1.__asyncValues)(packageServices); packageServices_2_1 = yield packageServices_2.next(), !packageServices_2_1.done;) {
232
+ const packageService = packageServices_2_1.value;
233
+ let nodeID = null;
234
+ let name = null;
235
+ if (_.isString(packageService)) {
236
+ let foo = packageService.split('.');
237
+ nodeID = foo.splice(0, foo.length - 1).join('.');
238
+ name = foo.join('.');
239
+ }
240
+ else if (_.isObject(packageService)) {
241
+ nodeID = packageService.nodeID;
242
+ name = packageService.name;
243
+ }
244
+ // console.log(`clearPackageServices del ===== `, getPackageServiceCacherKey(nodeID, name))
245
+ yield broker.cacher.del(getPackageServiceCacherKey(nodeID, name));
246
+ }
247
+ }
248
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
249
+ finally {
250
+ try {
251
+ if (packageServices_2_1 && !packageServices_2_1.done && (_a = packageServices_2.return)) yield _a.call(packageServices_2);
252
+ }
253
+ finally { if (e_2) throw e_2.error; }
254
+ }
255
+ });
256
+ }
257
+ function getLastPackageServices(broker) {
258
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
259
+ const packageServices = yield query(broker, getPackageServiceCacherKey("*", "*"));
260
+ const services = [];
261
+ packageServices.forEach((element) => {
262
+ if (element) {
263
+ services.push(element.service);
264
+ }
265
+ });
266
+ return services;
267
+ });
268
+ }
269
+ function getPackageServices(broker) {
270
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
271
+ const packageServices = [];
272
+ const services = broker.registry.getServiceList({ withActions: true });
273
+ _.each(services, (serviceItem) => {
274
+ const { name, nodeID } = serviceItem; //, version, fullName, settings, local, available, nodeID
275
+ if (name.startsWith(PACKAGE_SERVICE_PREFIX)) {
276
+ // console.log(`serviceItem`, serviceItem)
277
+ packageServices.push(Object.assign({}, serviceItem, { apiName: `${nodeID}.${name}` }));
278
+ }
279
+ });
280
+ return packageServices;
281
+ });
282
+ }
283
+ function clearPackageServiceMetadatas(broker, nodeID, packageServiceName) {
284
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
285
+ const key = getServiceMetadataCacherKey(nodeID, packageServiceName, "*", "*");
286
+ const clearMetadatas = yield query(broker, key);
287
+ yield broker.cacher.clean(key);
288
+ return clearMetadatas;
289
+ });
290
+ }
291
+ function clearPackageServicesMetadatas(broker, offlinePackageServices) {
292
+ var offlinePackageServices_1, offlinePackageServices_1_1;
293
+ var e_3, _a;
294
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
295
+ let clearMetadatas = [];
296
+ try {
297
+ for (offlinePackageServices_1 = (0, tslib_1.__asyncValues)(offlinePackageServices); offlinePackageServices_1_1 = yield offlinePackageServices_1.next(), !offlinePackageServices_1_1.done;) {
298
+ const packageService = offlinePackageServices_1_1.value;
299
+ let nodeID = null;
300
+ let name = null;
301
+ if (_.isString(packageService)) {
302
+ let foo = packageService.split('.');
303
+ nodeID = foo.splice(0, foo.length - 1).join('.');
304
+ name = foo.join('.');
305
+ }
306
+ else if (_.isObject(packageService)) {
307
+ nodeID = packageService.nodeID;
308
+ name = packageService.name;
309
+ }
310
+ const clearPackageMetadatas = yield clearPackageServiceMetadatas(broker, nodeID, name);
311
+ clearMetadatas = clearMetadatas.concat(clearPackageMetadatas);
312
+ }
313
+ }
314
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
315
+ finally {
316
+ try {
317
+ if (offlinePackageServices_1_1 && !offlinePackageServices_1_1.done && (_a = offlinePackageServices_1.return)) yield _a.call(offlinePackageServices_1);
318
+ }
319
+ finally { if (e_3) throw e_3.error; }
320
+ }
321
+ _.each(_.groupBy(clearMetadatas, "metadataType"), function (data, metadataType) {
322
+ broker.emit(`${SERVICE_METADATA_PREFIX}.${metadataType}.clear`, { metadataType, metadataApiNames: _.pluck(data, "metadataApiName"), isClear: true });
323
+ });
324
+ });
325
+ }
326
+ function getMetadataServices(broker) {
327
+ var _a;
328
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
329
+ const queryKey = `${METADATA_SERVICES_PREFIX}.*`;
330
+ const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
331
+ const keys = yield redisScanKeys(broker.cacher.client, `${keyPrefix}${queryKey}`);
332
+ const values = [];
333
+ for (const key of keys) {
334
+ values.push(yield broker.cacher.get(getKey(key, keyPrefix)));
335
+ }
336
+ return values;
337
+ });
338
+ }
339
+ function lrange(broker, key, start = 0, end = -1) {
340
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
341
+ return yield broker.cacher.client.lrange(key, start, end);
342
+ });
343
+ }
344
+ function started(broker) {
345
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
346
+ return yield broker.cacher.set(`${METADATA_SERVICES_PREFIX}.${broker.nodeID}`, {});
347
+ });
348
+ }
349
+ exports.started = started;
350
+ function stopped(broker) {
351
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
352
+ yield broker.cacher.del(`${METADATA_SERVICES_PREFIX}.${broker.nodeID}`);
353
+ const services = yield getMetadataServices(broker);
354
+ if (!services || services.length === 0) {
355
+ yield broker.cacher.clean(`**`);
356
+ }
357
+ });
358
+ }
359
+ exports.stopped = stopped;
360
+ exports.Register = {
361
+ clearPackageServices,
362
+ clearPackageServicesMetadatas,
363
+ get(broker, key) {
364
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
365
+ try {
366
+ return yield broker.cacher.get(key);
367
+ }
368
+ catch (error) {
369
+ }
370
+ });
371
+ },
372
+ mget(broker, keys) {
373
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
374
+ try {
375
+ return yield mget(broker, keys);
376
+ }
377
+ catch (error) {
378
+ }
379
+ });
380
+ },
381
+ filter(broker, key) {
382
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
383
+ return yield query(broker, key);
384
+ });
385
+ },
386
+ mfilter(broker, keys) {
387
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
388
+ const values = [];
389
+ for (const key of keys) {
390
+ values.push(yield query(broker, key));
391
+ }
392
+ return values;
393
+ });
394
+ },
395
+ add(broker, params, meta) {
396
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
397
+ const { key } = params;
398
+ return yield broker.cacher.set(key, transformMetadata(params, meta));
399
+ });
400
+ },
401
+ madd(broker, params, meta) {
402
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
403
+ return yield mset(broker, transformMetadatas(params, meta));
404
+ });
405
+ },
406
+ addServiceMetadata(broker, params, meta) {
407
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
408
+ return yield addServiceMetadata(broker, params, meta);
409
+ });
410
+ },
411
+ maddServiceMetadata(broker, params, meta) {
412
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
413
+ return yield maddServiceMetadata(broker, params, meta);
414
+ });
415
+ },
416
+ fuzzyDelete(broker, key) {
417
+ var _a;
418
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
419
+ const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
420
+ const keys = yield redisScanKeys(broker.cacher.client, `${keyPrefix}${key}`); // await broker.cacher.client.keys(`${keyPrefix}${key}`);
421
+ for (const _key of keys) {
422
+ yield broker.cacher.del(getKey(_key, keyPrefix));
423
+ }
424
+ });
425
+ },
426
+ delete(broker, key) {
427
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
428
+ try {
429
+ yield broker.cacher.del(key);
430
+ }
431
+ catch (error) {
432
+ broker.logger.info(error.message);
433
+ }
434
+ return true;
435
+ });
436
+ },
437
+ deleteServiceMetadata(broker, params) {
438
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
439
+ try {
440
+ let { nodeID, serviceName, metadataType, metadataApiName } = params;
441
+ if (!nodeID) {
442
+ throw new Error('nodeID is null');
443
+ }
444
+ if (!serviceName) {
445
+ throw new Error('serviceName is null');
446
+ }
447
+ if (!metadataType) {
448
+ throw new Error('metadataType is null');
449
+ }
450
+ if (!metadataApiName) {
451
+ throw new Error('metadataApiName is null');
452
+ }
453
+ const key = getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadataApiName);
454
+ yield broker.cacher.del(key);
455
+ }
456
+ catch (error) {
457
+ broker.logger.info(error.message);
458
+ }
459
+ return true;
460
+ });
461
+ },
462
+ getServiceMetadatas(broker, params) {
463
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
464
+ let { nodeID, serviceName, metadataType, metadataApiName } = params;
465
+ if (!nodeID) {
466
+ nodeID = "*";
467
+ }
468
+ if (!serviceName) {
469
+ serviceName = "*";
470
+ }
471
+ if (!metadataType) {
472
+ metadataType = "*";
473
+ }
474
+ if (!metadataApiName) {
475
+ metadataApiName = "*";
476
+ }
477
+ const key = getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadataApiName);
478
+ const result = yield query(broker, key);
479
+ return result ? (0, lodash_1.filter)(result, (item) => { return item && item.metadataType === metadataType; }) : result;
480
+ });
481
+ },
482
+ getServiceMetadata(broker, params, meta) {
483
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
484
+ let { serviceName, metadataType, metadataApiName } = params;
485
+ const { nodeID } = meta.caller || { nodeID: undefined };
486
+ if (!nodeID) {
487
+ console.log(`getServiceMetadata meta`, meta);
488
+ }
489
+ const key = getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadataApiName);
490
+ return yield broker.cacher.get(key);
491
+ });
492
+ },
493
+ removeServiceMetadata(broker, params, meta) {
494
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
495
+ let { serviceName, metadataType, metadataApiName } = params;
496
+ const { nodeID } = meta.caller || { nodeID: undefined };
497
+ if (!nodeID) {
498
+ console.log(`getServiceMetadata meta`, meta);
499
+ }
500
+ const key = getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadataApiName);
501
+ return yield broker.cacher.del(key);
502
+ });
503
+ },
504
+ refreshServiceMetadatas(broker, params) {
505
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
506
+ const { offlinePackageServices: _offlinePackageServices } = params || { offlinePackageServices: undefined };
507
+ const offlinePackageServicesListString = [];
508
+ if (_offlinePackageServices && _offlinePackageServices.length > 0) {
509
+ // 检查 offlinePackageServices 中的每一项必须包含nodeID、name
510
+ _.each(_offlinePackageServices, (item) => {
511
+ if (!item) {
512
+ throw new Error('offlinePackageInfo is null');
513
+ }
514
+ if (_.isString(item)) {
515
+ throw new Error('offlinePackageInfo cannot be string');
516
+ }
517
+ if (_.isObject(item)) {
518
+ const { nodeID, name } = item; //, instanceID
519
+ if (!_.isString(nodeID)) {
520
+ throw new Error('offlinePackageInfo.nodeID must be string');
521
+ }
522
+ if (!_.isString(name)) {
523
+ throw new Error('offlinePackageInfo.name must be string');
524
+ }
525
+ offlinePackageServicesListString.push(`${nodeID}.${name}`);
526
+ }
527
+ });
528
+ yield broker.call('metadata.clearPackageServices', { offlinePackageServicesName: _offlinePackageServices });
529
+ // ctx.broker.broadcast(`$metadata.clearPackageServices`, { offlinePackageServicesName: _offlinePackageServices });
530
+ }
531
+ let packageServices = yield getPackageServices(broker);
532
+ const packageServicesName = _.pluck(packageServices, "apiName");
533
+ const lastPackageServices = yield getLastPackageServices(broker);
534
+ const lastPackageServicesNames = _.pluck(lastPackageServices, "apiName");
535
+ let offlinePackageServicesName = _.difference(lastPackageServicesNames, packageServicesName);
536
+ let timeoutOfflinePackageServices = _.filter(lastPackageServices, (lastPackageService) => {
537
+ return lastPackageService && _.include(offlinePackageServicesName, lastPackageService.apiName);
538
+ });
539
+ if (_offlinePackageServices && _offlinePackageServices.length > 0) {
540
+ timeoutOfflinePackageServices = timeoutOfflinePackageServices.concat(_offlinePackageServices);
541
+ const onlinePackageServicesName = _.difference(lastPackageServices, offlinePackageServicesListString);
542
+ packageServices = _.filter(packageServices, (packageService) => {
543
+ return packageService && _.include(onlinePackageServicesName, packageService.apiName);
544
+ });
545
+ }
546
+ // if (timeoutOfflinePackageServices.length > 0) {
547
+ // ctx.broker.broadcast(`$metadata.clearPackageServices`, { offlinePackageServicesName: timeoutOfflinePackageServices });
548
+ // }
549
+ //使用延时方式存储软件包记录, 防止多服务之间服务发现延时导致数据清理异常。延时来自moleculer内部的服务发现机制(broker.registry.getServiceList)
550
+ //清理数据无需做到实时,延时30秒
551
+ if (savePackageServicesTimeoutID) {
552
+ clearTimeout(savePackageServicesTimeoutID);
553
+ savePackageServicesTimeoutID = null;
554
+ }
555
+ if (!savePackageServicesTimeoutID) {
556
+ savePackageServicesTimeoutID = setTimeout(() => {
557
+ setPackageServices(broker, packageServices);
558
+ }, 30 * 1000);
559
+ }
560
+ });
561
+ },
562
+ lpush(broker, params) {
563
+ var _a;
564
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
565
+ const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
566
+ const key = params.key;
567
+ const data = params.data;
568
+ if (!_.isArray(data)) {
569
+ throw new Error('data must be an array.');
570
+ }
571
+ const _data = [];
572
+ _.each(data, (item) => {
573
+ _data.push(JSON.stringify(item));
574
+ });
575
+ return yield broker.cacher.client.lpush(`${keyPrefix}${key}`, ..._data);
576
+ });
577
+ },
578
+ rpush(broker, params) {
579
+ var _a;
580
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
581
+ const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
582
+ const key = params.key;
583
+ const data = params.data;
584
+ if (!_.isArray(data)) {
585
+ throw new Error('data must be an array.');
586
+ }
587
+ const _data = [];
588
+ _.each(data, (item) => {
589
+ _data.push(JSON.stringify(item));
590
+ });
591
+ return yield broker.cacher.client.rpush(`${keyPrefix}${key}`, ..._data);
592
+ });
593
+ },
594
+ lrange(broker, params) {
595
+ var _a;
596
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
597
+ const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
598
+ const { key, start = 0, end = -1 } = params.key;
599
+ return yield lrange(broker, `${keyPrefix}${key}`, start, end);
600
+ });
601
+ },
602
+ filterList(broker, params) {
603
+ var _a;
604
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
605
+ const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
606
+ const { key } = params;
607
+ const keys = yield redisScanKeys(broker.cacher.client, `${keyPrefix}${key}`);
608
+ if (!keys || keys.length == 0) {
609
+ return [];
610
+ }
611
+ const results = [];
612
+ for (const itemKey of keys) {
613
+ try {
614
+ if (itemKey) {
615
+ const itemList = yield lrange(broker, itemKey);
616
+ if (itemList && _.isArray(itemList)) {
617
+ _.each(itemList, (item) => {
618
+ results.push(JSON.parse(item));
619
+ });
620
+ }
621
+ }
622
+ }
623
+ catch (error) {
624
+ console.error(`error`, error);
625
+ }
626
+ }
627
+ return results;
628
+ });
629
+ }
630
+ };
631
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@steedos/metadata-registrar",
3
+ "version": "2.2.41",
4
+ "description": "",
5
+ "main": "lib/index.js",
6
+ "files": [
7
+ "lib/**",
8
+ "type_infos/**"
9
+ ],
10
+ "scripts": {
11
+ "test": "echo \"Error: no test specified\" && exit 1",
12
+ "compile": "tsc",
13
+ "prepare": "tsc",
14
+ "pub_next": "npm publish --tag next --registry https://registry.npmjs.org && start https://npm.taobao.org/sync/@steedos/metadata-core"
15
+ },
16
+ "dependencies": {
17
+ "@steedos/client": "2.2.41",
18
+ "archiver": "^5.1.0",
19
+ "chalk": "^4.1.0",
20
+ "clone": "^2.1.2",
21
+ "compressing": "^1.5.1",
22
+ "dotenv-flow": "^3.2.0",
23
+ "eval": "^0.1.4",
24
+ "glob": "^7.1.6",
25
+ "globby": "9.2.0",
26
+ "ini": "^2.0.0",
27
+ "js-beautify": "^1.13.1",
28
+ "js-yaml": "^3.14.0",
29
+ "underscore": "^1.11.0"
30
+ },
31
+ "devDependencies": {
32
+ "@types/glob": "^7.1.3",
33
+ "@types/node": "^14.14.10",
34
+ "javascript-obfuscator": "^2.9.4",
35
+ "ts-node": "^8.0.3",
36
+ "typescript": "^3.9.3",
37
+ "uglify-es": "^3.3.9"
38
+ },
39
+ "author": "",
40
+ "license": "MIT",
41
+ "private": false,
42
+ "publishConfig": {
43
+ "access": "public"
44
+ },
45
+ "gitHead": "ded6a9013bea822bc4cf81c98e60a3d829bed858"
46
+ }