integreat
Version:
Node.js integration layer
29 lines (28 loc) • 936 B
TypeScript
import type { TransformDefinition, TransformObject, Pipeline } from 'map-transform/types.js';
import { Action, Condition, ValidateObject } from '../types.js';
export interface JobBase {
conditions?: Record<string, Condition | undefined>;
preconditions?: ValidateObject[];
premutation?: TransformObject | Pipeline;
mutation?: TransformObject | Pipeline;
iterate?: TransformDefinition;
iteratePath?: string;
iterateConcurrency?: number;
postmutation?: TransformObject | Pipeline;
postconditions?: ValidateObject[];
responseMutation?: TransformObject | Pipeline;
}
export interface JobStepDef extends JobBase {
id: string;
action: Action;
}
export interface JobDef extends JobBase {
id?: string;
action?: Action;
flow?: (JobStepDef | JobStepDef[])[];
cron?: string;
tz?: string;
}
export interface JobDefWithFlow extends JobDef {
flow: NonNullable<JobDef['flow']>;
}