refactor(core): Make workflow services injectable (no-changelog) (#8033)

Refactor static workflow service classes into DI-compatible classes

Context: https://n8nio.slack.com/archives/C069HS026UF/p1702466571648889

Up next:
- Inject dependencies into workflow services
- Consolidate workflow controllers into one
- Make workflow controller injectable
- Inject dependencies into workflow controller

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
This commit is contained in:
Iván Ovejero
2023-12-15 12:59:56 +01:00
committed by GitHub
parent 2da15d0264
commit 1e7a309e63
13 changed files with 125 additions and 80 deletions

View File

@@ -20,6 +20,8 @@ import { getCredentialOwnerRole, getGlobalMemberRole, getGlobalOwnerRole } from
import { createUser } from './shared/db/users';
import { createWorkflow, getWorkflowSharing, shareWorkflowWithUsers } from './shared/db/workflows';
import type { Role } from '@/databases/entities/Role';
import { EnterpriseWorkflowService } from '@/workflows/workflow.service.ee';
import { WorkflowService } from '@/workflows/workflow.service';
let globalMemberRole: Role;
let owner: User;
@@ -55,6 +57,9 @@ beforeAll(async () => {
saveCredential = affixRoleToSaveCredential(credentialOwnerRole);
await utils.initNodeTypes();
Container.set(WorkflowService, new WorkflowService());
Container.set(EnterpriseWorkflowService, new EnterpriseWorkflowService());
});
beforeEach(async () => {