## Summary Unify `severity` and `level` for all backend application errors for Sentry Follow-up to: https://github.com/n8n-io/n8n/pull/7914#issuecomment-1840433542 ... #### How to test the change: 1. ... ## Issues fixed Include links to Github issue or Community forum post or **Linear ticket**: > Important in order to close automatically and provide context to reviewers ... ## Review / Merge checklist - [ ] PR title and summary are descriptive. **Remember, the title automatically goes into the changelog. Use `(no-changelog)` otherwise.** ([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md)) - [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up ticket created. - [ ] Tests included. > A bug is not considered fixed, unless a test is added to prevent it from happening again. A feature is not complete without tests. > > *(internal)* You can use Slack commands to trigger [e2e tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227) or [deploy test instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce) or [deploy early access version on Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
38 lines
983 B
TypeScript
38 lines
983 B
TypeScript
import type { INode } from '../Interfaces';
|
|
import { ExecutionBaseError } from './abstract/execution-base.error';
|
|
import type { ApplicationError } from './application.error';
|
|
|
|
interface WorkflowActivationErrorOptions {
|
|
cause?: Error;
|
|
node?: INode;
|
|
level?: ApplicationError['level'];
|
|
workflowId?: string;
|
|
}
|
|
|
|
/**
|
|
* Class for instantiating an workflow activation error
|
|
*/
|
|
export class WorkflowActivationError extends ExecutionBaseError {
|
|
node: INode | undefined;
|
|
|
|
workflowId: string | undefined;
|
|
|
|
constructor(
|
|
message: string,
|
|
{ cause, node, level, workflowId }: WorkflowActivationErrorOptions = {},
|
|
) {
|
|
let error = cause as Error;
|
|
if (cause instanceof ExecutionBaseError) {
|
|
error = new Error(cause.message);
|
|
error.constructor = cause.constructor;
|
|
error.name = cause.name;
|
|
error.stack = cause.stack;
|
|
}
|
|
super(message, { cause: error });
|
|
this.node = node;
|
|
this.workflowId = workflowId;
|
|
this.message = message;
|
|
if (level) this.level = level;
|
|
}
|
|
}
|