Add PostgreSQL and Redis integration for users and sessions Implement password and WebAuthn passkey login flows Add Docker stack, super-admin seeding, and protected routes
21 lines
522 B
TypeScript
21 lines
522 B
TypeScript
import { createClient, type RedisClientType } from 'redis'
|
|
|
|
let redisClientPromise: Promise<RedisClientType> | null = null
|
|
|
|
export async function getRedisClient() {
|
|
if (!redisClientPromise) {
|
|
const config = useRuntimeConfig()
|
|
const client = createClient({
|
|
url: config.redisUrl || 'redis://127.0.0.1:6379'
|
|
})
|
|
|
|
client.on('error', (error) => {
|
|
console.error('Redis connection error', error)
|
|
})
|
|
|
|
redisClientPromise = client.connect().then(() => client)
|
|
}
|
|
|
|
return redisClientPromise
|
|
}
|