/* Mongoose */
userSchema.pre('save', function (next) {
if (!this.created) this.created = new Date;
next();
});
userSchema.pre('post', function() {
pushUserToAnalytics(this);
});
/* Blini */
class User extends Model(userSchema, connection, 'User') {
save() {
let user = this;
if (!user.created) {
user = user.set('created', new Date);
}
return super.save.call(user)
.then(function(newUser) {
return pushUserToAnalytics(newUser)
.thenResolve(newUser);
});
}
}