@steedos/service-metadata-apps 2.2.39 → 2.2.42

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.
@@ -16,7 +16,7 @@ function registerApp(ctx, appApiName, data, meta) {
16
16
  }
17
17
  function getSpaceApp(ctx, appApiName) {
18
18
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
19
- const allApps = yield getAll(ctx);
19
+ const allApps = yield getAllApps(ctx);
20
20
  const userSession = ctx.meta.user;
21
21
  const spaceId = userSession.spaceId;
22
22
  const userApps = _.filter(allApps, function (metadataConfig) {
@@ -50,7 +50,7 @@ function get(ctx) {
50
50
  return metadataConfig;
51
51
  }
52
52
  else {
53
- const allApps = yield getAll(ctx);
53
+ const allApps = yield getAllApps(ctx);
54
54
  const userSession = ctx.meta.user;
55
55
  const spaceId = userSession.spaceId;
56
56
  const userApps = _.filter(allApps, function (metadataConfig) {
@@ -77,14 +77,25 @@ function get(ctx) {
77
77
  }
78
78
  });
79
79
  }
80
- function getAll(ctx) {
80
+ function getAllApps(ctx) {
81
81
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
82
82
  return yield ctx.broker.call('metadata.filter', { key: cacherKey("*") }, { meta: ctx.meta });
83
83
  });
84
84
  }
85
- function getObject(ctx, objectApiName) {
85
+ // async function getObject(ctx: any, objectApiName: string){
86
+ // return await ctx.broker.call('objects.get', {objectApiName})
87
+ // }
88
+ function getAllTabs(ctx) {
86
89
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
87
- return yield ctx.broker.call('objects.get', { objectApiName });
90
+ return yield ctx.broker.call('tabs.getAll');
91
+ });
92
+ }
93
+ function getContext(ctx) {
94
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
95
+ return {
96
+ tabs: yield getAllTabs(ctx),
97
+ objects: yield (0, objectql_1.getSteedosSchema)().getAllObject(),
98
+ };
88
99
  });
89
100
  }
90
101
  function getTab(ctx, tabApiName) {
@@ -93,13 +104,19 @@ function getTab(ctx, tabApiName) {
93
104
  return metadataConfig === null || metadataConfig === void 0 ? void 0 : metadataConfig.metadata;
94
105
  });
95
106
  }
96
- function getChildren(ctx, tabApiName) {
97
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
98
- return yield ctx.broker.call('tabs.getChildren', { tabApiName });
99
- });
107
+ // async function getChildren(ctx: any, tabApiName: string){
108
+ // return await ctx.broker.call('tabs.getChildren', {tabApiName});
109
+ // }
110
+ function getTabChildren(context, tabApiName) {
111
+ if (context) {
112
+ const { tabs } = context;
113
+ return _.filter(tabs, function (tab) {
114
+ return (tab === null || tab === void 0 ? void 0 : tab.metadata.parent) === tabApiName;
115
+ });
116
+ }
100
117
  }
