UNPKG

client-ui

Version:

Testing implementation of nodeJs Backend, angular frontend, and hopefully in a way that this can be deployed to s3/cloudfront

92 lines (89 loc) 3.83 kB
(function () { 'use strict'; angular.module(moduleName).factory('AuthStateFactory', AuthStateFactory); AuthStateFactory.$inject = ['$http', 'rootConstants', 'client', 'loan', '$q', "errorHandler"]; function AuthStateFactory($http, rootConstants, client, loan, $q, errorHandler) { var self = { isLoggedIn: false, check: function () { if (client.getClientStore()) { self.isLoggedIn = true; } else { self.isLoggedIn = false; } return self.isLoggedIn; }, performLogin: function(clientData) { client.setClientStore(clientData); self.check(); }, login: function (credentials) { var deferred = $q.defer(); $http.post(rootConstants.server + 'login', { email: credentials.email, password: credentials.password }).then(function(clientData) { self.performLogin(clientData.data); return deferred.resolve(clientData.data); }, function(error) { return deferred.reject(error.data); }); return deferred.promise; }, logout: function () { var deferred = $q.defer(); $http.post(rootConstants.server + 'logout', {}) .then(function () { self.performLogout(); return deferred.resolve('logged out'); }, function(error) { errorHandler.handleError(error.data, {fallback: "LOGOUT_FAILURE"}, function() { deferred.reject(error.data); }); }); return deferred.promise; }, performLogout: function() { client.unsetClientStore(); loan.unsetCurrentLoanStore(); if (window.sessionStorage) { window.sessionStorage.removeItem('prospect'); } self.check(); }, requestPasswordReset: function (email) { var deferred = $q.defer(); $http.post(rootConstants.server + 'requestPasswordReset', { email: email }).then(function (res) { return deferred.resolve(res.data); }, function (err) { return deferred.reject(err.data); }); return deferred.promise; }, passwordReset: function(clientId, passwordResetHash, password) { var deferred = $q.defer(); $http.post(rootConstants.server + "passwordReset", {clientId: clientId, passwordResetHash: passwordResetHash, password: password}) .then(function (clientData) { self.performLogin(clientData.data); return deferred.resolve(clientData.data); }, function (error) { return deferred.reject(error.data); }); return deferred.promise; } // keepSessionAlive: function() { // var deferred = $q.defer(); // $http.get(rootConstants.server + "status") // .then(function (res) { // deferred.resolve(); // }, function (err) { // deferred.reject(); // }); // return deferred.promise; // } }; return self; } })();