@payloadcms/plugin-stripe 0.0.15 → 0.0.16-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +36 -36
  2. package/dist/admin.js +33 -32
  3. package/dist/extendWebpackConfig.js +28 -26
  4. package/dist/fields/getFields.js +36 -42
  5. package/dist/hooks/createNewInStripe.js +82 -124
  6. package/dist/hooks/deleteFromStripe.js +44 -87
  7. package/dist/hooks/syncExistingWithStripe.js +55 -93
  8. package/dist/index.js +109 -135
  9. package/dist/routes/rest.js +35 -76
  10. package/dist/routes/webhooks.js +59 -94
  11. package/dist/types.js +5 -2
  12. package/dist/ui/LinkToDoc.js +43 -31
  13. package/dist/utilities/deepen.js +20 -17
  14. package/dist/utilities/stripeProxy.js +52 -88
  15. package/dist/webhooks/handleCreatedOrUpdated.js +125 -196
  16. package/dist/webhooks/handleDeleted.js +53 -102
  17. package/dist/webhooks/index.js +55 -89
  18. package/package.json +12 -27
  19. package/types.d.ts +1 -1
  20. package/types.js +1 -1
  21. package/dist/admin.d.ts +0 -3
  22. package/dist/admin.js.map +0 -1
  23. package/dist/extendWebpackConfig.d.ts +0 -3
  24. package/dist/extendWebpackConfig.js.map +0 -1
  25. package/dist/fields/getFields.d.ts +0 -11
  26. package/dist/fields/getFields.js.map +0 -1
  27. package/dist/hooks/createNewInStripe.d.ts +0 -7
  28. package/dist/hooks/createNewInStripe.js.map +0 -1
  29. package/dist/hooks/deleteFromStripe.d.ts +0 -7
  30. package/dist/hooks/deleteFromStripe.js.map +0 -1
  31. package/dist/hooks/syncExistingWithStripe.d.ts +0 -7
  32. package/dist/hooks/syncExistingWithStripe.js.map +0 -1
  33. package/dist/index.d.ts +0 -3
  34. package/dist/index.js.map +0 -1
  35. package/dist/routes/rest.d.ts +0 -9
  36. package/dist/routes/rest.js.map +0 -1
  37. package/dist/routes/webhooks.d.ts +0 -11
  38. package/dist/routes/webhooks.js.map +0 -1
  39. package/dist/types.d.ts +0 -44
  40. package/dist/types.js.map +0 -1
  41. package/dist/ui/LinkToDoc.d.ts +0 -7
  42. package/dist/ui/LinkToDoc.js.map +0 -1
  43. package/dist/utilities/deepen.d.ts +0 -1
  44. package/dist/utilities/deepen.js.map +0 -1
  45. package/dist/utilities/stripeProxy.d.ts +0 -2
  46. package/dist/utilities/stripeProxy.js.map +0 -1
  47. package/dist/webhooks/handleCreatedOrUpdated.d.ts +0 -7
  48. package/dist/webhooks/handleCreatedOrUpdated.js.map +0 -1
  49. package/dist/webhooks/handleDeleted.d.ts +0 -7
  50. package/dist/webhooks/handleDeleted.js.map +0 -1
  51. package/dist/webhooks/index.d.ts +0 -2
  52. package/dist/webhooks/index.js.map +0 -1
