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.

users.js 3.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /**
  2. * Created by robin on 11/1/15.
  3. */
  4. (function () {
  5. 'use strict';
  6. angular.module('luticateAuth')
  7. .factory('luticateAuthUsers', ['luticateRequest', '$q', 'luticateAuthCache', 'luticateAuthPermissions',
  8. function(luticateRequest, $q, luticateAuthCache, luticateAuthPermissions) {
  9. var luticateAuthUsers = {};
  10. luticateAuthUsers.login = function(data, promise)
  11. {
  12. var defer = $q.defer();
  13. luticateRequest.post("/api/luticate/users/login", data, null, promise)
  14. .then(function(user)
  15. {
  16. luticateAuthCache.setUser(user);
  17. luticateAuthUsers.loadPermissions(promise)
  18. .then(function(permissions)
  19. {
  20. defer.resolve(user);
  21. }, function(error)
  22. {
  23. luticateAuthCache.removeUser();
  24. defer.reject(error);
  25. });
  26. }, function(error)
  27. {
  28. luticateAuthCache.removeUser();
  29. defer.reject(error);
  30. });
  31. return defer.promise;
  32. };
  33. luticateAuthUsers.loadPermissions = function(promise)
  34. {
  35. var defer = $q.defer();
  36. luticateAuthPermissions.getAllEffectiveMe(promise)
  37. .then(function(permissions)
  38. {
  39. var perms = {};
  40. for (var i = 0; i < permissions.Data.length; ++i) {
  41. var p = permissions.Data[i];
  42. perms[p.Name] = p.Value;
  43. }
  44. luticateAuthCache.setEffectivePermissions(perms);
  45. defer.resolve(permissions.Data);
  46. }, defer.reject);
  47. return defer.promise;
  48. };
  49. luticateAuthUsers.logout = function(promise)
  50. {
  51. var defer = $q.defer();
  52. luticateRequest.post("/api/luticate/users/logout", null, null, promise)
  53. .finally(function()
  54. {
  55. luticateAuthCache.removeUser();
  56. luticateAuthUsers.loadPermissions(promise)
  57. .finally(defer.resolve);
  58. });
  59. return defer.promise;
  60. };
  61. luticateAuthUsers.getAll = function(data, promise)
  62. {
  63. return luticateRequest.get("/api/luticate/users", data, promise);
  64. };
  65. luticateAuthUsers.edit = function(data, promise)
  66. {
  67. return luticateRequest.post("/api/luticate/users/" + data.user_id + "/edit", data, null, promise);
  68. };
  69. luticateAuthUsers.add = function(data, promise)
  70. {
  71. return luticateRequest.post("/api/luticate/users/add", data, null, promise);
  72. };
  73. luticateAuthUsers.setPassword = function(data, promise)
  74. {
  75. return luticateRequest.post("/api/luticate/users/" + data.user_id + "/setPassword", data, null, promise);
  76. };
  77. luticateAuthUsers.del = function(data, promise)
  78. {
  79. return luticateRequest.post("/api/luticate/users/" + data.user_id + "/del", null, null, promise);
  80. };
  81. return luticateAuthUsers;
  82. }]);
  83. })();