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.

permissions.js 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /**
  2. * Created by robin on 11/1/15.
  3. */
  4. (function () {
  5. 'use strict';
  6. angular.module('luticateAuth')
  7. .factory('luticateAuthPermissions', ['luticateAuthPermissionsDataAccess', 'luticateAuthCache', '$q',
  8. function(luticateAuthPermissionsDataAccess, luticateAuthCache, $q) {
  9. var luticateAuthPermissions = {
  10. getAll: luticateAuthPermissionsDataAccess.getAll,
  11. get: luticateAuthPermissionsDataAccess.get,
  12. edit: luticateAuthPermissionsDataAccess.edit,
  13. add: luticateAuthPermissionsDataAccess.add,
  14. del: luticateAuthPermissionsDataAccess.del,
  15. getEffectiveUser: luticateAuthPermissionsDataAccess.getEffectiveUser,
  16. getAllEffectiveUser: luticateAuthPermissionsDataAccess.getAllEffectiveUser,
  17. getEffectiveMe: luticateAuthPermissionsDataAccess.getEffectiveMe,
  18. getAllEffectiveMe: luticateAuthPermissionsDataAccess.getAllEffectiveMe
  19. };
  20. luticateAuthPermissions.loadPermissions = function(promise)
  21. {
  22. var defer = $q.defer();
  23. luticateAuthPermissions.getAllEffectiveMe(promise)
  24. .then(function(permissions)
  25. {
  26. var perms = {};
  27. for (var i = 0; i < permissions.Data.length; ++i) {
  28. var p = permissions.Data[i];
  29. perms[p.Name] = p.Value;
  30. }
  31. luticateAuthCache.setEffectivePermissions(perms);
  32. defer.resolve();
  33. }, defer.reject);
  34. return defer.promise;
  35. };
  36. return luticateAuthPermissions;
  37. }]);
  38. })();