Advertisement
Guest User

stockMarketApp Login/Signup Errors

a guest
Jan 26th, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //
  2. // services.js partial
  3. //
  4. .factory('userService', function($rootScope, $q, $http, $window, $timeout, firebaseRef, firebaseUserRef, myStocksArrayService, myStocksCacheService, notesCacheService, modalService) {
  5.  
  6.   var login = function(user, signup) {
  7.  
  8.     var deferred = $q.defer();
  9.  
  10.     firebaseRef.authWithPassword({
  11.       email    : user.email,
  12.       password : user.password
  13.     }, function(error, authData) {
  14.       if (error) {
  15.         deferred.resolve(error);
  16.       }
  17.       else {
  18.         deferred.reject();
  19.         $rootScope.currentUser = authData;
  20.  
  21.           if(signup) {
  22.             modalService.closeModal();
  23.           }
  24.           else {
  25.             myStocksCacheService.removeAll();
  26.             notesCacheService.removeAll();
  27.  
  28.             loadUserData(authData);
  29.  
  30.             modalService.closeModal();
  31.             $timeout(function() {
  32.               $window.location.reload(true);
  33.             }, 400);
  34.           }
  35.       }
  36.     });
  37.  
  38.     return deferred.promise;
  39.   };
  40.  
  41.   var signup = function(user) {
  42.  
  43.     var deferred = $q.defer();
  44.  
  45.     firebaseRef.createUser({
  46.       email    : user.email,
  47.       password : user.password
  48.     }, function(error, userData) {
  49.       if (error) {
  50.         console.log("Error creating user:", error);
  51.  
  52.         if(error.code == "INVALID_EMAIL") {
  53.           deferred.resolve("Please enter a valid email address");
  54.         }
  55.         else if(error.code == "INVALID_PASSWORD") {
  56.           deferred.resolve("Please enter a valid password");
  57.         }
  58.         else if(error.code == "EMAIL_TAKEN") {
  59.           deferred.resolve("This email address is already in use.");
  60.         }
  61.         else {
  62.           deferred.resolve("Unknown error, please try again.");
  63.         }
  64.  
  65.       } else {...} // not relevant
  66.     });
  67.  
  68.     return deferred.promise;
  69.   };
  70.  
  71.   var logout = function() {
  72.     firebaseRef.unauth();
  73.     notesCacheService.removeAll();
  74.     myStocksCacheService.removeAll();
  75.     $window.location.reload(true);
  76.     $rootScope.currentUser = '';
  77.   };
  78.  
  79.   var updateStocks = function(stocks) {...} // not relevant
  80.  
  81.   var updateNotes = function(ticker, notes) {...} // not relevant
  82.  
  83.   var loadUserData = function(authData) {...} // not relevant
  84.  
  85.   var getUser = function() {
  86.     return firebaseRef.getAuth();
  87.   };
  88.  
  89.   if(getUser()) {
  90.     $rootScope.currentUser = getUser();
  91.   }
  92.  
  93.   return {
  94.     login: login,
  95.     signup: signup,
  96.     logout: logout,
  97.     updateStocks: updateStocks,
  98.     updateNotes: updateNotes,
  99.     getUser: getUser
  100.   };
  101. })
  102.  
  103.  
  104.  
  105.  
  106. //
  107. // controllers.js partial
  108. //
  109. .controller('LoginSignupCtrl', ['$scope', '$timeout', 'modalService', 'userService',
  110.   function($scope, $timeout, modalService, userService) {
  111.  
  112.     $scope.user = {email: '', password: ''};
  113.  
  114.     $scope.closeModal = function() {...} // not relevant
  115.  
  116.     $scope.signup = function(user) {
  117.       var signup = userService.signup(user);
  118.  
  119.       signup.then(function(error) {
  120.         $scope.signupError = error;
  121.  
  122.         $timeout(function() {
  123.           $scope.signupError = null;
  124.         }, 1000);
  125.       });
  126.     };
  127.  
  128.     $scope.login = function(form) {
  129.  
  130.       if(form.email.$pristine || !form.email.$valid) {
  131.         $scope.formError = 'Please enter a valid email address';
  132.         $timeout(function () {
  133.           $scope.formError = null;
  134.         }, 2000);
  135.       }
  136.       else {
  137.         if(form.password.$pristine || !form.password.$dirty || !$scope.user.password) {
  138.           $scope.formError = 'Please enter a password';
  139.           $timeout(function () {
  140.             $scope.formError = null;
  141.           }, 2000);
  142.         }
  143.         else {
  144.           var user = {
  145.             email: $scope.user.email,
  146.             password: $scope.user.password
  147.           };
  148.           userService.login(user, false).then(function(error) {
  149.             $scope.loginError = true;
  150.             $timeout(function() {
  151.               $scope.loginError = null;
  152.             }, 750);
  153.           });
  154.         }
  155.       }
  156.     };
  157. }])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement