Added better display of bread crums and side bar menus for apps and objects
This commit is contained in:
@@ -8,9 +8,23 @@ export class ObjectService {
|
||||
// Setup endpoints - Object metadata management
|
||||
async getObjectDefinitions(tenantId: string) {
|
||||
const knex = await this.tenantDbService.getTenantKnex(tenantId);
|
||||
return knex('object_definitions')
|
||||
.select('*')
|
||||
|
||||
const objects = await knex('object_definitions')
|
||||
.select('object_definitions.*')
|
||||
.orderBy('label', 'asc');
|
||||
|
||||
// Fetch app information for objects that have app_id
|
||||
for (const obj of objects) {
|
||||
if (obj.app_id) {
|
||||
const app = await knex('apps')
|
||||
.where({ id: obj.app_id })
|
||||
.select('id', 'slug', 'label', 'description')
|
||||
.first();
|
||||
obj.app = app;
|
||||
}
|
||||
}
|
||||
|
||||
return objects;
|
||||
}
|
||||
|
||||
async getObjectDefinition(tenantId: string, apiName: string) {
|
||||
@@ -29,9 +43,19 @@ export class ObjectService {
|
||||
.where({ objectDefinitionId: obj.id })
|
||||
.orderBy('label', 'asc');
|
||||
|
||||
// Get app information if object belongs to an app
|
||||
let app = null;
|
||||
if (obj.app_id) {
|
||||
app = await knex('apps')
|
||||
.where({ id: obj.app_id })
|
||||
.select('id', 'slug', 'label', 'description')
|
||||
.first();
|
||||
}
|
||||
|
||||
return {
|
||||
...obj,
|
||||
fields,
|
||||
app,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user