@payloadcms/plugin-stripe 0.0.16 → 0.0.18

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.d.ts +3 -0
  3. package/dist/admin.js +32 -33
  4. package/dist/admin.js.map +1 -0
  5. package/dist/extendWebpackConfig.d.ts +3 -0
  6. package/dist/extendWebpackConfig.js +26 -28
  7. package/dist/extendWebpackConfig.js.map +1 -0
  8. package/dist/fields/getFields.d.ts +11 -0
  9. package/dist/fields/getFields.js +42 -36
  10. package/dist/fields/getFields.js.map +1 -0
  11. package/dist/hooks/createNewInStripe.d.ts +7 -0
  12. package/dist/hooks/createNewInStripe.js +124 -82
  13. package/dist/hooks/createNewInStripe.js.map +1 -0
  14. package/dist/hooks/deleteFromStripe.d.ts +7 -0
  15. package/dist/hooks/deleteFromStripe.js +87 -44
  16. package/dist/hooks/deleteFromStripe.js.map +1 -0
  17. package/dist/hooks/syncExistingWithStripe.d.ts +7 -0
  18. package/dist/hooks/syncExistingWithStripe.js +93 -55
  19. package/dist/hooks/syncExistingWithStripe.js.map +1 -0
  20. package/dist/index.d.ts +3 -0
  21. package/dist/index.js +135 -109
  22. package/dist/index.js.map +1 -0
  23. package/dist/routes/rest.d.ts +9 -0
  24. package/dist/routes/rest.js +76 -35
  25. package/dist/routes/rest.js.map +1 -0
  26. package/dist/routes/webhooks.d.ts +11 -0
  27. package/dist/routes/webhooks.js +94 -59
  28. package/dist/routes/webhooks.js.map +1 -0
  29. package/dist/types.d.ts +44 -0
  30. package/dist/types.js +2 -5
  31. package/dist/types.js.map +1 -0
  32. package/dist/ui/LinkToDoc.d.ts +7 -0
  33. package/dist/ui/LinkToDoc.js +31 -43
  34. package/dist/ui/LinkToDoc.js.map +1 -0
  35. package/dist/utilities/deepen.d.ts +1 -0
  36. package/dist/utilities/deepen.js +17 -20
  37. package/dist/utilities/deepen.js.map +1 -0
  38. package/dist/utilities/stripeProxy.d.ts +2 -0
  39. package/dist/utilities/stripeProxy.js +88 -52
  40. package/dist/utilities/stripeProxy.js.map +1 -0
  41. package/dist/webhooks/handleCreatedOrUpdated.d.ts +7 -0
  42. package/dist/webhooks/handleCreatedOrUpdated.js +196 -125
  43. package/dist/webhooks/handleCreatedOrUpdated.js.map +1 -0
  44. package/dist/webhooks/handleDeleted.d.ts +7 -0
  45. package/dist/webhooks/handleDeleted.js +102 -53
  46. package/dist/webhooks/handleDeleted.js.map +1 -0
  47. package/dist/webhooks/index.d.ts +2 -0
  48. package/dist/webhooks/index.js +89 -55
  49. package/dist/webhooks/index.js.map +1 -0
  50. package/package.json +28 -13
  51. package/types.d.ts +1 -1
  52. package/types.js +1 -1
@@ -1,88 +1,130 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "createNewInStripe", {
6
- enumerable: true,
7
- get: function() {
8
- return createNewInStripe;
9
- }
10
- });
11
- const _errors = require("payload/errors");
12
- const _stripe = /*#__PURE__*/ _interop_require_default(require("stripe"));
13
- const _deepen = require("../utilities/deepen");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- const stripeSecretKey = process.env.STRIPE_SECRET_KEY;
20
- const stripe = new _stripe.default(stripeSecretKey || '', {
21
- apiVersion: '2022-08-01'
22
- });
23
- const createNewInStripe = async (args)=>{
24
- const { collection, data, operation, req, stripeConfig } = args;
25
- const { logs, sync } = stripeConfig || {};
26
- const payload = req?.payload;
27
- const dataRef = data || {};
28
- if (process.env.NODE_ENV === 'test') {
29
- dataRef.stripeID = 'test';
30
- return dataRef;
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());
9
+ });
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;
32
+ }
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 };
31
36
  }
