@steedos/metadata-registrar 3.0.13-beta.9 → 3.0.13

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.
Files changed (75) hide show
  1. package/lib/config-register/actions.js +43 -73
  2. package/lib/config-register/actions.js.map +1 -1
  3. package/lib/config-register/app.js +3 -4
  4. package/lib/config-register/app.js.map +1 -1
  5. package/lib/config-register/button.js +10 -26
  6. package/lib/config-register/button.js.map +1 -1
  7. package/lib/config-register/chart.js +3 -4
  8. package/lib/config-register/chart.js.map +1 -1
  9. package/lib/config-register/client_script.js +8 -9
  10. package/lib/config-register/client_script.js.map +1 -1
  11. package/lib/config-register/core.js +33 -34
  12. package/lib/config-register/core.js.map +1 -1
  13. package/lib/config-register/dashboard.js +3 -4
  14. package/lib/config-register/dashboard.js.map +1 -1
  15. package/lib/config-register/field.js +14 -30
  16. package/lib/config-register/field.js.map +1 -1
  17. package/lib/config-register/index.js +15 -16
  18. package/lib/config-register/index.js.map +1 -1
  19. package/lib/config-register/layout.js +14 -32
  20. package/lib/config-register/layout.js.map +1 -1
  21. package/lib/config-register/listview.js +11 -27
  22. package/lib/config-register/listview.js.map +1 -1
  23. package/lib/config-register/object_translations.js +10 -11
  24. package/lib/config-register/object_translations.js.map +1 -1
  25. package/lib/config-register/package.js +170 -250
  26. package/lib/config-register/package.js.map +1 -1
  27. package/lib/config-register/page.js +3 -4
  28. package/lib/config-register/page.js.map +1 -1
  29. package/lib/config-register/permission.js +21 -49
  30. package/lib/config-register/permission.js.map +1 -1
  31. package/lib/config-register/permissionset.js +33 -46
  32. package/lib/config-register/permissionset.js.map +1 -1
  33. package/lib/config-register/preload_data.js +102 -186
  34. package/lib/config-register/preload_data.js.map +1 -1
  35. package/lib/config-register/profile.js +36 -49
  36. package/lib/config-register/profile.js.map +1 -1
  37. package/lib/config-register/query.js +3 -4
  38. package/lib/config-register/query.js.map +1 -1
  39. package/lib/config-register/question.js +3 -4
  40. package/lib/config-register/question.js.map +1 -1
  41. package/lib/config-register/restrictionRules.js +3 -4
  42. package/lib/config-register/restrictionRules.js.map +1 -1
  43. package/lib/config-register/shareRules.js +3 -4
  44. package/lib/config-register/shareRules.js.map +1 -1
  45. package/lib/config-register/tab.js +4 -5
  46. package/lib/config-register/tab.js.map +1 -1
  47. package/lib/config-register/tabs.js +6 -7
  48. package/lib/config-register/tabs.js.map +1 -1
  49. package/lib/config-register/translations.js +13 -14
  50. package/lib/config-register/translations.js.map +1 -1
  51. package/lib/config-register/validation_rule.js +16 -21
  52. package/lib/config-register/validation_rule.js.map +1 -1
  53. package/lib/config-register/workflow.js +96 -131
  54. package/lib/config-register/workflow.js.map +1 -1
  55. package/lib/index.js +408 -522
  56. package/lib/index.js.map +1 -1
  57. package/lib/metadata-register/_base.js +52 -64
  58. package/lib/metadata-register/_base.js.map +1 -1
  59. package/lib/metadata-register/app.js +21 -30
  60. package/lib/metadata-register/app.js.map +1 -1
  61. package/lib/metadata-register/index.js +74 -125
  62. package/lib/metadata-register/index.js.map +1 -1
  63. package/lib/metadata-register/layout.js +25 -36
  64. package/lib/metadata-register/layout.js.map +1 -1
  65. package/lib/metadata-register/object.js +59 -72
  66. package/lib/metadata-register/object.js.map +1 -1
  67. package/lib/metadata-register/permissionset.js +18 -25
  68. package/lib/metadata-register/permissionset.js.map +1 -1
  69. package/lib/metadata-register/profile.js +18 -25
  70. package/lib/metadata-register/profile.js.map +1 -1
  71. package/lib/metadata-register/tabs.js +25 -36
  72. package/lib/metadata-register/tabs.js.map +1 -1
  73. package/lib/utils/convert.js +4 -4
  74. package/lib/utils/convert.js.map +1 -1
  75. package/package.json +4 -4
package/lib/index.js CHANGED
@@ -59,69 +59,74 @@ tslib_1.__exportStar(require("./metadata-register/dashboard"), exports);
59
59
  tslib_1.__exportStar(require("./metadata-register/print"), exports);
60
60
  let savePackageServicesTimeoutID = null;
61
61
  const useScan = true;
