Advertisement
Guest User

Untitled

a guest
Apr 17th, 2014
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. angular.module("shLoginModule",[]).service("LoginService", [
  2.   "$http",
  3.   "$q",
  4.   "PHP_BASE_URL",
  5.  
  6.   function(
  7.     $http,
  8.     $q,
  9.     PHP_BASE_URL){
  10.    
  11.     //Used by other services to be notified when the login is complete
  12.     //so they can initialize with data.
  13.     var theLoginPromise = $q.defer();
  14.  
  15.     var service = {
  16.       loginPromise: theLoginPromise.promise,
  17.  
  18.       loggedInInfo: {loggedIn:false, user:{}, errorLoggingIn:false, loading:false},
  19.      
  20.       login: function(userInfo) {
  21.         service.loggedInInfo.loading=true;
  22.  
  23.         //Promise for caller that is resolved on success or rejected on error
  24.         var deferred = $q.defer();
  25.         $http.post(PHP_BASE_URL+"login", userInfo).success(function(result){
  26.           deferred.resolve(result);
  27.           theLoginPromise.resolve(result);
  28.          
  29.           angular.copy(result, service.loggedInInfo.user);
  30.           service.loggedInInfo.loggedIn = true;
  31.           service.loggedInInfo.errorLoggingIn = false;
  32.           service.loggedInInfo.loading=false;
  33.          
  34.         }).error(function(result){
  35.           deferred.reject(result);
  36.           service.loggedInInfo.loggedIn = false;
  37.           service.loggedInInfo.errorLoggingIn = true;
  38.           service.loggedInInfo.loading=false;
  39.         });
  40.         return deferred.promise;
  41.       },
  42.       logout: function(forceRefresh) {
  43.         var deferred = $q.defer();
  44.         $http.post(PHP_BASE_URL+"logout").success(function(result){
  45.           deferred.resolve(service.element);
  46.           service.loggedInInfo.loggedIn = false;
  47.         }).error(function(result){
  48.           deferred.reject(result);
  49.         });
  50.         return deferred.promise;
  51.       },
  52.       signup: function(signupData) {
  53.         var deferred = $q.defer();
  54.         $http.post(PHP_BASE_URL+"signup",signupData).success(function(result){
  55.           deferred.resolve(result);
  56.         }).error(function(result){
  57.           deferred.reject(result);
  58.         });
  59.         return deferred.promise;
  60.       },
  61.       checkLogin: function() {
  62.         var deferred = $q.defer();
  63.         $http.post(PHP_BASE_URL+"checkLogin").success(function(result){
  64.           deferred.resolve(result);
  65.           theLoginPromise.resolve(result);
  66.          
  67.           angular.copy(result, service.loggedInInfo.user);
  68.           service.loggedInInfo.loggedIn=true;
  69.         }).error(function(result){
  70.           deferred.reject(result);
  71.         });
  72.         return deferred.promise;
  73.       }
  74.     };
  75.     service.checkLogin();
  76.     return service;
  77.   }
  78. ])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement