You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

cache.js 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /**
  2. * Created by robin on 11/1/15.
  3. */
  4. (function () {
  5. 'use strict';
  6. angular.module('luticateAuth')
  7. .factory('luticateAuthCache', ['luticateAuthCacheDataAccess',
  8. function (luticateAuthCacheDataAccess) {
  9. var luticateAuthCache = {
  10. setUser: luticateAuthCacheDataAccess.setUser,
  11. getUser: luticateAuthCacheDataAccess.getUser,
  12. setEffectivePermissions: luticateAuthCacheDataAccess.setEffectivePermissions,
  13. getEffectivePermissions: luticateAuthCacheDataAccess.getEffectivePermissions,
  14. removeEffectivePermissions: luticateAuthCacheDataAccess.removeEffectivePermissions,
  15. setEffectiveSettings: luticateAuthCacheDataAccess.setEffectiveSettings,
  16. getEffectiveSettings: luticateAuthCacheDataAccess.getEffectiveSettings,
  17. removeEffectiveSettings: luticateAuthCacheDataAccess.removeEffectiveSettings
  18. };
  19. luticateAuthCache.getToken = function()
  20. {
  21. var user = luticateAuthCacheDataAccess.getUser();
  22. if (user == null) {
  23. return null;
  24. }
  25. return user.Token;
  26. };
  27. luticateAuthCache.removeUser = function()
  28. {
  29. luticateAuthCacheDataAccess.removeUser();
  30. luticateAuthCacheDataAccess.removeEffectivePermissions();
  31. luticateAuthCacheDataAccess.removeEffectiveSettings();
  32. };
  33. luticateAuthCache.hasEffectivePermission = function(permission_name)
  34. {
  35. var permissions = luticateAuthCacheDataAccess.getEffectivePermissions();
  36. if (permissions == null) {
  37. return null;
  38. }
  39. var value = permissions[permission_name];
  40. return value == null ? null : value;
  41. };
  42. luticateAuthCache.hasAllEffectivePermissions = function(permission_names)
  43. {
  44. return !permission_names.some(function(permission_name)
  45. {
  46. return !luticateAuthCache.hasEffectivePermission(permission_name);
  47. });
  48. };
  49. luticateAuthCache.hasOneEffectivePermission = function(permission_names)
  50. {
  51. return permission_names.some(luticateAuthCache.hasEffectivePermission);
  52. };
  53. luticateAuthCache.getEffectiveSetting = function(setting_name)
  54. {
  55. var settings = luticateAuthCacheDataAccess.getEffectiveSettings();
  56. if (settings == null) {
  57. return null;
  58. }
  59. var value = settings[setting_name];
  60. return value == null ? null : value;
  61. };
  62. luticateAuthCache.getEffectiveSettingValue = function(setting_name)
  63. {
  64. var setting = luticateAuthCache.getEffectiveSetting(setting_name);
  65. return setting == null ? null : setting.Value;
  66. };
  67. luticateAuthCache.setEffectiveSettingValue = function(setting_name, setting_value)
  68. {
  69. var settings = luticateAuthCacheDataAccess.getEffectiveSettings();
  70. if (settings == null) {
  71. return;
  72. }
  73. settings[setting_name].Value = setting_value;
  74. luticateAuthCacheDataAccess.setEffectiveSettings(settings);
  75. };
  76. return luticateAuthCache;
  77. }]);
  78. })();