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;
|
callback = callback || helpers.noop;
|
||||||
value = parseInt(value, 10);
|
value = parseInt(value, 10);
|
||||||
if (!key || isNaN(value)) {
|
if (!key || isNaN(value)) {
|
||||||
return callback();
|
return callback(null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
var data = {};
|
var data = {};
|
||||||
|
|||||||
@@ -117,14 +117,18 @@ module.exports = function (redisClient, module) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
module.incrObjectField = function (key, field, callback) {
|
module.incrObjectField = function (key, field, callback) {
|
||||||
redisClient.hincrby(key, field, 1, callback);
|
module.incrObjectFieldBy(key, field, 1, callback);
|
||||||
};
|
};
|
||||||
|
|
||||||
module.decrObjectField = function (key, field, 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) {
|
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);
|
redisClient.hincrby(key, field, value, callback);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -438,5 +438,17 @@ describe('Hash methods', function () {
|
|||||||
done();
|
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