29 lines
827 B
TypeScript
29 lines
827 B
TypeScript
|
import Resourcer from '@nocobase/resourcer';
|
||
|
import _export from './actions/export';
|
||
|
|
||
|
export const ACTION_NAME_EXPORT = 'export';
|
||
|
|
||
|
export default async function (options = {}) {
|
||
|
const resourcer: Resourcer = this.resourcer;
|
||
|
|
||
|
resourcer.registerActionHandler(ACTION_NAME_EXPORT, _export);
|
||
|
|
||
|
// TODO(temp): 继承 list 权限的临时写法
|
||
|
resourcer.use(async (ctx, next) => {
|
||
|
if (ctx.action.params.actionName === ACTION_NAME_EXPORT) {
|
||
|
ctx.action.mergeParams({
|
||
|
actionName: 'list'
|
||
|
});
|
||
|
|
||
|
console.log('action name in export has been rewritten to:', ctx.action.params.actionName);
|
||
|
|
||
|
const permissionPlugin = ctx.app.getPluginInstance('@nocobase/plugin-permissions');
|
||
|
if (permissionPlugin) {
|
||
|
return permissionPlugin.middleware(ctx, next);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
await next();
|
||
|
});
|
||
|
}
|