n8n
Version:
n8n Workflow Automation Tool
37 lines (36 loc) • 1.68 kB
TypeScript
import type { DataTableMatchingMode, DataTableMissingMode, DataTableSchemaConflictPolicy } from '../../n8n-packages.types';
import type { PackageDataTableRequirement } from '../../spec/requirements.schema';
import type { SerializedDataTable } from '../../spec/serialized/data-table.schema';
export interface WorkflowDataTableRequirement {
workflowId: string;
dataTableId: string;
}
export type DataTableResolutionFailureKind = 'missing' | 'id-conflict' | 'name-conflict' | 'schema-incompatible' | 'module-disabled' | 'permission-denied';
export type DataTableColumnTypeMismatch = {
column: string;
expectedType: string;
actualType: string;
};
export type DataTableResolutionFailure = {
kind: DataTableResolutionFailureKind;
sourceId?: string;
name?: string;
existingProjectId?: string;
missingColumns?: string[];
typeMismatches?: DataTableColumnTypeMismatch[];
extraColumns?: string[];
usedByWorkflows: string[];
};
export declare function createFailure(requirement: PackageDataTableRequirement, kind: DataTableResolutionFailureKind, details?: Partial<Pick<DataTableResolutionFailure, 'existingProjectId' | 'missingColumns' | 'typeMismatches' | 'extraColumns'>>): DataTableResolutionFailure;
export interface DataTableImportRequest {
requirements: PackageDataTableRequirement[] | undefined;
packageDataTables: SerializedDataTable[];
matchingMode: DataTableMatchingMode;
missingMode: DataTableMissingMode;
schemaConflictPolicy: DataTableSchemaConflictPolicy;
}
export interface DataTableImportPlan {
creations: SerializedDataTable[];
failures: DataTableResolutionFailure[];
matchedCount: number;
}