mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-19 11:01:15 +00:00
refactor(core): Rename some runners files and classes for clarity (#12410)
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
import type { DataRequestResponse, PartialAdditionalData, TaskData } from '@n8n/task-runner';
|
||||
import type {
|
||||
IRunExecutionData,
|
||||
IWorkflowExecuteAdditionalData,
|
||||
Workflow,
|
||||
WorkflowParameters,
|
||||
} from 'n8n-workflow';
|
||||
|
||||
/**
|
||||
* Transforms TaskData to DataRequestResponse. The main purpose of the
|
||||
* transformation is to make sure there is no duplication in the data
|
||||
* (e.g. connectionInputData and executeData.data can be derived from
|
||||
* inputData).
|
||||
*/
|
||||
export class DataRequestResponseBuilder {
|
||||
buildFromTaskData(taskData: TaskData): DataRequestResponse {
|
||||
return {
|
||||
workflow: this.buildWorkflow(taskData.workflow),
|
||||
inputData: taskData.inputData,
|
||||
connectionInputSource: taskData.executeData?.source ?? null,
|
||||
itemIndex: taskData.itemIndex,
|
||||
activeNodeName: taskData.activeNodeName,
|
||||
contextNodeName: taskData.contextNodeName,
|
||||
defaultReturnRunIndex: taskData.defaultReturnRunIndex,
|
||||
mode: taskData.mode,
|
||||
envProviderState: taskData.envProviderState,
|
||||
node: taskData.node,
|
||||
runExecutionData: this.buildRunExecutionData(taskData.runExecutionData),
|
||||
runIndex: taskData.runIndex,
|
||||
selfData: taskData.selfData,
|
||||
siblingParameters: taskData.siblingParameters,
|
||||
additionalData: this.buildAdditionalData(taskData.additionalData),
|
||||
};
|
||||
}
|
||||
|
||||
private buildAdditionalData(
|
||||
additionalData: IWorkflowExecuteAdditionalData,
|
||||
): PartialAdditionalData {
|
||||
return {
|
||||
formWaitingBaseUrl: additionalData.formWaitingBaseUrl,
|
||||
instanceBaseUrl: additionalData.instanceBaseUrl,
|
||||
restApiUrl: additionalData.restApiUrl,
|
||||
variables: additionalData.variables,
|
||||
webhookBaseUrl: additionalData.webhookBaseUrl,
|
||||
webhookTestBaseUrl: additionalData.webhookTestBaseUrl,
|
||||
webhookWaitingBaseUrl: additionalData.webhookWaitingBaseUrl,
|
||||
currentNodeParameters: additionalData.currentNodeParameters,
|
||||
executionId: additionalData.executionId,
|
||||
executionTimeoutTimestamp: additionalData.executionTimeoutTimestamp,
|
||||
restartExecutionId: additionalData.restartExecutionId,
|
||||
userId: additionalData.userId,
|
||||
};
|
||||
}
|
||||
|
||||
private buildWorkflow(workflow: Workflow): Omit<WorkflowParameters, 'nodeTypes'> {
|
||||
return {
|
||||
id: workflow.id,
|
||||
name: workflow.name,
|
||||
active: workflow.active,
|
||||
connections: workflow.connectionsBySourceNode,
|
||||
nodes: Object.values(workflow.nodes),
|
||||
pinData: workflow.pinData,
|
||||
settings: workflow.settings,
|
||||
staticData: workflow.staticData,
|
||||
};
|
||||
}
|
||||
|
||||
private buildRunExecutionData(runExecutionData: IRunExecutionData) {
|
||||
return {
|
||||
startData: runExecutionData.startData,
|
||||
resultData: runExecutionData.resultData,
|
||||
executionData: runExecutionData.executionData
|
||||
? {
|
||||
contextData: runExecutionData.executionData.contextData,
|
||||
metadata: runExecutionData.executionData.metadata,
|
||||
|
||||
// These are related to workflow execution and are not something
|
||||
// that are accessible by nodes, so we always omit them
|
||||
nodeExecutionStack: [],
|
||||
waitingExecution: {},
|
||||
waitingExecutionSource: null,
|
||||
}
|
||||
: undefined,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user