tachybase_todo/packages/plugins/client/src/migrations/20230620203216-admin-ui-schema-uid.ts

27 lines
954 B
TypeScript
Raw Normal View History

2023-06-24 16:36:26 +08:00
import { Model } from '@nocobase/database';
import { Migration } from '@nocobase/server';
export default class extends Migration {
async up() {
const systemSettings = this.db.getRepository('systemSettings');
2023-06-24 16:36:26 +08:00
let instance: Model = await systemSettings.findOne();
const uiRoutes = this.db.getRepository('uiRoutes');
const routes = await uiRoutes.find();
for (const route of routes) {
if (route.uiSchemaUid && route?.options?.component === 'AdminLayout') {
2023-06-24 12:28:43 +08:00
const options = instance.options || {};
options['adminSchemaUid'] = route.uiSchemaUid;
instance.set('options', options);
2023-06-24 16:36:26 +08:00
instance.changed('options', true);
await instance.save();
return;
}
}
2023-06-24 16:36:26 +08:00
instance = await systemSettings.findOne();
2023-06-27 15:19:32 +08:00
if (!instance?.options?.adminSchemaUid) {
2023-06-24 16:36:26 +08:00
throw new Error('adminSchemaUid invalid');
}
this.app.log.info('systemSettings.options', instance.toJSON());
}
}