refactor: Switch plain errors in nodes-base to ApplicationError (no-changelog) (#7914)

Ensure all errors in `nodes-base` are `ApplicationError` or children of
it and contain no variables in the message, to continue normalizing all
the backend errors we report to Sentry. Also, skip reporting to Sentry
errors from user input and from external APIs. In future we should
refine `ApplicationError` to more specific errors.

Follow-up to: [#7877](https://github.com/n8n-io/n8n/pull/7877)

- [x] Test workflows:
https://github.com/n8n-io/n8n/actions/runs/7084627970
- [x] e2e: https://github.com/n8n-io/n8n/actions/runs/7084936861

---------

Co-authored-by: Michael Kret <michael.k@radency.com>
This commit is contained in:
Iván Ovejero
2023-12-05 11:17:08 +01:00
committed by GitHub
parent 38b88b946b
commit e77fd5d286
33 changed files with 164 additions and 86 deletions

View File

@@ -1,3 +1,4 @@
import { ApplicationError } from 'n8n-workflow';
import type { IExecuteFunctions, IDataObject, INodeExecutionData, JsonObject } from 'n8n-workflow';
import type pgPromise from 'pg-promise';
import type pg from 'pg-promise/typescript/pg-subset';
@@ -160,7 +161,9 @@ export async function pgQuery(
return result;
});
}
throw new Error('multiple, independently or transaction are valid options');
throw new ApplicationError('multiple, independently or transaction are valid options', {
level: 'warning',
});
}
export async function pgQueryV2(
@@ -259,7 +262,9 @@ export async function pgQueryV2(
return result;
});
}
throw new Error('multiple, independently or transaction are valid options');
throw new ApplicationError('multiple, independently or transaction are valid options', {
level: 'warning',
});
}
/**
@@ -348,7 +353,9 @@ export async function pgInsert(
});
}
throw new Error('multiple, independently or transaction are valid options');
throw new ApplicationError('multiple, independently or transaction are valid options', {
level: 'warning',
});
}
/**
@@ -456,7 +463,9 @@ export async function pgInsertV2(
});
}
throw new Error('multiple, independently or transaction are valid options');
throw new ApplicationError('multiple, independently or transaction are valid options', {
level: 'warning',
});
}
/**
@@ -582,7 +591,9 @@ export async function pgUpdate(
});
}
}
throw new Error('multiple, independently or transaction are valid options');
throw new ApplicationError('multiple, independently or transaction are valid options', {
level: 'warning',
});
}
/**
@@ -713,5 +724,7 @@ export async function pgUpdateV2(
});
}
}
throw new Error('multiple, independently or transaction are valid options');
throw new ApplicationError('multiple, independently or transaction are valid options', {
level: 'warning',
});
}