62
- function redisScanKeys(redisClient_1, match_1) {
63
- return tslib_1.__awaiter(this, arguments, void 0, function* (redisClient, match, count = 10000) {
64
- if (!useScan) {
65
- return yield redisClient.keys(match);
66
- }
67
- else {
68
- return yield new Promise((resolve, reject) => {
69
- if (_.isFunction(redisClient.scanStream)) {
70
- var stream = redisClient.scanStream({
71
- match: match,
72
- count: count,
73
- });
74
- var keys = [];
75
- stream.on("data", function (resultKeys) {
76
- for (var i = 0; i < resultKeys.length; i++) {
77
- keys.push(resultKeys[i]);
78
- }
79
- });
80
- stream.on("end", function () {
81
- resolve(keys);
82
- });
83
- }
84
- else {
85
- let nodes = redisClient.nodes("master");
86
- let allPromises = [];
87
- for (let index = 0; index < nodes.length; index++) {
88
- const node = nodes[index];
89
- allPromises.push(new Promise((res, reject) => {
90
- var keys = [];
91
- node
92
- .scanStream({
93
- match: match,
94
- count: count,
95
- })
96
- .on("data", (resultKeys) => {
97
- for (var i = 0; i < resultKeys.length; i++) {
98
- keys.push(resultKeys[i]);
99
- }
100
- })
101
- .on("end", () => {
102
- res(keys);
103
- });
104
- }));
62
+ async function redisScanKeys(redisClient, match, count = 10000) {
63
+ if (!useScan) {
64
+ return await redisClient.keys(match);
65
+ }
66
+ else {
67
+ return await new Promise((resolve, reject) => {
68
+ if (_.isFunction(redisClient.scanStream)) {
69
+ var stream = redisClient.scanStream({
70
+ match: match,
71
+ count: count,
72
+ });
73
+ var keys = [];
74
+ stream.on("data", function (resultKeys) {
75
+ for (var i = 0; i < resultKeys.length; i++) {
76
+ keys.push(resultKeys[i]);
105
77
  }
106
- Promise.all(allPromises).then((values) => {
107
- let joinedKeys = [];
108
- for (const keys of values) {
109
- joinedKeys = joinedKeys.concat(keys);
110
- }
111
- resolve(joinedKeys);
112
- });
78
+ });
79
+ stream.on("end", function () {
80
+ resolve(keys);
81
+ });
82
+ }
83
+ else {
84
+ let nodes = redisClient.nodes("master");
85
+ let allPromises = [];
86
+ for (let index = 0; index < nodes.length; index++) {
87
+ const node = nodes[index];
88
+ allPromises.push(new Promise((res, reject) => {
89
+ var keys = [];
90
+ node
91
+ .scanStream({
92
+ match: match,
93
+ count: count,
94
+ })
95
+ .on("data", (resultKeys) => {
96
+ for (var i = 0; i < resultKeys.length; i++) {
97
+ keys.push(resultKeys[i]);
98
+ }
99
+ })
100
+ .on("end", () => {
101
+ res(keys);
102
+ });
103
+ }));
113
104
  }
114
- });
115
- }
116
- });
105
+ Promise.all(allPromises).then((values) => {
106
+ let joinedKeys = [];
107
+ for (const keys of values) {
108
+ joinedKeys = joinedKeys.concat(keys);
109
+ }
110
+ resolve(joinedKeys);
111
+ });
112
+ }
113
+ });
114
+ }
117
115
  }
118
116
  function transformMetadata(params, meta) {
119
- return Object.assign(Object.assign({}, meta.caller), { metadata: params.data, timestamp: new Date().getTime() });
117
+ return {
118
+ ...meta.caller,
119
+ metadata: params.data,
120
+ timestamp: new Date().getTime(),
121
+ };
120
122
  }
121
123
  function transformMetadatas(params, meta) {
122
124
  const data = {};
123
125
  (0, lodash_1.map)(params.data, (value, key) => {
124
- data[key] = Object.assign(Object.assign({}, meta.caller), { metadata: value });
126
+ data[key] = {
127
+ ...meta.caller,
128
+ metadata: value,
129
+ };
125
130
  });
126
131
  return data;
127
132
  }
@@ -131,550 +136,431 @@ function getKey(key, keyPrefix) {
131
136
  function getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadataApiName) {
132
137
  return `$${nodeID}.${SERVICE_METADATA_PREFIX}.${serviceName}.${metadataType}.${metadataApiName}`;
133
138
  }
134
- function addServiceMetadata(broker, params, meta) {
135
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
136
- const { nodeID } = meta.caller || { nodeID: undefined };
137
- if (!nodeID) {
138
- console.log(`addServiceMetadata meta`, meta);
139
- }
140
- const { metadataType, metadataApiName, metadataServiceName } = meta || {
141
- metadataType: undefined,
142
- metadataApiName: undefined,
143
- metadataServiceName: undefined,
144
- };
145
- if (!metadataServiceName) {
146
- return;
147
- }
148
- const key = getServiceMetadataCacherKey(nodeID, metadataServiceName, metadataType, metadataApiName);
149
- yield broker.cacher.set(key, {
139
+ async function addServiceMetadata(broker, params, meta) {
140
+ const { nodeID } = meta.caller || { nodeID: undefined };
141
+ if (!nodeID) {
142
+ console.log(`addServiceMetadata meta`, meta);
143
+ }
144
+ const { metadataType, metadataApiName, metadataServiceName } = meta || {
145
+ metadataType: undefined,
146
+ metadataApiName: undefined,
147
+ metadataServiceName: undefined,
148
+ };
149
+ if (!metadataServiceName) {
150
+ return;
151
+ }
152
+ const key = getServiceMetadataCacherKey(nodeID, metadataServiceName, metadataType, metadataApiName);
153
+ await broker.cacher.set(key, {
154
+ nodeIds: [nodeID],
155
+ metadataType,
156
+ metadataApiName,
157
+ metadataServiceName,
158
+ metadata: params.data,
159
+ timestamp: new Date().getTime(),
160
+ });
161
+ }
162
+ async function maddServiceMetadata(broker, params, meta) {
163
+ const { nodeID } = meta.caller || { nodeID: undefined };
164
+ if (!nodeID) {
165
+ console.log(`addServiceMetadata meta`, meta);
166
+ }
167
+ const { metadataType, metadataServiceName } = meta || {
168
+ metadataType: undefined,
169
+ metadataServiceName: undefined,
170
+ };
171
+ const { data } = params;
172
+ if (!metadataServiceName || !data) {
173
+ return;
174
+ }
175
+ const mdata = {};
176
+ (0, lodash_1.map)(data, (value, metadataApiName) => {
177
+ mdata[getServiceMetadataCacherKey(nodeID, metadataServiceName, metadataType, metadataApiName)] = {
150
178
  nodeIds: [nodeID],
151
179
  metadataType,
152
180
  metadataApiName,
153
181
  metadataServiceName,
154
- metadata: params.data,
155
- timestamp: new Date().getTime(),
156
- });
157
- });
158
- }
159
- function maddServiceMetadata(broker, params, meta) {
160
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
161
- const { nodeID } = meta.caller || { nodeID: undefined };
162
- if (!nodeID) {
163
- console.log(`addServiceMetadata meta`, meta);
164
- }
165
- const { metadataType, metadataServiceName } = meta || {
166
- metadataType: undefined,
167
- metadataServiceName: undefined,
182
+ metadata: value,
168
183
  };
169
- const { data } = params;
170
- if (!metadataServiceName || !data) {
171
- return;
172
- }
173
- const mdata = {};
174
- (0, lodash_1.map)(data, (value, metadataApiName) => {
175
- mdata[getServiceMetadataCacherKey(nodeID, metadataServiceName, metadataType, metadataApiName)] = {
176
- nodeIds: [nodeID],
177
- metadataType,
178
- metadataApiName,
179
- metadataServiceName,
180
- metadata: value,
181
- };
182
- });
183
- yield mset(broker, mdata);
184
184
  });
185
+ await mset(broker, mdata);
185
186
  }
186
- function mget(broker, keys) {
187
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
188
- var _a;
189
- if (!keys || keys.length == 0) {
190
- return [];
187
+ async function mget(broker, keys) {
188
+ if (!keys || keys.length == 0) {
189
+ return [];
190
+ }
191
+ const keyPrefix = broker.cacher?.prefix || "";
192
+ const values = await broker.cacher.client.mget(...(0, lodash_1.map)(keys, (key) => {
193
+ if (key && !key.startsWith(keyPrefix)) {
194
+ return `${keyPrefix}${key}`;
195
+ }
196
+ else {
197
+ return key;
191
198
  }
192
- const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
193
- const values = yield broker.cacher.client.mget(...(0, lodash_1.map)(keys, (key) => {
194
- if (key && !key.startsWith(keyPrefix)) {
195
- return `${keyPrefix}${key}`;
199
+ }));
200
+ const results = [];
201
+ _.map(values, (item) => {
202
+ try {
203
+ if (item) {
204
+ results.push(JSON.parse(item));
196
205
  }
197
206
  else {
198
- return key;
199
- }
200
- }));
201
- const results = [];
202
- _.map(values, (item) => {
203
- try {
204
- if (item) {
205
- results.push(JSON.parse(item));
206
- }
207
- else {
208
- results.push(item);
209
- }
210
- }
211
- catch (error) {
212
207
  results.push(item);
213
208
  }
214
- });
215
- return results;
216
- });
217
- }
218
- function mset(broker, data) {
219
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
220
- var _a;
221
- if (_.isEmpty(data)) {
222
- return;
223
- }
224
- const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
225
- const mdata = {};
226
- _.map(data, (v, k) => {
227
- mdata[`${keyPrefix}${k}`] = JSON.stringify(v);
228
- });
229
- return yield broker.cacher.client.mset(mdata);
230
- });
231
- }
232
- function query(broker, queryKey) {
233
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
234
- var _a;
235
- try {
236
- const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
237
- const keys = yield redisScanKeys(broker.cacher.client, `${keyPrefix}${queryKey}`);
238
- const values = _.compact(yield mget(broker, keys));
239
- return values;
240
209
  }
241
210
  catch (error) {
211
+ results.push(item);
242
212
  }
243
- return [];
244
213
  });
214
+ return results;
215
+ }
216
+ async function mset(broker, data) {
217
+ if (_.isEmpty(data)) {
218
+ return;
219
+ }
220
+ const keyPrefix = broker.cacher?.prefix || "";
221
+ const mdata = {};
222
+ _.map(data, (v, k) => {
223
+ mdata[`${keyPrefix}${k}`] = JSON.stringify(v);
224
+ });
225
+ return await broker.cacher.client.mset(mdata);
226
+ }
227
+ async function query(broker, queryKey) {
228
+ try {
229
+ const keyPrefix = broker.cacher?.prefix || "";
230
+ const keys = await redisScanKeys(broker.cacher.client, `${keyPrefix}${queryKey}`);
231
+ const values = _.compact(await mget(broker, keys));
232
+ return values;
233
+ }
234
+ catch (error) {
235
+ }
236
+ return [];
245
237
  }
246
238
  function getPackageServiceCacherKey(nodeID, serviceName) {
247
239
  return `$${nodeID}.${PACKAGE_SERVICES_KEY}.${serviceName}`;
248
240
  }
249
- function setPackageServices(broker, packageServices) {
250
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
251
- var _a, packageServices_1, packageServices_1_1;
252
- var _b, e_1, _c, _d;
253
- try {
254
- for (_a = true, packageServices_1 = tslib_1.__asyncValues(packageServices); packageServices_1_1 = yield packageServices_1.next(), _b = packageServices_1_1.done, !_b; _a = true) {
255
- _d = packageServices_1_1.value;
256
- _a = false;
257
- const packageService = _d;
258
- broker.cacher.set(getPackageServiceCacherKey(packageService.nodeID, packageService.name), { service: packageService });
259
- }
260
- }
261
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
262
- finally {
263
- try {
264
- if (!_a && !_b && (_c = packageServices_1.return)) yield _c.call(packageServices_1);
265
- }
266
- finally { if (e_1) throw e_1.error; }
267
- }
268
- });
241
+ async function setPackageServices(broker, packageServices) {
242
+ for await (const packageService of packageServices) {
243
+ broker.cacher.set(getPackageServiceCacherKey(packageService.nodeID, packageService.name), { service: packageService });
244
+ }
269
245
  }
270
- function clearPackageServices(broker, packageServices) {
271
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
272
- var _a, packageServices_2, packageServices_2_1;
273
- var _b, e_2, _c, _d;
274
- try {
275
- for (_a = true, packageServices_2 = tslib_1.__asyncValues(packageServices); packageServices_2_1 = yield packageServices_2.next(), _b = packageServices_2_1.done, !_b; _a = true) {
276
- _d = packageServices_2_1.value;
277
- _a = false;
278
- const packageService = _d;
279
- let nodeID = null;
280
- let name = null;
281
- if (_.isString(packageService)) {
282
- let foo = packageService.split(".");
283
- nodeID = foo.splice(0, foo.length - 1).join(".");
284
- name = foo.join(".");
285
- }
286
- else if (_.isObject(packageService)) {
287
- nodeID = packageService.nodeID;
288
- name = packageService.name;
289
- }
290
- yield broker.cacher.del(getPackageServiceCacherKey(nodeID, name));
291
- }
246
+ async function clearPackageServices(broker, packageServices) {
247
+ for await (const packageService of packageServices) {
248
+ let nodeID = null;
249
+ let name = null;
250
+ if (_.isString(packageService)) {
251
+ let foo = packageService.split(".");
252
+ nodeID = foo.splice(0, foo.length - 1).join(".");
253
+ name = foo.join(".");
292
254
  }
293
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
294
- finally {
295
- try {
296
- if (!_a && !_b && (_c = packageServices_2.return)) yield _c.call(packageServices_2);
297
- }
298
- finally { if (e_2) throw e_2.error; }
255
+ else if (_.isObject(packageService)) {
256
+ nodeID = packageService.nodeID;
257
+ name = packageService.name;
299
258
  }
300
- });
259
+ await broker.cacher.del(getPackageServiceCacherKey(nodeID, name));
260
+ }
301
261
  }
302
- function getLastPackageServices(broker) {
303
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
304
- const packageServices = yield query(broker, getPackageServiceCacherKey("*", "*"));
305
- const services = [];
306
- packageServices.forEach((element) => {
307
- if (element) {
308
- services.push(element.service);
309
- }
310
- });
311
- return services;
262
+ async function getLastPackageServices(broker) {
263
+ const packageServices = await query(broker, getPackageServiceCacherKey("*", "*"));
264
+ const services = [];
265
+ packageServices.forEach((element) => {
266
+ if (element) {
267
+ services.push(element.service);
268
+ }
312
269
  });
270
+ return services;
313
271
  }
314
- function getPackageServices(broker) {
315
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
316
- const packageServices = [];
317
- const services = broker.registry.getServiceList({ withActions: true });
318
- _.each(services, (serviceItem) => {
319
- const { name, nodeID } = serviceItem;
320
- if (name.startsWith(PACKAGE_SERVICE_PREFIX)) {
321
- packageServices.push(Object.assign({}, serviceItem, { apiName: `${nodeID}.${name}` }));
322
- }
323
- });
324
- return packageServices;
272
+ async function getPackageServices(broker) {
273
+ const packageServices = [];
274
+ const services = broker.registry.getServiceList({ withActions: true });
275
+ _.each(services, (serviceItem) => {
276
+ const { name, nodeID } = serviceItem;
277
+ if (name.startsWith(PACKAGE_SERVICE_PREFIX)) {
278
+ packageServices.push(Object.assign({}, serviceItem, { apiName: `${nodeID}.${name}` }));
279
+ }
325
280
  });
281
+ return packageServices;
326
282
  }
327
- function clearPackageServiceMetadatas(broker, nodeID, packageServiceName) {
328
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
329
- const key = getServiceMetadataCacherKey(nodeID, packageServiceName, "*", "*");
330
- const clearMetadatas = yield query(broker, key);
331
- yield broker.cacher.clean(key);
332
- return clearMetadatas;
333
- });
283
+ async function clearPackageServiceMetadatas(broker, nodeID, packageServiceName) {
284
+ const key = getServiceMetadataCacherKey(nodeID, packageServiceName, "*", "*");
285
+ const clearMetadatas = await query(broker, key);
286
+ await broker.cacher.clean(key);
287
+ return clearMetadatas;
334
288
  }
335
- function clearPackageServicesMetadatas(broker, offlinePackageServices) {
336
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
337
- var _a, offlinePackageServices_1, offlinePackageServices_1_1;
338
- var _b, e_3, _c, _d;
339
- let clearMetadatas = [];
340
- try {
341
- for (_a = true, offlinePackageServices_1 = tslib_1.__asyncValues(offlinePackageServices); offlinePackageServices_1_1 = yield offlinePackageServices_1.next(), _b = offlinePackageServices_1_1.done, !_b; _a = true) {
342
- _d = offlinePackageServices_1_1.value;
343
- _a = false;
344
- const packageService = _d;
345
- let nodeID = null;
346
- let name = null;
347
- if (_.isString(packageService)) {
348
- let foo = packageService.split(".");
349
- nodeID = foo.splice(0, foo.length - 1).join(".");
350
- name = foo.join(".");
351
- }
352
- else if (_.isObject(packageService)) {
353
- nodeID = packageService.nodeID;
354
- name = packageService.name;
355
- }
356
- const clearPackageMetadatas = yield clearPackageServiceMetadatas(broker, nodeID, name);
357
- clearMetadatas = clearMetadatas.concat(clearPackageMetadatas);
358
- }
289
+ async function clearPackageServicesMetadatas(broker, offlinePackageServices) {
290
+ let clearMetadatas = [];
291
+ for await (const packageService of offlinePackageServices) {
292
+ let nodeID = null;
293
+ let name = null;
294
+ if (_.isString(packageService)) {
295
+ let foo = packageService.split(".");
296
+ nodeID = foo.splice(0, foo.length - 1).join(".");
297
+ name = foo.join(".");
359
298
  }
360
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
361
- finally {
362
- try {
363
- if (!_a && !_b && (_c = offlinePackageServices_1.return)) yield _c.call(offlinePackageServices_1);
364
- }
365
- finally { if (e_3) throw e_3.error; }
299
+ else if (_.isObject(packageService)) {
300
+ nodeID = packageService.nodeID;
301
+ name = packageService.name;
366
302
  }
367
- _.each(_.groupBy(clearMetadatas, "metadataType"), function (data, metadataType) {
368
- broker.emit(`${SERVICE_METADATA_PREFIX}.${metadataType}.clear`, {
369
- metadataType,
370
- metadataApiNames: _.pluck(data, "metadataApiName"),
371
- isClear: true,
372
- });
303
+ const clearPackageMetadatas = await clearPackageServiceMetadatas(broker, nodeID, name);
304
+ clearMetadatas = clearMetadatas.concat(clearPackageMetadatas);
305
+ }
306
+ _.each(_.groupBy(clearMetadatas, "metadataType"), function (data, metadataType) {
307
+ broker.emit(`${SERVICE_METADATA_PREFIX}.${metadataType}.clear`, {
308
+ metadataType,
309
+ metadataApiNames: _.pluck(data, "metadataApiName"),
310
+ isClear: true,
373
311
  });
374
312
  });
375
313
  }
376
- function getMetadataServices(broker) {
377
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
378
- var _a;
379
- const queryKey = `${METADATA_SERVICES_PREFIX}.*`;
380
- const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
381
- const keys = yield redisScanKeys(broker.cacher.client, `${keyPrefix}${queryKey}`);
382
- const values = [];
383
- for (const key of keys) {
384
- values.push(yield broker.cacher.get(getKey(key, keyPrefix)));
385
- }
386
- return values;
387
- });
314
+ async function getMetadataServices(broker) {
315
+ const queryKey = `${METADATA_SERVICES_PREFIX}.*`;
316
+ const keyPrefix = broker.cacher?.prefix || "";
317
+ const keys = await redisScanKeys(broker.cacher.client, `${keyPrefix}${queryKey}`);
318
+ const values = [];
319
+ for (const key of keys) {
320
+ values.push(await broker.cacher.get(getKey(key, keyPrefix)));
321
+ }
322
+ return values;
388
323
  }
389
- function lrange(broker_1, key_1) {
390
- return tslib_1.__awaiter(this, arguments, void 0, function* (broker, key, start = 0, end = -1) {
391
- return yield broker.cacher.client.lrange(key, start, end);
392
- });
324
+ async function lrange(broker, key, start = 0, end = -1) {
325
+ return await broker.cacher.client.lrange(key, start, end);
393
326
  }
394
- function started(broker) {
395
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
396
- return yield broker.cacher.set(`${METADATA_SERVICES_PREFIX}.${broker.nodeID}`, {});
397
- });
327
+ async function started(broker) {
328
+ return await broker.cacher.set(`${METADATA_SERVICES_PREFIX}.${broker.nodeID}`, {});
398
329
  }
399
- function stopped(broker) {
400
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
401
- yield broker.cacher.del(`${METADATA_SERVICES_PREFIX}.${broker.nodeID}`);
402
- const services = yield getMetadataServices(broker);
403
- if (!services || services.length === 0) {
404
- yield broker.cacher.clean(`**`);
405
- }
406
- });
330
+ async function stopped(broker) {
331
+ await broker.cacher.del(`${METADATA_SERVICES_PREFIX}.${broker.nodeID}`);
332
+ const services = await getMetadataServices(broker);
333
+ if (!services || services.length === 0) {
334
+ await broker.cacher.clean(`**`);
335
+ }
407
336
  }
408
337
  exports.Register = {
409
338
  clearPackageServices,
410
339
  clearPackageServicesMetadatas,
411
- get(broker, key) {
412
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
413
- try {
414
- return yield broker.cacher.get(key);
415
- }
416
- catch (error) { }
417
- });
418
- },
419
- mget(broker, keys) {
420
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
421
- try {
422
- return yield mget(broker, keys);
423
- }
424
- catch (error) { }
425
- });
340
+ async get(broker, key) {
341
+ try {
342
+ return await broker.cacher.get(key);
343
+ }
344
+ catch (error) { }
426
345
  },
427
- filter(broker, key) {
428
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
429
- return yield query(broker, key);
430
- });
346
+ async mget(broker, keys) {
347
+ try {
348
+ return await mget(broker, keys);
349
+ }
350
+ catch (error) { }
431
351
  },
432
- mfilter(broker, keys) {
433
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
434
- const queryAll = [];
435
- for (const key of keys) {
436
- queryAll.push(query(broker, key));
437
- }
438
- return yield Promise.all(queryAll);
439
- });
352
+ async filter(broker, key) {
353
+ return await query(broker, key);
440
354
  },
441
- add(broker, params, meta) {
442
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
443
- const { key } = params;
444
- return yield broker.cacher.set(key, transformMetadata(params, meta));
445
- });
355
+ async mfilter(broker, keys) {
356
+ const queryAll = [];
357
+ for (const key of keys) {
358
+ queryAll.push(query(broker, key));
359
+ }
360
+ return await Promise.all(queryAll);
446
361
  },
447
- madd(broker, params, meta) {
448
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
449
- return yield mset(broker, transformMetadatas(params, meta));
450
- });
362
+ async add(broker, params, meta) {
363
+ const { key } = params;
364
+ return await broker.cacher.set(key, transformMetadata(params, meta));
451
365
  },
452
- addServiceMetadata(broker, params, meta) {
453
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
454
- return yield addServiceMetadata(broker, params, meta);
455
- });
366
+ async madd(broker, params, meta) {
367
+ return await mset(broker, transformMetadatas(params, meta));
456
368
  },
