From 13b38aefb56e51c1af9bb4883aa0dd3bc87dff33 Mon Sep 17 00:00:00 2001 From: Berkeley Martinez Date: Sat, 15 Aug 2015 12:19:36 -0700 Subject: [PATCH] add random attribute to user props Allows easier random sampling --- common/models/user.js | 7 ++++++- common/models/user.json | 4 ++++ seed/loopbackMigration.js | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/common/models/user.js b/common/models/user.js index 8f79fe6b75..7bcef4ae38 100644 --- a/common/models/user.js +++ b/common/models/user.js @@ -7,7 +7,7 @@ import { saveUser, observeMethod } from '../../server/utils/rx'; import { blacklistedUsernames } from '../../server/utils/constants'; const debug = debugFactory('freecc:user:remote'); -const BROWNIEPOINTS_TIMEOUT = [30, 'seconds']; +const BROWNIEPOINTS_TIMEOUT = [1, 'hour']; function getAboutProfile({ username, @@ -35,6 +35,11 @@ module.exports = function(User) { delete User.validations.email; // set salt factor for passwords User.settings.saltWorkFactor = 5; + // set user.rand to random number + User.definition.rawProperties.updated.default = + User.definition.properties.updated.default = function() { + return Math.random(); + }; // username should not be in blacklist User.validatesExclusionOf('username', { diff --git a/common/models/user.json b/common/models/user.json index aaaf610d07..62883cf976 100644 --- a/common/models/user.json +++ b/common/models/user.json @@ -152,6 +152,10 @@ } ], "default": [] + }, + "rand": { + "type": "number", + "index": true } }, "validations": [], diff --git a/seed/loopbackMigration.js b/seed/loopbackMigration.js index ab86785b34..a06eea83c1 100644 --- a/seed/loopbackMigration.js +++ b/seed/loopbackMigration.js @@ -124,6 +124,7 @@ var users = dbObservable user[provider + 'id'] = user[provider]; user[provider] = null; }); + user.rand = Math.random(); return user; })