passport.use( 'login-api', new LocalAPIKeyStrategy(function(apikey, done) { nconf.load(); const auth = nconf.get('auth'); const key = auth.keys.find(x => x.key === apikey); // var key = auth.keys.find({ key: apikey }); if (key) { // do a bcrypt compare if (apikey == key.key) { return done(null, key.name); } return done(null, false); } return done(null, false); }) );
router.route('/capcodeRefresh') .post(authHelper.isAdmin, function (req, res, next) { nconf.load(); var dbtype = nconf.get('database:type'); console.time('updateMap'); db('messages').update('alias_id', function () { this.select('id') .from('capcodes') .where(db.ref('messages.address'), 'like', db.ref('capcodes.address')) .modify(function (queryBuilder) { if (dbtype == 'oracledb') queryBuilder.orderByRaw(`REPLACE("address", '_', '%') DESC`); else queryBuilder.orderByRaw(`REPLACE(address, '_', '%') DESC`) }) .limit(1) }) .then((result) => { console.timeEnd('updateMap'); nconf.set('database:aliasRefreshRequired', 0); nconf.save(); res.status(200).send({ 'status': 'ok' }); }) .catch((err) => { logger.main.error(err); console.timeEnd('updateMap'); }) });
router.route('/settingsData') .get(authHelper.isAdmin, function (req, res, next) { nconf.load(); let settings = nconf.get(); }) .post(authHelper.isAdmin, function (req, res, next) { nconf.load(); if (req.body) { fs.writeFileSync(conf_backup, JSON.stringify(currentConfig, null, 2)); fs.writeFileSync(confFile, JSON.stringify(req.body, null, 2)); nconf.load(); res.status(200).send({ 'status': 'ok' }); } else {
router.route('/capcodeExport') .post(authHelper.isAdmin, function (req, res, next) { nconf.load(); var dbtype = nconf.get('database:type'); var filename = 'export.csv' db.from('capcodes') .select('*') .modify(function (queryBuilder) { if (dbtype == 'oracledb') queryBuilder.orderByRaw(`REPLACE("address", '_', '%')`); else queryBuilder.orderByRaw(`REPLACE(address, '_', '%')`) }) .then((rows) => { converter.json2csv(rows, function (err, data) { if (err) { res.status(500).send(err); } else { res.status(200).send({ 'status': 'ok', 'data': data }) } }) }) .catch((err) => { logger.main.error(err); return next(err); }) });
router.route('/messages/:id') .get(authHelper.isLoggedInMessages, function (req, res, next) { nconf.load(); var pdwMode = nconf.get('messages:pdwMode'); var HideCapcode = nconf.get('messages:HideCapcode');