refactor(auth): remove empty $q.deffered

pull/2749/head
Chaim Lev Ari 2019-01-02 15:59:38 +02:00
parent 7494101a4d
commit 38f24683a6
1 changed files with 53 additions and 66 deletions

View File

@ -1,79 +1,66 @@
angular.module('portainer.app') angular.module('portainer.app')
.factory('Authentication', ['$q', 'Auth', 'OAuth', 'jwtHelper', 'LocalStorage', 'StateManager', 'EndpointProvider', function AuthenticationFactory($q, Auth, OAuth, jwtHelper, LocalStorage, StateManager, EndpointProvider) { .factory('Authentication', [
'use strict'; 'Auth', 'OAuth', 'jwtHelper', 'LocalStorage', 'StateManager', 'EndpointProvider',
function AuthenticationFactory(Auth, OAuth, jwtHelper, LocalStorage, StateManager, EndpointProvider) {
'use strict';
var service = {}; var service = {};
var user = {}; var user = {};
service.init = init; service.init = init;
service.oAuthLogin = oAuthLogin; service.oAuthLogin = oAuthLogin;
service.login = login; service.login = login;
service.logout = logout; service.logout = logout;
service.isAuthenticated = isAuthenticated; service.isAuthenticated = isAuthenticated;
service.getUserDetails = getUserDetails; service.getUserDetails = getUserDetails;
function init() { function init() {
var jwt = LocalStorage.getJWT(); var jwt = LocalStorage.getJWT();
if (jwt) { if (jwt) {
var tokenPayload = jwtHelper.decodeToken(jwt); var tokenPayload = jwtHelper.decodeToken(jwt);
user.username = tokenPayload.username; user.username = tokenPayload.username;
user.ID = tokenPayload.id; user.ID = tokenPayload.id;
user.role = tokenPayload.role; user.role = tokenPayload.role;
}
} }
}
function oAuthLogin(code) { function oAuthLogin(code) {
var deferred = $q.defer(); return OAuth.login({code: code}).$promise
.then(function success(data) {
LocalStorage.storeJWT(data.jwt);
var tokenPayload = jwtHelper.decodeToken(data.jwt);
user.username = tokenPayload.username;
user.ID = tokenPayload.id;
user.role = tokenPayload.role;
});
}
OAuth.login({code: code}).$promise function login(username, password) {
.then(function success(data) { return Auth.login({username: username, password: password}).$promise
LocalStorage.storeJWT(data.jwt); .then(function success(data) {
var tokenPayload = jwtHelper.decodeToken(data.jwt); LocalStorage.storeJWT(data.jwt);
user.username = tokenPayload.username; var tokenPayload = jwtHelper.decodeToken(data.jwt);
user.ID = tokenPayload.id; user.username = username;
user.role = tokenPayload.role; user.ID = tokenPayload.id;
deferred.resolve(); user.role = tokenPayload.role;
}) });
.catch(function error() { }
deferred.reject();
});
return deferred.promise;
}
function login(username, password) { function logout() {
var deferred = $q.defer(); StateManager.clean();
EndpointProvider.clean();
LocalStorage.clean();
}
Auth.login({username: username, password: password}).$promise function isAuthenticated() {
.then(function success(data) { var jwt = LocalStorage.getJWT();
LocalStorage.storeJWT(data.jwt); return jwt && !jwtHelper.isTokenExpired(jwt);
var tokenPayload = jwtHelper.decodeToken(data.jwt); }
user.username = username;
user.ID = tokenPayload.id;
user.role = tokenPayload.role;
deferred.resolve();
})
.catch(function error() {
deferred.reject();
});
return deferred.promise; function getUserDetails() {
} return user;
}
function logout() { return service;
StateManager.clean();
EndpointProvider.clean();
LocalStorage.clean();
}
function isAuthenticated() {
var jwt = LocalStorage.getJWT();
return jwt && !jwtHelper.isTokenExpired(jwt);
}
function getUserDetails() {
return user;
}
return service;
}]); }]);