import { createClient } from 'redis'; export abstract class BaseRedisRepository { protected redisClient; constructor( redisClient = createClient({ url: process.env.REDIS_URL, socket: { tls: process.env.NODE_ENV === 'production', rejectUnauthorized: false, } }), ) { this.redisClient = redisClient; } get isReady() { return this.redisClient.isReady; } public async connect() { await this.redisClient.connect(); } public async disconnect() { await this.redisClient.disconnect(); } public async clearAllData() { await this.redisClient.flushAll(); } }