Files
NodeBB/src/meta/errors.js

38 lines
901 B
JavaScript
Raw Normal View History

2016-05-24 22:01:46 -04:00
'use strict';
2016-10-04 20:10:59 +03:00
var validator = require('validator');
2016-05-24 22:01:46 -04:00
2016-10-04 20:10:59 +03:00
var db = require('../database');
var analytics = require('../analytics');
2016-05-24 22:01:46 -04:00
module.exports = function (Meta) {
2016-05-24 22:01:46 -04:00
Meta.errors = {};
Meta.errors.log404 = function (route, callback) {
callback = callback || function () {};
2016-05-24 22:01:46 -04:00
route = route.replace(/\/$/, ''); // remove trailing slashes
analytics.increment('errors:404');
db.sortedSetIncrBy('errors:404', 1, route, callback);
};
Meta.errors.get = function (escape, callback) {
db.getSortedSetRevRangeWithScores('errors:404', 0, -1, function (err, data) {
2016-08-16 19:46:59 +02:00
if (err) {
return callback(err);
}
data = data.map(function (nfObject) {
2016-10-10 18:56:21 +03:00
nfObject.value = escape ? validator.escape(String(nfObject.value || '')) : nfObject.value;
2016-05-24 22:01:46 -04:00
return nfObject;
});
callback(null, data);
});
};
Meta.errors.clear = function (callback) {
2016-05-24 23:04:57 -04:00
db.delete('errors:404', callback);
2016-05-24 22:01:46 -04:00
};
};