mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-16 10:46:14 +01:00
closes #6301
This commit is contained in:
@@ -277,7 +277,7 @@ module.exports = function (db, module) {
|
||||
callback = callback || helpers.noop;
|
||||
value = parseInt(value, 10);
|
||||
if (!key || isNaN(value)) {
|
||||
return callback();
|
||||
return callback(null, null);
|
||||
}
|
||||
|
||||
var data = {};
|
||||
|
||||
@@ -117,14 +117,18 @@ module.exports = function (redisClient, module) {
|
||||
};
|
||||
|
||||
module.incrObjectField = function (key, field, callback) {
|
||||
redisClient.hincrby(key, field, 1, callback);
|
||||
module.incrObjectFieldBy(key, field, 1, callback);
|
||||
};
|
||||
|
||||
module.decrObjectField = function (key, field, callback) {
|
||||
redisClient.hincrby(key, field, -1, callback);
|
||||
module.incrObjectFieldBy(key, field, -1, callback);
|
||||
};
|
||||
|
||||
module.incrObjectFieldBy = function (key, field, value, callback) {
|
||||
value = parseInt(value, 10);
|
||||
if (!key || isNaN(value)) {
|
||||
return callback(null, null);
|
||||
}
|
||||
redisClient.hincrby(key, field, value, callback);
|
||||
};
|
||||
};
|
||||
|
||||
@@ -438,5 +438,17 @@ describe('Hash methods', function () {
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should return null if value is NaN', function (done) {
|
||||
db.incrObjectFieldBy('testObject15', 'lastonline', 'notanumber', function (err, newValue) {
|
||||
assert.ifError(err);
|
||||
assert.strictEqual(newValue, null);
|
||||
db.isObjectField('testObject15', 'lastonline', function (err, isField) {
|
||||
assert.ifError(err);
|
||||
assert(!isField);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user