From 098de53d4caadc66c8de22f0ee27d82c2477affc Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 10 Jul 2018 09:53:42 -0500 Subject: [PATCH] Updates after PR review --- src/lib/keysManager.js | 6 +++--- src/lib/sfjs/authManager.js | 6 ++++-- src/lib/sfjs/modelManager.js | 2 +- src/lib/sfjs/storageManager.js | 2 +- src/models/extend/item.js | 16 ++++------------ src/screens/Account.js | 4 ++-- src/screens/Webview.js | 1 - 7 files changed, 15 insertions(+), 22 deletions(-) diff --git a/src/lib/keysManager.js b/src/lib/keysManager.js index a7e6b853..03abd886 100644 --- a/src/lib/keysManager.js +++ b/src/lib/keysManager.js @@ -212,7 +212,7 @@ export default class KeysManager { this.accountKeys = null; this.accountAuthParams = null; this.user = null; - Storage.get().clearKeys(this.accountRelatedStorageKeys); + await Storage.get().clearKeys(this.accountRelatedStorageKeys); return this.persistKeysToKeychain(); } @@ -274,7 +274,7 @@ export default class KeysManager { // Local Security - clearOfflineKeysAndData() { + async clearOfflineKeysAndData() { // make sure user is authenticated before performing this step if(!this.offlineKeys.mk) { alert("Unable to remove passcode. Make sure you are properly authenticated and try again."); @@ -282,7 +282,7 @@ export default class KeysManager { } this.offlineKeys = null; this.offlineAuthParams = null; - Storage.get().removeItem(OfflineParamsKey); + await Storage.get().removeItem(OfflineParamsKey); return this.persistKeysToKeychain(); } diff --git a/src/lib/sfjs/authManager.js b/src/lib/sfjs/authManager.js index 1ef15fb1..d7926d09 100644 --- a/src/lib/sfjs/authManager.js +++ b/src/lib/sfjs/authManager.js @@ -42,10 +42,12 @@ export default class Auth extends SFAuthManager { } async handleAuthResponse(response, email, url, authParams, keys) { - super.handleAuthResponse(response, email, url, authParams, keys); + // We don't want to call super, as the super implementation is meant for web credentials + // super will save keys to storage, which we don't want. + // await super.handleAuthResponse(response, email, url, authParams, keys); try { this._keys = keys; - return await Promise.all([ + return Promise.all([ KeysManager.get().persistAccountKeys(_.merge(keys, {jwt: response.token})), KeysManager.get().setAccountAuthParams(authParams), KeysManager.get().saveUser({server: url, email: email}) diff --git a/src/lib/sfjs/modelManager.js b/src/lib/sfjs/modelManager.js index c4774426..d46a6d7e 100644 --- a/src/lib/sfjs/modelManager.js +++ b/src/lib/sfjs/modelManager.js @@ -76,7 +76,7 @@ export default class ModelManager extends SFModelManager { } async removeItemLocally(item) { - super.removeItemLocally(item); + await super.removeItemLocally(item); if(item.content_type == "Tag") { _.remove(this.tags, {uuid: item.uuid}); diff --git a/src/lib/sfjs/storageManager.js b/src/lib/sfjs/storageManager.js index 0aaf1f35..0da740fd 100644 --- a/src/lib/sfjs/storageManager.js +++ b/src/lib/sfjs/storageManager.js @@ -53,7 +53,7 @@ export default class Storage extends SFStorageManager { } async removeItem(key) { - return await AsyncStorage.removeItem(key); + return AsyncStorage.removeItem(key); } async clearKeys(keys) { diff --git a/src/models/extend/item.js b/src/models/extend/item.js index 38ad175b..69a0a16e 100644 --- a/src/models/extend/item.js +++ b/src/models/extend/item.js @@ -23,15 +23,7 @@ SFItem.prototype.dateToLocalizedString = function(date) { // Define these new methods -SFItem.prototype.initUUID = async function(date) { - if(!this.uuid) { - return SFJS.crypto.generateUUID().then((uuid) => { - this.uuid = uuid; - }) - } -} - -SFItem.prototype.initUUID = async function(date) { +SFItem.prototype.initUUID = async function() { if(!this.uuid) { return SFJS.crypto.generateUUID().then((uuid) => { this.uuid = uuid; @@ -42,7 +34,7 @@ SFItem.prototype.initUUID = async function(date) { // Define these getters Object.defineProperty(SFItem.prototype, "key", { - get: function key() { - return this.uuid; - } + get: function key() { + return this.uuid; + } }); diff --git a/src/screens/Account.js b/src/screens/Account.js index bb776bd0..b8f07ed8 100644 --- a/src/screens/Account.js +++ b/src/screens/Account.js @@ -388,8 +388,8 @@ export default class Account extends Abstract { title: "Disable Passcode", text: message, confirmButtonText: "Disable Passcode", - onConfirm: () => { - var result = KeysManager.get().clearOfflineKeysAndData(); + onConfirm: async () => { + var result = await KeysManager.get().clearOfflineKeysAndData(); if(encryptionSource == "offline") { // remove encryption from all items this.resaveOfflineData(null, true); diff --git a/src/screens/Webview.js b/src/screens/Webview.js index 9af786b0..e15ee016 100644 --- a/src/screens/Webview.js +++ b/src/screens/Webview.js @@ -64,7 +64,6 @@ export default class Webview extends Abstract { } } }); - } componentDidMount() {