(function(){ /** * Special service to manage the variables in localStorage & cookie, * define the behavior after user login\logout. */ "use strict"; angular .module("app.helpers") .service("helpers.authorize", authorizeHelper); function authorizeHelper(){ /** * Specify a suitable variables when user successfully logged. * @param {"http-response"} response */ this.setUserRules = function (response){ appLocalStorage.set("token", response.data.access_token); appLocalStorage.set("userId", response.data.userId); appLocalStorage.set("email", response.data.email); appLocalStorage.set("userRole", response.data.role); appLocalStorage.delete("currentTabUrl"); }; this.clearUserRules = function(){ clearLocalStorage(); clearCookies(); }; // Internal methods. function clearCookies(){ appCookieStorage.deleteAll(); } function clearLocalStorage(){ appLocalStorage.delete("token"); appLocalStorage.delete("userId"); appLocalStorage.delete("userName"); appLocalStorage.delete("hashUrl"); appLocalStorage.set("userRole", "public"); } } // IoC container. authorizeHelper.$inject = []; })();