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>,
|
||
|
];
|