From 2f9400fc8741796eda28f2456a9401278109d545 Mon Sep 17 00:00:00 2001 From: Clark Wang <clark.wangs@gmail.com> Date: Sun, 28 Dec 2014 16:02:37 +0800 Subject: [PATCH] fix User.settings.ttl can't be overridden in sub model Signed-off-by: Clark Wang <clark.wangs@gmail.com> --- common/models/user.js | 2 +- test/user.test.js | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/common/models/user.js b/common/models/user.js index e9fee16e..42661905 100644 --- a/common/models/user.js +++ b/common/models/user.js @@ -464,7 +464,7 @@ module.exports = function(User) { // max ttl this.settings.maxTTL = this.settings.maxTTL || DEFAULT_MAX_TTL; - this.settings.ttl = DEFAULT_TTL; + this.settings.ttl = this.settings.ttl || DEFAULT_TTL; UserModel.setter.password = function(plain) { var salt = bcrypt.genSaltSync(this.constructor.settings.saltWorkFactor || SALT_WORK_FACTOR); diff --git a/test/user.test.js b/test/user.test.js index 8b8ee4f3..60ef9182 100644 --- a/test/user.test.js +++ b/test/user.test.js @@ -808,4 +808,14 @@ describe('User', function() { expect(User.accessToken.modelName, 'modelName').to.eql('AccessToken'); }); }); + + describe('ttl', function() { + var User2; + beforeEach(function() { + User2 = loopback.User.extend('User2', {}, { ttl: 10 }); + }); + it('should override ttl setting in based User model', function() { + expect(User2.settings.ttl).to.equal(10); + }); + }); });