/** * Redis Node - Version 1 * Get, send and update data in Redis */ export interface RedisV1Params { operation?: 'delete' | 'get' | 'incr' | 'info' | 'keys' | 'llen' | 'pop' | 'publish' | 'push' | 'set'; /** * Name of the key to delete from Redis * @displayOptions.show { operation: ["delete"] } */ key?: string | Expression | PlaceholderValue; /** * Name of the property to write received data to. Supports dot-notation. Example: "data.person[0].name". * @displayOptions.show { operation: ["get"] } * @default propertyName */ propertyName?: string | Expression | PlaceholderValue; /** * The type of the key to get * @displayOptions.show { operation: ["get"] } * @default automatic */ keyType?: 'automatic' | 'hash' | 'list' | 'sets' | 'string' | Expression; /** * Options * @displayOptions.show { operation: ["get"] } * @default {} */ options?: { /** <p>By default, dot-notation is used in property names. This means that "a.b" will set the property "b" underneath "a" so { "a": { "b": value} }.<p></p>If that is not intended this can be deactivated, it will then set { "a.b": value } instead.</p>. * @default true */ dotNotation?: boolean | Expression; }; /** * Whether to set a timeout on key * @displayOptions.show { operation: ["incr"] } * @default false */ expire?: boolean | Expression; /** * Number of seconds before key expiration * @displayOptions.show { operation: ["incr"], expire: [true] } * @default 60 */ ttl?: number | Expression; /** * The key pattern for the keys to return * @displayOptions.show { operation: ["keys"] } */ keyPattern?: string | Expression | PlaceholderValue; /** * Whether to get the value of matching keys * @displayOptions.show { operation: ["keys"] } * @default true */ getValues?: boolean | Expression; /** * Name of the list in Redis * @displayOptions.show { operation: ["llen"] } */ list?: string | Expression | PlaceholderValue; /** * The value to write in Redis * @displayOptions.show { operation: ["set"] } */ value?: string | Expression | PlaceholderValue; /** * Whether the value is JSON or key value pairs * @displayOptions.show { keyType: ["hash"] } * @default true */ valueIsJSON?: boolean | Expression; /** * Channel name * @displayOptions.show { operation: ["publish"] } */ channel?: string | Expression | PlaceholderValue; /** * Data to publish * @displayOptions.show { operation: ["publish"] } */ messageData?: string | Expression | PlaceholderValue; /** * Whether to push or pop data from the end of the list * @displayOptions.show { operation: ["push", "pop"] } * @default false */ tail?: boolean | Expression; } export interface RedisV1Credentials { redis: CredentialReference; } interface RedisV1NodeBase { type: 'n8n-nodes-base.redis'; version: 1; credentials?: RedisV1Credentials; } export type RedisV1ParamsNode = RedisV1NodeBase & { config: NodeConfig; }; export type RedisV1Node = RedisV1ParamsNode;