ParseHooks.js 5.0 KB

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