457
- maddServiceMetadata(broker, params, meta) {
458
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
459
- return yield maddServiceMetadata(broker, params, meta);
460
- });
369
+ async addServiceMetadata(broker, params, meta) {
370
+ return await addServiceMetadata(broker, params, meta);
461
371
  },
462
- fuzzyDelete(broker, key) {
463
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
464
- var _a;
465
- const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
466
- const keys = yield redisScanKeys(broker.cacher.client, `${keyPrefix}${key}`);
467
- for (const _key of keys) {
468
- yield broker.cacher.del(getKey(_key, keyPrefix));
469
- }
470
- });
372
+ async maddServiceMetadata(broker, params, meta) {
373
+ return await maddServiceMetadata(broker, params, meta);
471
374
  },
472
- delete(broker, key) {
473
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
474
- try {
475
- yield broker.cacher.del(key);
476
- }
477
- catch (error) {
478
- broker.logger.info(error.message);
479
- }
480
- return true;
481
- });
375
+ async fuzzyDelete(broker, key) {
376
+ const keyPrefix = broker.cacher?.prefix || "";
377
+ const keys = await redisScanKeys(broker.cacher.client, `${keyPrefix}${key}`);
378
+ for (const _key of keys) {
379
+ await broker.cacher.del(getKey(_key, keyPrefix));
380
+ }
482
381
  },
