1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /**
- * Created by robin on 11/1/15.
- */
-
- (function () {
- 'use strict';
- angular.module('luticateAuth')
- .factory('luticateAuthUsers', ['luticateAuthUsersDataAccess', '$q', 'luticateAuthCache', 'luticateAuthPermissions', 'luticateAuthSettings',
- function(luticateAuthUsersDataAccess, $q, luticateAuthCache, luticateAuthPermissions, luticateAuthSettings) {
-
- var luticateAuthUsers = {
- getAll: luticateAuthUsersDataAccess.getAll,
- get: luticateAuthUsersDataAccess.get,
- getMe: luticateAuthUsersDataAccess.getMe,
- edit: luticateAuthUsersDataAccess.edit,
- editMe: luticateAuthUsersDataAccess.editMe,
- add: luticateAuthUsersDataAccess.add,
- setPassword: luticateAuthUsersDataAccess.setPassword,
- setPasswordMe: luticateAuthUsersDataAccess.setPasswordMe,
- del: luticateAuthUsersDataAccess.del
- };
-
- luticateAuthUsers.login = function(data, promise)
- {
- var defer = $q.defer();
- luticateAuthUsersDataAccess.login(data, promise)
- .then(function(user)
- {
- luticateAuthCache.setUser(user);
- luticateAuthUsers.loadUserData(promise).then(function()
- {
- defer.resolve(user);
- }, function(error)
- {
- luticateAuthUsers.removeUserData();
- defer.reject(error);
- });
- }, function(error)
- {
- luticateAuthUsers.removeUserData();
- defer.reject(error);
- });
- return defer.promise;
- };
-
- luticateAuthUsers.logout = function(promise)
- {
- var defer = $q.defer();
- luticateAuthUsersDataAccess.logout(promise)
- .finally(function()
- {
- luticateAuthUsers.removeUserData();
- luticateAuthUsers.loadUserData().finally(defer.resolve);
- });
- return defer.promise;
- };
-
- luticateAuthUsers.loadUserData = function(promise)
- {
- luticateAuthCache.removeEffectivePermissions();
- luticateAuthCache.removeEffectiveSettings();
- var defer = $q.defer();
- luticateAuthSettings.loadSettings(promise)
- .then(function()
- {
- luticateAuthPermissions.loadPermissions(promise)
- .then(defer.resolve, function(error)
- {
- luticateAuthUsers.removeUserData();
- defer.reject(error);
- });
- }, function(error)
- {
- luticateAuthUsers.removeUserData();
- defer.reject(error);
- });
- return defer.promise;
- };
-
- //For backward compatibility
- luticateAuthUsers.loadPermissions = luticateAuthUsers.loadUserData;
-
- luticateAuthUsers.removeUserData = function()
- {
- luticateAuthCache.removeEffectivePermissions();
- luticateAuthCache.removeEffectiveSettings();
- luticateAuthCache.removeUser();
- };
-
- return luticateAuthUsers;
- }]);
- })();
|