UNPKG

client-ui

Version:

Testing implementation of nodeJs Backend, angular frontend, and hopefully in a way that this can be deployed to s3/cloudfront

121 lines (108 loc) 4.35 kB
angular.module(moduleName).service('client', ['$http', 'rootConstants', 'aiStorage', '$q', "promiseWrapper", function ($http, rootConstants, store, $q, promiseWrapper) { var self = this; self.setClientStore = function(clientData) { store.set('client', clientData); }; self.getClientStore = function() { return store.get('client'); }; self.unsetClientStore = function() { store.remove('client'); }; self.createProspect = function(prospectData) { var deferred = $q.defer(); $http.post(rootConstants.server + 'clients/createProspect', prospectData) .then(function(returnData) { return deferred.resolve(returnData.data); }, function(error) { return deferred.reject(error.data); }); return deferred.promise; }; self.createClient = function (clientData) { var promise = new promiseWrapper(); promise.timeoutAfter({error: {code: "CREATION_TIMEOUT"}}); $http.post(rootConstants.server + 'signup/', clientData) .then(function(returnedClientData) { if (!promise.resolved) { self.setClientStore(returnedClientData.data); return promise.resolve(returnedClientData.data); } }, function(error) { return promise.reject(error.data); }); return promise.promise; }; self.getClient = function () { var deferred = $q.defer(); $http.get(rootConstants.server + 'clients/client') .then(function(clientData) { self.setClientStore(clientData.data); return deferred.resolve(clientData.data); }, function(error) { return deferred.reject(error.data); }); return deferred.promise; }; self.resendVerificationEmail = function(clientId) { var deferred = $q.defer(); var url = rootConstants.server + 'clients/' + clientId + '/resendEmailHash'; $http.get(url) .then(function(clientData) { self.setClientStore(clientData.data); deferred.resolve(clientData.data); }, function(error) { deferred.reject(error.data); }); return deferred.promise; }; self.updateClient = function(clientData) { var deferred = $q.defer(); var clientId = self.getClientStore().clientId; $http.put(rootConstants.server + 'clients/' + clientId, clientData) .then(function(res) { self.setClientStore(res.data); return deferred.resolve(res.data); }, function(error) { return deferred.reject(error.data); }); return deferred.promise; }; self.updateEmail = function(email) { var deferred = $q.defer(); var clientId = self.getClientStore().clientId; $http.put(rootConstants.server + 'clients/' + clientId + '/email', email) .then(function(res) { self.setClientStore(res.data); return deferred.resolve(res.data); }, function(error) { return deferred.reject(error.data); }); return deferred.promise; }; self.resetPassword = function(passwords) { var deferred = $q.defer(); var clientId = self.getClientStore().clientId; $http.put(rootConstants.server + 'clients/' + clientId + '/password/', passwords) .then(function(res) { return deferred.resolve(res.data); }, function(error) { return deferred.reject(error.data); }); return deferred.promise; }; self.generateUploadUrl = function(form) { var clientId = self.getClientStore().clientId; return $http.post(rootConstants.server + 'clients/' + clientId + '/documents/generate/uploadUrl', form); }; self.uploadCallback = function(url) { var deferred = $q.defer(); $http.put(url) .then(function(response) { deferred.resolve(response.data); }, function(error) { deferred.reject(error.data); }); return deferred.promise; }; }]);