@@ -1,36 +1,48 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.LinkToDoc = void 0;
7
- var forms_1 = require("payload/components/forms");
8
- var react_1 = __importDefault(require("react"));
9
- var CopyToClipboard_1 = __importDefault(require("payload/dist/admin/components/elements/CopyToClipboard"));
10
- var LinkToDoc = function (props) {
11
- var isTestKey = props.isTestKey, stripeResourceType = props.stripeResourceType, nameOfIDField = props.nameOfIDField;
12
- var field = (0, forms_1.useFormFields)(function (_a) {
13
- var fields = _a[0];
14
- return fields[nameOfIDField];
15
- });
16
- var stripeID = (field || {}).value;
17
- var stripeEnv = isTestKey ? 'test/' : '';
18
- var href = "https://dashboard.stripe.com/".concat(stripeEnv).concat(stripeResourceType, "/").concat(stripeID);
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "LinkToDoc", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return LinkToDoc;
9
+ }
10
+ });
11
+ const _forms = require("payload/components/forms");
12
+ const _CopyToClipboard = /*#__PURE__*/ _interop_require_default(require("payload/dist/admin/components/elements/CopyToClipboard"));
13
+ const _react = /*#__PURE__*/ _interop_require_default(require("react"));
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ const LinkToDoc = (props)=>{
20
+ const { isTestKey, nameOfIDField, stripeResourceType } = props;
21
+ const field = (0, _forms.useFormFields)(([fields])=>fields[nameOfIDField]);
22
+ const { value: stripeID } = field || {};
23
+ const stripeEnv = isTestKey ? 'test/' : '';
24
+ const href = `https://dashboard.stripe.com/${stripeEnv}${stripeResourceType}/${stripeID}`;
19
25
  if (stripeID) {
20
- return (react_1.default.createElement("div", null,
21
- react_1.default.createElement("div", null,
22
- react_1.default.createElement("span", { className: "label", style: {
23
- color: '#9A9A9A'
24
- } }, "View in Stripe"),
25
- react_1.default.createElement(CopyToClipboard_1.default, { value: href })),
26
- react_1.default.createElement("div", { style: {
27
- overflow: 'hidden',
28
- textOverflow: 'ellipsis',
29
- fontWeight: '600'
30
- } },
31
- react_1.default.createElement("a", { href: href, target: "_blank", rel: "noreferrer noopener" }, href))));
26
+ return /*#__PURE__*/ _react.default.createElement("div", null, /*#__PURE__*/ _react.default.createElement("div", null, /*#__PURE__*/ _react.default.createElement("span", {
27
+ className: "label",
28
+ style: {
29
+ color: '#9A9A9A'
30
+ }
31
+ }, "View in Stripe"), /*#__PURE__*/ _react.default.createElement(_CopyToClipboard.default, {
32
+ value: href
33
+ })), /*#__PURE__*/ _react.default.createElement("div", {
34
+ style: {
35
+ fontWeight: '600',
36
+ overflow: 'hidden',
37
+ textOverflow: 'ellipsis'
38
+ }
39
+ }, /*#__PURE__*/ _react.default.createElement("a", {
40
+ href: href,
41
+ rel: "noreferrer noopener",
42
+ target: "_blank"
43
+ }, href)));
32
44
  }
33
45
  return null;
34
46
  };