483
- deleteServiceMetadata(broker, params) {
484
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
485
- try {
486
- let { nodeID, serviceName, metadataType, metadataApiName } = params;
487
- if (!nodeID) {
488
- throw new Error("nodeID is null");
489
- }
490
- if (!serviceName) {
491
- throw new Error("serviceName is null");
492
- }
493
- if (!metadataType) {
494
- throw new Error("metadataType is null");
495
- }
496
- if (!metadataApiName) {
497
- throw new Error("metadataApiName is null");
498
- }
499
- const key = getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadataApiName);
500
- yield broker.cacher.del(key);
501
- }
502
- catch (error) {
503
- broker.logger.info(error.message);
504
- }
505
- return true;
506
- });
382
+ async delete(broker, key) {
383
+ try {
384
+ await broker.cacher.del(key);
385
+ }
386
+ catch (error) {
387
+ broker.logger.info(error.message);
388
+ }
389
+ return true;
507
390
  },
508
- getServiceMetadatas(broker, params) {
509
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
391
+ async deleteServiceMetadata(broker, params) {
392
+ try {
510
393
  let { nodeID, serviceName, metadataType, metadataApiName } = params;
511
394
  if (!nodeID) {
512
- nodeID = "*";
395
+ throw new Error("nodeID is null");
513
396
  }
514
397
  if (!serviceName) {
515
- serviceName = "*";
398
+ throw new Error("serviceName is null");
516
399
  }
517
400
  if (!metadataType) {
518
- metadataType = "*";
401
+ throw new Error("metadataType is null");
519
402
  }
520
403
  if (!metadataApiName) {
521
- metadataApiName = "*";
404
+ throw new Error("metadataApiName is null");
522
405
  }
523
406
  const key = getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadataApiName);
524
- const result = yield query(broker, key);
525
- return result
526
- ? (0, lodash_1.filter)(result, (item) => {
527
- return item && item.metadataType === metadataType;
528
- })
529
- : result;
530
- });
407
+ await broker.cacher.del(key);
408
+ }
409
+ catch (error) {
410
+ broker.logger.info(error.message);
411
+ }
412
+ return true;
531
413
  },
