public/javascripts/app/services/UserService.js (34 lines of code) (raw):
import angular from 'angular';
var UserServiceMod = angular.module('UserServiceMod', []);
let userData;
UserServiceMod.service('UserService', [
'$http',
'$q',
function($http, $q) {
return {
get: () => {
return $q((resolve, reject) => {
if (userData) {
resolve(userData);
return;
}
$http.get('/api/1/user').
then((userResponse) => {
$http.get('/api/1/user/permissions').
then((permissionsResponse) => {
userResponse.data["permissions"] = permissionsResponse.data;
userData = userResponse.data;
resolve(userData);
}).
catch((data) => {
reject(data);
});
}).
catch((data) =>
reject(data)
);
})
}
}
}
]);