Redis Credential : Additional Redis URL based credential

This commit is contained in:
vinodkiran
2023-10-20 16:33:32 +05:30
parent 26898a2230
commit b40b41bdbc
3 changed files with 62 additions and 22 deletions
@@ -0,0 +1,25 @@
import { INodeParams, INodeCredential } from '../src/Interface'
class RedisCacheUrlApi implements INodeCredential {
label: string
name: string
version: number
description: string
inputs: INodeParams[]
constructor() {
this.label = 'Redis Cache URL'
this.name = 'redisCacheUrlApi'
this.version = 1.0
this.inputs = [
{
label: 'Redis URL',
name: 'redisUrl',
type: 'string',
default: '127.0.0.1'
}
]
}
}
module.exports = { credClass: RedisCacheUrlApi }
+18 -11
View File
@@ -30,7 +30,7 @@ class RedisCache implements INode {
name: 'credential', name: 'credential',
type: 'credential', type: 'credential',
optional: true, optional: true,
credentialNames: ['redisCacheApi'] credentialNames: ['redisCacheApi', 'redisCacheUrlApi']
} }
this.inputs = [ this.inputs = [
{ {
@@ -48,17 +48,24 @@ class RedisCache implements INode {
const ttl = nodeData.inputs?.ttl as string const ttl = nodeData.inputs?.ttl as string
const credentialData = await getCredentialData(nodeData.credential ?? '', options) const credentialData = await getCredentialData(nodeData.credential ?? '', options)
const username = getCredentialParam('redisCacheUser', credentialData, nodeData) const redisUrl = getCredentialParam('redisUrl', credentialData, nodeData)
const password = getCredentialParam('redisCachePwd', credentialData, nodeData)
const portStr = getCredentialParam('redisCachePort', credentialData, nodeData)
const host = getCredentialParam('redisCacheHost', credentialData, nodeData)
const client = new Redis({ let client: Redis
port: portStr ? parseInt(portStr) : 6379, if (!redisUrl || redisUrl === '') {
host, const username = getCredentialParam('redisCacheUser', credentialData, nodeData)
username, const password = getCredentialParam('redisCachePwd', credentialData, nodeData)
password const portStr = getCredentialParam('redisCachePort', credentialData, nodeData)
}) const host = getCredentialParam('redisCacheHost', credentialData, nodeData)
client = new Redis({
port: portStr ? parseInt(portStr) : 6379,
host,
username,
password
})
} else {
client = new Redis(redisUrl)
}
const redisClient = new LangchainRedisCache(client) const redisClient = new LangchainRedisCache(client)
@@ -30,7 +30,7 @@ class RedisEmbeddingsCache implements INode {
name: 'credential', name: 'credential',
type: 'credential', type: 'credential',
optional: true, optional: true,
credentialNames: ['redisCacheApi'] credentialNames: ['redisCacheApi', 'redisCacheUrlApi']
} }
this.inputs = [ this.inputs = [
{ {
@@ -63,17 +63,25 @@ class RedisEmbeddingsCache implements INode {
const underlyingEmbeddings = nodeData.inputs?.embeddings as Embeddings const underlyingEmbeddings = nodeData.inputs?.embeddings as Embeddings
const credentialData = await getCredentialData(nodeData.credential ?? '', options) const credentialData = await getCredentialData(nodeData.credential ?? '', options)
const username = getCredentialParam('redisCacheUser', credentialData, nodeData) const redisUrl = getCredentialParam('redisUrl', credentialData, nodeData)
const password = getCredentialParam('redisCachePwd', credentialData, nodeData)
const portStr = getCredentialParam('redisCachePort', credentialData, nodeData) let client: Redis
const host = getCredentialParam('redisCacheHost', credentialData, nodeData) if (!redisUrl || redisUrl === '') {
const username = getCredentialParam('redisCacheUser', credentialData, nodeData)
const password = getCredentialParam('redisCachePwd', credentialData, nodeData)
const portStr = getCredentialParam('redisCachePort', credentialData, nodeData)
const host = getCredentialParam('redisCacheHost', credentialData, nodeData)
client = new Redis({
port: portStr ? parseInt(portStr) : 6379,
host,
username,
password
})
} else {
client = new Redis(redisUrl)
}
const client = new Redis({
port: portStr ? parseInt(portStr) : 6379,
host,
username,
password
})
ttl ??= '3600' ttl ??= '3600'
let ttlNumber = parseInt(ttl, 10) let ttlNumber = parseInt(ttl, 10)
const redisStore = new RedisByteStore({ const redisStore = new RedisByteStore({