Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function() {
- 'use strict';
- angular.module('ui.User').factory('UserService', UserService);
- function UserService($http, $q, $log, Config, CONSTANT_VARS) {
- var currentUser;
- var currentUserAddresses;
- return {
- currentUser: function() {
- if (currentUser)
- return currentUser;
- else {
- this.checkIfLoggedIn();
- }
- return currentUser;
- },
- currentUserAddresses: function() {
- return currentUserAddresses;
- },
- getUserAddresses: function() {
- var deferred = $q.defer();
- $http({
- method: 'GET',
- url: CONSTANT_VARS.BACKEND_URL + 'users/address',
- withCredentials: true
- }).then(function success(response) {
- deferred.resolve(response.data.data);
- currentUserAddresses = response.data.data;
- }, function error(err) {
- deferred.reject(err);
- });
- return deferred.promise;
- },
- addUserAddress: function(params) {
- var deferred = $q.defer();
- if (params) {
- $http({
- method: 'POST',
- url: CONSTANT_VARS.BACKEND_URL + 'users/address/add',
- data: params,
- withCredentials: true
- }).then(function success(response) {
- currentUserAddresses.push(response.data.data);
- deferred.resolve(response.data.data);
- }, function error(err) {
- deferred.reject(err);
- });
- } else {
- deferred.reject('No data sent to service.');
- }
- return deferred.promise;
- },
- deleteUserAddress: function(params) {
- var deferred = $q.defer();
- if (params) {
- $http({
- method: 'POST',
- url: CONSTANT_VARS.BACKEND_URL + 'users/address/delete',
- data: params,
- withCredentials: true
- }).then(function success(response) {
- currentUserAddresses.splice(response.data.data);
- deferred.resolve(response.data.data);
- }, function error(err) {
- deferred.reject(err);
- });
- } else {
- deferred.reject('No data sent to service.');
- }
- return deferred.promise;
- },
- createUser: function(params) {
- var deferred = $q.defer();
- if (params) {
- $http.post(CONSTANT_VARS.BACKEND_URL + 'users/create', params)
- .then(function success(response) {
- deferred.resolve(response.data.data);
- }, function error(err) {
- deferred.reject(err);
- });
- }
- return deferred.promise;
- },
- login: function(params) {
- var deferred = $q.defer();
- if (params) {
- $http({
- method: 'POST',
- url: CONSTANT_VARS.BACKEND_URL + 'users/login',
- data: params,
- withCredentials: true
- })
- .then(function success(response) {
- deferred.resolve(response.data.data);
- currentUser = response.data.data;
- currentUser.id = parseInt(response.data.data.user_id);
- }, function error(err) {
- deferred.reject(err);
- });
- } else {
- deferred.reject('params are requred');
- }
- return deferred.promise;
- },
- logout: function() {
- var deferred = $q.defer();
- $http({
- method: 'POST',
- url: CONSTANT_VARS.BACKEND_URL + 'users/logout',
- withCredentials: true
- }).then(function success(response) {
- deferred.resolve(response.data.data);
- }, function error(err) {
- deferred.reject(err);
- });
- return deferred.promise;
- },
- checkIfLoggedIn: function() {
- var deferred = $q.defer();
- $http({
- method: 'POST',
- url: CONSTANT_VARS.BACKEND_URL + 'users/session',
- withCredentials: true
- }).then(function success(response) {
- deferred.resolve(response.data.data);
- currentUser = response.data.data;
- currentUser.id = parseInt(response.data.data.user_id);
- }, function error(err) {
- deferred.reject(err)
- });
- return deferred.promise;
- },
- updateUser: function(params) {
- var deferred = $q.defer();
- var id = params.id;
- if (params) {
- $http({
- method: 'POST',
- url: CONSTANT_VARS.BACKEND_URL + 'users/update/' + id,
- data: params,
- withCredentials: true
- }).then(function success(response) {
- deferred.resolve(response.data.data);
- }, function error(err) {
- deferred.reject(err);
- });
- } else {
- deferred.reject('Please provide missing data');
- }
- return deferred.promise;
- },
- getUser: function(id) {
- var deferred = $q.defer();
- if (id) {
- $http.get(CONSTANT_VARS.BACKEND_URL + 'users/' + id)
- .then(function success(response) {
- $log.log('response userhttp', response);
- deferred.resolve(response);
- }, function error(err) {
- deferred.reject(err);
- });
- }
- return deferred.promise;
- },
- changePassword: function(params) {
- var deferred = $q.defer();
- if (params) {
- $http({
- method: 'POST',
- url: CONSTANT_VARS.BACKEND_URL + 'users/changepassword',
- data: params,
- withCredentials: true
- }).then(function success(response) {
- deferred.resolve(response);
- }, function error(err) {
- deferred.reject(err);
- });
- }
- return deferred.promise;
- },
- forgotPassword: function(email) {
- var deferred = $q.defer();
- if (email) {
- $http.post(CONSTANT_VARS.BACKEND_URL + 'users/forgotpassword', email)
- .then(function success(response) {
- deferred.resolve(response);
- }, function error(err) {
- deferred.reject(err);
- });
- }
- return deferred.promise;
- }
- };
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement