From 246c39b5588ad4ec78c62ef706aa0713c0e1637b Mon Sep 17 00:00:00 2001 From: Ruben Vereecken <rubenvereecken@gmail.com> Date: Sat, 5 Jul 2014 17:02:48 +0200 Subject: [PATCH] User stats now go through Mongoose middleware --- server/users/User.coffee | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/server/users/User.coffee b/server/users/User.coffee index 206ca68a3..cc9c3e8fe 100644 --- a/server/users/User.coffee +++ b/server/users/User.coffee @@ -128,12 +128,13 @@ UserSchema.statics.statsMapping = 'level.system': 'stats.levelSystemMiscPatches' 'thang.type': 'stats.thangTypeMiscPatches' -# TODO Ruben make this not use update in order to go through the middleware UserSchema.statics.incrementStat = (id, statName, done, inc=1) -> - update = $inc: {} - update.$inc[statName] = inc - @update {_id:id}, update, {}, (err) -> - done err if done? + @findById id, (err, User) -> + User.incrementStat statName, done, inc=1 + +UserSchema.methods.incrementStat = (statName, done, inc=1) -> + @set statName, (@get(statName) or 0) + inc + @save (err) -> done err if done? UserSchema.pre('save', (next) -> @set('emailLower', @get('email')?.toLowerCase())