mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-05 05:25:49 +01:00
redis export function (commented out for now)
This commit is contained in:
22
src/meta.js
22
src/meta.js
@@ -223,4 +223,26 @@ var utils = require('./../public/src/utils.js'),
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Meta.db = {
|
||||
getFile: function (callback) {
|
||||
var multi = RDB.multi();
|
||||
|
||||
multi.config('get', 'dir');
|
||||
multi.config('get', 'dbfilename');
|
||||
multi.exec(function (err, results) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
} else {
|
||||
results = results.reduce(function (memo, config) {
|
||||
memo[config[0]] = config[1];
|
||||
return memo;
|
||||
}, {});
|
||||
|
||||
var dbFile = path.join(results.dir, results.dbfilename);
|
||||
callback(null, dbFile);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
}(exports));
|
||||
@@ -4,9 +4,11 @@ var user = require('./../user.js'),
|
||||
RDB = require('./../redis.js'),
|
||||
pkg = require('./../../package.json'),
|
||||
categories = require('./../categories.js'),
|
||||
Meta = require('../meta'),
|
||||
plugins = require('../plugins'),
|
||||
winston = require('winston'),
|
||||
nconf = require('nconf');
|
||||
nconf = require('nconf'),
|
||||
fs = require('fs');
|
||||
|
||||
(function (Admin) {
|
||||
Admin.isAdmin = function (req, res, next) {
|
||||
@@ -153,7 +155,8 @@ var user = require('./../user.js'),
|
||||
});
|
||||
});
|
||||
|
||||
app.get('/redis', function (req, res) {
|
||||
app.namespace('/redis', function () {
|
||||
app.get('/', function (req, res) {
|
||||
RDB.info(function (err, data) {
|
||||
data = data.split("\r\n");
|
||||
var finalData = {};
|
||||
@@ -180,6 +183,29 @@ var user = require('./../user.js'),
|
||||
});
|
||||
});
|
||||
|
||||
// app.get('/export', Admin.isAdmin, function (req, res) {
|
||||
// Meta.db.getFile(function (err, dbFile) {
|
||||
// if (!err) {
|
||||
// res.download(dbFile, 'redis.rdb', function (err) {
|
||||
// console.log(err);
|
||||
// res.send(500);
|
||||
// if (err) {
|
||||
// res.send(500);
|
||||
// switch (err.code) {
|
||||
// case 'EACCES':
|
||||
// res.send(500, 'Require permissions from Redis database file: ', dbFile);
|
||||
// break;
|
||||
// default:
|
||||
// res.send(500);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// } else res.send(500);
|
||||
// });
|
||||
// });
|
||||
});
|
||||
|
||||
app.get('/plugins', function (req, res) {
|
||||
plugins.showInstalled(function (err, plugins) {
|
||||
if (err || !Array.isArray(plugins)) plugins = [];
|
||||
|
||||
Reference in New Issue
Block a user