1 | const logger = require('./logger').db;
|
2 | const config = require('./config');
|
3 | const fs = require('fs');
|
4 | const redisOptions = config.systemConfig.db && config.systemConfig.db.redis;
|
5 |
|
6 |
|
7 |
|
8 | const emulate = process.argv[2] === 'emulate' || redisOptions.emulate;
|
9 |
|
10 | if (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 |
|
24 | const Redis = require(emulate ? 'ioredis-mock' : 'ioredis');
|
25 | const db = new Redis(redisOptions);
|
26 |
|
27 | db.on('ready', () => { logger.debug('Redis is ready'); });
|
28 | db.on('error', err => { logger.error(`Error in Redis: ${err}`); });
|
29 |
|
30 | module.exports = db;
|