32
- if (payload) {
33
- if (data?.skipSync) {
34
- if (logs) payload.logger.info(`Bypassing collection-level hooks.`);
35
- } else {
36
- // initialize as 'false' so that all Payload admin events sync to Stripe
37
- // then conditionally set to 'true' to for events that originate from webhooks
38
- // this will prevent webhook events from triggering an unnecessary sync / infinite loop
39
- dataRef.skipSync = false;
40
- const { slug: collectionSlug } = collection || {};
41
- const syncConfig = sync?.find((conf)=>conf.collection === collectionSlug);
42
- if (syncConfig) {
43
- // combine all fields of this object and match their respective values within the document
44
- let syncedFields = syncConfig.fields.reduce((acc, field)=>{
45
- const { fieldPath, stripeProperty } = field;
37
+ };
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.createNewInStripe = void 0;
43
+ var errors_1 = require("payload/errors");
44
+ var stripe_1 = __importDefault(require("stripe"));
45
+ var deepen_1 = require("../utilities/deepen");
46
+ var stripeSecretKey = process.env.STRIPE_SECRET_KEY;
47
+ var stripe = new stripe_1.default(stripeSecretKey || '', { apiVersion: '2022-08-01' });
48
+ var createNewInStripe = function (args) { return __awaiter(void 0, void 0, void 0, function () {
49
+ var req, operation, data, collection, stripeConfig, _a, sync, logs, payload, dataRef, collectionSlug_1, syncConfig, syncedFields, stripeResource, error_1, msg, stripeResource, error_2, msg;
50
+ var _b, _c;
51
+ return __generator(this, function (_d) {
52
+ switch (_d.label) {
53
+ case 0:
54
+ req = args.req, operation = args.operation, data = args.data, collection = args.collection, stripeConfig = args.stripeConfig;
55
+ _a = stripeConfig || {}, sync = _a.sync, logs = _a.logs;
56
+ payload = req === null || req === void 0 ? void 0 : req.payload;
57
+ dataRef = data || {};
58
+ if (process.env.NODE_ENV === 'test') {
59
+ dataRef.stripeID = 'test';
60
+ return [2 /*return*/, dataRef];
61
+ }
62
+ if (!payload) return [3 /*break*/, 9];
63
+ if (!(data === null || data === void 0 ? void 0 : data.skipSync)) return [3 /*break*/, 1];
64
+ if (logs)
65
+ payload.logger.info("Bypassing collection-level hooks.");
66
+ return [3 /*break*/, 9];
67
+ case 1:
68
+ // initialize as 'false' so that all Payload admin events sync to Stripe
69
+ // then conditionally set to 'true' to for events that originate from webhooks
70
+ // this will prevent webhook events from triggering an unnecessary sync / infinite loop
71
+ dataRef.skipSync = false;
72
+ collectionSlug_1 = (collection || {}).slug;
73
+ syncConfig = sync === null || sync === void 0 ? void 0 : sync.find(function (conf) { return conf.collection === collectionSlug_1; });
74
+ if (!syncConfig) return [3 /*break*/, 9];
75
+ syncedFields = syncConfig.fields.reduce(function (acc, field) {
76
+ var fieldPath = field.fieldPath, stripeProperty = field.stripeProperty;
46
77
  acc[stripeProperty] = dataRef[fieldPath];
47
78
  return acc;
48
79
  }, {});
49
- syncedFields = (0, _deepen.deepen)(syncedFields);
50
- if (operation === 'update') {
51
- if (logs) payload.logger.info(`A '${collectionSlug}' document has changed in Payload with ID: '${data?.id}', syncing with Stripe...`);
52
- // NOTE: the Stripe document will be created in the "afterChange" hook, so create a new stripe document here if no stripeID exists
53
- if (!dataRef.stripeID) {
54
- try {
55
- // NOTE: Typed as "any" because the "create" method is not standard across all Stripe resources
56
- const stripeResource = await stripe?.[syncConfig.stripeResourceType]?.create(syncedFields);
57
- if (logs) payload.logger.info(`✅ Successfully created new '${syncConfig.stripeResourceType}' resource in Stripe with ID: '${stripeResource.id}'.`);
58
- dataRef.stripeID = stripeResource.id;
59
- // NOTE: this is to prevent sync in the "afterChange" hook
60
- dataRef.skipSync = true;
61
- } catch (error) {
62
- const msg = error instanceof Error ? error.message : error;
63
- if (logs) payload.logger.error(`- Error creating Stripe document: ${msg}`);
64
- }
65
- }
66
- }
67
- if (operation === 'create') {
68
- if (logs) payload.logger.info(`A new '${collectionSlug}' document was created in Payload with ID: '${data?.id}', syncing with Stripe...`);
69
- try {
70
- if (logs) payload.logger.info(`- Creating new '${syncConfig.stripeResourceType}' resource in Stripe...`);
71
- // NOTE: Typed as "any" because the "create" method is not standard across all Stripe resources
72
- const stripeResource = await stripe?.[syncConfig.stripeResourceType]?.create(syncedFields);
73
- if (logs) payload.logger.info(`✅ Successfully created new '${syncConfig.stripeResourceType}' resource in Stripe with ID: '${stripeResource.id}'.`);
74
- dataRef.stripeID = stripeResource.id;
75
- // IMPORTANT: this is to prevent sync in the "afterChange" hook
76
- dataRef.skipSync = true;
77
- } catch (error) {
78
- const msg = error instanceof Error ? error.message : error;
79
- throw new _errors.APIError(`Failed to create new '${syncConfig.stripeResourceType}' resource in Stripe: ${msg}`);
80
- }
81
- }
82
- }
80
+ syncedFields = (0, deepen_1.deepen)(syncedFields);
81
+ if (!(operation === 'update')) return [3 /*break*/, 5];
82
+ if (logs)
83
+ payload.logger.info("A '".concat(collectionSlug_1, "' document has changed in Payload with ID: '").concat(data === null || data === void 0 ? void 0 : data.id, "', syncing with Stripe..."));
84
+ if (!!dataRef.stripeID) return [3 /*break*/, 5];
85
+ _d.label = 2;
86
+ case 2:
87
+ _d.trys.push([2, 4, , 5]);
88
+ return [4 /*yield*/, ((_b = stripe === null || stripe === void 0 ? void 0 : stripe[syncConfig.stripeResourceType]) === null || _b === void 0 ? void 0 : _b.create(syncedFields))];
89
+ case 3:
90
+ stripeResource = _d.sent();
91
+ if (logs)
92
+ payload.logger.info("\u2705 Successfully created new '".concat(syncConfig.stripeResourceType, "' resource in Stripe with ID: '").concat(stripeResource.id, "'."));
93
+ dataRef.stripeID = stripeResource.id;
94
+ // NOTE: this is to prevent sync in the "afterChange" hook
95
+ dataRef.skipSync = true;
96
+ return [3 /*break*/, 5];
97
+ case 4:
98
+ error_1 = _d.sent();
99
+ msg = error_1 instanceof Error ? error_1.message : error_1;
100
+ if (logs)
101
+ payload.logger.error("- Error creating Stripe document: ".concat(msg));
102
+ return [3 /*break*/, 5];
103
+ case 5:
104
+ if (!(operation === 'create')) return [3 /*break*/, 9];
105
+ if (logs)
106
+ payload.logger.info("A new '".concat(collectionSlug_1, "' document was created in Payload with ID: '").concat(data === null || data === void 0 ? void 0 : data.id, "', syncing with Stripe..."));
107
+ _d.label = 6;
108
+ case 6:
109
+ _d.trys.push([6, 8, , 9]);
110
+ if (logs)
111
+ payload.logger.info("- Creating new '".concat(syncConfig.stripeResourceType, "' resource in Stripe..."));
112
+ return [4 /*yield*/, ((_c = stripe === null || stripe === void 0 ? void 0 : stripe[syncConfig.stripeResourceType]) === null || _c === void 0 ? void 0 : _c.create(syncedFields))];
113
+ case 7:
114
+ stripeResource = _d.sent();
115
+ if (logs)
116
+ payload.logger.info("\u2705 Successfully created new '".concat(syncConfig.stripeResourceType, "' resource in Stripe with ID: '").concat(stripeResource.id, "'."));
117
+ dataRef.stripeID = stripeResource.id;
118
+ // IMPORTANT: this is to prevent sync in the "afterChange" hook
119
+ dataRef.skipSync = true;
120
+ return [3 /*break*/, 9];
121
+ case 8:
122
+ error_2 = _d.sent();
123
+ msg = error_2 instanceof Error ? error_2.message : error_2;
124
+ throw new errors_1.APIError("Failed to create new '".concat(syncConfig.stripeResourceType, "' resource in Stripe: ").concat(msg));
125
+ case 9: return [2 /*return*/, dataRef];
83
126
  }
84
- }
85
- return dataRef;
86
- };
87
-
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9jcmVhdGVOZXdJblN0cmlwZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25CZWZvcmVWYWxpZGF0ZUhvb2ssIENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBBUElFcnJvciB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IFN0cmlwZSBmcm9tICdzdHJpcGUnXG5cbmltcG9ydCB0eXBlIHsgU3RyaXBlQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IGRlZXBlbiB9IGZyb20gJy4uL3V0aWxpdGllcy9kZWVwZW4nXG5cbmNvbnN0IHN0cmlwZVNlY3JldEtleSA9IHByb2Nlc3MuZW52LlNUUklQRV9TRUNSRVRfS0VZXG5jb25zdCBzdHJpcGUgPSBuZXcgU3RyaXBlKHN0cmlwZVNlY3JldEtleSB8fCAnJywgeyBhcGlWZXJzaW9uOiAnMjAyMi0wOC0wMScgfSlcblxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkJlZm9yZVZhbGlkYXRlSG9va1dpdGhBcmdzID0gKFxuICBhcmdzOiBQYXJhbWV0ZXJzPENvbGxlY3Rpb25CZWZvcmVWYWxpZGF0ZUhvb2s+WzBdICYge1xuICAgIGNvbGxlY3Rpb24/OiBDb2xsZWN0aW9uQ29uZmlnXG4gICAgc3RyaXBlQ29uZmlnPzogU3RyaXBlQ29uZmlnXG4gIH0sXG4pID0+IHZvaWRcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU5ld0luU3RyaXBlOiBDb2xsZWN0aW9uQmVmb3JlVmFsaWRhdGVIb29rV2l0aEFyZ3MgPSBhc3luYyAoYXJncykgPT4ge1xuICBjb25zdCB7IGNvbGxlY3Rpb24sIGRhdGEsIG9wZXJhdGlvbiwgcmVxLCBzdHJpcGVDb25maWcgfSA9IGFyZ3NcblxuICBjb25zdCB7IGxvZ3MsIHN5bmMgfSA9IHN0cmlwZUNvbmZpZyB8fCB7fVxuXG4gIGNvbnN0IHBheWxvYWQgPSByZXE/LnBheWxvYWRcblxuICBjb25zdCBkYXRhUmVmID0gZGF0YSB8fCB7fVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Rlc3QnKSB7XG4gICAgZGF0YVJlZi5zdHJpcGVJRCA9ICd0ZXN0J1xuICAgIHJldHVybiBkYXRhUmVmXG4gIH1cblxuICBpZiAocGF5bG9hZCkge1xuICAgIGlmIChkYXRhPy5za2lwU3luYykge1xuICAgICAgaWYgKGxvZ3MpIHBheWxvYWQubG9nZ2VyLmluZm8oYEJ5cGFzc2luZyBjb2xsZWN0aW9uLWxldmVsIGhvb2tzLmApXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGluaXRpYWxpemUgYXMgJ2ZhbHNlJyBzbyB0aGF0IGFsbCBQYXlsb2FkIGFkbWluIGV2ZW50cyBzeW5jIHRvIFN0cmlwZVxuICAgICAgLy8gdGhlbiBjb25kaXRpb25hbGx5IHNldCB0byAndHJ1ZScgdG8gZm9yIGV2ZW50cyB0aGF0IG9yaWdpbmF0ZSBmcm9tIHdlYmhvb2tzXG4gICAgICAvLyB0aGlzIHdpbGwgcHJldmVudCB3ZWJob29rIGV2ZW50cyBmcm9tIHRyaWdnZXJpbmcgYW4gdW5uZWNlc3Nhcnkgc3luYyAvIGluZmluaXRlIGxvb3BcbiAgICAgIGRhdGFSZWYuc2tpcFN5bmMgPSBmYWxzZVxuXG4gICAgICBjb25zdCB7IHNsdWc6IGNvbGxlY3Rpb25TbHVnIH0gPSBjb2xsZWN0aW9uIHx8IHt9XG4gICAgICBjb25zdCBzeW5jQ29uZmlnID0gc3luYz8uZmluZCgoY29uZikgPT4gY29uZi5jb2xsZWN0aW9uID09PSBjb2xsZWN0aW9uU2x1ZylcblxuICAgICAgaWYgKHN5bmNDb25maWcpIHtcbiAgICAgICAgLy8gY29tYmluZSBhbGwgZmllbGRzIG9mIHRoaXMgb2JqZWN0IGFuZCBtYXRjaCB0aGVpciByZXNwZWN0aXZlIHZhbHVlcyB3aXRoaW4gdGhlIGRvY3VtZW50XG4gICAgICAgIGxldCBzeW5jZWRGaWVsZHMgPSBzeW5jQ29uZmlnLmZpZWxkcy5yZWR1Y2UoXG4gICAgICAgICAgKGFjYywgZmllbGQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgZmllbGRQYXRoLCBzdHJpcGVQcm9wZXJ0eSB9ID0gZmllbGRcblxuICAgICAgICAgICAgYWNjW3N0cmlwZVByb3BlcnR5XSA9IGRhdGFSZWZbZmllbGRQYXRoXVxuICAgICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICAgIH0sXG4gICAgICAgICAge30gYXMgUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgICAgKVxuXG4gICAgICAgIHN5bmNlZEZpZWxkcyA9IGRlZXBlbihzeW5jZWRGaWVsZHMpXG5cbiAgICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgICAgICBpZiAobG9ncylcbiAgICAgICAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oXG4gICAgICAgICAgICAgIGBBICcke2NvbGxlY3Rpb25TbHVnfScgZG9jdW1lbnQgaGFzIGNoYW5nZWQgaW4gUGF5bG9hZCB3aXRoIElEOiAnJHtkYXRhPy5pZH0nLCBzeW5jaW5nIHdpdGggU3RyaXBlLi4uYCxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgIC8vIE5PVEU6IHRoZSBTdHJpcGUgZG9jdW1lbnQgd2lsbCBiZSBjcmVhdGVkIGluIHRoZSBcImFmdGVyQ2hhbmdlXCIgaG9vaywgc28gY3JlYXRlIGEgbmV3IHN0cmlwZSBkb2N1bWVudCBoZXJlIGlmIG5vIHN0cmlwZUlEIGV4aXN0c1xuICAgICAgICAgIGlmICghZGF0YVJlZi5zdHJpcGVJRCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgLy8gTk9URTogVHlwZWQgYXMgXCJhbnlcIiBiZWNhdXNlIHRoZSBcImNyZWF0ZVwiIG1ldGhvZCBpcyBub3Qgc3RhbmRhcmQgYWNyb3NzIGFsbCBTdHJpcGUgcmVzb3VyY2VzXG4gICAgICAgICAgICAgIGNvbnN0IHN0cmlwZVJlc291cmNlID0gYXdhaXQgc3RyaXBlPy5bc3luY0NvbmZpZy5zdHJpcGVSZXNvdXJjZVR5cGVdPy5jcmVhdGUoXG4gICAgICAgICAgICAgICAgc3luY2VkRmllbGRzIGFzIGFueSxcbiAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgIGlmIChsb2dzKVxuICAgICAgICAgICAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oXG4gICAgICAgICAgICAgICAgICBg4pyFIFN1Y2Nlc3NmdWxseSBjcmVhdGVkIG5ldyAnJHtzeW5jQ29uZmlnLnN0cmlwZVJlc291cmNlVHlwZX0nIHJlc291cmNlIGluIFN0cmlwZSB3aXRoIElEOiAnJHtzdHJpcGVSZXNvdXJjZS5pZH0nLmAsXG4gICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgIGRhdGFSZWYuc3RyaXBlSUQgPSBzdHJpcGVSZXNvdXJjZS5pZFxuXG4gICAgICAgICAgICAgIC8vIE5PVEU6IHRoaXMgaXMgdG8gcHJldmVudCBzeW5jIGluIHRoZSBcImFmdGVyQ2hhbmdlXCIgaG9va1xuICAgICAgICAgICAgICBkYXRhUmVmLnNraXBTeW5jID0gdHJ1ZVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgY29uc3QgbXNnID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBlcnJvclxuICAgICAgICAgICAgICBpZiAobG9ncykgcGF5bG9hZC5sb2dnZXIuZXJyb3IoYC0gRXJyb3IgY3JlYXRpbmcgU3RyaXBlIGRvY3VtZW50OiAke21zZ31gKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcGVyYXRpb24gPT09ICdjcmVhdGUnKSB7XG4gICAgICAgICAgaWYgKGxvZ3MpXG4gICAgICAgICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgICBgQSBuZXcgJyR7Y29sbGVjdGlvblNsdWd9JyBkb2N1bWVudCB3YXMgY3JlYXRlZCBpbiBQYXlsb2FkIHdpdGggSUQ6ICcke2RhdGE/LmlkfScsIHN5bmNpbmcgd2l0aCBTdHJpcGUuLi5gLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChsb2dzKVxuICAgICAgICAgICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgICAgIGAtIENyZWF0aW5nIG5ldyAnJHtzeW5jQ29uZmlnLnN0cmlwZVJlc291cmNlVHlwZX0nIHJlc291cmNlIGluIFN0cmlwZS4uLmAsXG4gICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgLy8gTk9URTogVHlwZWQgYXMgXCJhbnlcIiBiZWNhdXNlIHRoZSBcImNyZWF0ZVwiIG1ldGhvZCBpcyBub3Qgc3RhbmRhcmQgYWNyb3NzIGFsbCBTdHJpcGUgcmVzb3VyY2VzXG4gICAgICAgICAgICBjb25zdCBzdHJpcGVSZXNvdXJjZSA9IGF3YWl0IHN0cmlwZT8uW3N5bmNDb25maWcuc3RyaXBlUmVzb3VyY2VUeXBlXT8uY3JlYXRlKFxuICAgICAgICAgICAgICBzeW5jZWRGaWVsZHMgYXMgYW55LFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBpZiAobG9ncylcbiAgICAgICAgICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyhcbiAgICAgICAgICAgICAgICBg4pyFIFN1Y2Nlc3NmdWxseSBjcmVhdGVkIG5ldyAnJHtzeW5jQ29uZmlnLnN0cmlwZVJlc291cmNlVHlwZX0nIHJlc291cmNlIGluIFN0cmlwZSB3aXRoIElEOiAnJHtzdHJpcGVSZXNvdXJjZS5pZH0nLmAsXG4gICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgZGF0YVJlZi5zdHJpcGVJRCA9IHN0cmlwZVJlc291cmNlLmlkXG5cbiAgICAgICAgICAgIC8vIElNUE9SVEFOVDogdGhpcyBpcyB0byBwcmV2ZW50IHN5bmMgaW4gdGhlIFwiYWZ0ZXJDaGFuZ2VcIiBob29rXG4gICAgICAgICAgICBkYXRhUmVmLnNraXBTeW5jID0gdHJ1ZVxuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICAgICAgICBjb25zdCBtc2cgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IGVycm9yXG4gICAgICAgICAgICB0aHJvdyBuZXcgQVBJRXJyb3IoXG4gICAgICAgICAgICAgIGBGYWlsZWQgdG8gY3JlYXRlIG5ldyAnJHtzeW5jQ29uZmlnLnN0cmlwZVJlc291cmNlVHlwZX0nIHJlc291cmNlIGluIFN0cmlwZTogJHttc2d9YCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGF0YVJlZlxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZU5ld0luU3RyaXBlIiwic3RyaXBlU2VjcmV0S2V5IiwicHJvY2VzcyIsImVudiIsIlNUUklQRV9TRUNSRVRfS0VZIiwic3RyaXBlIiwiU3RyaXBlIiwiYXBpVmVyc2lvbiIsImFyZ3MiLCJjb2xsZWN0aW9uIiwiZGF0YSIsIm9wZXJhdGlvbiIsInJlcSIsInN0cmlwZUNvbmZpZyIsImxvZ3MiLCJzeW5jIiwicGF5bG9hZCIsImRhdGFSZWYiLCJOT0RFX0VOViIsInN0cmlwZUlEIiwic2tpcFN5bmMiLCJsb2dnZXIiLCJpbmZvIiwic2x1ZyIsImNvbGxlY3Rpb25TbHVnIiwic3luY0NvbmZpZyIsImZpbmQiLCJjb25mIiwic3luY2VkRmllbGRzIiwiZmllbGRzIiwicmVkdWNlIiwiYWNjIiwiZmllbGQiLCJmaWVsZFBhdGgiLCJzdHJpcGVQcm9wZXJ0eSIsImRlZXBlbiIsImlkIiwic3RyaXBlUmVzb3VyY2UiLCJzdHJpcGVSZXNvdXJjZVR5cGUiLCJjcmVhdGUiLCJlcnJvciIsIm1zZyIsIkVycm9yIiwibWVzc2FnZSIsIkFQSUVycm9yIl0sIm1hcHBpbmdzIjoiOzs7OytCQW1CYUE7OztlQUFBQTs7O3dCQWpCWTsrREFDTjt3QkFJSTs7Ozs7O0FBRXZCLE1BQU1DLGtCQUFrQkMsUUFBUUMsR0FBRyxDQUFDQyxpQkFBaUI7QUFDckQsTUFBTUMsU0FB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
127
+ });
128
+ }); };
129
+ exports.createNewInStripe = createNewInStripe;
130
+ //# sourceMappingURL=createNewInStripe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNewInStripe.js","sourceRoot":"","sources":["../../src/hooks/createNewInStripe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { CollectionAfterDeleteHook, CollectionConfig } from 'payload/types';
2
+ import type { StripeConfig } from '../types';
3
+ export type CollectionAfterDeleteHookWithArgs = (args: Parameters<CollectionAfterDeleteHook>[0] & {
4
+ collection?: CollectionConfig;
5
+ stripeConfig?: StripeConfig;
6
+ }) => void;
7
+ export declare const deleteFromStripe: CollectionAfterDeleteHookWithArgs;
@@ -1,48 +1,91 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "deleteFromStripe", {
6
- enumerable: true,
7
- get: function() {
8
- return deleteFromStripe;
9
- }
10
- });
11
- const _errors = require("payload/errors");
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 stripeSecretKey = process.env.STRIPE_SECRET_KEY;
19
- const stripe = new _stripe.default(stripeSecretKey || '', {
20
- apiVersion: '2022-08-01'
21
- });
22
- const deleteFromStripe = async (args)=>{
23
- const { collection, doc, req, stripeConfig } = args;
24
- const { logs, sync } = stripeConfig || {};
25
- const { payload } = req;
26
- const { slug: collectionSlug } = collection || {};
27
- if (logs) payload.logger.info(`Document with ID: '${doc?.id}' in collection: '${collectionSlug}' has been deleted, deleting from Stripe...`);
28
- if (process.env.NODE_ENV !== 'test') {
29
- if (logs) payload.logger.info(`- Deleting Stripe document with ID: '${doc.stripeID}'...`);
30
- const syncConfig = sync?.find((conf)=>conf.collection === collectionSlug);
31
- if (syncConfig) {
32
- try {
33
- const found = await stripe?.[syncConfig.stripeResourceType]?.retrieve(doc.stripeID);
34
- if (found) {
35
- await stripe?.[syncConfig.stripeResourceType]?.del(doc.stripeID);
36
- if (logs) payload.logger.info(`✅ Successfully deleted Stripe document with ID: '${doc.stripeID}'.`);
37
- } else {
38
- if (logs) payload.logger.info(`- Stripe document with ID: '${doc.stripeID}' not found, skipping...`);
39
- }
40
- } catch (error) {
41
- const msg = error instanceof Error ? error.message : error;
42
- throw new _errors.APIError(`Failed to delete Stripe document with ID: '${doc.stripeID}': ${msg}`);
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());
9
+ });
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;
43
32
  }
