From e76b002a88602641072e0e91c60b59e1b24d82b3 Mon Sep 17 00:00:00 2001 From: Markin Igor <markin.io210@gmail.com> Date: Fri, 8 Feb 2019 17:27:19 +0300 Subject: [PATCH] refactor logout --- javascript/src/iframe/viamapi-iframe.js | 51 ++++++++++++------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index d148247..291ef3c 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -1842,38 +1842,35 @@ const connection = Penpal.connectToParent({ }); }); }, - logout() { + logout: async () => { const authenticationPublicKey = localStorage.getItem("authenticatedIdentity"); - if (authenticationPublicKey === null) { - return {"data" : "", - "code" : "400", - "status" : "Identity not loaded" - } - } - if (window.loadedIdentities[authenticationPublicKey] === null) { - return {"data" : "", - "code" : "400", - "status" : "Identity not loaded" - } + if (!authenticationPublicKey || !window.loadedIdentities[authenticationPublicKey]) { + return { + data: "", + code: "400", + status: "Identity not loaded" + }; } - return new Penpal.Promise(result => { - executeRestfulFunction("private", viamApi, viamApi.identityLogout).then(executeResult => { - viamApi.setIdentity(""); - viamApi.setSessionData("", ""); - clearPinCodeTtl(authenticationPublicKey); + const identityLogoutResponse = await executeRestfulFunction( + "private", + window.viamApi, + window.viamApi.identityLogout + ); - localStorage.removeItem("uuid"); - localStorage.removeItem("token"); - localStorage.removeItem("authenticatedIdentity"); - delete window.loadedIdentities[authenticationPublicKey]; - window.currentlyLoadedIdentity = null; - window.currentlyAuthenticatedIdentity = null; - window.lastTimeGetProfile = 0; + window.viamApi.setIdentity(""); + window.viamApi.setSessionData("", ""); + clearPinCodeTtl(authenticationPublicKey); - result(executeResult); - }); - }); + localStorage.removeItem("uuid"); + localStorage.removeItem("token"); + localStorage.removeItem("authenticatedIdentity"); + delete window.loadedIdentities[authenticationPublicKey]; + window.currentlyLoadedIdentity = null; + window.currentlyAuthenticatedIdentity = null; + window.lastTimeGetProfile = 0; + + return identityLogoutResponse; }, identityRestoreAccess(restoreAccessIdentity, identificator) { return new Penpal.Promise(result => { -- GitLab