mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 10:02:05 +00:00
feat(Merge Node): Add Telemetry for SQL query (no-changelog) (#13860)
This commit is contained in:
@@ -250,6 +250,10 @@ export function generateNodesGraph(
|
||||
nodeItem.agent = (node.parameters.agent as string) ?? 'conversationalAgent';
|
||||
} else if (node.type === MERGE_NODE_TYPE) {
|
||||
nodeItem.operation = node.parameters.mode as string;
|
||||
|
||||
if (options?.isCloudDeployment && node.parameters.mode === 'combineBySql') {
|
||||
nodeItem.sql = node.parameters.query as string;
|
||||
}
|
||||
} else if (node.type === HTTP_REQUEST_NODE_TYPE && node.typeVersion === 1) {
|
||||
try {
|
||||
nodeItem.domain = new URL(node.parameters.url as string).hostname;
|
||||
|
||||
@@ -592,6 +592,128 @@ describe('generateNodesGraph', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it.each([
|
||||
{
|
||||
workflow: {
|
||||
nodes: [
|
||||
{
|
||||
parameters: {
|
||||
mode: 'combineBySql',
|
||||
query: 'SELECT * FROM input1 LEFT JOIN input2 ON input1.name = input2.id',
|
||||
},
|
||||
id: 'b468b603-3e59-4515-b555-90cfebd64d47',
|
||||
name: 'Merge Node V3',
|
||||
type: 'n8n-nodes-base.merge',
|
||||
typeVersion: 3,
|
||||
position: [320, 460],
|
||||
},
|
||||
],
|
||||
connections: {},
|
||||
pinData: {},
|
||||
} as Partial<IWorkflowBase>,
|
||||
isCloudDeployment: false,
|
||||
expected: {
|
||||
nodeGraph: {
|
||||
node_types: ['n8n-nodes-base.merge'],
|
||||
node_connections: [],
|
||||
nodes: {
|
||||
'0': {
|
||||
id: 'b468b603-3e59-4515-b555-90cfebd64d47',
|
||||
type: 'n8n-nodes-base.merge',
|
||||
version: 3,
|
||||
position: [320, 460],
|
||||
operation: 'combineBySql',
|
||||
},
|
||||
},
|
||||
notes: {},
|
||||
is_pinned: false,
|
||||
},
|
||||
nameIndices: { 'Merge Node V3': '0' },
|
||||
webhookNodeNames: [],
|
||||
},
|
||||
},
|
||||
{
|
||||
workflow: {
|
||||
nodes: [
|
||||
{
|
||||
parameters: {
|
||||
mode: 'append',
|
||||
},
|
||||
id: 'b468b603-3e59-4515-b555-90cfebd64d47',
|
||||
name: 'Merge Node V3',
|
||||
type: 'n8n-nodes-base.merge',
|
||||
typeVersion: 3,
|
||||
position: [320, 460],
|
||||
},
|
||||
],
|
||||
connections: {},
|
||||
pinData: {},
|
||||
} as Partial<IWorkflowBase>,
|
||||
isCloudDeployment: true,
|
||||
expected: {
|
||||
nodeGraph: {
|
||||
node_types: ['n8n-nodes-base.merge'],
|
||||
node_connections: [],
|
||||
nodes: {
|
||||
'0': {
|
||||
id: 'b468b603-3e59-4515-b555-90cfebd64d47',
|
||||
type: 'n8n-nodes-base.merge',
|
||||
version: 3,
|
||||
position: [320, 460],
|
||||
operation: 'append',
|
||||
},
|
||||
},
|
||||
notes: {},
|
||||
is_pinned: false,
|
||||
},
|
||||
nameIndices: { 'Merge Node V3': '0' },
|
||||
webhookNodeNames: [],
|
||||
},
|
||||
},
|
||||
{
|
||||
workflow: {
|
||||
nodes: [
|
||||
{
|
||||
parameters: {
|
||||
mode: 'combineBySql',
|
||||
query: 'SELECT * FROM input1 LEFT JOIN input2 ON input1.name = input2.id',
|
||||
},
|
||||
id: 'b468b603-3e59-4515-b555-90cfebd64d47',
|
||||
name: 'Merge Node V3',
|
||||
type: 'n8n-nodes-base.merge',
|
||||
typeVersion: 3,
|
||||
position: [320, 460],
|
||||
},
|
||||
],
|
||||
connections: {},
|
||||
pinData: {},
|
||||
} as Partial<IWorkflowBase>,
|
||||
isCloudDeployment: true,
|
||||
expected: {
|
||||
nodeGraph: {
|
||||
node_types: ['n8n-nodes-base.merge'],
|
||||
node_connections: [],
|
||||
nodes: {
|
||||
'0': {
|
||||
id: 'b468b603-3e59-4515-b555-90cfebd64d47',
|
||||
type: 'n8n-nodes-base.merge',
|
||||
version: 3,
|
||||
position: [320, 460],
|
||||
operation: 'combineBySql',
|
||||
sql: 'SELECT * FROM input1 LEFT JOIN input2 ON input1.name = input2.id',
|
||||
},
|
||||
},
|
||||
notes: {},
|
||||
is_pinned: false,
|
||||
},
|
||||
nameIndices: { 'Merge Node V3': '0' },
|
||||
webhookNodeNames: [],
|
||||
},
|
||||
},
|
||||
])('should return graph with merge v3 node', ({ workflow, expected, isCloudDeployment }) => {
|
||||
expect(generateNodesGraph(workflow, nodeTypes, { isCloudDeployment })).toEqual(expected);
|
||||
});
|
||||
|
||||
test('should return graph with http v1 node', () => {
|
||||
const workflow: Partial<IWorkflowBase> = {
|
||||
nodes: [
|
||||
|
||||
Reference in New Issue
Block a user