ParseHooks.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.getFunctions = getFunctions;
  7. exports.getTriggers = getTriggers;
  8. exports.getFunction = getFunction;
  9. exports.getTrigger = getTrigger;
  10. exports.createFunction = createFunction;
  11. exports.createTrigger = createTrigger;
  12. exports.create = create;
  13. exports.updateFunction = updateFunction;
  14. exports.updateTrigger = updateTrigger;
  15. exports.update = update;
  16. exports.removeFunction = removeFunction;
  17. exports.removeTrigger = removeTrigger;
  18. exports.remove = remove;
  19. var _CoreManager = _interopRequireDefault(require("./CoreManager"));
  20. var _decode = _interopRequireDefault(require("./decode"));
  21. var _ParseError = _interopRequireDefault(require("./ParseError"));
  22. function getFunctions() {
  23. return _CoreManager.default.getHooksController().get("functions");
  24. }
  25. function getTriggers() {
  26. return _CoreManager.default.getHooksController().get("triggers");
  27. }
  28. function getFunction(name) {
  29. return _CoreManager.default.getHooksController().get("functions", name);
  30. }
  31. function getTrigger(className, triggerName) {
  32. return _CoreManager.default.getHooksController().get("triggers", className, triggerName);
  33. }
  34. function createFunction(functionName, url) {
  35. return create({
  36. functionName: functionName,
  37. url: url
  38. });
  39. }
  40. function createTrigger(className, triggerName, url) {
  41. return create({
  42. className: className,
  43. triggerName: triggerName,
  44. url: url
  45. });
  46. }
  47. function create(hook) {
  48. return _CoreManager.default.getHooksController().create(hook);
  49. }
  50. function updateFunction(functionName, url) {
  51. return update({
  52. functionName: functionName,
  53. url: url
  54. });
  55. }
  56. function updateTrigger(className, triggerName, url) {
  57. return update({
  58. className: className,
  59. triggerName: triggerName,
  60. url: url
  61. });
  62. }
  63. function update(hook) {
  64. return _CoreManager.default.getHooksController().update(hook);
  65. }
  66. function removeFunction(functionName) {
  67. return remove({
  68. functionName: functionName
  69. });
  70. }
  71. function removeTrigger(className, triggerName) {
  72. return remove({
  73. className: className,
  74. triggerName: triggerName
  75. });
  76. }
  77. function remove(hook) {
  78. return _CoreManager.default.getHooksController().remove(hook);
  79. }
  80. var DefaultController = {
  81. get: function (type, functionName, triggerName) {
  82. var url = "/hooks/" + type;
  83. if (functionName) {
  84. url += "/" + functionName;
  85. if (triggerName) {
  86. url += "/" + triggerName;
  87. }
  88. }
  89. return this.sendRequest("GET", url);
  90. },
  91. create: function (hook) {
  92. var url;
  93. if (hook.functionName && hook.url) {
  94. url = "/hooks/functions";
  95. } else if (hook.className && hook.triggerName && hook.url) {
  96. url = "/hooks/triggers";
  97. } else {
  98. return Promise.reject({
  99. error: 'invalid hook declaration',
  100. code: 143
  101. });
  102. }
  103. return this.sendRequest("POST", url, hook);
  104. },
  105. remove: function (hook) {
  106. var url;
  107. if (hook.functionName) {
  108. url = "/hooks/functions/" + hook.functionName;
  109. delete hook.functionName;
  110. } else if (hook.className && hook.triggerName) {
  111. url = "/hooks/triggers/" + hook.className + "/" + hook.triggerName;
  112. delete hook.className;
  113. delete hook.triggerName;
  114. } else {
  115. return Promise.reject({
  116. error: 'invalid hook declaration',
  117. code: 143
  118. });
  119. }
  120. return this.sendRequest("PUT", url, {
  121. "__op": "Delete"
  122. });
  123. },
  124. update: function (hook) {
  125. var url;
  126. if (hook.functionName && hook.url) {
  127. url = "/hooks/functions/" + hook.functionName;
  128. delete hook.functionName;
  129. } else if (hook.className && hook.triggerName && hook.url) {
  130. url = "/hooks/triggers/" + hook.className + "/" + hook.triggerName;
  131. delete hook.className;
  132. delete hook.triggerName;
  133. } else {
  134. return Promise.reject({
  135. error: 'invalid hook declaration',
  136. code: 143
  137. });
  138. }
  139. return this.sendRequest('PUT', url, hook);
  140. },
  141. sendRequest: function (method, url, body) {
  142. return _CoreManager.default.getRESTController().request(method, url, body, {
  143. useMasterKey: true
  144. }).then(function (res) {
  145. var decoded = (0, _decode.default)(res);
  146. if (decoded) {
  147. return Promise.resolve(decoded);
  148. }
  149. return Promise.reject(new _ParseError.default(_ParseError.default.INVALID_JSON, 'The server returned an invalid response.'));
  150. });
  151. }
  152. };
  153. _CoreManager.default.setHooksController(DefaultController);