mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-07 22:49:26 +08:00
* chore: update class names of plugins * fix: build * chore: add back sample-hello * fix: test
55 lines
1.3 KiB
TypeScript
55 lines
1.3 KiB
TypeScript
import { Logger, LoggerOptions } from '@nocobase/logger';
|
|
import { InstallOptions, Plugin } from '@nocobase/server';
|
|
import { resolve } from 'path';
|
|
import { listByCurrentRole } from './actions/listByCurrentRole';
|
|
import { send } from './actions/send';
|
|
|
|
export class PluginCustomRequestServer extends Plugin {
|
|
logger: Logger;
|
|
|
|
afterAdd() {}
|
|
|
|
beforeLoad() {
|
|
this.logger = this.getLogger();
|
|
}
|
|
|
|
getLogger(): Logger {
|
|
const logger = this.createLogger({
|
|
dirname: 'custom-request',
|
|
filename: '%DATE%.log',
|
|
transports: [...(process.env.NODE_ENV === 'production' ? ['dailyRotateFile'] : ['console'])],
|
|
} as LoggerOptions);
|
|
|
|
return logger;
|
|
}
|
|
|
|
async load() {
|
|
await this.importCollections(resolve(__dirname, 'collections'));
|
|
|
|
this.app.resource({
|
|
name: 'customRequests',
|
|
actions: {
|
|
send: send.bind(this),
|
|
listByCurrentRole,
|
|
},
|
|
});
|
|
|
|
this.app.acl.registerSnippet({
|
|
name: `ui.${this.name}`,
|
|
actions: ['customRequests:*', 'roles:list'],
|
|
});
|
|
|
|
this.app.acl.allow('customRequests', ['send', 'listByCurrentRole'], 'loggedIn');
|
|
}
|
|
|
|
async install(options?: InstallOptions) {}
|
|
|
|
async afterEnable() {}
|
|
|
|
async afterDisable() {}
|
|
|
|
async remove() {}
|
|
}
|
|
|
|
export default PluginCustomRequestServer;
|