* refactor: fields/views/pages... * update * update * update * updates * updates * add yarn.lock * updates * updates * updates * updates * updates * updates * updates * updates * updates * developerMode * 一大波更新 * bugfix * fix: hide the sorting settings * fix: reload menu when menu is updated * 页面重构 * modify text * 补充细节 * system settings * 继续更新补充 * fix: 多级菜单支持 * 无限嵌套 * fix: icon * 省市区参数调整 * 表单描述、文案调整 * 支持草稿 * 邮箱登录 * 细节补充 * 菜单页面权限初步 * 详情页打开方式 * 菜单父级、草稿问题 * 描述文字 * 详情分组显示 * 状态改为 radio * 菜单权限 * 跳过省市区 api * 修复权限数据范围 * onDraft * 页面跳转 * 修改文案 * 注册、登录 * fix: 权限过滤问题 * 微调上传组件样式 * 0.4.0-alpha.0 * father-build * remove father-build * 细节调整
41 lines
1.5 KiB
TypeScript
41 lines
1.5 KiB
TypeScript
import path from 'path';
|
|
import { Application } from '@nocobase/server';
|
|
import { registerModels, registerFields } from '@nocobase/database';
|
|
import * as models from './models';
|
|
import collectionsBeforeValidate from './hooks/collections.beforeValidate';
|
|
import collectionsAfterCreate from './hooks/collections.afterCreate';
|
|
import fieldsBeforeValidate from './hooks/fields.beforeValidate';
|
|
import fieldsAfterCreate from './hooks/fields.afterCreate';
|
|
|
|
import { RANDOMSTRING } from './fields/randomString';
|
|
import { interfaces } from './interfaces';
|
|
import { merge } from './utils';
|
|
|
|
export default async function (this: Application, options = {}) {
|
|
const database = this.database;
|
|
const resourcer = this.resourcer;
|
|
// 提供全局的 models 注册机制
|
|
registerModels(models);
|
|
registerFields({
|
|
RANDOMSTRING,
|
|
});
|
|
|
|
database.addHook('beforeAddField', (options: any) => {
|
|
const { interface: interfaceType } = options;
|
|
if (interfaceType && interfaces.has(interfaceType)) {
|
|
const defaults = interfaces.get(interfaceType).options;
|
|
Object.assign(options, merge(defaults, options))
|
|
}
|
|
// console.log({options});
|
|
});
|
|
|
|
database.import({
|
|
directory: path.resolve(__dirname, 'collections'),
|
|
});
|
|
|
|
database.getModel('collections').addHook('beforeValidate', collectionsBeforeValidate);
|
|
database.getModel('fields').addHook('beforeValidate', fieldsBeforeValidate);
|
|
database.getModel('collections').addHook('afterCreate', collectionsAfterCreate);
|
|
database.getModel('fields').addHook('afterCreate', fieldsAfterCreate);
|
|
}
|