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 5.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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. luticateAuthUsers.loadPermissions(promise)
  30. .then(function(permissions)
  31. {
  32. defer.reject(error);
  33. }, function(error)
  34. {
  35. defer.reject(error);
  36. });
  37. });
  38. return defer.promise;
  39. };
  40. luticateAuthUsers.loadPermissions = function(promise)
  41. {
  42. var defer = $q.defer();
  43. luticateAuthPermissions.getAllEffectiveMe(promise)
  44. .then(function(permissions)
  45. {
  46. var perms = {};
  47. for (var i = 0; i < permissions.Data.length; ++i) {
  48. var p = permissions.Data[i];
  49. perms[p.Name] = p.Value;
  50. }
  51. luticateAuthCache.setEffectivePermissions(perms);
  52. defer.resolve(permissions.Data);
  53. }, defer.reject);
  54. return defer.promise;
  55. };
  56. luticateAuthUsers.logout = function(promise)
  57. {
  58. var defer = $q.defer();
  59. luticateRequest.post("/api/luticate/users/logout", null, null, promise)
  60. .finally(function()
  61. {
  62. luticateAuthCache.removeUser();
  63. luticateAuthUsers.loadPermissions(promise)
  64. .finally(defer.resolve);
  65. });
  66. return defer.promise;
  67. };
  68. luticateAuthUsers.getAll = function(data, promise)
  69. {
  70. return luticateRequest.get("/api/luticate/users", data, promise);
  71. };
  72. luticateAuthUsers.get = function(data, promise)
  73. {
  74. return luticateRequest.get("/api/luticate/users/" + data.user_id, null, promise);
  75. };
  76. luticateAuthUsers.getMe = function(promise)
  77. {
  78. return luticateRequest.get("/api/luticate/users/me", null, promise);
  79. };
  80. luticateAuthUsers.edit = function(data, promise)
  81. {
  82. return luticateRequest.post("/api/luticate/users/" + data.user_id + "/edit", data, null, promise);
  83. };
  84. luticateAuthUsers.editMe = function(data, promise)
  85. {
  86. return luticateRequest.post("/api/luticate/users/me/edit", data, null, promise);
  87. };
  88. luticateAuthUsers.add = function(data, promise)
  89. {
  90. return luticateRequest.post("/api/luticate/users/add", data, null, promise);
  91. };
  92. luticateAuthUsers.setPassword = function(data, promise)
  93. {
  94. return luticateRequest.post("/api/luticate/users/" + data.user_id + "/setPassword", data, null, promise);
  95. };
  96. luticateAuthUsers.setPasswordMe = function(data, promise)
  97. {
  98. return luticateRequest.post("/api/luticate/users/me/setPassword", data, null, promise);
  99. };
  100. luticateAuthUsers.del = function(data, promise)
  101. {
  102. return luticateRequest.post("/api/luticate/users/" + data.user_id + "/del", null, null, promise);
  103. };
  104. return luticateAuthUsers;
  105. }]);
  106. })();