Better incrementUserStat()
This commit is contained in:
parent
eea9e7b5e6
commit
0efa148f63
|
@ -147,29 +147,34 @@ class StatLog {
|
||||||
incrementUserStat(user, statName, incrementBy, cb) {
|
incrementUserStat(user, statName, incrementBy, cb) {
|
||||||
incrementBy = incrementBy || 1;
|
incrementBy = incrementBy || 1;
|
||||||
|
|
||||||
let newValue = parseInt(user.properties[statName]);
|
const oldValue = user.getPropertyAsNumber(statName) || 0;
|
||||||
if(newValue) {
|
const newValue = oldValue + incrementBy;
|
||||||
if(!_.isNumber(newValue) && cb) {
|
|
||||||
return cb(new Error(`Value for ${statName} is not a number!`));
|
|
||||||
}
|
|
||||||
newValue += incrementBy;
|
|
||||||
} else {
|
|
||||||
newValue = incrementBy;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.setUserStatWithOptions(user, statName, newValue, { noEvent : true }, err => {
|
this.setUserStatWithOptions(
|
||||||
|
user,
|
||||||
|
statName,
|
||||||
|
newValue,
|
||||||
|
{ noEvent : true },
|
||||||
|
err => {
|
||||||
if(!err) {
|
if(!err) {
|
||||||
const Events = require('./events.js'); // we need to late load currently
|
const Events = require('./events.js'); // we need to late load currently
|
||||||
Events.emit(
|
Events.emit(
|
||||||
Events.getSystemEvents().UserStatIncrement,
|
Events.getSystemEvents().UserStatIncrement,
|
||||||
{ user, statName, statIncrementBy: incrementBy, statValue : newValue }
|
{
|
||||||
|
user,
|
||||||
|
statName,
|
||||||
|
oldValue,
|
||||||
|
statIncrementBy : incrementBy,
|
||||||
|
statValue : newValue
|
||||||
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(cb) {
|
if(cb) {
|
||||||
return cb(err);
|
return cb(err);
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// the time "now" in the ISO format we use and love :)
|
// the time "now" in the ISO format we use and love :)
|
||||||
|
|
Loading…
Reference in New Issue