26 lines
703 B
TypeScript
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>,
|
|
];
|