fix(editor): Implement dirty nodes for partial executions (#11739)

Co-authored-by: Danny Martini <danny@n8n.io>
This commit is contained in:
Raúl Gómez Morales
2024-11-28 14:04:55 +01:00
committed by GitHub
parent 57d3269e40
commit b8da4ff9ed
14 changed files with 270 additions and 18 deletions

View File

@@ -317,8 +317,9 @@ export class WorkflowRunner {
workflowExecution = workflowExecute.runPartialWorkflow2(
workflow,
data.runData,
data.destinationNode,
data.pinData,
data.dirtyNodeNames,
data.destinationNode,
);
} else {
workflowExecution = workflowExecute.runPartialWorkflow(

View File

@@ -89,7 +89,13 @@ export class WorkflowExecutionService {
}
async executeManually(
{ workflowData, runData, startNodes, destinationNode }: WorkflowRequest.ManualRunPayload,
{
workflowData,
runData,
startNodes,
destinationNode,
dirtyNodeNames,
}: WorkflowRequest.ManualRunPayload,
user: User,
pushRef?: string,
partialExecutionVersion?: string,
@@ -137,6 +143,7 @@ export class WorkflowExecutionService {
workflowData,
userId: user.id,
partialExecutionVersion: partialExecutionVersion ?? '0',
dirtyNodeNames,
};
const hasRunData = (node: INode) => runData !== undefined && !!runData[node.name];

View File

@@ -22,6 +22,7 @@ export declare namespace WorkflowRequest {
runData: IRunData;
startNodes?: StartNodeData[];
destinationNode?: string;
dirtyNodeNames?: string[];
};
type Create = AuthenticatedRequest<{}, {}, CreateUpdatePayload>;