From 91ecd9807159f2402cd49c33ea6be4b845912fd8 Mon Sep 17 00:00:00 2001 From: chenos Date: Fri, 23 Jul 2021 21:28:57 +0800 Subject: [PATCH] bugfix --- packages/api/src/index.ts | 2 ++ packages/plugin-collections/src/actions/fields.ts | 12 ++++++++++++ packages/plugin-collections/src/server.ts | 2 ++ 3 files changed, 16 insertions(+) create mode 100644 packages/plugin-collections/src/actions/fields.ts diff --git a/packages/api/src/index.ts b/packages/api/src/index.ts index 26305231a..28909df90 100644 --- a/packages/api/src/index.ts +++ b/packages/api/src/index.ts @@ -17,6 +17,8 @@ import { middlewares } from '@nocobase/server'; useStaticServer: !(process.env.APP_USE_STATIC_SERVER === 'false' || !process.env.APP_USE_STATIC_SERVER), })); + await api.database.getModel('collections').load({ skipExisting: true }); + api.listen(process.env.API_PORT, () => { console.log(`http://localhost:${process.env.API_PORT}/`); }); diff --git a/packages/plugin-collections/src/actions/fields.ts b/packages/plugin-collections/src/actions/fields.ts new file mode 100644 index 000000000..c418e8587 --- /dev/null +++ b/packages/plugin-collections/src/actions/fields.ts @@ -0,0 +1,12 @@ +import { Model, ModelCtor } from '@nocobase/database'; +import { actions, middlewares } from '@nocobase/actions'; +import { sort } from '@nocobase/actions/src/actions/common'; +import { cloneDeep, omit } from 'lodash'; + +export const create = async (ctx: actions.Context, next: actions.Next) => { + await actions.common.create(ctx, async () => {}); + const { associated } = ctx.action.params; + await associated.migrate(); + console.log('associated.migrate'); + await next(); +} diff --git a/packages/plugin-collections/src/server.ts b/packages/plugin-collections/src/server.ts index 5f82f0582..3cc7f1b57 100644 --- a/packages/plugin-collections/src/server.ts +++ b/packages/plugin-collections/src/server.ts @@ -3,6 +3,7 @@ import { Application } from '@nocobase/server'; import { registerModels, Table } from '@nocobase/database'; import * as models from './models'; import { createOrUpdate, findAll } from './actions'; +import { create } from './actions/fields'; export default async function (this: Application, options = {}) { const database = this.database; @@ -15,6 +16,7 @@ export default async function (this: Application, options = {}) { model.set('name', model.get('key')); } }); + this.resourcer.registerActionHandler('collections.fields:create', create); this.resourcer.registerActionHandler('collections:findAll', findAll); this.resourcer.registerActionHandler('collections:createOrUpdate', createOrUpdate); }