44
- }
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 };
45
36
  }
46
37
  };
47
-
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9kZWxldGVGcm9tU3RyaXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkFmdGVyRGVsZXRlSG9vaywgQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5pbXBvcnQgU3RyaXBlIGZyb20gJ3N0cmlwZSdcblxuaW1wb3J0IHR5cGUgeyBTdHJpcGVDb25maWcgfSBmcm9tICcuLi90eXBlcydcblxuY29uc3Qgc3RyaXBlU2VjcmV0S2V5ID0gcHJvY2Vzcy5lbnYuU1RSSVBFX1NFQ1JFVF9LRVlcbmNvbnN0IHN0cmlwZSA9IG5ldyBTdHJpcGUoc3RyaXBlU2VjcmV0S2V5IHx8ICcnLCB7IGFwaVZlcnNpb246ICcyMDIyLTA4LTAxJyB9KVxuXG5leHBvcnQgdHlwZSBDb2xsZWN0aW9uQWZ0ZXJEZWxldGVIb29rV2l0aEFyZ3MgPSAoXG4gIGFyZ3M6IFBhcmFtZXRlcnM8Q29sbGVjdGlvbkFmdGVyRGVsZXRlSG9vaz5bMF0gJiB7XG4gICAgY29sbGVjdGlvbj86IENvbGxlY3Rpb25Db25maWdcbiAgICBzdHJpcGVDb25maWc/OiBTdHJpcGVDb25maWdcbiAgfSxcbikgPT4gdm9pZFxuXG5leHBvcnQgY29uc3QgZGVsZXRlRnJvbVN0cmlwZTogQ29sbGVjdGlvbkFmdGVyRGVsZXRlSG9va1dpdGhBcmdzID0gYXN5bmMgKGFyZ3MpID0+IHtcbiAgY29uc3QgeyBjb2xsZWN0aW9uLCBkb2MsIHJlcSwgc3RyaXBlQ29uZmlnIH0gPSBhcmdzXG5cbiAgY29uc3QgeyBsb2dzLCBzeW5jIH0gPSBzdHJpcGVDb25maWcgfHwge31cblxuICBjb25zdCB7IHBheWxvYWQgfSA9IHJlcVxuICBjb25zdCB7IHNsdWc6IGNvbGxlY3Rpb25TbHVnIH0gPSBjb2xsZWN0aW9uIHx8IHt9XG5cbiAgaWYgKGxvZ3MpXG4gICAgcGF5bG9hZC5sb2dnZXIuaW5mbyhcbiAgICAgIGBEb2N1bWVudCB3aXRoIElEOiAnJHtkb2M/LmlkfScgaW4gY29sbGVjdGlvbjogJyR7Y29sbGVjdGlvblNsdWd9JyBoYXMgYmVlbiBkZWxldGVkLCBkZWxldGluZyBmcm9tIFN0cmlwZS4uLmAsXG4gICAgKVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Rlc3QnKSB7XG4gICAgaWYgKGxvZ3MpIHBheWxvYWQubG9nZ2VyLmluZm8oYC0gRGVsZXRpbmcgU3RyaXBlIGRvY3VtZW50IHdpdGggSUQ6ICcke2RvYy5zdHJpcGVJRH0nLi4uYClcblxuICAgIGNvbnN0IHN5bmNDb25maWcgPSBzeW5jPy5maW5kKChjb25mKSA9PiBjb25mLmNvbGxlY3Rpb24gPT09IGNvbGxlY3Rpb25TbHVnKVxuXG4gICAgaWYgKHN5bmNDb25maWcpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGZvdW5kID0gYXdhaXQgc3RyaXBlPy5bc3luY0NvbmZpZy5zdHJpcGVSZXNvdXJjZVR5cGVdPy5yZXRyaWV2ZShkb2Muc3RyaXBlSUQpXG5cbiAgICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgICAgYXdhaXQgc3RyaXBlPy5bc3luY0NvbmZpZy5zdHJpcGVSZXNvdXJjZVR5cGVdPy5kZWwoZG9jLnN0cmlwZUlEKVxuICAgICAgICAgIGlmIChsb2dzKVxuICAgICAgICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyhcbiAgICAgICAgICAgICAgYOKchSBTdWNjZXNzZnVsbHkgZGVsZXRlZCBTdHJpcGUgZG9jdW1lbnQgd2l0aCBJRDogJyR7ZG9jLnN0cmlwZUlEfScuYCxcbiAgICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAobG9ncylcbiAgICAgICAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oXG4gICAgICAgICAgICAgIGAtIFN0cmlwZSBkb2N1bWVudCB3aXRoIElEOiAnJHtkb2Muc3RyaXBlSUR9JyBub3QgZm91bmQsIHNraXBwaW5nLi4uYCxcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgY29uc3QgbXNnID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBlcnJvclxuICAgICAgICB0aHJvdyBuZXcgQVBJRXJyb3IoYEZhaWxlZCB0byBkZWxldGUgU3RyaXBlIGRvY3VtZW50IHdpdGggSUQ6ICcke2RvYy5zdHJpcGVJRH0nOiAke21zZ31gKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbImRlbGV0ZUZyb21TdHJpcGUiLCJzdHJpcGVTZWNyZXRLZXkiLCJwcm9jZXNzIiwiZW52IiwiU1RSSVBFX1NFQ1JFVF9LRVkiLCJzdHJpcGUiLCJTdHJpcGUiLCJhcGlWZXJzaW9uIiwiYXJncyIsImNvbGxlY3Rpb24iLCJkb2MiLCJyZXEiLCJzdHJpcGVDb25maWciLCJsb2dzIiwic3luYyIsInBheWxvYWQiLCJzbHVnIiwiY29sbGVjdGlvblNsdWciLCJsb2dnZXIiLCJpbmZvIiwiaWQiLCJOT0RFX0VOViIsInN0cmlwZUlEIiwic3luY0NvbmZpZyIsImZpbmQiLCJjb25mIiwiZm91bmQiLCJzdHJpcGVSZXNvdXJjZVR5cGUiLCJyZXRyaWV2ZSIsImRlbCIsImVycm9yIiwibXNnIiwiRXJyb3IiLCJtZXNzYWdlIiwiQVBJRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7K0JBaUJhQTs7O2VBQUFBOzs7d0JBZlk7K0RBQ047Ozs7OztBQUluQixNQUFNQyxrQkFBa0JDLFFBQVFDLEdBQUcsQ0FBQ0MsaUJBQWlCO0FBQ3JELE1BQU1DLFNBQVMsSUFBSUMsZUFBTSxDQUFDTCxtQkFBbUIsSUFBSTtJQUFFTSxZQUFZO0FBQWE7QUFTckUsTUFBTVAsbUJBQXNELE9BQU9RO0lBQ3hFLE1BQU0sRUFBRUMsVUFBVSxFQUFFQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsWUFBWSxFQUFFLEdBQUdKO0lBRS9DLE1BQU0sRUFBRUssSUFBSSxFQUFFQyxJQUFJLEVBQUUsR0FBR0YsZ0JBQWdCLENBQUM7SUFFeEMsTUFBTSxFQUFFRyxPQUFPLEVBQUUsR0FBR0o7SUFDcEIsTUFBTSxFQUFFSyxNQUFNQyxjQUFjLEVBQUUsR0FBR1IsY0FBYyxDQUFDO0lBRWhELElBQUlJLE1BQ0ZFLFFBQVFHLE1BQU0sQ0FBQ0MsSUFBSSxDQUNqQixDQUFDLG1CQUFtQixFQUFFVCxLQUFLVSxHQUFHLGtCQUFrQixFQUFFSCxlQUFlLDJDQUEyQyxDQUFDO0lBR2pILElBQUlmLFFBQVFDLEdBQUcsQ0FBQ2tCLFFBQVEsS0FBSyxRQUFRO1FBQ25DLElBQUlSLE1BQU1FLFFBQVFHLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMscUNBQXFDLEVBQUVULElBQUlZLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFFeEYsTUFBTUMsYUFBYVQsTUFBTVUsS0FBSyxDQUFDQyxPQUFTQSxLQUFLaEIsVUFBVSxLQUFLUTtRQUU1RCxJQUFJTSxZQUFZO1lBQ2QsSUFBSTtnQkFDRixNQUFNRyxRQUFRLE1BQU1yQixRQUFRLENBQUNrQixXQUFXSSxrQkFBa0IsQ0FBQyxFQUFFQyxTQUFTbEIsSUFBSVksUUFBUTtnQkFFbEYsSUFBSUksT0FBTztvQkFDVCxNQUFNckIsUUFBUSxDQUFDa0IsV0FBV0ksa0JBQWtCLENBQUMsRUFBRUUsSUFBSW5CLElBQUlZLFFBQVE7b0JBQy9ELElBQUlULE1BQ0ZFLFFBQVFHLE1BQU0sQ0FBQ0MsSUFBSSxDQUNqQixDQUFDLGlEQUFpRCxFQUFFVCxJQUFJWSxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUUxRSxPQUFPO29CQUNMLElBQUlULE1BQ0ZFLFFBQVFHLE1BQU0sQ0FBQ0MsSUFBSSxDQUNqQixDQUFDLDRCQUE0QixFQUFFVCxJQUFJWSxRQUFRLENBQUMsd0JBQXdCLENBQUM7Z0JBRTNFO1lBQ0YsRUFBRSxPQUFPUSxPQUFnQjtnQkFDdkIsTUFBTUMsTUFBTUQsaUJBQWlCRSxRQUFRRixNQUFNRyxPQUFPLEdBQUdIO2dCQUNyRCxNQUFNLElBQUlJLGdCQUFRLENBQUMsQ0FBQywyQ0FBMkMsRUFBRXhCLElBQUlZLFFBQVEsQ0FBQyxHQUFHLEVBQUVTLElBQUksQ0FBQztZQUMxRjtRQUNGO0lBQ0Y7QUFDRiJ9
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.deleteFromStripe = void 0;
43
+ var errors_1 = require("payload/errors");
44
+ var stripe_1 = __importDefault(require("stripe"));
45
+ var stripeSecretKey = process.env.STRIPE_SECRET_KEY;
46
+ var stripe = new stripe_1.default(stripeSecretKey || '', { apiVersion: '2022-08-01' });
47
+ var deleteFromStripe = function (args) { return __awaiter(void 0, void 0, void 0, function () {
48
+ var req, doc, stripeConfig, collection, _a, logs, sync, payload, collectionSlug, syncConfig, found, error_1, msg;
49
+ var _b, _c;
50
+ return __generator(this, function (_d) {
51
+ switch (_d.label) {
52
+ case 0:
53
+ req = args.req, doc = args.doc, stripeConfig = args.stripeConfig, collection = args.collection;
54
+ _a = stripeConfig || {}, logs = _a.logs, sync = _a.sync;
55
+ payload = req.payload;
56
+ collectionSlug = (collection || {}).slug;
57
+ if (logs)
58
+ payload.logger.info("Document with ID: '".concat(doc === null || doc === void 0 ? void 0 : doc.id, "' in collection: '").concat(collectionSlug, "' has been deleted, deleting from Stripe..."));
59
+ if (!(process.env.NODE_ENV !== 'test')) return [3 /*break*/, 7];
60
+ if (logs)
61
+ payload.logger.info("- Deleting Stripe document with ID: '".concat(doc.stripeID, "'..."));
62
+ syncConfig = sync === null || sync === void 0 ? void 0 : sync.find(function (conf) { return conf.collection === collectionSlug; });
63
+ if (!syncConfig) return [3 /*break*/, 7];
64
+ _d.label = 1;
65
+ case 1:
66
+ _d.trys.push([1, 6, , 7]);
67
+ return [4 /*yield*/, ((_b = stripe === null || stripe === void 0 ? void 0 : stripe[syncConfig.stripeResourceType]) === null || _b === void 0 ? void 0 : _b.retrieve(doc.stripeID))];
68
+ case 2:
69
+ found = _d.sent();
70
+ if (!found) return [3 /*break*/, 4];
71
+ return [4 /*yield*/, ((_c = stripe === null || stripe === void 0 ? void 0 : stripe[syncConfig.stripeResourceType]) === null || _c === void 0 ? void 0 : _c.del(doc.stripeID))];
72
+ case 3:
73
+ _d.sent();
74
+ if (logs)
75
+ payload.logger.info("\u2705 Successfully deleted Stripe document with ID: '".concat(doc.stripeID, "'."));
76
+ return [3 /*break*/, 5];
77
+ case 4:
78
+ if (logs)
79
+ payload.logger.info("- Stripe document with ID: '".concat(doc.stripeID, "' not found, skipping..."));
80
+ _d.label = 5;
81
+ case 5: return [3 /*break*/, 7];
82
+ case 6:
83
+ error_1 = _d.sent();
84
+ msg = error_1 instanceof Error ? error_1.message : error_1;
85
+ throw new errors_1.APIError("Failed to delete Stripe document with ID: '".concat(doc.stripeID, "': ").concat(msg));
86
+ case 7: return [2 /*return*/];
87
+ }
88
+ });
89
+ }); };
90
+ exports.deleteFromStripe = deleteFromStripe;
91
+ //# sourceMappingURL=deleteFromStripe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteFromStripe.js","sourceRoot":"","sources":["../../src/hooks/deleteFromStripe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAyC;AAEzC,kDAA2B;AAI3B,IAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;AACrD,IAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,eAAe,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAA;AASvE,IAAM,gBAAgB,GAAsC,UAAM,IAAI;;;;;;gBACnE,GAAG,GAAoC,IAAI,IAAxC,EAAE,GAAG,GAA+B,IAAI,IAAnC,EAAE,YAAY,GAAiB,IAAI,aAArB,EAAE,UAAU,GAAK,IAAI,WAAT,CAAS;gBAE7C,KAAiB,YAAY,IAAI,EAAE,EAAjC,IAAI,UAAA,EAAE,IAAI,UAAA,CAAuB;gBAEjC,OAAO,GAAK,GAAG,QAAR,CAAQ;gBACT,cAAc,GAAK,CAAA,UAAU,IAAI,EAAE,CAAA,KAArB,CAAqB;gBAEjD,IAAI,IAAI;oBACN,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,6BAAsB,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,EAAE,+BAAqB,cAAc,gDAA6C,CAC9G,CAAA;qBAEC,CAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAA,EAA/B,wBAA+B;gBACjC,IAAI,IAAI;oBAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,+CAAwC,GAAG,CAAC,QAAQ,SAAM,CAAC,CAAA;gBAEnF,UAAU,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,UAAU,KAAK,cAAc,EAAlC,CAAkC,CAAC,CAAA;qBAErE,UAAU,EAAV,wBAAU;;;;gBAEI,qBAAM,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,UAAU,CAAC,kBAAkB,CAAC,0CAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA,EAAA;;gBAA7E,KAAK,GAAG,SAAqE;qBAE/E,KAAK,EAAL,wBAAK;gBACP,qBAAM,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,UAAU,CAAC,kBAAkB,CAAC,0CAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA,EAAA;;gBAAhE,SAAgE,CAAA;gBAChE,IAAI,IAAI;oBACN,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,gEAAoD,GAAG,CAAC,QAAQ,OAAI,CACrE,CAAA;;;gBAEH,IAAI,IAAI;oBACN,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,sCAA+B,GAAG,CAAC,QAAQ,6BAA0B,CACtE,CAAA;;;;;gBAGC,GAAG,GAAG,OAAK,YAAY,KAAK,CAAC,CAAC,CAAC,OAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAK,CAAA;gBAC1D,MAAM,IAAI,iBAAQ,CAAC,qDAA8C,GAAG,CAAC,QAAQ,gBAAM,GAAG,CAAE,CAAC,CAAA;;;;KAIhG,CAAA;AAxCY,QAAA,gBAAgB,oBAwC5B"}
@@ -0,0 +1,7 @@
1
+ import type { CollectionBeforeChangeHook, CollectionConfig } from 'payload/types';
2
+ import type { StripeConfig } from '../types';
3
+ export type CollectionBeforeChangeHookWithArgs = (args: Parameters<CollectionBeforeChangeHook>[0] & {
4
+ collection?: CollectionConfig;
5
+ stripeConfig?: StripeConfig;
6
+ }) => void;
7
+ export declare const syncExistingWithStripe: CollectionBeforeChangeHookWithArgs;
@@ -1,61 +1,99 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "syncExistingWithStripe", {
6
- enumerable: true,
7
- get: function() {
8
- return syncExistingWithStripe;
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());
9
+ });
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;
32
+ }
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 };
9
36
  }
