import { Plugin } from '@nocobase/server';
import actions from '@nocobase/actions';
import { HandlerType } from '@nocobase/resourcer';
import WorkflowPlugin, { JOB_STATUS } from '@nocobase/plugin-workflow';
import path from 'path';
import { submit } from './actions';
import ManualInstruction from './ManualInstruction';
export default class extends Plugin {
async load() {
await this.importCollections(path.resolve(__dirname, 'collections'));
this.app.resource({
name: 'users_jobs',
actions: {
list: {
filter: {
$or: [
{
'workflow.enabled': true,
},
'workflow.enabled': false,
status: {
$ne: JOB_STATUS.PENDING,
],
handler: actions.list as HandlerType,
submit,
});
this.app.acl.allow('users_jobs', ['list', 'get', 'submit'], 'loggedIn');
const workflowPlugin = this.app.pm.get(WorkflowPlugin) as WorkflowPlugin;
workflowPlugin.registerInstruction('manual', ManualInstruction);
}