mirror of
https://github.com/n8n-io/n8n.git
synced 2026-06-03 10:17:00 +02:00
45 lines
1.6 KiB
TypeScript
45 lines
1.6 KiB
TypeScript
import type { IWorkflowSettings } from 'n8n-workflow';
|
|
|
|
import config from '@/config';
|
|
|
|
export type ExecutionSaveSettings = {
|
|
error: boolean | 'all' | 'none';
|
|
success: boolean | 'all' | 'none';
|
|
manual: boolean;
|
|
progress: boolean;
|
|
};
|
|
|
|
/**
|
|
* Return whether a workflow execution is configured to be saved or not:
|
|
*
|
|
* - `error`: Whether to save failed executions in production.
|
|
* - `success`: Whether to successful executions in production.
|
|
* - `manual`: Whether to save successful or failed manual executions.
|
|
* - `progress`: Whether to save execution progress, i.e. after each node's execution.
|
|
*/
|
|
export function toSaveSettings(workflowSettings: IWorkflowSettings = {}): ExecutionSaveSettings {
|
|
const DEFAULTS = {
|
|
ERROR: config.getEnv('executions.saveDataOnError'),
|
|
SUCCESS: config.getEnv('executions.saveDataOnSuccess'),
|
|
MANUAL: config.getEnv('executions.saveDataManualExecutions'),
|
|
PROGRESS: config.getEnv('executions.saveExecutionProgress'),
|
|
};
|
|
|
|
const {
|
|
saveDataErrorExecution = DEFAULTS.ERROR,
|
|
saveDataSuccessExecution = DEFAULTS.SUCCESS,
|
|
saveManualExecutions = DEFAULTS.MANUAL,
|
|
saveExecutionProgress = DEFAULTS.PROGRESS,
|
|
} = workflowSettings;
|
|
|
|
return {
|
|
error: saveDataErrorExecution === 'DEFAULT' ? DEFAULTS.ERROR : saveDataErrorExecution === 'all',
|
|
success:
|
|
saveDataSuccessExecution === 'DEFAULT'
|
|
? DEFAULTS.SUCCESS
|
|
: saveDataSuccessExecution === 'all',
|
|
manual: saveManualExecutions === 'DEFAULT' ? DEFAULTS.MANUAL : saveManualExecutions,
|
|
progress: saveExecutionProgress === 'DEFAULT' ? DEFAULTS.PROGRESS : saveExecutionProgress,
|
|
};
|
|
}
|