Advertisement
Guest User

Untitled

a guest
Aug 7th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function() {
  2.   'use strict';
  3.  
  4.   angular.module('ui.User').factory('UserService', UserService);
  5.  
  6.   function UserService($http, $q, $log, Config, CONSTANT_VARS) {
  7.  
  8.     var currentUser;
  9.     var currentUserAddresses;
  10.  
  11.     return {
  12.  
  13.       currentUser: function() {
  14.         if (currentUser)
  15.           return currentUser;
  16.         else {
  17.           this.checkIfLoggedIn();
  18.         }
  19.         return currentUser;
  20.       },
  21.  
  22.       currentUserAddresses: function() {
  23.         return currentUserAddresses;
  24.       },
  25.  
  26.       getUserAddresses: function() {
  27.         var deferred = $q.defer();
  28.  
  29.         $http({
  30.           method: 'GET',
  31.           url: CONSTANT_VARS.BACKEND_URL + 'users/address',
  32.           withCredentials: true
  33.         }).then(function success(response) {
  34.           deferred.resolve(response.data.data);
  35.           currentUserAddresses = response.data.data;
  36.         }, function error(err) {
  37.           deferred.reject(err);
  38.         });
  39.  
  40.         return deferred.promise;
  41.       },
  42.  
  43.       addUserAddress: function(params) {
  44.         var deferred = $q.defer();
  45.         if (params) {
  46.           $http({
  47.             method: 'POST',
  48.             url: CONSTANT_VARS.BACKEND_URL + 'users/address/add',
  49.             data: params,
  50.             withCredentials: true
  51.           }).then(function success(response) {
  52.             currentUserAddresses.push(response.data.data);
  53.             deferred.resolve(response.data.data);
  54.           }, function error(err) {
  55.             deferred.reject(err);
  56.           });
  57.         } else {
  58.           deferred.reject('No data sent to service.');
  59.         }
  60.         return deferred.promise;
  61.       },
  62.  
  63.       deleteUserAddress: function(params) {
  64.         var deferred = $q.defer();
  65.         if (params) {
  66.           $http({
  67.             method: 'POST',
  68.             url: CONSTANT_VARS.BACKEND_URL + 'users/address/delete',
  69.             data: params,
  70.             withCredentials: true
  71.           }).then(function success(response) {
  72.             currentUserAddresses.splice(response.data.data);
  73.             deferred.resolve(response.data.data);
  74.           }, function error(err) {
  75.             deferred.reject(err);
  76.           });
  77.         } else {
  78.           deferred.reject('No data sent to service.');
  79.         }
  80.         return deferred.promise;
  81.       },
  82.  
  83.       createUser: function(params) {
  84.         var deferred = $q.defer();
  85.         if (params) {
  86.           $http.post(CONSTANT_VARS.BACKEND_URL + 'users/create', params)
  87.             .then(function success(response) {
  88.               deferred.resolve(response.data.data);
  89.             }, function error(err) {
  90.               deferred.reject(err);
  91.             });
  92.         }
  93.         return deferred.promise;
  94.       },
  95.  
  96.       login: function(params) {
  97.         var deferred = $q.defer();
  98.         if (params) {
  99.           $http({
  100.               method: 'POST',
  101.               url: CONSTANT_VARS.BACKEND_URL + 'users/login',
  102.               data: params,
  103.               withCredentials: true
  104.             })
  105.             .then(function success(response) {
  106.               deferred.resolve(response.data.data);
  107.               currentUser = response.data.data;
  108.               currentUser.id = parseInt(response.data.data.user_id);
  109.             }, function error(err) {
  110.               deferred.reject(err);
  111.             });
  112.         } else {
  113.           deferred.reject('params are requred');
  114.         }
  115.         return deferred.promise;
  116.       },
  117.  
  118.       logout: function() {
  119.         var deferred = $q.defer();
  120.         $http({
  121.           method: 'POST',
  122.           url: CONSTANT_VARS.BACKEND_URL + 'users/logout',
  123.           withCredentials: true
  124.         }).then(function success(response) {
  125.           deferred.resolve(response.data.data);
  126.         }, function error(err) {
  127.           deferred.reject(err);
  128.         });
  129.  
  130.         return deferred.promise;
  131.       },
  132.  
  133.       checkIfLoggedIn: function() {
  134.         var deferred = $q.defer();
  135.  
  136.         $http({
  137.           method: 'POST',
  138.           url: CONSTANT_VARS.BACKEND_URL + 'users/session',
  139.           withCredentials: true
  140.         }).then(function success(response) {
  141.           deferred.resolve(response.data.data);
  142.           currentUser = response.data.data;
  143.           currentUser.id = parseInt(response.data.data.user_id);
  144.         }, function error(err) {
  145.           deferred.reject(err)
  146.         });
  147.         return deferred.promise;
  148.       },
  149.  
  150.       updateUser: function(params) {
  151.         var deferred = $q.defer();
  152.         var id = params.id;
  153.         if (params) {
  154.           $http({
  155.             method: 'POST',
  156.             url: CONSTANT_VARS.BACKEND_URL + 'users/update/' + id,
  157.             data: params,
  158.             withCredentials: true
  159.           }).then(function success(response) {
  160.             deferred.resolve(response.data.data);
  161.           }, function error(err) {
  162.             deferred.reject(err);
  163.           });
  164.         } else {
  165.           deferred.reject('Please provide missing data');
  166.         }
  167.         return deferred.promise;
  168.       },
  169.  
  170.       getUser: function(id) {
  171.         var deferred = $q.defer();
  172.         if (id) {
  173.           $http.get(CONSTANT_VARS.BACKEND_URL + 'users/' + id)
  174.             .then(function success(response) {
  175.               $log.log('response userhttp', response);
  176.               deferred.resolve(response);
  177.             }, function error(err) {
  178.  
  179.               deferred.reject(err);
  180.             });
  181.         }
  182.         return deferred.promise;
  183.       },
  184.  
  185.       changePassword: function(params) {
  186.         var deferred = $q.defer();
  187.         if (params) {
  188.           $http({
  189.             method: 'POST',
  190.             url: CONSTANT_VARS.BACKEND_URL + 'users/changepassword',
  191.             data: params,
  192.             withCredentials: true
  193.           }).then(function success(response) {
  194.             deferred.resolve(response);
  195.  
  196.  
  197.  
  198.           }, function error(err) {
  199.             deferred.reject(err);
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.           });
  209.         }
  210.         return deferred.promise;
  211.  
  212.  
  213.  
  214.  
  215.  
  216.       },
  217.  
  218.       forgotPassword: function(email) {
  219.         var deferred = $q.defer();
  220.         if (email) {
  221.           $http.post(CONSTANT_VARS.BACKEND_URL + 'users/forgotpassword', email)
  222.             .then(function success(response) {
  223.  
  224.               deferred.resolve(response);
  225.             }, function error(err) {
  226.  
  227.               deferred.reject(err);
  228.             });
  229.         }
  230.         return deferred.promise;
  231.       }
  232.     };
  233.   }
  234. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement