@steedos/service-metadata-apps 2.4.0-beta.7 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -89,10 +89,11 @@ function getAllTabs(ctx) {
89
89
  }
90
90
  function getContext(ctx) {
91
91
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
92
+ const allTabs = yield getAllTabs(ctx);
93
+ const hiddenTabNames = yield getHiddenTabNames(ctx);
92
94
  return {
93
- tabs: yield getAllTabs(ctx),
94
- objects: yield (0, objectql_1.getSteedosSchema)().getAllObject(),
95
- hiddenTabNames: yield getHiddenTabNames(ctx)
95
+ tabs: allTabs,
96
+ hiddenTabNames: hiddenTabNames
96
97
  };
97
98
  });
98
99
  }
@@ -161,7 +162,6 @@ function getHiddenTabNames(ctx) {
161
162
  function tabMenus(ctx, appPath, tabApiName, menu, mobile, userSession, context, props = {}) {
162
163
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
163
164
  try {
164
- const objectsConfigs = context.objects;
165
165
  const tab = yield getTab(ctx, tabApiName);
166
166
  if (tab) {
167
167
  const isMobileChecked = checkTabMobile(tab, mobile);
@@ -184,11 +184,8 @@ function tabMenus(ctx, appPath, tabApiName, menu, mobile, userSession, context,
184
184
  if (!allowRead) {
185
185
  return;
186
186
  }
187
- const objectMetadata = _.find(objectsConfigs, (config) => {
188
- return config && config.metadata.name === tab.object;
189
- });
190
- if (objectMetadata) {
191
- const objectConfig = objectMetadata.metadata;
187
+ const objectConfig = yield (0, objectql_1.getObject)(tab.object).getConfig();
188
+ if (objectConfig) {
192
189
  const objectLabel = (0, i18n_1.translationObjectLabel)(userSession.language, objectConfig.name, objectConfig.label || objectConfig.name);
193
190
  menu.children.push(Object.assign({ id: objectConfig.name, type: tab.type, icon: objectConfig.icon, path: `${appPath}/${objectConfig.name}`, name: `${objectLabel}` }, props));
194
191
  }
@@ -235,6 +232,7 @@ function transformAppToMenus(ctx, app, mobile, userSession, context) {
235
232
  path: appPath,
236
233
  name: `${app.label || app.name}`,
237
234
  icon: app.icon_slds,
235
+ showSidebar: app.showSidebar,
238
236
  description: app.description,
239
237
  children: []
240
238
  };
@@ -279,40 +277,50 @@ function transformAppToMenus(ctx, app, mobile, userSession, context) {
279
277
  }
280
278
  }
281
279
  const objects = mobile ? app.mobile_objects : app.objects;
282
- const objectsConfigs = context.objects;
283
280
  if (_.isArray(objects)) {
281
+ const getChildrenPromises = [];
284
282
  for (const objectApiName of objects) {
285
- try {
286
- const objectMetadata = _.find(objectsConfigs, (config) => {
287
- return config && config.metadata.name === objectApiName;
288
- });
289
- if (!objectMetadata) {
290
- ctx.broker.logger.error(`${objectApiName} is not found in the objects of app ${app.code} `);
291
- continue;
292
- }
293
- const allowRead = yield objectAllowRead(objectApiName, userSession);
294
- if (!allowRead) {
295
- continue;
296
- }
297
- if (objectMetadata) {
298
- const objectConfig = objectMetadata.metadata;
299
- const objectLabel = (0, i18n_1.translationObjectLabel)(userSession.language, objectConfig.name, objectConfig.label || objectConfig.name);
300
- menu.children.push({
301
- id: objectConfig.name,
302
- icon: objectConfig.icon,
303
- path: `${appPath}/${objectConfig.name}`,
304
- name: `${objectLabel}`
305
- });
306
- }
307
- }
308
- catch (error) {
309
- ctx.broker.logger.error(error);
283
+ getChildrenPromises.push(getMenuChildren({
284
+ objectApiName, userSession, ctx, appPath, app
285
+ }));
286
+ }
287
+ const children = yield Promise.all(getChildrenPromises);
288
+ for (const child of children) {
289
+ if (child) {
290
+ menu.children.push(child);
310
291
  }
311
292
  }
312
293
  }
313
294
  return menu;
314
295
  });
315
296
  }
297
+ function getMenuChildren({ objectApiName, userSession, ctx, appPath, app }) {
298
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
299
+ try {
300
+ const objectConfig = yield (0, objectql_1.getObject)(objectApiName).getConfig();
301
+ if (!objectConfig) {
302
+ ctx.broker.logger.error(`${objectApiName} is not found in the objects of app ${app.code} `);
303
+ return;
304
+ }
305
+ const allowRead = yield objectAllowRead(objectApiName, userSession);
306
+ if (!allowRead) {
307
+ return;
308
+ }
309
+ if (objectConfig) {
310
+ const objectLabel = (0, i18n_1.translationObjectLabel)(userSession.language, objectConfig.name, objectConfig.label || objectConfig.name);
311
+ return {
312
+ id: objectConfig.name,
313
+ icon: objectConfig.icon,
314
+ path: `${appPath}/${objectConfig.name}`,
315
+ name: `${objectLabel}`
316
+ };
317
+ }
318
+ }
319
+ catch (error) {
320
+ ctx.broker.logger.error(error);
321
+ }
322
+ });
323
+ }
316
324
  function getAppsMenus(ctx) {
317
325
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
318
326
  const userSession = ctx.meta.user;
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-metadata-apps",
3
- "version": "2.4.0-beta.7",
3
+ "version": "2.4.0",
4
4
  "description": "",
5
5
  "main": "lib/apps.service.js",
6
6
  "scripts": {
@@ -14,13 +14,13 @@
14
14
  "dc:up": "docker-compose up --build -d",
15
15
  "dc:logs": "docker-compose logs -f",
16
16
  "dc:down": "docker-compose down",
17
- "build": "tsc"
17
+ "build": "rm -rf ./lib && tsc"
18
18
  },
19
19
  "author": "",
20
20
  "license": "MIT",
21
21
  "dependencies": {
22
- "@steedos/i18n": "2.4.0-beta.7",
23
- "@steedos/objectql": "2.4.0-beta.7",
22
+ "@steedos/i18n": "2.4.0",
23
+ "@steedos/objectql": "2.4.0",
24
24
  "dotenv-flow": "^3.1.0",
25
25
  "ioredis": "^4.22.0",
26
26
  "lodash": "^4.17.21",
@@ -34,5 +34,5 @@
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
- "gitHead": "581c4cad88be53dbc0c6f4c4f13a3e645702d555"
37
+ "gitHead": "70a4e7417d8d86c47cf5c7e3bbe0e89f2cee4222"
38
38
  }
@@ -1,23 +1,23 @@
1
1
  import { getServiceAppConfig, METADATA_TYPE, refreshApp } from ".";
2
2
  import _ = require("lodash");
3
- import {translationApp, translationObjectLabel} from '@steedos/i18n';
4
- import {getAssignedApps, getObject as _getObject, getSteedosSchema} from "@steedos/objectql";
3
+ import { translationApp, translationObjectLabel } from '@steedos/i18n';
4
+ import { getAssignedApps, getObject as _getObject } from "@steedos/objectql";
5
5
 
6
- function cacherKey(appApiName: string): string{
6
+ function cacherKey(appApiName: string): string {
7
7
  return `$steedos.#${METADATA_TYPE}.${appApiName}`
8
8
  }
9
9
 
10
- async function registerApp(ctx, appApiName, data, meta){
11
- return await ctx.broker.call('metadata.add', {key: cacherKey(appApiName), data: data}, {meta: meta});
10
+ async function registerApp(ctx, appApiName, data, meta) {
11
+ return await ctx.broker.call('metadata.add', { key: cacherKey(appApiName), data: data }, { meta: meta });
12
12
  }
13
13
 
14
- async function getSpaceApp(ctx: any, appApiName: string){
14
+ async function getSpaceApp(ctx: any, appApiName: string) {
15
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) {
19
19
  const config = metadataConfig.metadata;
20
- if(!config.is_creator || !config.visible){
20
+ if (!config.is_creator || !config.visible) {
21
21
  return false;
22
22
  }
23
23
  if (_.has(config, 'space') && config.space) {
@@ -28,28 +28,28 @@ async function getSpaceApp(ctx: any, appApiName: string){
28
28
  }
29
29
  return true;
30
30
  });
31
-
32
- return _.find(userApps, function(metadataConfig){
31
+
32
+ return _.find(userApps, function (metadataConfig) {
33
33
  const config = metadataConfig.metadata;
34
34
  return config.space && config.code === appApiName
35
35
  })
36
36
  }
37
37
 
38
- async function get(ctx: any){
38
+ async function get(ctx: any) {
39
39
  const spaceAppMetadataConfig = await getSpaceApp(ctx, ctx.params.appApiName)
40
- if(spaceAppMetadataConfig){
41
- return spaceAppMetadataConfig;
42
- }else{
43
- const metadataConfig = await ctx.broker.call('metadata.get', {key: cacherKey(ctx.params.appApiName)}, {meta: ctx.meta});
44
- if(metadataConfig){
40
+ if (spaceAppMetadataConfig) {
41
+ return spaceAppMetadataConfig;
42
+ } else {
43
+ const metadataConfig = await ctx.broker.call('metadata.get', { key: cacherKey(ctx.params.appApiName) }, { meta: ctx.meta });
44
+ if (metadataConfig) {
45
45
  return metadataConfig;
46
- }else{
46
+ } else {
47
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) {
51
51
  const config = metadataConfig.metadata;
52
- if(!config.is_creator || !config.visible){
52
+ if (!config.is_creator || !config.visible) {
53
53
  return false;
54
54
  }
55
55
  if (_.has(config, 'space') && config.space) {
@@ -60,10 +60,10 @@ async function get(ctx: any){
60
60
  }
61
61
  return true;
62
62
  })
63
- if(ctx.params.appApiName === '-'){
63
+ if (ctx.params.appApiName === '-') {
64
64
  return _.first(_.sortBy(userApps, ['metadata.sort']));
65
65
  }
66
- return _.find(userApps, function(metadataConfig){
66
+ return _.find(userApps, function (metadataConfig) {
67
67
  const app = metadataConfig.metadata;
68
68
  return app.code === ctx.params.appApiName
69
69
  })
@@ -71,28 +71,31 @@ async function get(ctx: any){
71
71
  }
72
72
  }
73
73
 
74
- async function getAllApps(ctx: any){
75
- return await ctx.broker.call('metadata.filter', {key: cacherKey("*")}, {meta: ctx.meta})
74
+ async function getAllApps(ctx: any) {
75
+ return await ctx.broker.call('metadata.filter', { key: cacherKey("*") }, { meta: ctx.meta })
76
76
  }
77
77
 
78
78
  // async function getObject(ctx: any, objectApiName: string){
79
79
  // return await ctx.broker.call('objects.get', {objectApiName})
80
80
  // }
81
81
 
82
- async function getAllTabs(ctx: any){
82
+ async function getAllTabs(ctx: any) {
83
83
  return await ctx.broker.call('tabs.getAll');
84
84
  }
85
85
 
86
- async function getContext(ctx: any){
86
+ async function getContext(ctx: any) {
87
+ const allTabs = await getAllTabs(ctx)
88
+ // const allObject = await getSteedosSchema().getAllObject()
89
+ const hiddenTabNames = await getHiddenTabNames(ctx)
87
90
  return {
88
- tabs: await getAllTabs(ctx),
89
- objects: await getSteedosSchema().getAllObject(),
90
- hiddenTabNames: await getHiddenTabNames(ctx)
91
+ tabs: allTabs,
92
+ // objects: allObject,
93
+ hiddenTabNames: hiddenTabNames
91
94
  }
92
95
  }
93
96
 
94
- async function getTab(ctx: any, tabApiName: string){
95
- const metadataConfig = await ctx.broker.call('tabs.get', {tabApiName});
97
+ async function getTab(ctx: any, tabApiName: string) {
98
+ const metadataConfig = await ctx.broker.call('tabs.get', { tabApiName });
96
99
  return metadataConfig?.metadata;
97
100
  }
98
101
 
@@ -100,10 +103,10 @@ async function getTab(ctx: any, tabApiName: string){
100
103
  // return await ctx.broker.call('tabs.getChildren', {tabApiName});
101
104
  // }
102
105
 
103
- function getTabChildren(context: any, tabApiName: string){
104
- if(context){
106
+ function getTabChildren(context: any, tabApiName: string) {
107
+ if (context) {
105
108
  const { tabs } = context;
106
- return _.filter(tabs, function(tab){
109
+ return _.filter(tabs, function (tab) {
107
110
  return tab?.metadata.parent === tabApiName
108
111
  })
109
112
  }
@@ -115,22 +118,22 @@ function getTabChildren(context: any, tabApiName: string){
115
118
  * @param mobile 是否是在移动设备上显示tab
116
119
  * @returns
117
120
  */
118
- function checkTabMobile(tab, mobile){
121
+ function checkTabMobile(tab, mobile) {
119
122
  let isChecked = false;
120
- if(mobile === true || mobile === "true"){
123
+ if (mobile === true || mobile === "true") {
121
124
  isChecked = tab.mobile !== false;
122
125
  }
123
- else{
126
+ else {
124
127
  isChecked = tab.desktop !== false;
125
128
  }
126
129
  return isChecked;
127
130
  }
128
- function checkAppMobile(app, mobile){
131
+ function checkAppMobile(app, mobile) {
129
132
  let isChecked = false;
130
- if(mobile === true || mobile === "true"){
133
+ if (mobile === true || mobile === "true") {
131
134
  isChecked = app.mobile !== false;
132
135
  }
133
- else{
136
+ else {
134
137
  isChecked = app.is_creator !== false;
135
138
  }
136
139
  return isChecked;
@@ -168,18 +171,18 @@ async function getHiddenTabNames(ctx) {
168
171
  return hiddenTabNames
169
172
  }
170
173
 
171
- async function tabMenus(ctx: any, appPath, tabApiName, menu, mobile, userSession, context, props = {}){
174
+ async function tabMenus(ctx: any, appPath, tabApiName, menu, mobile, userSession, context, props = {}) {
172
175
  try {
173
- const objectsConfigs = context.objects;
176
+ // const objectsConfigs = context.objects;
174
177
  const tab = await getTab(ctx, tabApiName);
175
- if(tab){
178
+ if (tab) {
176
179
  const isMobileChecked = checkTabMobile(tab, mobile)
177
- if(!isMobileChecked){
180
+ if (!isMobileChecked) {
178
181
  return;
179
182
  }
180
183
  const tabChildren = getTabChildren(context, tabApiName);
181
-
182
- if(tabChildren && tabChildren.length > 0){
184
+
185
+ if (tabChildren && tabChildren.length > 0) {
183
186
  const tabMenu = {
184
187
  id: tab.name,
185
188
  icon: tab.icon,
@@ -187,24 +190,25 @@ async function tabMenus(ctx: any, appPath, tabApiName, menu, mobile, userSession
187
190
  children: [],
188
191
  ...props
189
192
  };
190
- for (const {metadata: tabChild} of tabChildren) {
191
- if(tabChild && tabChild.apiName){
193
+ for (const { metadata: tabChild } of tabChildren) {
194
+ if (tabChild && tabChild.apiName) {
192
195
  await tabMenus(ctx, appPath, tabChild.apiName, tabMenu, mobile, userSession, context);
193
196
  }
194
197
  }
195
198
  menu.children.push(tabMenu);
196
- }else{
197
- if(tab.type === 'object'){
199
+ } else {
200
+ if (tab.type === 'object') {
198
201
  const allowRead = await objectAllowRead(tab.object, userSession);
199
- if(!allowRead){
202
+ if (!allowRead) {
200
203
  return;
201
204
  }
202
205
  // const objectMetadata = await getObject(ctx, tab.object);
203
- const objectMetadata = _.find(objectsConfigs, (config)=>{
204
- return config && config.metadata.name === tab.object
205
- });
206
- if(objectMetadata){
207
- const objectConfig = objectMetadata.metadata;
206
+ // const objectMetadata = _.find(objectsConfigs, (config) => {
207
+ // return config && config.metadata.name === tab.object
208
+ // });
209
+ const objectConfig = await _getObject(tab.object).getConfig()
210
+ if (objectConfig) {
211
+ // const objectConfig = objectMetadata.metadata;
208
212
  const objectLabel = translationObjectLabel(userSession.language, objectConfig.name, objectConfig.label || objectConfig.name)
209
213
  menu.children.push(
210
214
  {
@@ -218,7 +222,7 @@ async function tabMenus(ctx: any, appPath, tabApiName, menu, mobile, userSession
218
222
  )
219
223
  }
220
224
  }
221
- if(tab.type === 'url'){
225
+ if (tab.type === 'url') {
222
226
  let urlMenu: any = {
223
227
  id: `${tab.name}`,
224
228
  type: tab.type,
@@ -227,14 +231,14 @@ async function tabMenus(ctx: any, appPath, tabApiName, menu, mobile, userSession
227
231
  name: `${tab.label}`,
228
232
  ...props
229
233
  };
230
- if(tab.is_new_window){
231
- urlMenu.target ='_blank'
234
+ if (tab.is_new_window) {
235
+ urlMenu.target = '_blank'
232
236
  }
233
237
  menu.children.push(
234
238
  urlMenu
235
239
  )
236
240
  }
237
- if(tab.type === 'page'){
241
+ if (tab.type === 'page') {
238
242
  menu.children.push(
239
243
  {
240
244
  id: `${tab.name}`,
@@ -257,17 +261,17 @@ async function objectAllowRead(objectApiName: string, userSession) {
257
261
  return await _getObject(objectApiName).allowRead(userSession);
258
262
  }
259
263
 
260
- async function transformAppToMenus(ctx, app, mobile, userSession, context){
261
- if(!app.code && !app._id){
264
+ async function transformAppToMenus(ctx, app, mobile, userSession, context) {
265
+ if (!app.code && !app._id) {
262
266
  return;
263
267
  }
264
268
 
265
269
  const isAppShow = checkAppMobile(app, mobile);
266
- if(!isAppShow){
270
+ if (!isAppShow) {
267
271
  return;
268
272
  }
269
273
 
270
- if(!app.code){
274
+ if (!app.code) {
271
275
  app.code = app._id;
272
276
  }
273
277
  translationApp(userSession.language, app.code, app);
@@ -277,13 +281,14 @@ async function transformAppToMenus(ctx, app, mobile, userSession, context){
277
281
  path: appPath,
278
282
  name: `${app.label || app.name}`,
279
283
  icon: app.icon_slds,
284
+ showSidebar: app.showSidebar,
280
285
  description: app.description,
281
286
  children: []
282
287
  }
283
288
  const hiddenTabNames = context.hiddenTabNames || []
284
- if(app.tab_items){
289
+ if (app.tab_items) {
285
290
  // app.tab_items is array
286
- if(_.isArray(app.tab_items)){
291
+ if (_.isArray(app.tab_items)) {
287
292
  for (const item of app.tab_items) {
288
293
  try {
289
294
  if (hiddenTabNames.includes(item.tab_name)) continue;
@@ -292,7 +297,7 @@ async function transformAppToMenus(ctx, app, mobile, userSession, context){
292
297
  ctx.broker.logger.info(error.message);
293
298
  }
294
299
  }
295
- }else{
300
+ } else {
296
301
  for (const tabApiName in app.tab_items) {
297
302
  try {
298
303
  if (hiddenTabNames.includes(tabApiName)) continue;
@@ -303,7 +308,7 @@ async function transformAppToMenus(ctx, app, mobile, userSession, context){
303
308
  }
304
309
  }
305
310
  }
306
- }else if(_.isArray(app.tabs)){
311
+ } else if (_.isArray(app.tabs)) {
307
312
  for (const tabApiName of app.tabs) {
308
313
  try {
309
314
  if (hiddenTabNames.includes(tabApiName)) continue;
@@ -314,42 +319,50 @@ async function transformAppToMenus(ctx, app, mobile, userSession, context){
314
319
  }
315
320
  }
316
321
  const objects = mobile ? app.mobile_objects : app.objects
317
- const objectsConfigs = context.objects;
318
- if(_.isArray(objects)){
322
+ // const objectsConfigs = context.objects;
323
+ if (_.isArray(objects)) {
324
+ const getChildrenPromises = []
319
325
  for (const objectApiName of objects) {
320
- try {
321
- // const objectMetadata = await getObject(ctx, objectApiName);
322
- const objectMetadata = _.find(objectsConfigs, (config)=>{
323
- return config && config.metadata.name === objectApiName
324
- });
325
- if(!objectMetadata){
326
- ctx.broker.logger.error(`${objectApiName} is not found in the objects of app ${app.code} `)
327
- continue;
328
- }
329
- const allowRead = await objectAllowRead(objectApiName, userSession);
330
- if(!allowRead){
331
- continue;
332
- }
333
- if(objectMetadata){
334
- const objectConfig = objectMetadata.metadata;
335
- const objectLabel = translationObjectLabel(userSession.language, objectConfig.name, objectConfig.label || objectConfig.name)
336
- menu.children.push(
337
- {
338
- id: objectConfig.name,
339
- icon: objectConfig.icon,
340
- path: `${appPath}/${objectConfig.name}`,
341
- name: `${objectLabel}`
342
- }
343
- )
344
- }
345
- } catch (error) {
346
- ctx.broker.logger.error(error);
326
+ getChildrenPromises.push(getMenuChildren({
327
+ objectApiName, userSession, ctx, appPath, app
328
+ }))
329
+ }
330
+ const children = await Promise.all(getChildrenPromises)
331
+ for (const child of children) {
332
+ if (child) {
333
+ menu.children.push(child)
347
334
  }
348
335
  }
349
336
  }
350
337
  return menu;
351
338
  }
352
339
 
340
+ async function getMenuChildren({ objectApiName, userSession, ctx, appPath, app }) {
341
+ try {
342
+ const objectConfig = await _getObject(objectApiName).getConfig()
343
+ if (!objectConfig) {
344
+ ctx.broker.logger.error(`${objectApiName} is not found in the objects of app ${app.code} `)
345
+ return
346
+ }
347
+ const allowRead = await objectAllowRead(objectApiName, userSession);
348
+ if (!allowRead) {
349
+ return
350
+ }
351
+ if (objectConfig) {
352
+ // const objectConfig = objectMetadata.metadata;
353
+ const objectLabel = translationObjectLabel(userSession.language, objectConfig.name, objectConfig.label || objectConfig.name)
354
+ return {
355
+ id: objectConfig.name,
356
+ icon: objectConfig.icon,
357
+ path: `${appPath}/${objectConfig.name}`,
358
+ name: `${objectLabel}`
359
+ }
360
+ }
361
+ } catch (error) {
362
+ ctx.broker.logger.error(error);
363
+ }
364
+ }
365
+
353
366
  async function getAppsMenus(ctx) {
354
367
  const userSession = ctx.meta.user;
355
368
  if (!userSession) {
@@ -357,28 +370,28 @@ async function getAppsMenus(ctx) {
357
370
  }
358
371
  let assigned_apps = await getAssignedApps(userSession);
359
372
  let mobile = ctx.params.mobile;
360
- if(typeof mobile !== 'boolean'){
373
+ if (typeof mobile !== 'boolean') {
361
374
  mobile = mobile === "true" ? true : false;
362
375
  }
363
376
  const spaceId = userSession.spaceId;
364
377
  const metadataApps = await getAllApps(ctx);
365
378
  const context = await getContext(ctx)
366
379
  const allApps = _.map(metadataApps, 'metadata');
367
- if(assigned_apps && assigned_apps.length){
368
- assigned_apps = _.filter(allApps, (item)=>{ return assigned_apps.includes(item.code)});
369
- }else{
380
+ if (assigned_apps && assigned_apps.length) {
381
+ assigned_apps = _.filter(allApps, (item) => { return assigned_apps.includes(item.code) });
382
+ } else {
370
383
  assigned_apps = allApps;
371
384
  }
372
385
  const _userApps = _.filter(assigned_apps, function (config) {
373
- if(!config.is_creator || !config.visible){
386
+ if (!config.is_creator || !config.visible) {
374
387
  return false;
375
388
  }
376
389
 
377
- if(config._id === config.code){
378
- let dbApp = _.find(assigned_apps, (item)=>{
390
+ if (config._id === config.code) {
391
+ let dbApp = _.find(assigned_apps, (item) => {
379
392
  return item.code === config.code && item._id != item.code && item.space === spaceId;
380
393
  });
381
- if(dbApp){
394
+ if (dbApp) {
382
395
  return dbApp.visible
383
396
  }
384
397
  }
@@ -391,27 +404,27 @@ async function getAppsMenus(ctx) {
391
404
  const menus = [];
392
405
 
393
406
  let userApps = [];
394
- _.each(_.sortBy(_userApps, ['sort']), function(app){
395
- if(!app.code){
407
+ _.each(_.sortBy(_userApps, ['sort']), function (app) {
408
+ if (!app.code) {
396
409
  app.code = app._id;
397
410
  }
398
- const _appIndex = _.findIndex(userApps, function(item){ return item.code === app.code});
399
- if(_appIndex < 0){
411
+ const _appIndex = _.findIndex(userApps, function (item) { return item.code === app.code });
412
+ if (_appIndex < 0) {
400
413
  userApps.push(app)
401
- }else{
414
+ } else {
402
415
  const _app = userApps[_appIndex];
403
- if(!_app.space && app.space){
416
+ if (!_app.space && app.space) {
404
417
  userApps[_appIndex] = app;
405
418
  }
406
419
  }
407
420
  })
408
421
  for (const app of _.sortBy(userApps, ['sort'])) {
409
422
  const menu = await transformAppToMenus(ctx, app, mobile, userSession, context);
410
- if(menu){
423
+ if (menu) {
411
424
  menus.push(menu);
412
425
  }
413
426
  }
414
- if(!mobile){
427
+ if (!mobile) {
415
428
  const setupApp = {
416
429
  code: 'admin',
417
430
  name: '设置',
@@ -425,19 +438,18 @@ async function getAppsMenus(ctx) {
425
438
  return menus;
426
439
  }
427
440
 
428
- async function getAppMenus(ctx){
441
+ async function getAppMenus(ctx) {
429
442
  const userSession = ctx.meta.user;
430
443
  const { mobile } = ctx.params;
431
444
  if (!userSession) {
432
445
  throw new Error('no permission.')
433
446
  }
434
447
  const spaceId = userSession.spaceId;
435
-
436
448
  const metadataConf = await get(ctx);
437
- if(metadataConf){
449
+ if (metadataConf) {
438
450
  const appConfig = metadataConf.metadata;
439
451
  if (_.has(appConfig, 'space') && appConfig.space && appConfig.space != spaceId) {
440
- return ;
452
+ return;
441
453
  }
442
454
  const context = await getContext(ctx)
443
455
  const appMenus = await transformAppToMenus(ctx, appConfig, mobile, userSession, context);
@@ -448,7 +460,7 @@ async function getAppMenus(ctx){
448
460
 
449
461
  export const ActionHandlers = {
450
462
  async get(ctx: any): Promise<any> {
451
- return await ctx.broker.call('metadata.get', {key: cacherKey(ctx.params.appApiName)}, {meta: ctx.meta})
463
+ return await ctx.broker.call('metadata.get', { key: cacherKey(ctx.params.appApiName) }, { meta: ctx.meta })
452
464
  },
453
465
  async getAll(ctx: any): Promise<any> {
454
466
  return await getAllApps(ctx);
@@ -460,33 +472,33 @@ export const ActionHandlers = {
460
472
  async getAppMenus(ctx: any): Promise<any> {
461
473
  return await getAppMenus(ctx);
462
474
  },
463
- async add(ctx: any): Promise<boolean>{
475
+ async add(ctx: any): Promise<boolean> {
464
476
  let config = ctx.params.data;
465
477
  const serviceName = ctx.meta.metadataServiceName
466
478
  const metadataApiName = ctx.params.appApiName;
467
479
  const metadataConfig = await getServiceAppConfig(ctx, serviceName, metadataApiName)
468
- if(metadataConfig && metadataConfig.metadata){
480
+ if (metadataConfig && metadataConfig.metadata) {
469
481
  config = _.defaultsDeep(config, metadataConfig.metadata);
470
482
  }
471
- await ctx.broker.call('metadata.addServiceMetadata', {key: cacherKey(metadataApiName), data: config}, {meta: Object.assign({}, ctx.meta, {metadataType: METADATA_TYPE, metadataApiName: metadataApiName})})
483
+ await ctx.broker.call('metadata.addServiceMetadata', { key: cacherKey(metadataApiName), data: config }, { meta: Object.assign({}, ctx.meta, { metadataType: METADATA_TYPE, metadataApiName: metadataApiName }) })
472
484
  const appConfig = await refreshApp(ctx, metadataApiName);
473
485
  return await registerApp(ctx, metadataApiName, appConfig, ctx.meta)
474
486
  },
475
- async delete(ctx: any): Promise<boolean>{
476
- return await ctx.broker.call('metadata.delete', {key: cacherKey(ctx.params.appApiName)}, {meta: ctx.meta})
487
+ async delete(ctx: any): Promise<boolean> {
488
+ return await ctx.broker.call('metadata.delete', { key: cacherKey(ctx.params.appApiName) }, { meta: ctx.meta })
477
489
  },
478
- async verify(ctx: any): Promise<boolean>{
490
+ async verify(ctx: any): Promise<boolean> {
479
491
  console.log("verify");
480
492
  return true;
481
493
  },
482
- async refresh(ctx){
494
+ async refresh(ctx) {
483
495
  const { isClear, metadataApiNames } = ctx.params
484
- if(isClear){
496
+ if (isClear) {
485
497
  for (const metadataApiName of metadataApiNames) {
486
498
  const appConfig = await refreshApp(ctx, metadataApiName);
487
- if(!appConfig){
488
- await ctx.broker.call('metadata.delete', {key: cacherKey(metadataApiName)})
489
- }else{
499
+ if (!appConfig) {
500
+ await ctx.broker.call('metadata.delete', { key: cacherKey(metadataApiName) })
501
+ } else {
490
502
  await registerApp(ctx, metadataApiName, appConfig, {});
491
503
  }
492
504
  }