123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- /**
- * Created by robin on 11/1/15.
- */
-
- (function () {
- 'use strict';
-
- angular.module('luticateAuth')
- .factory('luticateAuthCache', ['luticateAuthCacheDataAccess',
- function (luticateAuthCacheDataAccess) {
-
- var luticateAuthCache = {
- setUser: luticateAuthCacheDataAccess.setUser,
- getUser: luticateAuthCacheDataAccess.getUser,
- setEffectivePermissions: luticateAuthCacheDataAccess.setEffectivePermissions,
- getEffectivePermissions: luticateAuthCacheDataAccess.getEffectivePermissions,
- removeEffectivePermissions: luticateAuthCacheDataAccess.removeEffectivePermissions,
- setEffectiveSettings: luticateAuthCacheDataAccess.setEffectiveSettings,
- getEffectiveSettings: luticateAuthCacheDataAccess.getEffectiveSettings,
- removeEffectiveSettings: luticateAuthCacheDataAccess.removeEffectiveSettings
- };
-
- luticateAuthCache.getToken = function()
- {
- var user = luticateAuthCacheDataAccess.getUser();
- if (user == null) {
- return null;
- }
- return user.Token;
- };
-
- luticateAuthCache.removeUser = function()
- {
- luticateAuthCacheDataAccess.removeUser();
- luticateAuthCacheDataAccess.removeEffectivePermissions();
- luticateAuthCacheDataAccess.removeEffectiveSettings();
- };
-
- luticateAuthCache.hasEffectivePermission = function(permission_name)
- {
- var permissions = luticateAuthCacheDataAccess.getEffectivePermissions();
- if (permissions == null) {
- return null;
- }
- var value = permissions[permission_name];
- return value == null ? null : value;
- };
-
- luticateAuthCache.hasAllEffectivePermissions = function(permission_names)
- {
- return !permission_names.some(function(permission_name)
- {
- return !luticateAuthCache.hasEffectivePermission(permission_name);
- });
- };
-
- luticateAuthCache.hasOneEffectivePermission = function(permission_names)
- {
- return permission_names.some(luticateAuthCache.hasEffectivePermission);
- };
-
- luticateAuthCache.getEffectiveSetting = function(setting_name)
- {
- var settings = luticateAuthCacheDataAccess.getEffectiveSettings();
- if (settings == null) {
- return null;
- }
- var value = settings[setting_name];
- return value == null ? null : value;
- };
-
- luticateAuthCache.getEffectiveSettingValue = function(setting_name)
- {
- var setting = luticateAuthCache.getEffectiveSetting(setting_name);
- return setting == null ? null : setting.Value;
- };
-
- luticateAuthCache.setEffectiveSettingValue = function(setting_name, setting_value)
- {
- var settings = luticateAuthCacheDataAccess.getEffectiveSettings();
- if (settings == null) {
- return;
- }
- settings[setting_name].Value = setting_value;
- luticateAuthCacheDataAccess.setEffectiveSettings(settings);
- };
-
- return luticateAuthCache;
- }]);
- })();
|