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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  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.get = function(data, promise)
  66. {
  67. return luticateRequest.get("/api/luticate/users/" + data.user_id, null, promise);
  68. };
  69. luticateAuthUsers.getMe = function(promise)
  70. {
  71. return luticateRequest.get("/api/luticate/users/me", null, promise);
  72. };
  73. luticateAuthUsers.edit = function(data, promise)
  74. {
  75. return luticateRequest.post("/api/luticate/users/" + data.user_id + "/edit", data, null, promise);
  76. };
  77. luticateAuthUsers.editMe = function(data, promise)
  78. {
  79. return luticateRequest.post("/api/luticate/users/me/edit", data, null, promise);
  80. };
  81. luticateAuthUsers.add = function(data, promise)
  82. {
  83. return luticateRequest.post("/api/luticate/users/add", data, null, promise);
  84. };
  85. luticateAuthUsers.setPassword = function(data, promise)
  86. {
  87. return luticateRequest.post("/api/luticate/users/" + data.user_id + "/setPassword", data, null, promise);
  88. };
  89. luticateAuthUsers.setPasswordMe = function(data, promise)
  90. {
  91. return luticateRequest.post("/api/luticate/users/me/setPassword", data, null, promise);
  92. };
  93. luticateAuthUsers.del = function(data, promise)
  94. {
  95. return luticateRequest.post("/api/luticate/users/" + data.user_id + "/del", null, null, promise);
  96. };
  97. return luticateAuthUsers;
  98. }]);
  99. })();