Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- angular.module("shLoginModule",[]).service("LoginService", [
- "$http",
- "$q",
- "PHP_BASE_URL",
- function(
- $http,
- $q,
- PHP_BASE_URL){
- //Used by other services to be notified when the login is complete
- //so they can initialize with data.
- var theLoginPromise = $q.defer();
- var service = {
- loginPromise: theLoginPromise.promise,
- loggedInInfo: {loggedIn:false, user:{}, errorLoggingIn:false, loading:false},
- login: function(userInfo) {
- service.loggedInInfo.loading=true;
- //Promise for caller that is resolved on success or rejected on error
- var deferred = $q.defer();
- $http.post(PHP_BASE_URL+"login", userInfo).success(function(result){
- deferred.resolve(result);
- theLoginPromise.resolve(result);
- angular.copy(result, service.loggedInInfo.user);
- service.loggedInInfo.loggedIn = true;
- service.loggedInInfo.errorLoggingIn = false;
- service.loggedInInfo.loading=false;
- }).error(function(result){
- deferred.reject(result);
- service.loggedInInfo.loggedIn = false;
- service.loggedInInfo.errorLoggingIn = true;
- service.loggedInInfo.loading=false;
- });
- return deferred.promise;
- },
- logout: function(forceRefresh) {
- var deferred = $q.defer();
- $http.post(PHP_BASE_URL+"logout").success(function(result){
- deferred.resolve(service.element);
- service.loggedInInfo.loggedIn = false;
- }).error(function(result){
- deferred.reject(result);
- });
- return deferred.promise;
- },
- signup: function(signupData) {
- var deferred = $q.defer();
- $http.post(PHP_BASE_URL+"signup",signupData).success(function(result){
- deferred.resolve(result);
- }).error(function(result){
- deferred.reject(result);
- });
- return deferred.promise;
- },
- checkLogin: function() {
- var deferred = $q.defer();
- $http.post(PHP_BASE_URL+"checkLogin").success(function(result){
- deferred.resolve(result);
- theLoginPromise.resolve(result);
- angular.copy(result, service.loggedInInfo.user);
- service.loggedInInfo.loggedIn=true;
- }).error(function(result){
- deferred.reject(result);
- });
- return deferred.promise;
- }
- };
- service.checkLogin();
- return service;
- }
- ])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement