| | import { WorkflowRepository } from '@n8n/db'; |
| | import { Service } from '@n8n/di'; |
| | import { UnexpectedError, type IWorkflowBase, type IWorkflowLoader } from 'n8n-workflow'; |
| |
|
| | @Service() |
| | export class WorkflowLoaderService implements IWorkflowLoader { |
| | constructor(private readonly workflowRepository: WorkflowRepository) {} |
| |
|
| | async get(workflowId: string): Promise<IWorkflowBase> { |
| | const workflow = await this.workflowRepository.findById(workflowId); |
| |
|
| | if (!workflow) { |
| | throw new UnexpectedError(`Failed to find workflow with ID "${workflowId}"`); |
| | } |
| |
|
| | return workflow; |
| | } |
| | } |
| |
|