Blame view
src/app/components/authentication/authentication.service.js
2.1 KB
66ee5529f
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
(function(){ 'use strict'; angular.module('sbAdminApp') .service('LoginService', ['$q', '$http', '$rootScope', '$resource', 'BASE_URL', 'USER_ROLES', LoginService]); function LoginService($q, $http, $rootScope, $resource, BASE_URL, USER_ROLES) { var authService = {}, admin = '', user = '', role = '', isAuthenticated = false; if (window.localStorage.getItem("loginStatus")) { isAuthenticated = true; $rootScope.userDetails = JSON.parse(localStorage.getItem("userDetails")); role = $rootScope.userDetails.role.toUpperCase(); } this.setUser = function (res) { localStorage.setItem('loginStatus', true); localStorage.setItem('userDetails', JSON.stringify(res)); isAuthenticated = true; $rootScope.userDetails = JSON.parse(localStorage.getItem("userDetails")); role = $rootScope.userDetails.role.toUpperCase(); } this.isAuthenticated = function () { return isAuthenticated; }; this.role = function () { return role; }; this.getUser = function () { return JSON.parse(window.localStorage.getItem("userDetails")); } this.isAuthorized = function (authorizedRoles) { if (!angular.isArray(authorizedRoles)) { authorizedRoles = [authorizedRoles]; } return (this.isAuthenticated() && authorizedRoles.indexOf(role) !== -1); } this.signUp = function() { return $resource(BASE_URL+'/users/signUp'); } //Resource for REST APIs this.doLogin = function() { return $resource(BASE_URL+'/users/login'); } this.logOut = function(){ return $resource(BASE_URL+'/users/logout', {access_token:$rootScope.userDetails.id}) } this.deleteUser = function () { isAuthenticated = false; $rootScope.$loginStatus = false; localStorage.clear(); } } })(); |