n8n
Version:
n8n Workflow Automation Tool
83 lines (82 loc) • 2.69 kB
TypeScript
import type { User } from '@n8n/db';
import type { PackageWriter } from '../../io/package-writer';
import type { VariableConflictPolicy, VariableMissingMode } from '../../n8n-packages.types';
import type { ManifestEntry } from '../../spec/manifest.schema';
import type { PackageVariableRequirement } from '../../spec/requirements.schema';
export interface WorkflowVariableRequirement {
workflowId: string;
variableName: string;
}
export interface VariableExportRequest {
user: User;
requirements: WorkflowVariableRequirement[];
writer: PackageWriter;
includeVariableValues: boolean;
projectTargetsById?: Map<string, string>;
}
export interface VariableExportResult {
entries: ManifestEntry[];
requirements: PackageVariableRequirement[];
}
export type PlacedVariableRequirement = PackageVariableRequirement & {
globalPlacement: boolean;
packageValue?: string;
};
export interface VariableImportRequest {
requirements: PlacedVariableRequirement[] | undefined;
missingMode: VariableMissingMode;
conflictPolicy: VariableConflictPolicy;
}
export interface VariableResolutionFailure {
name: string;
usedByWorkflows: string[];
}
export interface VariableCreation {
name: string;
projectId?: string;
value?: string;
usedByWorkflows: string[];
}
export interface VariableConflict {
name: string;
projectId?: string;
usedByWorkflows: string[];
}
export interface VariableOverwrite {
variableId: string;
name: string;
projectId?: string;
value: string;
usedByWorkflows: string[];
}
export interface VariableLimitFailure {
limit: number;
remaining: number;
requested: number;
names: string[];
usedByWorkflows: string[];
}
export declare function createFailure(requirement: PackageVariableRequirement): VariableResolutionFailure;
export declare function destinationKey(destination: {
name: string;
projectId?: string;
}): string;
export declare function dedupeCreationsByDestination(creations: VariableCreation[]): VariableCreation[];
export declare function divergentOverwrites(overwrites: VariableOverwrite[]): VariableConflict[];
export declare function computeVariableLimitFailure(creations: VariableCreation[], quota: {
limit: number;
remaining: number;
} | null): VariableLimitFailure | undefined;
export interface VariableImportPlan {
matched: string[];
missing: VariableResolutionFailure[];
creations: VariableCreation[];
conflicts: VariableConflict[];
overwrites: VariableOverwrite[];
}
export interface VariableApplyResult {
created: string[];
stubbed: string[];
skippedExisting: string[];
updated: string[];
}