35
- exports.LinkToDoc = LinkToDoc;
36
- //# sourceMappingURL=LinkToDoc.js.map
47
+
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91aS9MaW5rVG9Eb2MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVUlGaWVsZCB9IGZyb20gJ3BheWxvYWQvZGlzdC9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyB1c2VGb3JtRmllbGRzIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL2Zvcm1zJ1xuaW1wb3J0IENvcHlUb0NsaXBib2FyZCBmcm9tICdwYXlsb2FkL2Rpc3QvYWRtaW4vY29tcG9uZW50cy9lbGVtZW50cy9Db3B5VG9DbGlwYm9hcmQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBjb25zdCBMaW5rVG9Eb2M6IFJlYWN0LkZDPFxuICBVSUZpZWxkICYge1xuICAgIGlzVGVzdEtleTogYm9vbGVhblxuICAgIG5hbWVPZklERmllbGQ6IHN0cmluZ1xuICAgIHN0cmlwZVJlc291cmNlVHlwZTogc3RyaW5nXG4gIH1cbj4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBpc1Rlc3RLZXksIG5hbWVPZklERmllbGQsIHN0cmlwZVJlc291cmNlVHlwZSB9ID0gcHJvcHNcblxuICBjb25zdCBmaWVsZCA9IHVzZUZvcm1GaWVsZHMoKFtmaWVsZHNdKSA9PiBmaWVsZHNbbmFtZU9mSURGaWVsZF0pXG4gIGNvbnN0IHsgdmFsdWU6IHN0cmlwZUlEIH0gPSBmaWVsZCB8fCB7fVxuXG4gIGNvbnN0IHN0cmlwZUVudiA9IGlzVGVzdEtleSA/ICd0ZXN0LycgOiAnJ1xuICBjb25zdCBocmVmID0gYGh0dHBzOi8vZGFzaGJvYXJkLnN0cmlwZS5jb20vJHtzdHJpcGVFbnZ9JHtzdHJpcGVSZXNvdXJjZVR5cGV9LyR7c3RyaXBlSUR9YFxuXG4gIGlmIChzdHJpcGVJRCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYWJlbFwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBjb2xvcjogJyM5QTlBOUEnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBWaWV3IGluIFN0cmlwZVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8Q29weVRvQ2xpcGJvYXJkIHZhbHVlPXtocmVmfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnNjAwJyxcbiAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPGEgaHJlZj17aHJlZn0gcmVsPVwibm9yZWZlcnJlciBub29wZW5lclwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgICAge2hyZWZ9XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIHJldHVybiBudWxsXG59XG4iXSwibmFtZXMiOlsiTGlua1RvRG9jIiwicHJvcHMiLCJpc1Rlc3RLZXkiLCJuYW1lT2ZJREZpZWxkIiwic3RyaXBlUmVzb3VyY2VUeXBlIiwiZmllbGQiLCJ1c2VGb3JtRmllbGRzIiwiZmllbGRzIiwidmFsdWUiLCJzdHJpcGVJRCIsInN0cmlwZUVudiIsImhyZWYiLCJkaXYiLCJzcGFuIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJjb2xvciIsIkNvcHlUb0NsaXBib2FyZCIsImZvbnRXZWlnaHQiLCJvdmVyZmxvdyIsInRleHRPdmVyZmxvdyIsImEiLCJyZWwiLCJ0YXJnZXQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBTWFBOzs7ZUFBQUE7Ozt1QkFKaUI7d0VBQ0Y7OERBQ1Y7Ozs7OztBQUVYLE1BQU1BLFlBTVQsQ0FBQ0M7SUFDSCxNQUFNLEVBQUVDLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxrQkFBa0IsRUFBRSxHQUFHSDtJQUV6RCxNQUFNSSxRQUFRQyxJQUFBQSxvQkFBYSxFQUFDLENBQUMsQ0FBQ0MsT0FBTyxHQUFLQSxNQUFNLENBQUNKLGNBQWM7SUFDL0QsTUFBTSxFQUFFSyxPQUFPQyxRQUFRLEVBQUUsR0FBR0osU0FBUyxDQUFDO0lBRXRDLE1BQU1LLFlBQVlSLFlBQVksVUFBVTtJQUN4QyxNQUFNUyxPQUFPLENBQUMsNkJBQTZCLEVBQUVELFVBQVUsRUFBRU4sbUJBQW1CLENBQUMsRUFBRUssU0FBUyxDQUFDO0lBRXpGLElBQUlBLFVBQVU7UUFDWixxQkFDRSw2QkFBQ0csMkJBQ0MsNkJBQUNBLDJCQUNDLDZCQUFDQztZQUNDQyxXQUFVO1lBQ1ZDLE9BQU87Z0JBQ0xDLE9BQU87WUFDVDtXQUNELGlDQUdELDZCQUFDQyx3QkFBZTtZQUFDVCxPQUFPRzsyQkFFMUIsNkJBQUNDO1lBQ0NHLE9BQU87Z0JBQ0xHLFlBQVk7Z0JBQ1pDLFVBQVU7Z0JBQ1ZDLGNBQWM7WUFDaEI7eUJBRUEsNkJBQUNDO1lBQUVWLE1BQU1BO1lBQU1XLEtBQUk7WUFBc0JDLFFBQU87V0FDN0NaO0lBS1g7SUFFQSxPQUFPO0FBQ1QifQ==
@@ -1,28 +1,31 @@
1
- "use strict";
2
1
  // converts an object of dot notation keys to a nested object