10
- });
11
- const _errors = require("payload/errors");
12
- const _stripe = /*#__PURE__*/ _interop_require_default(require("stripe"));
13
- const _deepen = require("../utilities/deepen");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- const stripeSecretKey = process.env.STRIPE_SECRET_KEY;
20
- const stripe = new _stripe.default(stripeSecretKey || '', {
21
- apiVersion: '2022-08-01'
22
- });
23
- const syncExistingWithStripe = async (args)=>{
24
- const { collection, data, operation, originalDoc, req, stripeConfig } = args;
25
- const { logs, sync } = stripeConfig || {};
26
- const { payload } = req;
27
- const { slug: collectionSlug } = collection || {};
28
- if (process.env.NODE_ENV !== 'test' && !data.skipSync) {
29
- const syncConfig = sync?.find((conf)=>conf.collection === collectionSlug);
30
- if (syncConfig) {
31
- if (operation === 'update') {
32
- // combine all fields of this object and match their respective values within the document
33
- let syncedFields = syncConfig.fields.reduce((acc, field)=>{
34
- const { fieldPath, stripeProperty } = field;
37
+ };
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.syncExistingWithStripe = void 0;
43
+ var errors_1 = require("payload/errors");
44
+ var stripe_1 = __importDefault(require("stripe"));
45
+ var deepen_1 = require("../utilities/deepen");
46
+ var stripeSecretKey = process.env.STRIPE_SECRET_KEY;
47
+ var stripe = new stripe_1.default(stripeSecretKey || '', { apiVersion: '2022-08-01' });
48
+ var syncExistingWithStripe = function (args) { return __awaiter(void 0, void 0, void 0, function () {
49
+ var req, operation, data, originalDoc, collection, stripeConfig, _a, logs, sync, payload, collectionSlug, syncConfig, syncedFields, stripeResource, error_1, msg;
50
+ var _b;
51
+ return __generator(this, function (_c) {
52
+ switch (_c.label) {
53
+ case 0:
54
+ req = args.req, operation = args.operation, data = args.data, originalDoc = args.originalDoc, collection = args.collection, stripeConfig = args.stripeConfig;
55
+ _a = stripeConfig || {}, logs = _a.logs, sync = _a.sync;
56
+ payload = req.payload;
57
+ collectionSlug = (collection || {}).slug;
58
+ if (!(process.env.NODE_ENV !== 'test' && !data.skipSync)) return [3 /*break*/, 5];
59
+ syncConfig = sync === null || sync === void 0 ? void 0 : sync.find(function (conf) { return conf.collection === collectionSlug; });
60
+ if (!syncConfig) return [3 /*break*/, 5];
61
+ if (!(operation === 'update')) return [3 /*break*/, 5];
62
+ syncedFields = syncConfig.fields.reduce(function (acc, field) {
63
+ var fieldPath = field.fieldPath, stripeProperty = field.stripeProperty;
35
64
  acc[stripeProperty] = data[fieldPath];
36
65
  return acc;
37
66
  }, {});
38
- syncedFields = (0, _deepen.deepen)(syncedFields);
39
- if (logs) payload.logger.info(`A '${collectionSlug}' document has changed in Payload with ID: '${originalDoc?._id}', syncing with Stripe...`);
40
- if (!data.stripeID) {
41
- // NOTE: the "beforeValidate" hook populates this
42
- if (logs) payload.logger.error(`- There is no Stripe ID for this document, skipping.`);
43
- } else {
44
- if (logs) payload.logger.info(`- Syncing to Stripe resource with ID: '${data.stripeID}'...`);
45
- try {
46
- const stripeResource = await stripe?.[syncConfig?.stripeResourceType]?.update(data.stripeID, syncedFields);
47
- if (logs) payload.logger.info(`✅ Successfully synced Stripe resource with ID: '${stripeResource.id}'.`);
48
- } catch (error) {
49
- const msg = error instanceof Error ? error.message : error;
50
- throw new _errors.APIError(`Failed to sync document with ID: '${data.id}' to Stripe: ${msg}`);
51
- }
52
- }
53
- }
67
+ syncedFields = (0, deepen_1.deepen)(syncedFields);
68
+ if (logs)
69
+ payload.logger.info("A '".concat(collectionSlug, "' document has changed in Payload with ID: '").concat(originalDoc === null || originalDoc === void 0 ? void 0 : originalDoc._id, "', syncing with Stripe..."));
70
+ if (!!data.stripeID) return [3 /*break*/, 1];
71
+ // NOTE: the "beforeValidate" hook populates this
72
+ if (logs)
73
+ payload.logger.error("- There is no Stripe ID for this document, skipping.");
74
+ return [3 /*break*/, 5];
75
+ case 1:
76
+ if (logs)
77
+ payload.logger.info("- Syncing to Stripe resource with ID: '".concat(data.stripeID, "'..."));
78
+ _c.label = 2;
79
+ case 2:
80
+ _c.trys.push([2, 4, , 5]);
81
+ return [4 /*yield*/, ((_b = stripe === null || stripe === void 0 ? void 0 : stripe[syncConfig === null || syncConfig === void 0 ? void 0 : syncConfig.stripeResourceType]) === null || _b === void 0 ? void 0 : _b.update(data.stripeID, syncedFields))];
82
+ case 3:
83
+ stripeResource = _c.sent();
84
+ if (logs)
85
+ payload.logger.info("\u2705 Successfully synced Stripe resource with ID: '".concat(stripeResource.id, "'."));
86
+ return [3 /*break*/, 5];
87
+ case 4:
88
+ error_1 = _c.sent();
89
+ msg = error_1 instanceof Error ? error_1.message : error_1;
90
+ throw new errors_1.APIError("Failed to sync document with ID: '".concat(data.id, "' to Stripe: ").concat(msg));
91
+ case 5:
92
+ // Set back to 'false' so that all changes continue to sync to Stripe, see note in './createNewInStripe.ts'
93
+ data.skipSync = false;
94
+ return [2 /*return*/, data];
54
95
  }
55
- }
56
- // Set back to 'false' so that all changes continue to sync to Stripe, see note in './createNewInStripe.ts'
57
- data.skipSync = false;
58
- return data;
59
- };
60
-
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9zeW5jRXhpc3RpbmdXaXRoU3RyaXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkJlZm9yZUNoYW5nZUhvb2ssIENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBBUElFcnJvciB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IFN0cmlwZSBmcm9tICdzdHJpcGUnXG5cbmltcG9ydCB0eXBlIHsgU3RyaXBlQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IGRlZXBlbiB9IGZyb20gJy4uL3V0aWxpdGllcy9kZWVwZW4nXG5cbmNvbnN0IHN0cmlwZVNlY3JldEtleSA9IHByb2Nlc3MuZW52LlNUUklQRV9TRUNSRVRfS0VZXG5jb25zdCBzdHJpcGUgPSBuZXcgU3RyaXBlKHN0cmlwZVNlY3JldEtleSB8fCAnJywgeyBhcGlWZXJzaW9uOiAnMjAyMi0wOC0wMScgfSlcblxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkJlZm9yZUNoYW5nZUhvb2tXaXRoQXJncyA9IChcbiAgYXJnczogUGFyYW1ldGVyczxDb2xsZWN0aW9uQmVmb3JlQ2hhbmdlSG9vaz5bMF0gJiB7XG4gICAgY29sbGVjdGlvbj86IENvbGxlY3Rpb25Db25maWdcbiAgICBzdHJpcGVDb25maWc/OiBTdHJpcGVDb25maWdcbiAgfSxcbikgPT4gdm9pZFxuXG5leHBvcnQgY29uc3Qgc3luY0V4aXN0aW5nV2l0aFN0cmlwZTogQ29sbGVjdGlvbkJlZm9yZUNoYW5nZUhvb2tXaXRoQXJncyA9IGFzeW5jIChhcmdzKSA9PiB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiwgZGF0YSwgb3BlcmF0aW9uLCBvcmlnaW5hbERvYywgcmVxLCBzdHJpcGVDb25maWcgfSA9IGFyZ3NcblxuICBjb25zdCB7IGxvZ3MsIHN5bmMgfSA9IHN0cmlwZUNvbmZpZyB8fCB7fVxuXG4gIGNvbnN0IHsgcGF5bG9hZCB9ID0gcmVxXG5cbiAgY29uc3QgeyBzbHVnOiBjb2xsZWN0aW9uU2x1ZyB9ID0gY29sbGVjdGlvbiB8fCB7fVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Rlc3QnICYmICFkYXRhLnNraXBTeW5jKSB7XG4gICAgY29uc3Qgc3luY0NvbmZpZyA9IHN5bmM/LmZpbmQoKGNvbmYpID0+IGNvbmYuY29sbGVjdGlvbiA9PT0gY29sbGVjdGlvblNsdWcpXG5cbiAgICBpZiAoc3luY0NvbmZpZykge1xuICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgICAgLy8gY29tYmluZSBhbGwgZmllbGRzIG9mIHRoaXMgb2JqZWN0IGFuZCBtYXRjaCB0aGVpciByZXNwZWN0aXZlIHZhbHVlcyB3aXRoaW4gdGhlIGRvY3VtZW50XG4gICAgICAgIGxldCBzeW5jZWRGaWVsZHMgPSBzeW5jQ29uZmlnLmZpZWxkcy5yZWR1Y2UoXG4gICAgICAgICAgKGFjYywgZmllbGQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgZmllbGRQYXRoLCBzdHJpcGVQcm9wZXJ0eSB9ID0gZmllbGRcblxuICAgICAgICAgICAgYWNjW3N0cmlwZVByb3BlcnR5XSA9IGRhdGFbZmllbGRQYXRoXVxuICAgICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICAgIH0sXG4gICAgICAgICAge30gYXMgUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgICAgKVxuXG4gICAgICAgIHN5bmNlZEZpZWxkcyA9IGRlZXBlbihzeW5jZWRGaWVsZHMpXG5cbiAgICAgICAgaWYgKGxvZ3MpXG4gICAgICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyhcbiAgICAgICAgICAgIGBBICcke2NvbGxlY3Rpb25TbHVnfScgZG9jdW1lbnQgaGFzIGNoYW5nZWQgaW4gUGF5bG9hZCB3aXRoIElEOiAnJHtvcmlnaW5hbERvYz8uX2lkfScsIHN5bmNpbmcgd2l0aCBTdHJpcGUuLi5gLFxuICAgICAgICAgIClcblxuICAgICAgICBpZiAoIWRhdGEuc3RyaXBlSUQpIHtcbiAgICAgICAgICAvLyBOT1RFOiB0aGUgXCJiZWZvcmVWYWxpZGF0ZVwiIGhvb2sgcG9wdWxhdGVzIHRoaXNcbiAgICAgICAgICBpZiAobG9ncykgcGF5bG9hZC5sb2dnZXIuZXJyb3IoYC0gVGhlcmUgaXMgbm8gU3RyaXBlIElEIGZvciB0aGlzIGRvY3VtZW50LCBza2lwcGluZy5gKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChsb2dzKVxuICAgICAgICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyhgLSBTeW5jaW5nIHRvIFN0cmlwZSByZXNvdXJjZSB3aXRoIElEOiAnJHtkYXRhLnN0cmlwZUlEfScuLi5gKVxuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHN0cmlwZVJlc291cmNlID0gYXdhaXQgc3RyaXBlPy5bc3luY0NvbmZpZz8uc3RyaXBlUmVzb3VyY2VUeXBlXT8udXBkYXRlKFxuICAgICAgICAgICAgICBkYXRhLnN0cmlwZUlELFxuICAgICAgICAgICAgICBzeW5jZWRGaWVsZHMsXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGlmIChsb2dzKVxuICAgICAgICAgICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgICAgIGDinIUgU3VjY2Vzc2Z1bGx5IHN5bmNlZCBTdHJpcGUgcmVzb3VyY2Ugd2l0aCBJRDogJyR7c3RyaXBlUmVzb3VyY2UuaWR9Jy5gLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogZXJyb3JcbiAgICAgICAgICAgIHRocm93IG5ldyBBUElFcnJvcihgRmFpbGVkIHRvIHN5bmMgZG9jdW1lbnQgd2l0aCBJRDogJyR7ZGF0YS5pZH0nIHRvIFN0cmlwZTogJHttc2d9YClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTZXQgYmFjayB0byAnZmFsc2UnIHNvIHRoYXQgYWxsIGNoYW5nZXMgY29udGludWUgdG8gc3luYyB0byBTdHJpcGUsIHNlZSBub3RlIGluICcuL2NyZWF0ZU5ld0luU3RyaXBlLnRzJ1xuICBkYXRhLnNraXBTeW5jID0gZmFsc2VcblxuICByZXR1cm4gZGF0YVxufVxuIl0sIm5hbWVzIjpbInN5bmNFeGlzdGluZ1dpdGhTdHJpcGUiLCJzdHJpcGVTZWNyZXRLZXkiLCJwcm9jZXNzIiwiZW52IiwiU1RSSVBFX1NFQ1JFVF9LRVkiLCJzdHJpcGUiLCJTdHJpcGUiLCJhcGlWZXJzaW9uIiwiYXJncyIsImNvbGxlY3Rpb24iLCJkYXRhIiwib3BlcmF0aW9uIiwib3JpZ2luYWxEb2MiLCJyZXEiLCJzdHJpcGVDb25maWciLCJsb2dzIiwic3luYyIsInBheWxvYWQiLCJzbHVnIiwiY29sbGVjdGlvblNsdWciLCJOT0RFX0VOViIsInNraXBTeW5jIiwic3luY0NvbmZpZyIsImZpbmQiLCJjb25mIiwic3luY2VkRmllbGRzIiwiZmllbGRzIiwicmVkdWNlIiwiYWNjIiwiZmllbGQiLCJmaWVsZFBhdGgiLCJzdHJpcGVQcm9wZXJ0eSIsImRlZXBlbiIsImxvZ2dlciIsImluZm8iLCJfaWQiLCJzdHJpcGVJRCIsImVycm9yIiwic3RyaXBlUmVzb3VyY2UiLCJzdHJpcGVSZXNvdXJjZVR5cGUiLCJ1cGRhdGUiLCJpZCIsIm1zZyIsIkVycm9yIiwibWVzc2FnZSIsIkFQSUVycm9yIl0sIm1hcHBpbmdzIjoiOzs7OytCQW1CYUE7OztlQUFBQTs7O3dCQWpCWTsrREFDTjt3QkFJSTs7Ozs7O0FBRXZCLE1BQU1DLGtCQUFrQkMsUUFBUUMsR0FBRyxDQUFDQyxpQkFBaUI7QUFDckQsTUFBTUMsU0FBUyxJQUFJQyxlQUFNLENBQUNMLG1CQUFtQixJQUFJO0lBQUVNLFlBQVk7QUFBYTtBQVNyRSxNQUFNUCx5QkFBNkQsT0FBT1E7SUFDL0UsTUFBTSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsU0FBUyxFQUFFQyxXQUFXLEVBQUVDLEdBQUcsRUFBRUMsWUFBWSxFQUFFLEdBQUdOO0lBRXhFLE1BQU0sRUFBRU8sSUFBSSxFQUFFQyxJQUFJLEVBQUUsR0FBR0YsZ0JBQWdCLENBQUM7SUFFeEMsTUFBTSxFQUFFRyxPQUFPLEVBQUUsR0FBR0o7SUFFcEIsTUFBTSxFQUFFSyxNQUFNQyxjQUFjLEVBQUUsR0FBR1YsY0FBYyxDQUFDO0lBRWhELElBQUlQLFFBQVFDLEdBQUcsQ0FBQ2lCLFFBQVEsS0FBSyxVQUFVLENBQUNWLEtBQUtXLFFBQVEsRUFBRTtRQUNyRCxNQUFNQyxhQUFhTixNQUFNTyxLQUFLLENBQUNDLE9BQVNBLEtBQUtmLFVBQVUsS0FBS1U7UUFFNUQsSUFBSUcsWUFBWTtZQUNkLElBQUlYLGNBQWMsVUFBVTtnQkFDMUIsMEZBQTBGO2dCQUMxRixJQUFJYyxlQUFlSCxXQUFXSSxNQUFNLENBQUNDLE1BQU0sQ0FDekMsQ0FBQ0MsS0FBS0M7b0JBQ0osTUFBTSxFQUFFQyxTQUFTLEVBQUVDLGNBQWMsRUFBRSxHQUFHRjtvQkFFdENELEdBQUcsQ0FBQ0csZUFBZSxHQUFHckIsSUFBSSxDQUFDb0IsVUFBVTtvQkFDckMsT0FBT0Y7Z0JBQ1QsR0FDQSxDQUFDO2dCQUdISCxlQUFlTyxJQUFBQSxjQUFNLEVBQUNQO2dCQUV0QixJQUFJVixNQUNGRSxRQUFRZ0IsTUFBTSxDQUFDQyxJQUFJLENBQ2pCLENBQUMsR0FBRyxFQUFFZixlQUFlLDRDQUE0QyxFQUFFUCxhQUFhdUIsSUFBSSx5QkFBeUIsQ0FBQztnQkFHbEgsSUFBSSxDQUFDekIsS0FBSzBCLFFBQVEsRUFBRTtvQkFDbEIsaURBQWlEO29CQUNqRCxJQUFJckIsTUFBTUUsUUFBUWdCLE1BQU0sQ0FBQ0ksS0FBSyxDQUFDLENBQUMsb0RBQW9ELENBQUM7Z0JBQ3ZGLE9BQU87b0JBQ0wsSUFBSXRCLE1BQ0ZFLFFBQVFnQixNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLHVDQUF1QyxFQUFFeEIsS0FBSzBCLFFBQVEsQ0FBQyxJQUFJLENBQUM7b0JBRW5GLElBQUk7d0JBQ0YsTUFBTUUsaUJBQWlCLE1BQU1qQyxRQUFRLENBQUNpQixZQUFZaUIsbUJBQW1CLEVBQUVDLE9BQ3JFOUIsS0FBSzBCLFFBQVEsRUFDYlg7d0JBR0YsSUFBSVYsTUFDRkUsUUFBUWdCLE1BQU0sQ0FBQ0MsSUFBSSxDQUNqQixDQUFDLGdEQUFnRCxFQUFFSSxlQUFlRyxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUU5RSxFQUFFLE9BQU9KLE9BQWdCO3dCQUN2QixNQUFNSyxNQUFNTCxpQkFBaUJNLFFBQVFOLE1BQU1PLE9BQU8sR0FBR1A7d0JBQ3JELE1BQU0sSUFBSVEsZ0JBQVEsQ0FBQyxDQUFDLGtDQUFrQyxFQUFFbkMsS0FBSytCLEVBQUUsQ0FBQyxhQUFhLEVBQUVDLElBQUksQ0FBQztvQkFDdEY7Z0JBQ0Y7WUFDRjtRQUNGO0lBQ0Y7SUFFQSwyR0FBMkc7SUFDM0doQyxLQUFLVyxRQUFRLEdBQUc7SUFFaEIsT0FBT1g7QUFDVCJ9
96
+ });
97
+ }); };
98
+ exports.syncExistingWithStripe = syncExistingWithStripe;
99
+ //# sourceMappingURL=syncExistingWithStripe.js.map