mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2026-09-22 01:50:42 +02:00
* adds ExecutionEvents view modal to ExecutionList * fix time rendering and remove wf column * checks for unfinished executions and fails them * prevent re-setting stoppedAt for execution * some cleanup / manually create rundata after crash * quicksave * remove Threads lib, log worker rewrite * cleanup comment * fix sentry destination return value * test for tests... * run tests with single worker * fix tests * remove console log * add endpoint for execution data recovery * lint cleanup and some refactoring * fix accidental recursion * remove cyclic imports * add rundata recovery to Workflowrunner * remove comments * cleanup and refactor * adds a status field to executions * setExecutionStatus on queued worker * fix onWorkflowPostExecute * set waiting from worker * get crashed status into frontend * remove comment * merge fix * cleanup * catch empty rundata in recovery * refactor IExecutionsSummary and inject nodeExecution Errors * reduce default event log size to 10mb from 100mb * add per node execution status * lint fix * merge and lint fix * phrasing change * improve preview rendering and messaging * remove debug * Improve partial rundata recovery * fix labels * fix line through * send manual rundata to ui at crash * some type and msg push fixes * improve recovered item rendering in preview * update workflowStatistics on recover * merge fix * review fixes * merge fix * notify eventbus when ui is back up * add a small timeout to make sure the UI is back up * increase reconnect timeout to 30s * adjust recover timeout and ui connection lost msg * do not stop execution in editor after x reconnects * add executionRecovered push event * fix recovered connection not green * remove reconnect toast and merge existing rundata * merge editor and recovered data for own mode
58 lines
1.6 KiB
TypeScript
58 lines
1.6 KiB
TypeScript
import { AbstractEventMessage, isEventMessageOptionsWithType } from './AbstractEventMessage';
|
|
import { EventMessageTypeNames } from 'n8n-workflow';
|
|
import type { JsonObject, JsonValue } from 'n8n-workflow';
|
|
import type { AbstractEventPayload } from './AbstractEventPayload';
|
|
import type { AbstractEventMessageOptions } from './AbstractEventMessageOptions';
|
|
import type { EventNamesAuditType } from '.';
|
|
|
|
// --------------------------------------
|
|
// EventMessage class for Audit events
|
|
// --------------------------------------
|
|
export interface EventPayloadAudit extends AbstractEventPayload {
|
|
msg?: JsonValue;
|
|
userId?: string;
|
|
userEmail?: string;
|
|
firstName?: string;
|
|
lastName?: string;
|
|
credentialName?: string;
|
|
credentialType?: string;
|
|
credentialId?: string;
|
|
workflowId?: string;
|
|
workflowName?: string;
|
|
}
|
|
|
|
export interface EventMessageAuditOptions extends AbstractEventMessageOptions {
|
|
eventName: EventNamesAuditType;
|
|
|
|
payload?: EventPayloadAudit;
|
|
}
|
|
|
|
export class EventMessageAudit extends AbstractEventMessage {
|
|
readonly __type = EventMessageTypeNames.audit;
|
|
|
|
eventName: EventNamesAuditType;
|
|
|
|
payload: EventPayloadAudit;
|
|
|
|
constructor(options: EventMessageAuditOptions) {
|
|
super(options);
|
|
if (options.payload) this.setPayload(options.payload);
|
|
if (options.anonymize) {
|
|
this.anonymize();
|
|
}
|
|
}
|
|
|
|
setPayload(payload: EventPayloadAudit): this {
|
|
this.payload = payload;
|
|
return this;
|
|
}
|
|
|
|
deserialize(data: JsonObject): this {
|
|
if (isEventMessageOptionsWithType(data, this.__type)) {
|
|
this.setOptionsOrDefault(data);
|
|
if (data.payload) this.setPayload(data.payload as EventPayloadAudit);
|
|
}
|
|
return this;
|
|
}
|
|
}
|