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.
*/
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 $http = $injector.get('$http');
var $q = $injector.get('$q');
var cacheService = $injector.get('cacheService');
var service = {};
@@ -193,6 +194,9 @@ angular.module('auth').factory('authenticationService', ['$injector',
* successful.
*/
service.logout = function logout() {
// Clear all caches
cacheService.clearCaches();
// Clear authentication data
var token = service.getCurrentToken();

View File

@@ -28,32 +28,42 @@ angular.module('rest').factory('cacheService', ['$injector',
// Required services
var $cacheFactory = $injector.get('$cacheFactory');
// Return service containing all caches
return {
// Service containing all caches
var service = {};
/**
* Shared cache used by both connectionGroupService and
* connectionService.
*
* @type $cacheFactory.Cache
*/
connections : $cacheFactory('API-CONNECTIONS'),
/**
* Shared cache used by both connectionGroupService and
* connectionService.
*
* @type $cacheFactory.Cache
*/
service.connections = $cacheFactory('API-CONNECTIONS');
/**
* Cache used by protocolService.
*
* @type $cacheFactory.Cache
*/
protocols : $cacheFactory('API-PROTOCOLS'),
/**
* Cache used by protocolService.
*
* @type $cacheFactory.Cache
*/
service.protocols = $cacheFactory('API-PROTOCOLS');
/**
* Shared cache used by both userService and permissionService.
*
* @type $cacheFactory.Cache
*/
users : $cacheFactory('API-USERS')
/**
* Shared cache used by both userService and permissionService.
*
* @type $cacheFactory.Cache
*/
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;
}]);