* chore: skip yarn install in pm command * feat: dump sub app by sub app name * feat: dump & restore by sub app * chore: enable application name to edit * chore: field belongsTo uiSchema * test: drop schema * feat: uiSchema migrator * fix: test * fix: remove uiSchema * fix: rerun migration * chore: migrate fieldsHistory uiSchema * fix: set uiSchema options * chore: transaction params * fix: sql error in mysql * fix: sql compatibility * feat: collection group api * chore: restore & dump action template * chore: tmp commit * chore: collectionGroupAction * feat: dumpableCollection api * refactor: dump command * fix: remove uiSchemaUid * chore: get uiSchemaUid from tmp field * feat: return dumped file url in dumper.dump * feat: dump api * refactor: collection groyoup * chore: comment * feat: restore command force option * feat: dump with collection groups * refactor: restore command * feat: restore http api * fix: test * fix: test * fix: restore test * chore: volta pin * fix: sub app load collection options * fix: stop sub app * feat: add stopped status to application to prevent duplicate application stop * chore: tmp commit * test: upgrade * feat: pass upgrade event to sub app * fix: app manager client * fix: remove stopped status * fix: emit beforeStop event * feat: support dump & restore subApp through api * chore: dumpable collections api * refactor: getTableNameWithSchema * fix: schema name * feat: cname * refactor: collection 同步实现方式 * refactor: move collection group manager to database * fix: test * fix: remove uiSchema * fix: uiSchema * fix: remove settings * chore: plugin enable & disable event * feat: modal warning * fix: users_jobs namespace * fix: rolesUischemas namespace * fix: am snippet * feat: beforeSubAppInstall event * fix: improve NOCOBASE_LOCALE_KEY & NOCOBASE_ROLE_KEY --------- Co-authored-by: chenos <chenlinxh@gmail.com>
31 lines
872 B
TypeScript
31 lines
872 B
TypeScript
import PluginErrorHandler from '@nocobase/plugin-error-handler';
|
|
import PluginUiSchema from '@nocobase/plugin-ui-schema-storage';
|
|
import { MockServer, mockServer } from '@nocobase/test';
|
|
import Plugin from '../';
|
|
|
|
export async function createApp(
|
|
options: { beforeInstall?: (app: MockServer) => void; beforePlugin?: (app: MockServer) => void } & any = {},
|
|
) {
|
|
const app = mockServer({
|
|
acl: false,
|
|
...options,
|
|
});
|
|
|
|
await app.db.clean({ drop: true });
|
|
await app.db.sync({});
|
|
|
|
options.beforePlugin && options.beforePlugin(app);
|
|
|
|
app.plugin(PluginErrorHandler, { name: 'error-handler' });
|
|
app.plugin(Plugin, { name: 'collection-manager' });
|
|
app.plugin(PluginUiSchema, { name: 'ui-schema-storage' });
|
|
|
|
if (options.beforeInstall) {
|
|
await options.beforeInstall(app);
|
|
}
|
|
|
|
await app.install({ clean: true });
|
|
await app.start();
|
|
return app;
|
|
}
|