From d6b6fe694e1e79fa15a72e75fe6261bb032a4adc Mon Sep 17 00:00:00 2001 From: stanislav Date: Wed, 13 Apr 2016 16:28:52 +0300 Subject: [PATCH 1/5] fix (UserService): stayLoggedIn flag set if user login failed --- libs/backendless.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/libs/backendless.js b/libs/backendless.js index 86bf9340..dbbf268e 100644 --- a/libs/backendless.js +++ b/libs/backendless.js @@ -374,7 +374,8 @@ try { return cacheMethods[config.cachePolicy.policy].call(this, config); } catch (error) { - throw error; + console.error(error && error.message || error); + return false; } }; @@ -1435,8 +1436,11 @@ }; UserService.prototype = { - _wrapAsync: function(async) { + _wrapAsync: function(async, stayLoggedIn) { var me = this, success = function(data) { + if (Utils.isBoolean(stayLoggedIn)) { + Backendless.LocalCache.set("stayLoggedIn", stayLoggedIn); + } currentUser = me._parseResponse(tryParseJSON(data)); async.success(me._getUserFromResponse(currentUser)); }, error = function(data) { @@ -1545,15 +1549,11 @@ Backendless.LocalCache.remove("current-user-id"); Backendless.LocalCache.set("stayLoggedIn", false); - if (Utils.isBoolean(stayLoggedIn)) { - Backendless.LocalCache.set("stayLoggedIn", stayLoggedIn); - } - var responder = extractResponder(arguments); var isAsync = responder != null; if (responder) { - responder = this._wrapAsync(responder); + responder = this._wrapAsync(responder, stayLoggedIn); } var data = { @@ -1571,6 +1571,10 @@ if (isAsync) { return result; + } else if (result && Utils.isBoolean(stayLoggedIn)) { + Backendless.LocalCache.set("stayLoggedIn", stayLoggedIn); + } else if (!result) { + return false; } currentUser = this._parseResponse(result); From 80d7563d6e0ef491eb13ddad49b666a18ffeef2f Mon Sep 17 00:00:00 2001 From: stanislav Date: Wed, 13 Apr 2016 16:50:28 +0300 Subject: [PATCH 2/5] fix: error shows in console and not throws --- libs/backendless.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libs/backendless.js b/libs/backendless.js index dbbf268e..b0eb88cd 100644 --- a/libs/backendless.js +++ b/libs/backendless.js @@ -374,8 +374,7 @@ try { return cacheMethods[config.cachePolicy.policy].call(this, config); } catch (error) { - console.error(error && error.message || error); - return false; + throw error; } }; From 0cdbd65acc9c4e176077e6677d35fb968ab2fe78 Mon Sep 17 00:00:00 2001 From: stanislav Date: Fri, 15 Apr 2016 16:57:37 +0300 Subject: [PATCH 3/5] refactor: remove setting of stayLoggedIn in parseResponse --- libs/backendless.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/libs/backendless.js b/libs/backendless.js index b0eb88cd..45fe2007 100644 --- a/libs/backendless.js +++ b/libs/backendless.js @@ -1435,11 +1435,8 @@ }; UserService.prototype = { - _wrapAsync: function(async, stayLoggedIn) { + _wrapAsync: function(async) { var me = this, success = function(data) { - if (Utils.isBoolean(stayLoggedIn)) { - Backendless.LocalCache.set("stayLoggedIn", stayLoggedIn); - } currentUser = me._parseResponse(tryParseJSON(data)); async.success(me._getUserFromResponse(currentUser)); }, error = function(data) { @@ -1449,10 +1446,14 @@ return new Async(success, error); }, - _parseResponse: function(data) { + _parseResponse: function(data, stayLoggedIn) { var user = new Backendless.User(); deepExtend(user, data); + if (Utils.isBoolean(stayLoggedIn)) { + Backendless.LocalCache.set("stayLoggedIn", stayLoggedIn); + } + return user; }, @@ -1552,7 +1553,7 @@ var isAsync = responder != null; if (responder) { - responder = this._wrapAsync(responder, stayLoggedIn); + responder = this._wrapAsync(responder); } var data = { @@ -1570,13 +1571,11 @@ if (isAsync) { return result; - } else if (result && Utils.isBoolean(stayLoggedIn)) { - Backendless.LocalCache.set("stayLoggedIn", stayLoggedIn); } else if (!result) { return false; } - currentUser = this._parseResponse(result); + currentUser = this._parseResponse(result, stayLoggedIn); return this._getUserFromResponse(currentUser); }, From 722bee66c31b09ccf2d3b14177a8c46103cbc023 Mon Sep 17 00:00:00 2001 From: stanislav Date: Mon, 18 Apr 2016 12:14:15 +0300 Subject: [PATCH 4/5] refactor: always return result from login method --- libs/backendless.js | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/libs/backendless.js b/libs/backendless.js index 45fe2007..b061b590 100644 --- a/libs/backendless.js +++ b/libs/backendless.js @@ -1450,8 +1450,8 @@ var user = new Backendless.User(); deepExtend(user, data); - if (Utils.isBoolean(stayLoggedIn)) { - Backendless.LocalCache.set("stayLoggedIn", stayLoggedIn); + if (stayLoggedIn) { + Backendless.LocalCache.set("stayLoggedIn", !!stayLoggedIn); } return user; @@ -1569,15 +1569,12 @@ data : JSON.stringify(data) }); - if (isAsync) { - return result; - } else if (!result) { - return false; + if (!isAsync && result) { + currentUser = this._parseResponse(result, stayLoggedIn); + return this._getUserFromResponse(currentUser); } - currentUser = this._parseResponse(result, stayLoggedIn); - - return this._getUserFromResponse(currentUser); + return result; }, _getUserFromResponse: function(user) { From b9a179d885529a7999534903a5e80dba396daea2 Mon Sep 17 00:00:00 2001 From: stanislav Date: Mon, 18 Apr 2016 14:43:14 +0300 Subject: [PATCH 5/5] refactor (UserService - login method) --- libs/backendless.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/backendless.js b/libs/backendless.js index b061b590..de04600b 100644 --- a/libs/backendless.js +++ b/libs/backendless.js @@ -1451,7 +1451,7 @@ deepExtend(user, data); if (stayLoggedIn) { - Backendless.LocalCache.set("stayLoggedIn", !!stayLoggedIn); + Backendless.LocalCache.set("stayLoggedIn", stayLoggedIn); } return user; @@ -1570,8 +1570,8 @@ }); if (!isAsync && result) { - currentUser = this._parseResponse(result, stayLoggedIn); - return this._getUserFromResponse(currentUser); + currentUser = this._parseResponse(result, stayLoggedIn === true); + result = this._getUserFromResponse(currentUser); } return result;