YANG QIA 19f905d34c
chore: update class names of plugins (#3981)
* chore: update class names of plugins

* fix: build

* chore: add back sample-hello

* fix: test
2024-04-09 12:12:24 +08:00

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;