101
118
  /**
102
- * 判断tab是否符号mobile配置
119
+ * 判断tab是否符合mobile配置
103
120
  * @param tab
104
121
  * @param mobile 是否是在移动设备上显示tab
105
122
  * @returns
@@ -124,17 +141,17 @@ function checkAppMobile(app, mobile) {
124
141
  }
125
142
  return isChecked;
126
143
  }
127
- function tabMenus(ctx, appPath, tabApiName, menu, mobile, userSession) {
128
- var e_1, _a;
144
+ function tabMenus(ctx, appPath, tabApiName, menu, mobile, userSession, context) {
129
145
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
130
146
  try {
147
+ const objectsConfigs = context.objects;
131
148
  const tab = yield getTab(ctx, tabApiName);
132
149
  if (tab) {
133
150
  const isMobileChecked = checkTabMobile(tab, mobile);
134
151
  if (!isMobileChecked) {
135
152
  return;
136
153
  }
137
- const tabChildren = yield getChildren(ctx, tabApiName);
154
+ const tabChildren = getTabChildren(context, tabApiName);
138
155
  if (tabChildren && tabChildren.length > 0) {
139
156
  const tabMenu = {
140
157
  id: tab.name,
@@ -142,20 +159,10 @@ function tabMenus(ctx, appPath, tabApiName, menu, mobile, userSession) {
142
159
  name: `${tab.label}`,
143
160
  children: []
144
161
  };
145
- try {
146
- for (var tabChildren_1 = (0, tslib_1.__asyncValues)(tabChildren), tabChildren_1_1; tabChildren_1_1 = yield tabChildren_1.next(), !tabChildren_1_1.done;) {
147
- const { metadata: tabChild } = tabChildren_1_1.value;
148
- if (tabChild && tabChild.apiName) {
149
- yield tabMenus(ctx, appPath, tabChild.apiName, tabMenu, mobile, userSession);
150
- }
151
- }
152
- }
153
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
154
- finally {
155
- try {
156
- if (tabChildren_1_1 && !tabChildren_1_1.done && (_a = tabChildren_1.return)) yield _a.call(tabChildren_1);
162
+ for (const { metadata: tabChild } of tabChildren) {
163
+ if (tabChild && tabChild.apiName) {
164
+ yield tabMenus(ctx, appPath, tabChild.apiName, tabMenu, mobile, userSession, context);
157
165
  }
158
- finally { if (e_1) throw e_1.error; }
159
166
  }
160
167
  menu.children.push(tabMenu);
161
168
  }
@@ -165,16 +172,19 @@ function tabMenus(ctx, appPath, tabApiName, menu, mobile, userSession) {
165
172
  if (!allowRead) {
166
173
  return;
167
174
  }
168
- const objectMetadata = yield getObject(ctx, tab.object);
175
+ // const objectMetadata = await getObject(ctx, tab.object);
176
+ const objectMetadata = _.find(objectsConfigs, (config) => {
177
+ return config && config.metadata.name === tab.object;
178
+ });
169
179
  if (objectMetadata) {
170
180
  const objectConfig = objectMetadata.metadata;
171
- (0, i18n_1.translationObject)(userSession.language, objectConfig.name, objectConfig);
181
+ const objectLabel = (0, i18n_1.translationObjectLabel)(userSession.language, objectConfig.name, objectConfig.label || objectConfig.name);
172
182
  menu.children.push({
173
183
  id: objectConfig.name,
174
184
  type: tab.type,
175
185
  icon: objectConfig.icon,
176
186
  path: `${appPath}/${objectConfig.name}`,
177
- name: `${objectConfig.label}`
187
+ name: `${objectLabel}`
178
188
  });
179
189
  }
180
190
  }
@@ -211,12 +221,10 @@ function tabMenus(ctx, appPath, tabApiName, menu, mobile, userSession) {
211
221
  }
212
222
  function objectAllowRead(objectApiName, userSession) {
213
223
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
214
- const userObjectPermission = yield (0, objectql_1.getObject)(objectApiName).getUserObjectPermission(userSession);
215
- return userObjectPermission.allowRead;
224
+ return yield (0, objectql_1.getObject)(objectApiName).allowRead(userSession);
216
225
  });
217
226
  }
218
- function transformAppToMenus(ctx, app, mobile, userSession) {
219
- var e_2, _a, e_3, _b;
227
+ function transformAppToMenus(ctx, app, mobile, userSession, context) {
220
228
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
221
229
  if (!app.code && !app._id) {
222
230
  return;
@@ -239,77 +247,61 @@ function transformAppToMenus(ctx, app, mobile, userSession) {
239
247
  children: []
240
248
  };
241
249
  if (_.isArray(app.tabs)) {
242
- try {
243
- for (var _c = (0, tslib_1.__asyncValues)(app.tabs), _d; _d = yield _c.next(), !_d.done;) {
244
- const tabApiName = _d.value;
245
- try {
246
- yield tabMenus(ctx, appPath, tabApiName, menu, mobile, userSession);
247
- }
248
- catch (error) {
249
- ctx.broker.logger.info(error.message);
250
- }
251
- }
252
- }
253
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
254
- finally {
250
+ for (const tabApiName of app.tabs) {
255
251
  try {
256
- if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c);
252
+ yield tabMenus(ctx, appPath, tabApiName, menu, mobile, userSession, context);
253
+ }
254
+ catch (error) {
255
+ ctx.broker.logger.info(error.message);
257
256
  }
258
- finally { if (e_2) throw e_2.error; }
259
257
  }
260
258
  }
261
259
  const objects = mobile ? app.mobile_objects : app.objects;
260
+ const objectsConfigs = context.objects;
262
261
  if (_.isArray(objects)) {
263
- try {
264
- for (var objects_1 = (0, tslib_1.__asyncValues)(objects), objects_1_1; objects_1_1 = yield objects_1.next(), !objects_1_1.done;) {
265
- const objectApiName = objects_1_1.value;
266
- try {
267
- const objectMetadata = yield getObject(ctx, objectApiName);
268
- if (!objectMetadata) {
269
- throw new Error(`${objectApiName} is not found in the objects of app ${app.code} `);
270
- }
271
- const allowRead = yield objectAllowRead(objectApiName, userSession);
272
- if (!allowRead) {
273
- continue;
274
- }
275
- if (objectMetadata) {
276
- const objectConfig = objectMetadata.metadata;
277
- (0, i18n_1.translationObject)(userSession.language, objectConfig.name, objectConfig);
278
- menu.children.push({
279
- id: objectConfig.name,
280
- icon: objectConfig.icon,
281
- path: `${appPath}/${objectConfig.name}`,
282
- name: `${objectConfig.label}`
283
- });
284
- }
262
+ for (const objectApiName of objects) {
263
+ try {
264
+ // const objectMetadata = await getObject(ctx, objectApiName);
265
+ const objectMetadata = _.find(objectsConfigs, (config) => {
266
+ return config && config.metadata.name === objectApiName;
267
+ });
268
+ if (!objectMetadata) {
269
+ throw new Error(`${objectApiName} is not found in the objects of app ${app.code} `);
285
270
  }
286
- catch (error) {
287
- ctx.broker.logger.error(error);
271
+ const allowRead = yield objectAllowRead(objectApiName, userSession);
272
+ if (!allowRead) {
273
+ continue;
274
+ }
275
+ if (objectMetadata) {
276
+ const objectConfig = objectMetadata.metadata;
277
+ const objectLabel = (0, i18n_1.translationObjectLabel)(userSession.language, objectConfig.name, objectConfig.label || objectConfig.name);
278
+ menu.children.push({
279
+ id: objectConfig.name,
280
+ icon: objectConfig.icon,
281
+ path: `${appPath}/${objectConfig.name}`,
282
+ name: `${objectLabel}`
283
+ });
288
284
  }
289
285
  }
290
- }
291
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
292
- finally {
293
- try {
294
- if (objects_1_1 && !objects_1_1.done && (_b = objects_1.return)) yield _b.call(objects_1);
286
+ catch (error) {
287
+ ctx.broker.logger.error(error);
295
288
  }
296
- finally { if (e_3) throw e_3.error; }
297
289
  }
298
290
  }
299
291
  return menu;
300
292
  });
301
293
  }
302
294
  function getAppsMenus(ctx) {
303
- var e_4, _a;
304
295
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
305
296
  const userSession = ctx.meta.user;
306
- let assigned_apps = yield (0, objectql_1.getAssignedApps)(userSession);
307
- const mobile = ctx.params.mobile;
308
297
  if (!userSession) {
309
298
  throw new Error('no permission.');
310
299
  }
300
+ let assigned_apps = yield (0, objectql_1.getAssignedApps)(userSession);
301
+ const mobile = ctx.params.mobile;
311
302
  const spaceId = userSession.spaceId;
312
- const metadataApps = yield getAll(ctx);
303
+ const metadataApps = yield getAllApps(ctx);
304
+ const context = yield getContext(ctx);
313
305
  const allApps = _.map(metadataApps, 'metadata');
314
306
  if (assigned_apps && assigned_apps.length) {
315
307
  assigned_apps = _.filter(allApps, (item) => { return assigned_apps.includes(item.code); });
@@ -343,22 +335,12 @@ function getAppsMenus(ctx) {
343
335
  }
344
336
  }
345
337
  });
346
- try {
347
- for (var _b = (0, tslib_1.__asyncValues)(_.sortBy(userApps, ['sort'])), _c; _c = yield _b.next(), !_c.done;) {
348
- const app = _c.value;
349
- const menu = yield transformAppToMenus(ctx, app, mobile, userSession);
350
- if (menu) {
351
- menus.push(menu);
352
- }
338
+ for (const app of _.sortBy(userApps, ['sort'])) {
339
+ const menu = yield transformAppToMenus(ctx, app, mobile, userSession, context);
340
+ if (menu) {
341
+ menus.push(menu);
353
342
  }
354
343
  }
355
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
356
- finally {
357
- try {
358
- if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b);
359
- }
360
- finally { if (e_4) throw e_4.error; }
361
- }
362
344
  if (!mobile) {
363
345
  menus.push({
364
346
  id: 'admin',
@@ -386,8 +368,9 @@ function getAppMenus(ctx) {
386
368
  if (_.has(appConfig, 'space') && appConfig.space && appConfig.space != spaceId) {
387
369
  return;
388
370
  }
389
- const appMeuns = yield transformAppToMenus(ctx, appConfig, mobile, userSession);
390
- return appMeuns;
371
+ const context = yield getContext(ctx);
372
+ const appMenus = yield transformAppToMenus(ctx, appConfig, mobile, userSession, context);
373
+ return appMenus;
391
374
  }
392
375
  });
393
376
  }
@@ -399,12 +382,13 @@ exports.ActionHandlers = {
399
382
  },
400
383
  getAll(ctx) {
401
384
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
402
- return yield getAll(ctx);
385
+ return yield getAllApps(ctx);
403
386
  });
404
387
  },
405
388
  getMenus(ctx) {
406
389
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
407
- return yield getAppsMenus(ctx);
390
+ const menus = yield getAppsMenus(ctx);
391
+ return menus;
408
392
  });
409
393
  },
410
394
  getAppMenus(ctx) {
@@ -438,28 +422,17 @@ exports.ActionHandlers = {
438
422
  });
439
423
  },
440
424
  refresh(ctx) {
441
- var e_5, _a;
442
425
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
443
426
  const { isClear, metadataApiNames } = ctx.params;
444
427
  if (isClear) {
445
- try {
446
- for (var metadataApiNames_1 = (0, tslib_1.__asyncValues)(metadataApiNames), metadataApiNames_1_1; metadataApiNames_1_1 = yield metadataApiNames_1.next(), !metadataApiNames_1_1.done;) {
447
- const metadataApiName = metadataApiNames_1_1.value;
448
- const appConfig = yield (0, _1.refreshApp)(ctx, metadataApiName);
449
- if (!appConfig) {
450
- yield ctx.broker.call('metadata.delete', { key: cacherKey(metadataApiName) });
451
- }
452
- else {
453
- yield registerApp(ctx, metadataApiName, appConfig, {});
454
- }
428
+ for (const metadataApiName of metadataApiNames) {
429
+ const appConfig = yield (0, _1.refreshApp)(ctx, metadataApiName);
430
+ if (!appConfig) {
431
+ yield ctx.broker.call('metadata.delete', { key: cacherKey(metadataApiName) });
455
432
  }
456
- }
457
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
458
- finally {
459
- try {
460
- if (metadataApiNames_1_1 && !metadataApiNames_1_1.done && (_a = metadataApiNames_1.return)) yield _a.call(metadataApiNames_1);
433
+ else {
434
+ yield registerApp(ctx, metadataApiName, appConfig, {});
461
435
  }
462
- finally { if (e_5) throw e_5.error; }
463
436
  }
464
437
  }
465
438
  });
@@ -1 +1 @@
1
- {"version":3,"file":"actionsHandler.js","sourceRoot":"","sources":["../src/actionsHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actionsHandler.js","sourceRoot":"","sources":["../src/actionsHandler.ts"],"names":[],"mappings":"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"}
@@ -39,14 +39,15 @@ module.exports = {
39
39
  }
40
40
  },
41
41
  getMenus: {
42
- rest: {
43
- method: "GET",
44
- path: "/menus"
45
- },
42
+ // rest: {
43
+ // method: "GET",
44
+ // path: "/menus"
45
+ // },
46
46
  params: {},
47
47
  handler(ctx) {
48
48
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
49
- return yield actionsHandler_1.ActionHandlers.getMenus(ctx);
49
+ const result = yield actionsHandler_1.ActionHandlers.getMenus(ctx);
50
+ return result;
50
51
  });
51
52
  }
52
53
  },
@@ -1 +1 @@
1
- {"version":3,"file":"apps.service.js","sourceRoot":"","sources":["../src/apps.service.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AACb,wBAAkC;AAClC,qDAAkD;AAClD,MAAM,CAAC,OAAO,GAAG;IACb,IAAI,EAAE,MAAM;IACZ;;OAEG;IACH,QAAQ,EAAE,EAET;IAED;;OAEG;IACH,YAAY,EAAE,CAAC,UAAU,CAAC;IAE1B,MAAM,EAAE;QACV,CAAC,aAAa,gBAAa,IAAI,CAAC,EAAE;YAClB,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7C,CAAC;aAAA;SACJ;KACP;IACE;;OAEG;IACH,OAAO,EAAE;QACL;;;;WAIG;QACH,GAAG,EAAE;YACK,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC;aAAA;SACJ;QACD,QAAQ,EAAC;YACL,IAAI,EAAE;gBACF,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,QAAQ;aACjB;YACD,MAAM,EAAE,EACP;YACK,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC9C,CAAC;aAAA;SACJ;QACD,WAAW,EAAE;YACT,IAAI,EAAE;gBACF,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,oBAAoB;aAC7B;YACD,MAAM,EAAE,EACP;YACK,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;aAAA;SACJ;QACD,MAAM,EAAE;YACE,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC;aAAA;SACJ;QACD,GAAG,EAAE;YACK,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC;aAAA;SACJ;QACD,MAAM,EAAE;YACE,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC;aAAA;SACJ;QACD,MAAM,EAAE;YACE,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC;aAAA;SACJ;KACJ;IACD,KAAK,EAAC;IACF,WAAW;IACX,8BAA8B;IAC9B,gCAAgC;IAChC,mGAAmG;IACnG,qCAAqC;IACrC,qBAAqB;IACrB,QAAQ;IACR,IAAI;KACP;IACD;;OAEG;IACH,OAAO,EAAE,EAER;IAED;;OAEG;IACH,OAAO;IAEP,CAAC;IAED;;OAEG;IACG,OAAO;;QAEb,CAAC;KAAA;IAED;;OAEG;IACG,OAAO;;QAEb,CAAC;KAAA;CACJ,CAAC"}
1
+ {"version":3,"file":"apps.service.js","sourceRoot":"","sources":["../src/apps.service.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AACb,wBAAkC;AAClC,qDAAkD;AAClD,MAAM,CAAC,OAAO,GAAG;IACb,IAAI,EAAE,MAAM;IACZ;;OAEG;IACH,QAAQ,EAAE,EAET;IAED;;OAEG;IACH,YAAY,EAAE,CAAC,UAAU,CAAC;IAE1B,MAAM,EAAE;QACV,CAAC,aAAa,gBAAa,IAAI,CAAC,EAAE;YAClB,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7C,CAAC;aAAA;SACJ;KACP;IACE;;OAEG;IACH,OAAO,EAAE;QACL;;;;WAIG;QACH,GAAG,EAAE;YACK,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC;aAAA;SACJ;QACD,QAAQ,EAAC;YACL,UAAU;YACV,qBAAqB;YACrB,qBAAqB;YACrB,KAAK;YACL,MAAM,EAAE,EACP;YACK,OAAO,CAAC,GAAG;;oBACb,MAAM,MAAM,GAAG,MAAM,+BAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAClD,OAAO,MAAM,CAAC;gBAClB,CAAC;aAAA;SACJ;QACD,WAAW,EAAE;YACT,IAAI,EAAE;gBACF,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,oBAAoB;aAC7B;YACD,MAAM,EAAE,EACP;YACK,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;aAAA;SACJ;QACD,MAAM,EAAE;YACE,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC;aAAA;SACJ;QACD,GAAG,EAAE;YACK,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC;aAAA;SACJ;QACD,MAAM,EAAE;YACE,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC;aAAA;SACJ;QACD,MAAM,EAAE;YACE,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,+BAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC;aAAA;SACJ;KACJ;IACD,KAAK,EAAC;IACF,WAAW;IACX,8BAA8B;IAC9B,gCAAgC;IAChC,mGAAmG;IACnG,qCAAqC;IACrC,qBAAqB;IACrB,QAAQ;IACR,IAAI;KACP;IACD;;OAEG;IACH,OAAO,EAAE,EAER;IAED;;OAEG;IACH,OAAO;IAEP,CAAC;IAED;;OAEG;IACG,OAAO;;QAEb,CAAC;KAAA;IAED;;OAEG;IACG,OAAO;;QAEb,CAAC;KAAA;CACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-metadata-apps",
3
- "version": "2.2.39",
3
+ "version": "2.2.42",
4
4
  "description": "",
5
5
  "main": "lib/apps.service.js",
6
6
  "scripts": {
@@ -20,7 +20,7 @@
20
20
  "author": "",
21
21
  "license": "MIT",
22
22
  "dependencies": {
23
- "@steedos/objectql": "2.2.39",
23
+ "@steedos/objectql": "2.2.42",
24
24
  "dotenv-flow": "^3.1.0",
25
25
  "ioredis": "^4.22.0",
26
26
  "lodash": "^4.17.21",
@@ -41,5 +41,5 @@
41
41
  "publishConfig": {
42
42
  "access": "public"
43
43
  },
44
- "gitHead": "9b26b926ccd65fc82b12bf2b8fec070f222f3c7a"
44
+ "gitHead": "16d059e7969e3e79d2f7f1f0347b88eb60a93e03"
45
45
  }
@@ -1,7 +1,7 @@
1
1
  import { getServiceAppConfig, METADATA_TYPE, refreshApp } from ".";
2
2
  import _ = require("lodash");
3
- import {translationApp, translationObject} from '@steedos/i18n';
4
- import {getAssignedApps, getObject as _getObject} from "@steedos/objectql";
3
+ import {translationApp, translationObjectLabel} from '@steedos/i18n';
4
+ import {getAssignedApps, getObject as _getObject, getSteedosSchema} from "@steedos/objectql";
5
5
 
6
6
  function cacherKey(appApiName: string): string{
7
7
  return `$steedos.#${METADATA_TYPE}.${appApiName}`
@@ -12,7 +12,7 @@ async function registerApp(ctx, appApiName, data, meta){
12
12
  }
13
13
 
14
14
  async function getSpaceApp(ctx: any, appApiName: string){
15
- const allApps = await getAll(ctx);
15
+ const allApps = await getAllApps(ctx);
16
16
  const userSession = ctx.meta.user;
17
17
  const spaceId = userSession.spaceId;
18
18
  const userApps = _.filter(allApps, function (metadataConfig) {
@@ -44,7 +44,7 @@ async function get(ctx: any){
44
44
  if(metadataConfig){
45
45
  return metadataConfig;
46
46
  }else{
47
- const allApps = await getAll(ctx);
47
+ const allApps = await getAllApps(ctx);
48
48
  const userSession = ctx.meta.user;
49
49
  const spaceId = userSession.spaceId;
50
50
  const userApps = _.filter(allApps, function (metadataConfig) {
@@ -71,12 +71,23 @@ async function get(ctx: any){
71
71
  }
72
72
  }
73
73
 
74
- async function getAll(ctx: any){
74
+ async function getAllApps(ctx: any){
75
75
  return await ctx.broker.call('metadata.filter', {key: cacherKey("*")}, {meta: ctx.meta})
76
76
  }
77
77
 
78
- async function getObject(ctx: any, objectApiName: string){
79
- return await ctx.broker.call('objects.get', {objectApiName})
78
+ // async function getObject(ctx: any, objectApiName: string){
79
+ // return await ctx.broker.call('objects.get', {objectApiName})
80
+ // }
81
+
82
+ async function getAllTabs(ctx: any){
83
+ return await ctx.broker.call('tabs.getAll');
84
+ }
85
+
86
+ async function getContext(ctx: any){
87
+ return {
88
+ tabs: await getAllTabs(ctx),
89
+ objects: await getSteedosSchema().getAllObject(),
90
+ }
80
91
  }
81
92
 
82
93
  async function getTab(ctx: any, tabApiName: string){
@@ -84,12 +95,21 @@ async function getTab(ctx: any, tabApiName: string){
84
95
  return metadataConfig?.metadata;
85
96
  }
86
97
 
87
- async function getChildren(ctx: any, tabApiName: string){
88
- return await ctx.broker.call('tabs.getChildren', {tabApiName});
98
+ // async function getChildren(ctx: any, tabApiName: string){
99
+ // return await ctx.broker.call('tabs.getChildren', {tabApiName});
100
+ // }
101
+
102
+ function getTabChildren(context: any, tabApiName: string){
103
+ if(context){
104
+ const { tabs } = context;
105
+ return _.filter(tabs, function(tab){
106
+ return tab?.metadata.parent === tabApiName
107
+ })
108
+ }
89
109
  }
90
110
 
91
111
  /**
92
- * 判断tab是否符号mobile配置
112
+ * 判断tab是否符合mobile配置
93
113
  * @param tab
94
114
  * @param mobile 是否是在移动设备上显示tab
95
115
  * @returns
@@ -115,15 +135,17 @@ function checkAppMobile(app, mobile){
115
135
  return isChecked;
116
136
  }
117
137
 
118
- async function tabMenus(ctx: any, appPath, tabApiName, menu, mobile, userSession){
138
+ async function tabMenus(ctx: any, appPath, tabApiName, menu, mobile, userSession, context){
119
139
  try {
140
+ const objectsConfigs = context.objects;
120
141
  const tab = await getTab(ctx, tabApiName);
121
142
  if(tab){
122
143
  const isMobileChecked = checkTabMobile(tab, mobile)
123
144
  if(!isMobileChecked){
124
145
  return;
125
146
  }
126
- const tabChildren = await getChildren(ctx, tabApiName);
147
+ const tabChildren = getTabChildren(context, tabApiName);
148
+
127
149
  if(tabChildren && tabChildren.length > 0){
128
150
  const tabMenu = {
129
151
  id: tab.name,
@@ -131,9 +153,9 @@ async function tabMenus(ctx: any, appPath, tabApiName, menu, mobile, userSession
131
153
  name: `${tab.label}`,
132
154
  children: []
133
155
  };
134
- for await (const {metadata: tabChild} of tabChildren) {
156
+ for (const {metadata: tabChild} of tabChildren) {
135
157
  if(tabChild && tabChild.apiName){
136
- await tabMenus(ctx, appPath, tabChild.apiName, tabMenu, mobile, userSession);
158
+ await tabMenus(ctx, appPath, tabChild.apiName, tabMenu, mobile, userSession, context);
137
159
  }
138
160
  }
139
161
  menu.children.push(tabMenu);
@@ -143,17 +165,20 @@ async function tabMenus(ctx: any, appPath, tabApiName, menu, mobile, userSession
143
165
  if(!allowRead){
144
166
  return;
145
167
  }
146
- const objectMetadata = await getObject(ctx, tab.object);
168
+ // const objectMetadata = await getObject(ctx, tab.object);
169
+ const objectMetadata = _.find(objectsConfigs, (config)=>{
170
+ return config && config.metadata.name === tab.object
171
+ });
147
172
  if(objectMetadata){
148
173
  const objectConfig = objectMetadata.metadata;
149
- translationObject(userSession.language, objectConfig.name, objectConfig)
174
+ const objectLabel = translationObjectLabel(userSession.language, objectConfig.name, objectConfig.label || objectConfig.name)
150
175
  menu.children.push(
151
176
  {
152
177
  id: objectConfig.name,
153
178
  type: tab.type,
154
179
  icon: objectConfig.icon,
155
180
  path: `${appPath}/${objectConfig.name}`,
156
- name: `${objectConfig.label}`
181
+ name: `${objectLabel}`
157
182
  }
158
183
  )
159
184
  }
@@ -192,11 +217,10 @@ async function tabMenus(ctx: any, appPath, tabApiName, menu, mobile, userSession
192
217
  }
193
218
  }
194
219
  async function objectAllowRead(objectApiName: string, userSession) {
195
- const userObjectPermission = await _getObject(objectApiName).getUserObjectPermission(userSession);
196
- return userObjectPermission.allowRead;
220
+ return await _getObject(objectApiName).allowRead(userSession);
197
221
  }
198
222
 
199
- async function transformAppToMenus(ctx, app, mobile, userSession){
223
+ async function transformAppToMenus(ctx, app, mobile, userSession, context){
200
224
  if(!app.code && !app._id){
201
225
  return;
202
226
  }
@@ -209,7 +233,6 @@ async function transformAppToMenus(ctx, app, mobile, userSession){
209
233
  if(!app.code){
210
234
  app.code = app._id;
211
235
  }
212
-
213
236
  translationApp(userSession.language, app.code, app);
214
237
  const appPath = `/app/${app.code}`
215
238
  const menu = {
@@ -220,23 +243,24 @@ async function transformAppToMenus(ctx, app, mobile, userSession){
220
243
  description: app.description,
221
244
  children: []
222
245
  }
223
-
224
246
  if(_.isArray(app.tabs)){
225
- for await (const tabApiName of app.tabs) {
247
+ for (const tabApiName of app.tabs) {
226
248
  try {
227
- await tabMenus(ctx, appPath, tabApiName, menu, mobile, userSession)
249
+ await tabMenus(ctx, appPath, tabApiName, menu, mobile, userSession, context)
228
250
  } catch (error) {
229
251
  ctx.broker.logger.info(error.message);
230
252
  }
231
253
  }
232
254
  }
233
-
234
255
  const objects = mobile ? app.mobile_objects : app.objects
235
-
256
+ const objectsConfigs = context.objects;
236
257
  if(_.isArray(objects)){
237
- for await (const objectApiName of objects) {
258
+ for (const objectApiName of objects) {
238
259
  try {
239
- const objectMetadata = await getObject(ctx, objectApiName);
260
+ // const objectMetadata = await getObject(ctx, objectApiName);
261
+ const objectMetadata = _.find(objectsConfigs, (config)=>{
262
+ return config && config.metadata.name === objectApiName
263
+ });
240
264
  if(!objectMetadata){
241
265
  throw new Error(`${objectApiName} is not found in the objects of app ${app.code} `)
242
266
  }
@@ -246,13 +270,13 @@ async function transformAppToMenus(ctx, app, mobile, userSession){
246
270
  }
247
271
  if(objectMetadata){
248
272
  const objectConfig = objectMetadata.metadata;
249
- translationObject(userSession.language, objectConfig.name, objectConfig)
273
+ const objectLabel = translationObjectLabel(userSession.language, objectConfig.name, objectConfig.label || objectConfig.name)
250
274
  menu.children.push(
251
275
  {
252
276
  id: objectConfig.name,
253
277
  icon: objectConfig.icon,
254
278
  path: `${appPath}/${objectConfig.name}`,
255
- name: `${objectConfig.label}`
279
+ name: `${objectLabel}`
256
280
  }
257
281
  )
258
282
  }
@@ -261,19 +285,20 @@ async function transformAppToMenus(ctx, app, mobile, userSession){
261
285
  }
262
286
  }
263
287
  }
264
-
265
288
  return menu;
266
289
  }
267
290
 
268
291
  async function getAppsMenus(ctx) {
269
292
  const userSession = ctx.meta.user;
270
- let assigned_apps = await getAssignedApps(userSession);
271
- const mobile = ctx.params.mobile;
272
293
  if (!userSession) {
273
294
  throw new Error('no permission.')
274
295
  }
296
+ let assigned_apps = await getAssignedApps(userSession);
297
+ const mobile = ctx.params.mobile;
298
+
275
299
  const spaceId = userSession.spaceId;
276
- const metadataApps = await getAll(ctx);
300
+ const metadataApps = await getAllApps(ctx);
301
+ const context = await getContext(ctx)
277
302
  const allApps = _.map(metadataApps, 'metadata');
278
303
  if(assigned_apps && assigned_apps.length){
279
304
  assigned_apps = _.filter(allApps, (item)=>{ return assigned_apps.includes(item.code)});
@@ -306,9 +331,8 @@ async function getAppsMenus(ctx) {
306
331
  }
307
332
  }
308
333
  })
309
-
310
- for await (const app of _.sortBy(userApps, ['sort'])) {
311
- const menu = await transformAppToMenus(ctx, app, mobile, userSession);
334
+ for (const app of _.sortBy(userApps, ['sort'])) {
335
+ const menu = await transformAppToMenus(ctx, app, mobile, userSession, context);
312
336
  if(menu){
313
337
  menus.push(menu);
314
338
  }
@@ -342,8 +366,9 @@ async function getAppMenus(ctx){
342
366
  if (_.has(appConfig, 'space') && appConfig.space && appConfig.space != spaceId) {
343
367
  return ;
344
368
  }
345
- const appMeuns = await transformAppToMenus(ctx, appConfig, mobile, userSession);
346
- return appMeuns;
369
+ const context = await getContext(ctx)
370
+ const appMenus = await transformAppToMenus(ctx, appConfig, mobile, userSession, context);
371
+ return appMenus;
347
372
  }
348
373
 
349
374
  }
@@ -353,10 +378,11 @@ export const ActionHandlers = {
353
378
  return await ctx.broker.call('metadata.get', {key: cacherKey(ctx.params.appApiName)}, {meta: ctx.meta})
354
379
  },
355
380
  async getAll(ctx: any): Promise<any> {
356
- return await getAll(ctx);
381
+ return await getAllApps(ctx);
357
382
  },
358
383
  async getMenus(ctx: any): Promise<any> {
359
- return await getAppsMenus(ctx);
384
+ const menus = await getAppsMenus(ctx);
385
+ return menus;
360
386
  },
361
387
  async getAppMenus(ctx: any): Promise<any> {
362
388
  return await getAppMenus(ctx);
@@ -383,7 +409,7 @@ export const ActionHandlers = {
383
409
  async refresh(ctx){
384
410
  const { isClear, metadataApiNames } = ctx.params
385
411
  if(isClear){
386
- for await (const metadataApiName of metadataApiNames) {
412
+ for (const metadataApiName of metadataApiNames) {
387
413
  const appConfig = await refreshApp(ctx, metadataApiName);
388
414
  if(!appConfig){
389
415
  await ctx.broker.call('metadata.delete', {key: cacherKey(metadataApiName)})
@@ -37,14 +37,15 @@ module.exports = {
37
37
  }
38
38
  },
39
39
  getMenus:{
40
- rest: {
41
- method: "GET",
42
- path: "/menus"
43
- },
40
+ // rest: {
41
+ // method: "GET",
42
+ // path: "/menus"
43
+ // },
44
44
  params: {
45
45
  },
46
46
  async handler(ctx) {
47
- return await ActionHandlers.getMenus(ctx);
47
+ const result = await ActionHandlers.getMenus(ctx);
48
+ return result;
48
49
  }
49
50
  },
50
51
  getAppMenus: {