532
- getServiceMetadata(broker, params, meta) {
533
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
534
- let { serviceName, metadataType, metadataApiName } = params;
535
- const { nodeID } = meta.caller || { nodeID: undefined };
536
- if (!nodeID) {
537
- console.log(`getServiceMetadata meta`, meta);
538
- }
539
- const key = getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadataApiName);
540
- return yield broker.cacher.get(key);
541
- });
414
+ async getServiceMetadatas(broker, params) {
415
+ let { nodeID, serviceName, metadataType, metadataApiName } = params;
416
+ if (!nodeID) {
417
+ nodeID = "*";
418
+ }
419
+ if (!serviceName) {
420
+ serviceName = "*";
421
+ }
422
+ if (!metadataType) {
423
+ metadataType = "*";
424
+ }
425
+ if (!metadataApiName) {
426
+ metadataApiName = "*";
427
+ }
428
+ const key = getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadataApiName);
429
+ const result = await query(broker, key);
430
+ return result
431
+ ? (0, lodash_1.filter)(result, (item) => {
432
+ return item && item.metadataType === metadataType;
433
+ })
434
+ : result;
542
435
  },
543
- removeServiceMetadata(broker, params, meta) {
544
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
545
- let { serviceName, metadataType, metadataApiName } = params;
546
- const { nodeID } = meta.caller || { nodeID: undefined };
547
- if (!nodeID) {
548
- console.log(`getServiceMetadata meta`, meta);
549
- }
550
- const key = getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadataApiName);
551
- return yield broker.cacher.del(key);
552
- });
436
+ async getServiceMetadata(broker, params, meta) {
437
+ let { serviceName, metadataType, metadataApiName } = params;
438
+ const { nodeID } = meta.caller || { nodeID: undefined };
439
+ if (!nodeID) {
440
+ console.log(`getServiceMetadata meta`, meta);
441
+ }
442
+ const key = getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadataApiName);
443
+ return await broker.cacher.get(key);
553
444
  },
