icynet-auth-server/src/modules/redis/redis.providers.ts

26 lines
703 B
TypeScript

import { FactoryProvider } from '@nestjs/common';
import { ConfigurationService } from '../config/config.service';
import * as redis from 'redis';
export type Redis = ReturnType<typeof redis.createClient>;
export const redisProviders = [
{
provide: 'REDIS_CLIENT',
useFactory: async (config: ConfigurationService): Promise<Redis> => {
const redisClient = redis.createClient({
url:
process.env.REDIS_URL ||
config.get<string>('app.redis_url') ||
'redis://localhost:6379',
legacyMode: true,
});
await redisClient.connect();
return redisClient;
},
inject: [ConfigurationService],
} as FactoryProvider<Redis>,
];