Advertisement
Guest User

Untitled

a guest
Jul 5th, 2016
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1. var vm = this;
  2.  
  3. vm.signupUser = function() {
  4. vm.message = '';
  5.  
  6. User.create(vm.userData)
  7. .then(function(response) {
  8. vm.userData = {};
  9. vm.message = response.data.message;
  10.  
  11. $window.localStorage.setItem('token', response.data.token);
  12. $location.path('/');
  13. })
  14. }
  15.  
  16. var userFactory = {};
  17.  
  18. userFactory.create = function(userData) {
  19. return $http.post('/api/signup', userData);
  20. }
  21.  
  22. userFactory.all = function() {
  23. return $http.get('/api/users');
  24. }
  25.  
  26.  
  27.  
  28. return userFactory;
  29.  
  30. var authFactory = {};
  31.  
  32.  
  33. authFactory.login = function(username, password, tipo_user) {
  34.  
  35. return $http.post('/api/login', {
  36. username: username,
  37. password: password,
  38. tipo_user: tipo_user
  39. })
  40. .success(function(data) {
  41. AuthToken.setToken(data.token);
  42. return data;
  43. })
  44. }
  45.  
  46. authFactory.logout = function() {
  47. AuthToken.setToken();
  48. }
  49.  
  50. authFactory.isLoggedIn = function() {
  51. if(AuthToken.getToken())
  52. return true;
  53. else
  54. return false;
  55. }
  56.  
  57. authFactory.getUser = function() {
  58. if(AuthToken.getToken())
  59. return $http.get('/api/me');
  60. else
  61. return $q.reject({ message: "User has no token"});
  62.  
  63. }
  64.  
  65.  
  66. return authFactory;
  67.  
  68. var authTokenFactory = {};
  69.  
  70. authTokenFactory.getToken = function() {
  71. return $window.localStorage.getItem('token');
  72. }
  73.  
  74. authTokenFactory.setToken = function(token) {
  75.  
  76. if(token)
  77. $window.localStorage.setItem('token', token);
  78. else
  79. $window.localStorage.removeItem('token');
  80.  
  81. }
  82.  
  83. return authTokenFactory;
  84.  
  85. var interceptorFactory = {};
  86.  
  87.  
  88. interceptorFactory.request = function(config) {
  89.  
  90. var token = AuthToken.getToken();
  91.  
  92. if(token) {
  93.  
  94. config.headers['x-access-token'] = token;
  95.  
  96. }
  97.  
  98. return config;
  99.  
  100. };
  101.  
  102.  
  103. interceptorFactory.responseError = function(response){
  104. if(response.status == 403)
  105. $location.path('/login');
  106. return $q.reject(response);
  107.  
  108.  
  109. }
  110.  
  111.  
  112. return interceptorFactory;
  113.  
  114. var vm = this;
  115.  
  116.  
  117. vm.loggedIn = Auth.isLoggedIn();
  118.  
  119. $rootScope.$on('$stateChangeStart', function() {
  120.  
  121. vm.loggedIn = Auth.isLoggedIn();
  122.  
  123. Auth.getUser()
  124. .then(function(data) {
  125. vm.user = data.data;
  126. });
  127. });
  128.  
  129.  
  130. vm.doLogin = function() {
  131.  
  132. vm.processing = true;
  133.  
  134. vm.error = '';
  135.  
  136. Auth.login(vm.loginData.username, vm.loginData.password, vm.loginData.tipo_user)
  137. .success(function(data) {
  138. vm.processing = false;
  139.  
  140. Auth.getUser()
  141. .then(function(data) {
  142. vm.user = data.data;
  143. });
  144.  
  145. if(data.success)
  146. $state.go('/');
  147. else
  148. vm.error = data.message;
  149.  
  150. });
  151. }
  152.  
  153.  
  154.  
  155. vm.doLogout = function() {
  156. Auth.logout();
  157. $location.path('logout');
  158. }
  159.  
  160. .config(function($stateProvider, $urlRouterProvider) {
  161.  
  162. $stateProvider
  163. .state('/', {
  164. url: '/home' ,
  165. templateUrl: 'app/views/pages/home.html',
  166. controller: 'MainController',
  167. controllerAs: 'main'
  168.  
  169. })
  170. .state('login', {
  171. url: '/login',
  172. templateUrl: 'app/views/pages/login.html'
  173.  
  174. })
  175.  
  176. .state('signup', {
  177. url: '/signup',
  178. templateUrl: 'app/views/pages/signup.html'
  179.  
  180. });
  181.  
  182. $urlRouterProvider.otherwise('index');
  183.  
  184.  
  185.  
  186.  
  187. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement