Some checks failed
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
33 lines
869 B
Plaintext
33 lines
869 B
Plaintext
import type { ModuleInterface } from '@n8n/decorators';
|
|
import { BackendModule, OnShutdown } from '@n8n/decorators';
|
|
import { Container } from '@n8n/di';
|
|
|
|
@BackendModule({ name: 'my-feature' })
|
|
export class MyFeatureModule implements ModuleInterface {
|
|
async init() {
|
|
await import('./my-feature.controller');
|
|
|
|
const { MyFeatureService } = await import('./my-feature.service');
|
|
Container.get(MyFeatureService).start();
|
|
}
|
|
|
|
@OnShutdown()
|
|
async shutdown() {
|
|
const { MyFeatureService } = await import('./my-feature.service');
|
|
|
|
await Container.get(MyFeatureService).shutdown();
|
|
}
|
|
|
|
async entities() {
|
|
const { MyFeatureEntity } = await import('./my-feature.entity');
|
|
|
|
return [MyFeatureEntity];
|
|
}
|
|
|
|
async context() {
|
|
const { MyFeatureService } = await import('./my-feature.service');
|
|
|
|
return { myFeatureProxy: Container.get(MyFeatureService) };
|
|
}
|
|
}
|