ParseHooks.js 4.7 KB

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