UNPKG

979 BJavaScriptView Raw
1const logger = require('./logger').db;
2const config = require('./config');
3const fs = require('fs');
4const redisOptions = config.systemConfig.db && config.systemConfig.db.redis;
5
6// special mode, will emulate all redis commands.
7// designed for demo and test scenarious to avoid having real Redis instance
8const emulate = process.argv[2] === 'emulate' || redisOptions.emulate;
9
10if (redisOptions.tls) {
11 if (redisOptions.tls.keyFile) {
12 redisOptions.tls.key = fs.readFileSync(redisOptions.tls.keyFile);
13 };
14
15 if (redisOptions.tls.certFile) {
16 redisOptions.tls.cert = fs.readFileSync(redisOptions.tls.certFile);
17 }
18
19 if (redisOptions.tls.caFile) {
20 redisOptions.tls.ca = fs.readFileSync(redisOptions.tls.caFile);
21 }
22}
23
24const Redis = require(emulate ? 'ioredis-mock' : 'ioredis');
25const db = new Redis(redisOptions);
26
27db.on('ready', () => { logger.debug('Redis is ready'); });
28db.on('error', err => { logger.error(`Error in Redis: ${err}`); });
29
30module.exports = db;