login.service.js
4.55 KB
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
(function(){
'use strict';
angular.module('acufuel')
.service('LoginService', ['$rootScope', '$q', '$http', '$state', 'BASE_URL', 'AUTH_EVENTS', 'USER_ROLES', LoginService]);
function LoginService($rootScope, $q, $http, $state, BASE_URL, AUTH_EVENTS, USER_ROLES) {
var authService = {},
username = '',
role = '',
isAuthenticated = false;
var currentUserDetail = JSON.parse(window.localStorage.getItem("currentUser"));
// console.log(currentUserDetail)
if (currentUserDetail) {
//console.log('aaya')
if(currentUserDetail.type == 'ADMIN' || currentUserDetail.type == 'FBO'){
$rootScope.isAuthenticated = true;
role = USER_ROLES.admin;
}else if(currentUserDetail.type == 'FLIGHT_DEPT'){
$rootScope.isAuthenticated = false;
role = USER_ROLES.user;
}
}
authService.loginUser = function(data) {
var deferred = $q.defer();
$http({
method : 'POST',
url : BASE_URL.url +'/login',
headers : {'Content-Type': 'application/x-www-form-urlencoded'},
data : data
})
.then(function (result){
deferred.resolve(result.data);
},function (result){
//console.log(result.data)
deferred.resolve(result.data);
})
return deferred.promise;
}
authService.authenticate = function() {
var deferred = $q.defer();
$http({
method : 'GET',
url : BASE_URL.url+'/user/authenticate',
headers : {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(function (result){
if(result.data.userProfile.userType.type == 'ADMIN' || result.data.userProfile.userType.type == 'FBO' || result.data.userProfile.userType.type == 'FLIGHT_DEPT'){
authService.setUser(result.data);
$state.go('app.dashboard')
}else{
localStorage.clear();
toastr.info("Please check username and password");
}
deferred.resolve(result.data);
},function (result){
deferred.resolve(result.data);
});
return deferred.promise;
}
// authService.setAuth = function(data) {
// localStorage.setItem('loginStatus', data);
// }
authService.logout = function(data) {
// localStorage.clear();
// $rootScope.isAuthenticated = false;
// $rootScope.$broadcast(AUTH_EVENTS.updateUser);
var deferred = $q.defer();
$http({
method : 'POST',
url : BASE_URL.url +'/user/logout',
headers : {'Content-Type': 'application/json'},
data : data
})
.success(function(result) {
deferred.resolve(result.data);
})
return deferred.promise;
}
authService.getUser = function () {
return JSON.parse(window.localStorage.getItem("currentUser"));
}
authService.setUser = function (authData) {
console.log('authdata', authData);
window.localStorage.setItem("currentUser", JSON.stringify(authData.userProfile.userType));
window.localStorage.setItem("userProfileId", JSON.stringify(authData.userProfile.id));
window.localStorage.setItem('currentUserName', JSON.stringify(authData.userProfile.firstName +' '+ authData.userProfile.lastName));
if(authData.userProfile.userType.type == 'ADMIN' || authData.userProfile.userType.type == 'FBO'){
role = USER_ROLES.admin;
$rootScope.isAuthenticated = true;
}else if(authData.userProfile.userType.type == 'FLIGHT_DEPT'){
role = USER_ROLES.user;
$rootScope.isAuthenticated = false;
}
}
authService.isAuthenticated = function () {
return isAuthenticated;
}
authService.role = function () {
return role;
}
authService.isAuthorized = function (authorizedRoles) {
if (!angular.isArray(authorizedRoles)) {
authorizedRoles = [authorizedRoles];
}
return (authService.isAuthenticated() && authorizedRoles.indexOf(role) !== -1);
}
return authService;
}
})();