3
2
  // i.e. { 'price.stripePriceID': '123' } to { price: { stripePriceID: '123' } }
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.deepen = void 0;
6
- var deepen = function (obj) {
7
- var result = {};
8
- var _loop_1 = function (key) {
9
- var value = obj[key];
10
- var keys = key.split('.');
11
- var current = result;
12
- keys.forEach(function (k, index) {
3
+ "use strict";
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "deepen", {
8
+ enumerable: true,
9
+ get: function() {
10
+ return deepen;
11
+ }
12
+ });
13
+ const deepen = (obj)=>{
14
+ const result = {};
15
+ for(const key in obj){
16
+ const value = obj[key];
17
+ const keys = key.split('.');
18
+ let current = result;
19
+ keys.forEach((k, index)=>{
13
20
  if (index === keys.length - 1) {
14
21
  current[k] = value;
15
- }
16
- else {
22
+ } else {
17
23
  current[k] = current[k] || {};
18
24
  current = current[k];
19
25
  }
20
26
  });
21
- };
22
- for (var key in obj) {
23
- _loop_1(key);
24
27
  }
25
28
  return result;
26
29
  };
27
- exports.deepen = deepen;
28
- //# sourceMappingURL=deepen.js.map
30
+
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZGVlcGVuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbnZlcnRzIGFuIG9iamVjdCBvZiBkb3Qgbm90YXRpb24ga2V5cyB0byBhIG5lc3RlZCBvYmplY3Rcbi8vIGkuZS4geyAncHJpY2Uuc3RyaXBlUHJpY2VJRCc6ICcxMjMnIH0gdG8geyBwcmljZTogeyBzdHJpcGVQcmljZUlEOiAnMTIzJyB9IH1cblxuZXhwb3J0IGNvbnN0IGRlZXBlbiA9IChvYmo6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0+IHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cblxuICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcbiAgICBjb25zdCB2YWx1ZSA9IG9ialtrZXldXG4gICAgY29uc3Qga2V5cyA9IGtleS5zcGxpdCgnLicpXG4gICAgbGV0IGN1cnJlbnQgPSByZXN1bHRcbiAgICBrZXlzLmZvckVhY2goKGssIGluZGV4KSA9PiB7XG4gICAgICBpZiAoaW5kZXggPT09IGtleXMubGVuZ3RoIC0gMSkge1xuICAgICAgICBjdXJyZW50W2tdID0gdmFsdWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnJlbnRba10gPSBjdXJyZW50W2tdIHx8IHt9XG4gICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W2tdXG4gICAgICB9XG4gICAgfSlcbiAgfVxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsiZGVlcGVuIiwib2JqIiwicmVzdWx0Iiwia2V5IiwidmFsdWUiLCJrZXlzIiwic3BsaXQiLCJjdXJyZW50IiwiZm9yRWFjaCIsImsiLCJpbmRleCIsImxlbmd0aCJdLCJtYXBwaW5ncyI6IkFBQUEsNkRBQTZEO0FBQzdELCtFQUErRTs7Ozs7K0JBRWxFQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxTQUFTLENBQUNDO0lBQ3JCLE1BQU1DLFNBQThCLENBQUM7SUFFckMsSUFBSyxNQUFNQyxPQUFPRixJQUFLO1FBQ3JCLE1BQU1HLFFBQVFILEdBQUcsQ0FBQ0UsSUFBSTtRQUN0QixNQUFNRSxPQUFPRixJQUFJRyxLQUFLLENBQUM7UUFDdkIsSUFBSUMsVUFBVUw7UUFDZEcsS0FBS0csT0FBTyxDQUFDLENBQUNDLEdBQUdDO1lBQ2YsSUFBSUEsVUFBVUwsS0FBS00sTUFBTSxHQUFHLEdBQUc7Z0JBQzdCSixPQUFPLENBQUNFLEVBQUUsR0FBR0w7WUFDZixPQUFPO2dCQUNMRyxPQUFPLENBQUNFLEVBQUUsR0FBR0YsT0FBTyxDQUFDRSxFQUFFLElBQUksQ0FBQztnQkFDNUJGLFVBQVVBLE9BQU8sQ0FBQ0UsRUFBRTtZQUN0QjtRQUNGO0lBQ0Y7SUFDQSxPQUFPUDtBQUNUIn0=
@@ -1,93 +1,57 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "stripeProxy", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return stripeProxy;
9
+ }
10
+ });
11
+ const _lodashget = /*#__PURE__*/ _interop_require_default(require("lodash.get"));
12
+ const _stripe = /*#__PURE__*/ _interop_require_default(require("stripe"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ const stripeProxy = async ({ stripeArgs, stripeMethod, stripeSecretKey })=>{
19
+ const stripe = new _stripe.default(stripeSecretKey, {
20
+ apiVersion: '2022-08-01',
21
+ appInfo: {
22
+ name: 'Stripe Payload Plugin',
23
+ url: 'https://payloadcms.com'
24
+ }
9
25
  });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
26
+ if (typeof stripeMethod === 'string') {
27
+ const topLevelMethod = stripeMethod.split('.')[0];
28
+ const contextToBind = stripe[topLevelMethod];
29
+ // NOTE: 'lodashGet' uses dot notation to get the property of an object
30
+ // NOTE: Stripe API methods using reference "this" within their functions, so we need to bind context
31
+ const foundMethod = (0, _lodashget.default)(stripe, stripeMethod).bind(contextToBind);
32
+ if (typeof foundMethod === 'function') {
33
+ if (Array.isArray(stripeArgs)) {
34
+ try {
35
+ const stripeResponse = await foundMethod(...stripeArgs);
36
+ return {
37
+ data: stripeResponse,
38
+ status: 200
39
+ };
40
+ } catch (error) {
41
+ return {
42
+ message: `A Stripe API error has occurred: ${error}`,
43
+ status: 404
44
+ };
45
+ }
46
+ } else {
47
+ throw new Error(`Argument 'stripeArgs' must be an array.`);
32
48
  }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
49
+ } else {
50
+ throw Error(`The provided Stripe method of '${stripeMethod}' is not a part of the Stripe API.`);
51
+ }
52
+ } else {
53
+ throw Error('You must provide a Stripe method to call.');
36
54
  }
37
55
  };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.stripeProxy = void 0;
43
- var lodash_get_1 = __importDefault(require("lodash.get"));
44
- var stripe_1 = __importDefault(require("stripe"));
45
- var stripeProxy = function (_a) {
46
- var stripeSecretKey = _a.stripeSecretKey, stripeMethod = _a.stripeMethod, stripeArgs = _a.stripeArgs;
47
- return __awaiter(void 0, void 0, void 0, function () {
48
- var stripe, topLevelMethod, contextToBind, foundMethod, stripeResponse, error_1;
49
- return __generator(this, function (_b) {
50
- switch (_b.label) {
51
- case 0:
52
- stripe = new stripe_1.default(stripeSecretKey, {
53
- apiVersion: '2022-08-01',
54
- appInfo: {
55
- name: 'Stripe Payload Plugin',
56
- url: 'https://payloadcms.com',
57
- },
58
- });
59
- if (!(typeof stripeMethod === 'string')) return [3 /*break*/, 9];
60
- topLevelMethod = stripeMethod.split('.')[0];
61
- contextToBind = stripe[topLevelMethod];
62
- foundMethod = (0, lodash_get_1.default)(stripe, stripeMethod).bind(contextToBind);
63
- if (!(typeof foundMethod === 'function')) return [3 /*break*/, 7];
64
- if (!Array.isArray(stripeArgs)) return [3 /*break*/, 5];
65
- _b.label = 1;
66
- case 1:
67
- _b.trys.push([1, 3, , 4]);
68
- return [4 /*yield*/, foundMethod.apply(void 0, stripeArgs)];
69
- case 2:
70
- stripeResponse = _b.sent();
71
- return [2 /*return*/, {
72
- status: 200,
73
- data: stripeResponse,
74
- }];
75
- case 3:
76
- error_1 = _b.sent();
77
- return [2 /*return*/, {
78
- status: 404,
79
- message: "A Stripe API error has occurred: ".concat(error_1),
80
- }];
81
- case 4: return [3 /*break*/, 6];
82
- case 5: throw new Error("Argument 'stripeArgs' must be an array.");
83
- case 6: return [3 /*break*/, 8];
84
- case 7: throw Error("The provided Stripe method of '".concat(stripeMethod, "' is not a part of the Stripe API."));
85
- case 8: return [3 /*break*/, 10];
86
- case 9: throw Error('You must provide a Stripe method to call.');
87
- case 10: return [2 /*return*/];
88
- }
89
- });
90
- });
91
- };
92
- exports.stripeProxy = stripeProxy;
93
- //# sourceMappingURL=stripeProxy.js.map
56
+
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaXBlUHJveHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvZGFzaEdldCBmcm9tICdsb2Rhc2guZ2V0J1xuaW1wb3J0IFN0cmlwZSBmcm9tICdzdHJpcGUnXG5cbmltcG9ydCB0eXBlIHsgU3RyaXBlUHJveHkgfSBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IGNvbnN0IHN0cmlwZVByb3h5OiBTdHJpcGVQcm94eSA9IGFzeW5jICh7IHN0cmlwZUFyZ3MsIHN0cmlwZU1ldGhvZCwgc3RyaXBlU2VjcmV0S2V5IH0pID0+IHtcbiAgY29uc3Qgc3RyaXBlID0gbmV3IFN0cmlwZShzdHJpcGVTZWNyZXRLZXksIHtcbiAgICBhcGlWZXJzaW9uOiAnMjAyMi0wOC0wMScsXG4gICAgYXBwSW5mbzoge1xuICAgICAgbmFtZTogJ1N0cmlwZSBQYXlsb2FkIFBsdWdpbicsXG4gICAgICB1cmw6ICdodHRwczovL3BheWxvYWRjbXMuY29tJyxcbiAgICB9LFxuICB9KVxuXG4gIGlmICh0eXBlb2Ygc3RyaXBlTWV0aG9kID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IHRvcExldmVsTWV0aG9kID0gc3RyaXBlTWV0aG9kLnNwbGl0KCcuJylbMF0gYXMga2V5b2YgU3RyaXBlXG4gICAgY29uc3QgY29udGV4dFRvQmluZCA9IHN0cmlwZVt0b3BMZXZlbE1ldGhvZF1cbiAgICAvLyBOT1RFOiAnbG9kYXNoR2V0JyB1c2VzIGRvdCBub3RhdGlvbiB0byBnZXQgdGhlIHByb3BlcnR5IG9mIGFuIG9iamVjdFxuICAgIC8vIE5PVEU6IFN0cmlwZSBBUEkgbWV0aG9kcyB1c2luZyByZWZlcmVuY2UgXCJ0aGlzXCIgd2l0aGluIHRoZWlyIGZ1bmN0aW9ucywgc28gd2UgbmVlZCB0byBiaW5kIGNvbnRleHRcbiAgICBjb25zdCBmb3VuZE1ldGhvZCA9IGxvZGFzaEdldChzdHJpcGUsIHN0cmlwZU1ldGhvZCkuYmluZChjb250ZXh0VG9CaW5kKVxuXG4gICAgaWYgKHR5cGVvZiBmb3VuZE1ldGhvZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc3RyaXBlQXJncykpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBzdHJpcGVSZXNwb25zZSA9IGF3YWl0IGZvdW5kTWV0aG9kKC4uLnN0cmlwZUFyZ3MpXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRhdGE6IHN0cmlwZVJlc3BvbnNlLFxuICAgICAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtZXNzYWdlOiBgQSBTdHJpcGUgQVBJIGVycm9yIGhhcyBvY2N1cnJlZDogJHtlcnJvcn1gLFxuICAgICAgICAgICAgc3RhdHVzOiA0MDQsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEFyZ3VtZW50ICdzdHJpcGVBcmdzJyBtdXN0IGJlIGFuIGFycmF5LmApXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICBgVGhlIHByb3ZpZGVkIFN0cmlwZSBtZXRob2Qgb2YgJyR7c3RyaXBlTWV0aG9kfScgaXMgbm90IGEgcGFydCBvZiB0aGUgU3RyaXBlIEFQSS5gLFxuICAgICAgKVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBFcnJvcignWW91IG11c3QgcHJvdmlkZSBhIFN0cmlwZSBtZXRob2QgdG8gY2FsbC4nKVxuICB9XG59XG4iXSwibmFtZXMiOlsic3RyaXBlUHJveHkiLCJzdHJpcGVBcmdzIiwic3RyaXBlTWV0aG9kIiwic3RyaXBlU2VjcmV0S2V5Iiwic3RyaXBlIiwiU3RyaXBlIiwiYXBpVmVyc2lvbiIsImFwcEluZm8iLCJuYW1lIiwidXJsIiwidG9wTGV2ZWxNZXRob2QiLCJzcGxpdCIsImNvbnRleHRUb0JpbmQiLCJmb3VuZE1ldGhvZCIsImxvZGFzaEdldCIsImJpbmQiLCJBcnJheSIsImlzQXJyYXkiLCJzdHJpcGVSZXNwb25zZSIsImRhdGEiLCJzdGF0dXMiLCJlcnJvciIsIm1lc3NhZ2UiLCJFcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFLYUE7OztlQUFBQTs7O2tFQUxTOytEQUNIOzs7Ozs7QUFJWixNQUFNQSxjQUEyQixPQUFPLEVBQUVDLFVBQVUsRUFBRUMsWUFBWSxFQUFFQyxlQUFlLEVBQUU7SUFDMUYsTUFBTUMsU0FBUyxJQUFJQyxlQUFNLENBQUNGLGlCQUFpQjtRQUN6Q0csWUFBWTtRQUNaQyxTQUFTO1lBQ1BDLE1BQU07WUFDTkMsS0FBSztRQUNQO0lBQ0Y7SUFFQSxJQUFJLE9BQU9QLGlCQUFpQixVQUFVO1FBQ3BDLE1BQU1RLGlCQUFpQlIsYUFBYVMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pELE1BQU1DLGdCQUFnQlIsTUFBTSxDQUFDTSxlQUFlO1FBQzVDLHVFQUF1RTtRQUN2RSxxR0FBcUc7UUFDckcsTUFBTUcsY0FBY0MsSUFBQUEsa0JBQVMsRUFBQ1YsUUFBUUYsY0FBY2EsSUFBSSxDQUFDSDtRQUV6RCxJQUFJLE9BQU9DLGdCQUFnQixZQUFZO1lBQ3JDLElBQUlHLE1BQU1DLE9BQU8sQ0FBQ2hCLGFBQWE7Z0JBQzdCLElBQUk7b0JBQ0YsTUFBTWlCLGlCQUFpQixNQUFNTCxlQUFlWjtvQkFDNUMsT0FBTzt3QkFDTGtCLE1BQU1EO3dCQUNORSxRQUFRO29CQUNWO2dCQUNGLEVBQUUsT0FBT0MsT0FBZ0I7b0JBQ3ZCLE9BQU87d0JBQ0xDLFNBQVMsQ0FBQyxpQ0FBaUMsRUFBRUQsTUFBTSxDQUFDO3dCQUNwREQsUUFBUTtvQkFDVjtnQkFDRjtZQUNGLE9BQU87Z0JBQ0wsTUFBTSxJQUFJRyxNQUFNLENBQUMsdUNBQXVDLENBQUM7WUFDM0Q7UUFDRixPQUFPO1lBQ0wsTUFBTUEsTUFDSixDQUFDLCtCQUErQixFQUFFckIsYUFBYSxrQ0FBa0MsQ0FBQztRQUV0RjtJQUNGLE9BQU87UUFDTCxNQUFNcUIsTUFBTTtJQUNkO0FBQ0YifQ==