GUAC-1126 Clear caches on logout.

This commit is contained in:
James Muehlner
2015-04-08 22:53:44 -07:00
parent fec7ac20ce
commit 0b92ad59ee
3 changed files with 36 additions and 22 deletions

View File

@@ -23,4 +23,4 @@
/** /**
* The module for authentication and management of tokens. * The module for authentication and management of tokens.
*/ */
angular.module('auth', ['ngCookies']); angular.module('auth', ['ngCookies', 'rest']);

View File

@@ -30,6 +30,7 @@ angular.module('auth').factory('authenticationService', ['$injector',
var $cookieStore = $injector.get('$cookieStore'); var $cookieStore = $injector.get('$cookieStore');
var $http = $injector.get('$http'); var $http = $injector.get('$http');
var $q = $injector.get('$q'); var $q = $injector.get('$q');
var cacheService = $injector.get('cacheService');
var service = {}; var service = {};
@@ -194,6 +195,9 @@ angular.module('auth').factory('authenticationService', ['$injector',
*/ */
service.logout = function logout() { service.logout = function logout() {
// Clear all caches
cacheService.clearCaches();
// Clear authentication data // Clear authentication data
var token = service.getCurrentToken(); var token = service.getCurrentToken();
$cookieStore.remove(AUTH_COOKIE_ID); $cookieStore.remove(AUTH_COOKIE_ID);

View File

@@ -29,8 +29,9 @@ angular.module('rest').factory('cacheService', ['$injector',
// Required services // Required services
var $cacheFactory = $injector.get('$cacheFactory'); var $cacheFactory = $injector.get('$cacheFactory');
// Return service containing all caches
return { // Service containing all caches
var service = {};
/** /**
* Shared cache used by both connectionGroupService and * Shared cache used by both connectionGroupService and
@@ -38,22 +39,31 @@ angular.module('rest').factory('cacheService', ['$injector',
* *
* @type $cacheFactory.Cache * @type $cacheFactory.Cache
*/ */
connections : $cacheFactory('API-CONNECTIONS'), service.connections = $cacheFactory('API-CONNECTIONS');
/** /**
* Cache used by protocolService. * Cache used by protocolService.
* *
* @type $cacheFactory.Cache * @type $cacheFactory.Cache
*/ */
protocols : $cacheFactory('API-PROTOCOLS'), service.protocols = $cacheFactory('API-PROTOCOLS');
/** /**
* Shared cache used by both userService and permissionService. * Shared cache used by both userService and permissionService.
* *
* @type $cacheFactory.Cache * @type $cacheFactory.Cache
*/ */
users : $cacheFactory('API-USERS') service.users = $cacheFactory('API-USERS');
/**
* Clear all caches defined in this service.
*/
service.clearCaches = function clearCaches() {
service.protocols.removeAll();
service.connections.removeAll();
service.users.removeAll();
}; };
return service;
}]); }]);