fix: get pageTitle with first string field
This commit is contained in:
parent
4f4064ad11
commit
eb501e3461
@ -1,13 +1,20 @@
|
||||
import { ResourceOptions } from '@nocobase/resourcer';
|
||||
import { Model, ModelCtor } from '@nocobase/database';
|
||||
import { get } from 'lodash';
|
||||
|
||||
export default async (ctx, next) => {
|
||||
const { resourceName, resourceKey } = ctx.action.params;
|
||||
const M = ctx.db.getModel(resourceName) as ModelCtor<Model>;
|
||||
const model = await M.findByPk(resourceKey);
|
||||
const Field = ctx.db.getModel('fields') as ModelCtor<Model>;
|
||||
const field = await Field.findOne({
|
||||
where: {
|
||||
collection_name: resourceName,
|
||||
type: 'string',
|
||||
},
|
||||
order: [['sort', 'asc']],
|
||||
});
|
||||
ctx.body = {
|
||||
pageTitle: model.title,
|
||||
pageTitle: field ? model.get(field.get('name')) : model.get(M.primaryKeyAttribute),
|
||||
...model.toJSON(),
|
||||
};
|
||||
await next();
|
||||
|
Loading…
Reference in New Issue
Block a user