554
- refreshServiceMetadatas(broker, params) {
555
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
556
- const { offlinePackageServices: _offlinePackageServices } = params || {
557
- offlinePackageServices: undefined,
558
- };
559
- const offlinePackageServicesListString = [];
560
- if (_offlinePackageServices && _offlinePackageServices.length > 0) {
561
- _.each(_offlinePackageServices, (item) => {
562
- if (!item) {
563
- throw new Error("offlinePackageInfo is null");
564
- }
565
- if (_.isString(item)) {
566
- throw new Error("offlinePackageInfo cannot be string");
445
+ async removeServiceMetadata(broker, params, meta) {
446
+ let { serviceName, metadataType, metadataApiName } = params;
447
+ const { nodeID } = meta.caller || { nodeID: undefined };
448
+ if (!nodeID) {
449
+ console.log(`getServiceMetadata meta`, meta);
450
+ }
451
+ const key = getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadataApiName);
452
+ return await broker.cacher.del(key);
453
+ },
454
+ async refreshServiceMetadatas(broker, params) {
455
+ const { offlinePackageServices: _offlinePackageServices } = params || {
456
+ offlinePackageServices: undefined,
457
+ };
458
+ const offlinePackageServicesListString = [];
459
+ if (_offlinePackageServices && _offlinePackageServices.length > 0) {
460
+ _.each(_offlinePackageServices, (item) => {
461
+ if (!item) {
462
+ throw new Error("offlinePackageInfo is null");
463
+ }
464
+ if (_.isString(item)) {
465
+ throw new Error("offlinePackageInfo cannot be string");
466
+ }
467
+ if (_.isObject(item)) {
468
+ const { nodeID, name } = item;
469
+ if (!_.isString(nodeID)) {
470
+ throw new Error("offlinePackageInfo.nodeID must be string");
567
471
  }
568
- if (_.isObject(item)) {
569
- const { nodeID, name } = item;
570
- if (!_.isString(nodeID)) {
571
- throw new Error("offlinePackageInfo.nodeID must be string");
572
- }
573
- if (!_.isString(name)) {
574
- throw new Error("offlinePackageInfo.name must be string");
575
- }
576
- offlinePackageServicesListString.push(`${nodeID}.${name}`);
472
+ if (!_.isString(name)) {
473
+ throw new Error("offlinePackageInfo.name must be string");
577
474
  }
578
- });
579
- yield broker.call("metadata.clearPackageServices", {
580
- offlinePackageServicesName: _offlinePackageServices,
581
- });
582
- }
583
- let packageServices = yield getPackageServices(broker);
584
- const packageServicesName = _.pluck(packageServices, "apiName");
585
- const lastPackageServices = yield getLastPackageServices(broker);
586
- const lastPackageServicesNames = _.pluck(lastPackageServices, "apiName");
587
- let offlinePackageServicesName = _.difference(lastPackageServicesNames, packageServicesName);
588
- let timeoutOfflinePackageServices = _.filter(lastPackageServices, (lastPackageService) => {
589
- return (lastPackageService &&
590
- _.include(offlinePackageServicesName, lastPackageService.apiName));
475
+ offlinePackageServicesListString.push(`${nodeID}.${name}`);
476
+ }
591
477
  });
592
- if (_offlinePackageServices && _offlinePackageServices.length > 0) {
593
- timeoutOfflinePackageServices = timeoutOfflinePackageServices.concat(_offlinePackageServices);
594
- const onlinePackageServicesName = _.difference(lastPackageServices, offlinePackageServicesListString);
595
- packageServices = _.filter(packageServices, (packageService) => {
596
- return (packageService &&
597
- _.include(onlinePackageServicesName, packageService.apiName));
598
- });
599
- }
600
- if (savePackageServicesTimeoutID) {
601
- clearTimeout(savePackageServicesTimeoutID);
602
- savePackageServicesTimeoutID = null;
603
- }
604
- if (!savePackageServicesTimeoutID) {
605
- savePackageServicesTimeoutID = setTimeout(() => {
606
- setPackageServices(broker, packageServices);
607
- }, 30 * 1000);
608
- }
609
- });
610
- },
611
- lpush(broker, params) {
612
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
613
- var _a;
614
- const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
615
- const key = params.key;
616
- const data = params.data;
617
- if (!_.isArray(data)) {
618
- throw new Error("data must be an array.");
619
- }
620
- const _data = [];
621
- _.each(data, (item) => {
622
- _data.push(JSON.stringify(item));
478
+ await broker.call("metadata.clearPackageServices", {
479
+ offlinePackageServicesName: _offlinePackageServices,
623
480
  });
624
- return yield broker.cacher.client.lpush(`${keyPrefix}${key}`, ..._data);
481
+ }
482
+ let packageServices = await getPackageServices(broker);
483
+ const packageServicesName = _.pluck(packageServices, "apiName");
484
+ const lastPackageServices = await getLastPackageServices(broker);
485
+ const lastPackageServicesNames = _.pluck(lastPackageServices, "apiName");
486
+ let offlinePackageServicesName = _.difference(lastPackageServicesNames, packageServicesName);
487
+ let timeoutOfflinePackageServices = _.filter(lastPackageServices, (lastPackageService) => {
488
+ return (lastPackageService &&
489
+ _.include(offlinePackageServicesName, lastPackageService.apiName));
625
490
  });
626
- },
627
- rpush(broker, params) {
628
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
629
- var _a;
630
- const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
631
- const key = params.key;
632
- const data = params.data;
633
- if (!_.isArray(data)) {
634
- throw new Error("data must be an array.");
635
- }
636
- const _data = [];
637
- _.each(data, (item) => {
638
- _data.push(JSON.stringify(item));
491
+ if (_offlinePackageServices && _offlinePackageServices.length > 0) {
492
+ timeoutOfflinePackageServices = timeoutOfflinePackageServices.concat(_offlinePackageServices);
493
+ const onlinePackageServicesName = _.difference(lastPackageServices, offlinePackageServicesListString);
494
+ packageServices = _.filter(packageServices, (packageService) => {
495
+ return (packageService &&
496
+ _.include(onlinePackageServicesName, packageService.apiName));
639
497
  });
640
- return yield broker.cacher.client.rpush(`${keyPrefix}${key}`, ..._data);
498
+ }
499
+ if (savePackageServicesTimeoutID) {
500
+ clearTimeout(savePackageServicesTimeoutID);
501
+ savePackageServicesTimeoutID = null;
502
+ }
503
+ if (!savePackageServicesTimeoutID) {
504
+ savePackageServicesTimeoutID = setTimeout(() => {
505
+ setPackageServices(broker, packageServices);
506
+ }, 30 * 1000);
507
+ }
508
+ },
509
+ async lpush(broker, params) {
510
+ const keyPrefix = broker.cacher?.prefix || "";
511
+ const key = params.key;
512
+ const data = params.data;
513
+ if (!_.isArray(data)) {
514
+ throw new Error("data must be an array.");
515
+ }
516
+ const _data = [];
517
+ _.each(data, (item) => {
518
+ _data.push(JSON.stringify(item));
641
519
  });
520
+ return await broker.cacher.client.lpush(`${keyPrefix}${key}`, ..._data);
642
521
  },
643
- lrange(broker, params) {
644
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
645
- var _a;
646
- const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
647
- const { key, start = 0, end = -1 } = params.key;
648
- return yield lrange(broker, `${keyPrefix}${key}`, start, end);
522
+ async rpush(broker, params) {
523
+ const keyPrefix = broker.cacher?.prefix || "";
524
+ const key = params.key;
525
+ const data = params.data;
526
+ if (!_.isArray(data)) {
527
+ throw new Error("data must be an array.");
528
+ }
529
+ const _data = [];
530
+ _.each(data, (item) => {
531
+ _data.push(JSON.stringify(item));
649
532
  });
533
+ return await broker.cacher.client.rpush(`${keyPrefix}${key}`, ..._data);
650
534
  },
651
- filterList(broker, params) {
652
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
653
- var _a;
654
- const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
655
- const { key } = params;
656
- const keys = yield redisScanKeys(broker.cacher.client, `${keyPrefix}${key}`);
657
- if (!keys || keys.length == 0) {
658
- return [];
659
- }
660
- const results = [];
661
- for (const itemKey of keys) {
662
- try {
663
- if (itemKey) {
664
- const itemList = yield lrange(broker, itemKey);
665
- if (itemList && _.isArray(itemList)) {
666
- _.each(itemList, (item) => {
667
- results.push(JSON.parse(item));
668
- });
669
- }
535
+ async lrange(broker, params) {
536
+ const keyPrefix = broker.cacher?.prefix || "";
537
+ const { key, start = 0, end = -1 } = params.key;
538
+ return await lrange(broker, `${keyPrefix}${key}`, start, end);
539
+ },
540
+ async filterList(broker, params) {
541
+ const keyPrefix = broker.cacher?.prefix || "";
542
+ const { key } = params;
543
+ const keys = await redisScanKeys(broker.cacher.client, `${keyPrefix}${key}`);
544
+ if (!keys || keys.length == 0) {
545
+ return [];
546
+ }
547
+ const results = [];
548
+ for (const itemKey of keys) {
549
+ try {
550
+ if (itemKey) {
551
+ const itemList = await lrange(broker, itemKey);
552
+ if (itemList && _.isArray(itemList)) {
553
+ _.each(itemList, (item) => {
554
+ results.push(JSON.parse(item));
555
+ });
670
556
  }
671
557
  }
672
- catch (error) {
673
- console.error(`error`, error);
674
- }
675
558
  }
676
- return results;
677
- });
559
+ catch (error) {
560
+ console.error(`error`, error);
561
+ }
562
+ }
563
+ return results;
678
564
  },
679
565
  };
680
566
  //# sourceMappingURL=index.js.map