n8n-nodes-base
Version:
Base nodes of n8n
72 lines • 2.32 kB
TypeScript
import type { IDataObject, INodeExecutionData, SSHCredentials } from 'n8n-workflow';
import type pgPromise from 'pg-promise';
import { type IFormattingOptions } from 'pg-promise';
import type pg from 'pg-promise/typescript/pg-subset';
export type QueryMode = 'single' | 'transaction' | 'independently';
export type QueryValue = string | number | IDataObject | string[];
export type QueryValues = QueryValue[];
export type QueryWithValues = {
query: string;
values?: QueryValues;
options?: IFormattingOptions;
};
export type WhereClause = {
column: string;
condition: string;
value: string | number;
};
export type SortRule = {
column: string;
direction: string;
};
export type ColumnInfo = {
column_name: string;
data_type: string;
is_nullable: string;
udt_name?: string;
column_default?: string | null;
is_generated?: 'ALWAYS' | 'NEVER';
identity_generation?: 'ALWAYS' | 'NEVER' | 'BY DEFAULT';
};
export type EnumInfo = {
typname: string;
enumlabel: string;
};
export type PgpClient = pgPromise.IMain<{}, pg.IClient>;
export type PgpDatabase = pgPromise.IDatabase<{}, pg.IClient>;
export type PgpConnectionParameters = pg.IConnectionParameters<pg.IClient>;
export type PgpConnection = pgPromise.IConnected<{}, pg.IClient>;
export type ConnectionsData = {
db: PgpDatabase;
pgp: PgpClient;
};
export type QueriesRunner = (queries: QueryWithValues[], options: IDataObject) => Promise<INodeExecutionData[]>;
export type PostgresNodeOptions = {
nodeVersion?: number;
operation?: string;
cascade?: boolean;
connectionTimeout?: number;
delayClosingIdleConnection?: number;
queryBatching?: QueryMode;
queryReplacement?: string;
outputColumns?: string[];
largeNumbersOutput?: 'numbers' | 'text';
skipOnConflict?: boolean;
replaceEmptyStrings?: boolean;
treatQueryParametersInSingleQuotesAsText?: boolean;
};
export type PostgresNodeCredentials = {
host: string;
port: number;
database: string;
user: string;
password: string;
maxConnections: number;
allowUnauthorizedCerts?: boolean;
ssl?: 'disable' | 'allow' | 'require' | 'verify' | 'verify-full';
} & ({
sshTunnel: false;
} | ({
sshTunnel: true;
} & SSHCredentials));
//# sourceMappingURL=interfaces.d.ts.map