@payloadcms/plugin-stripe 0.0.7 → 0.0.9
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.
- package/README.md +4 -4
- package/dist/hooks/createNewInStripe.js +9 -6
- package/dist/hooks/createNewInStripe.js.map +1 -1
- package/dist/hooks/syncExistingWithStripe.d.ts +3 -3
- package/dist/hooks/syncExistingWithStripe.js +17 -15
- package/dist/hooks/syncExistingWithStripe.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/utilities/deepen.d.ts +1 -0
- package/dist/utilities/deepen.js +28 -0
- package/dist/utilities/deepen.js.map +1 -0
- package/dist/utilities/stripeProxy.js +1 -1
- package/dist/utilities/stripeProxy.js.map +1 -1
- package/dist/webhooks/handleCreatedOrUpdated.js +5 -4
- package/dist/webhooks/handleCreatedOrUpdated.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -85,8 +85,8 @@ const config = buildConfig({
|
|
|
85
85
|
stripeResourceTypeSingular: 'customer',
|
|
86
86
|
fields: [
|
|
87
87
|
{
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
fieldPath: 'name', // this is a field on your own Payload config
|
|
89
|
+
stripeProperty: 'name' // use dot notation, if applicable
|
|
90
90
|
}
|
|
91
91
|
]
|
|
92
92
|
}
|
|
@@ -105,7 +105,7 @@ Using `sync` will do the following:
|
|
|
105
105
|
- Adds and maintains an `skipSync` read-only flag on each collection to prevent infinite syncs when hooks trigger webhooks
|
|
106
106
|
- Adds the following hooks to each collection:
|
|
107
107
|
- `beforeValidate`: `createNewInStripe`
|
|
108
|
-
- `
|
|
108
|
+
- `beforeChange`: `syncExistingWithStripe`
|
|
109
109
|
- `afterDelete`: `deleteFromStripe`
|
|
110
110
|
- Handles the following Stripe webhooks
|
|
111
111
|
- `STRIPE_TYPE.created`: `handleCreatedOrUpdated`
|
|
@@ -127,7 +127,7 @@ The following custom endpoints are automatically opened for you:
|
|
|
127
127
|
method: 'POST',
|
|
128
128
|
credentials: 'include',
|
|
129
129
|
headers: {
|
|
130
|
-
|
|
130
|
+
'Content-Type': 'application/json',
|
|
131
131
|
// Authorization: `JWT ${token}` // NOTE: do this if not in a browser (i.e. curl or Postman)
|
|
132
132
|
},
|
|
133
133
|
body: JSON.stringify({
|
|
@@ -42,6 +42,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
42
42
|
exports.createNewInStripe = void 0;
|
|
43
43
|
var stripe_1 = __importDefault(require("stripe"));
|
|
44
44
|
var errors_1 = require("payload/errors");
|
|
45
|
+
var deepen_1 = require("../utilities/deepen");
|
|
45
46
|
var stripeSecretKey = process.env.STRIPE_SECRET_KEY;
|
|
46
47
|
var stripe = new stripe_1.default(stripeSecretKey || '', { apiVersion: '2022-08-01' });
|
|
47
48
|
var createNewInStripe = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -59,22 +60,24 @@ var createNewInStripe = function (args) { return __awaiter(void 0, void 0, void
|
|
|
59
60
|
return [2 /*return*/, dataRef];
|
|
60
61
|
}
|
|
61
62
|
if (!payload) return [3 /*break*/, 9];
|
|
62
|
-
if (!
|
|
63
|
+
if (!(data === null || data === void 0 ? void 0 : data.skipSync)) return [3 /*break*/, 1];
|
|
63
64
|
if (logs)
|
|
64
65
|
payload.logger.info("Bypassing collection-level hooks.");
|
|
65
66
|
return [3 /*break*/, 9];
|
|
66
67
|
case 1:
|
|
67
|
-
//
|
|
68
|
-
// conditionally set to true to
|
|
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
|
|
69
71
|
dataRef.skipSync = false;
|
|
70
72
|
collectionSlug_1 = (collection || {}).slug;
|
|
71
73
|
syncConfig = sync === null || sync === void 0 ? void 0 : sync.find(function (syncConfig) { return syncConfig.collection === collectionSlug_1; });
|
|
72
74
|
if (!syncConfig) return [3 /*break*/, 9];
|
|
73
75
|
syncedFields = syncConfig.fields.reduce(function (acc, field) {
|
|
74
|
-
var
|
|
75
|
-
acc[
|
|
76
|
+
var fieldPath = field.fieldPath, stripeProperty = field.stripeProperty;
|
|
77
|
+
acc[stripeProperty] = dataRef[fieldPath];
|
|
76
78
|
return acc;
|
|
77
79
|
}, {});
|
|
80
|
+
syncedFields = (0, deepen_1.deepen)(syncedFields);
|
|
78
81
|
if (!(operation === 'update')) return [3 /*break*/, 5];
|
|
79
82
|
if (logs)
|
|
80
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..."));
|
|
@@ -111,7 +114,7 @@ var createNewInStripe = function (args) { return __awaiter(void 0, void 0, void
|
|
|
111
114
|
if (logs)
|
|
112
115
|
payload.logger.info("\u2705 Successfully created new '".concat(syncConfig.stripeResourceType, "' resource in Stripe with ID: '").concat(stripeResource.id, "'."));
|
|
113
116
|
dataRef.stripeID = stripeResource.id;
|
|
114
|
-
//
|
|
117
|
+
// IMPORTANT: this is to prevent sync in the "afterChange" hook
|
|
115
118
|
dataRef.skipSync = true;
|
|
116
119
|
return [3 /*break*/, 9];
|
|
117
120
|
case 8:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNewInStripe.js","sourceRoot":"","sources":["../../src/hooks/createNewInStripe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA4B;AAG5B,yCAA0C;
|
|
1
|
+
{"version":3,"file":"createNewInStripe.js","sourceRoot":"","sources":["../../src/hooks/createNewInStripe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CollectionBeforeChangeHook, CollectionConfig } from 'payload/types';
|
|
2
2
|
import { StripeConfig } from '../types';
|
|
3
|
-
export declare type
|
|
3
|
+
export declare type CollectionBeforeChangeHookWithArgs = (args: Parameters<CollectionBeforeChangeHook>[0] & {
|
|
4
4
|
collection?: CollectionConfig;
|
|
5
5
|
stripeConfig?: StripeConfig;
|
|
6
6
|
}) => void;
|
|
7
|
-
export declare const syncExistingWithStripe:
|
|
7
|
+
export declare const syncExistingWithStripe: CollectionBeforeChangeHookWithArgs;
|
|
@@ -42,53 +42,55 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
42
42
|
exports.syncExistingWithStripe = void 0;
|
|
43
43
|
var stripe_1 = __importDefault(require("stripe"));
|
|
44
44
|
var errors_1 = require("payload/errors");
|
|
45
|
+
var deepen_1 = require("../utilities/deepen");
|
|
45
46
|
var stripeSecretKey = process.env.STRIPE_SECRET_KEY;
|
|
46
47
|
var stripe = new stripe_1.default(stripeSecretKey || '', { apiVersion: '2022-08-01' });
|
|
47
48
|
var syncExistingWithStripe = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
48
|
-
var req, operation,
|
|
49
|
+
var req, operation, data, originalDoc, collection, stripeConfig, _a, logs, sync, payload, collectionSlug, syncConfig, syncedFields, stripeResource, error_1;
|
|
49
50
|
var _b;
|
|
50
51
|
return __generator(this, function (_c) {
|
|
51
52
|
switch (_c.label) {
|
|
52
53
|
case 0:
|
|
53
|
-
req = args.req, operation = args.operation,
|
|
54
|
+
req = args.req, operation = args.operation, data = args.data, originalDoc = args.originalDoc, collection = args.collection, stripeConfig = args.stripeConfig;
|
|
54
55
|
_a = stripeConfig || {}, logs = _a.logs, sync = _a.sync;
|
|
55
56
|
payload = req.payload;
|
|
56
57
|
collectionSlug = (collection || {}).slug;
|
|
57
|
-
if (!(process.env.NODE_ENV !== 'test' && !
|
|
58
|
+
if (!(process.env.NODE_ENV !== 'test' && !data.skipSync)) return [3 /*break*/, 5];
|
|
58
59
|
syncConfig = sync === null || sync === void 0 ? void 0 : sync.find(function (syncConfig) { return syncConfig.collection === collectionSlug; });
|
|
59
60
|
if (!syncConfig) return [3 /*break*/, 5];
|
|
61
|
+
if (!(operation === 'update')) return [3 /*break*/, 5];
|
|
60
62
|
syncedFields = syncConfig.fields.reduce(function (acc, field) {
|
|
61
|
-
var
|
|
62
|
-
acc[
|
|
63
|
+
var fieldPath = field.fieldPath, stripeProperty = field.stripeProperty;
|
|
64
|
+
acc[stripeProperty] = data[fieldPath];
|
|
63
65
|
return acc;
|
|
64
66
|
}, {});
|
|
65
|
-
|
|
67
|
+
syncedFields = (0, deepen_1.deepen)(syncedFields);
|
|
66
68
|
if (logs)
|
|
67
|
-
payload.logger.info("A '".concat(collectionSlug, "' document has changed in Payload with ID: '").concat(
|
|
68
|
-
if (!!
|
|
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];
|
|
69
71
|
// NOTE: the "beforeValidate" hook populates this
|
|
70
72
|
if (logs)
|
|
71
73
|
payload.logger.error("- There is no Stripe ID for this document, skipping.");
|
|
72
74
|
return [3 /*break*/, 5];
|
|
73
75
|
case 1:
|
|
74
76
|
if (logs)
|
|
75
|
-
payload.logger.info("- Syncing to Stripe ID: '".concat(
|
|
77
|
+
payload.logger.info("- Syncing to Stripe resource with ID: '".concat(data.stripeID, "'..."));
|
|
76
78
|
_c.label = 2;
|
|
77
79
|
case 2:
|
|
78
80
|
_c.trys.push([2, 4, , 5]);
|
|
79
|
-
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(
|
|
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))];
|
|
80
82
|
case 3:
|
|
81
83
|
stripeResource = _c.sent();
|
|
82
84
|
if (logs)
|
|
83
|
-
payload.logger.info("\u2705 Successfully synced Stripe
|
|
85
|
+
payload.logger.info("\u2705 Successfully synced Stripe resource with ID: '".concat(stripeResource.id, "'."));
|
|
84
86
|
return [3 /*break*/, 5];
|
|
85
87
|
case 4:
|
|
86
88
|
error_1 = _c.sent();
|
|
87
|
-
throw new errors_1.APIError("Failed to sync document with ID: '".concat(
|
|
89
|
+
throw new errors_1.APIError("Failed to sync document with ID: '".concat(data.id, "' to Stripe: ").concat((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || ''));
|
|
88
90
|
case 5:
|
|
89
|
-
// Set back to false so that all changes continue to sync to Stripe, see note in './createNewInStripe.ts'
|
|
90
|
-
|
|
91
|
-
return [2 /*return*/,
|
|
91
|
+
// Set back to 'false' so that all changes continue to sync to Stripe, see note in './createNewInStripe.ts'
|
|
92
|
+
data.skipSync = false;
|
|
93
|
+
return [2 /*return*/, data];
|
|
92
94
|
}
|
|
93
95
|
});
|
|
94
96
|
}); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncExistingWithStripe.js","sourceRoot":"","sources":["../../src/hooks/syncExistingWithStripe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA4B;AAE5B,yCAA0C;
|
|
1
|
+
{"version":3,"file":"syncExistingWithStripe.js","sourceRoot":"","sources":["../../src/hooks/syncExistingWithStripe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA4B;AAE5B,yCAA0C;AAC1C,8CAA6C;AAE7C,IAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACtD,IAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,eAAe,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAOxE,IAAM,sBAAsB,GAAuC,UAAO,IAAI;;;;;;gBAEjF,GAAG,GAMD,IAAI,IANH,EACH,SAAS,GAKP,IAAI,UALG,EACT,IAAI,GAIF,IAAI,KAJF,EACJ,WAAW,GAGT,IAAI,YAHK,EACX,UAAU,GAER,IAAI,WAFI,EACV,YAAY,GACV,IAAI,aADM,CACL;gBAEH,KAGF,YAAY,IAAI,EAAE,EAFpB,IAAI,UAAA,EACJ,IAAI,UAAA,CACiB;gBAEf,OAAO,GAAK,GAAG,QAAR,CAAS;gBAEV,cAAc,GAAK,CAAA,UAAU,IAAI,EAAE,CAAA,KAArB,CAAsB;qBAE9C,CAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA,EAAjD,wBAAiD;gBAC7C,UAAU,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC,UAAC,UAAU,IAAK,OAAA,UAAU,CAAC,UAAU,KAAK,cAAc,EAAxC,CAAwC,CAAC,CAAC;qBAEpF,UAAU,EAAV,wBAAU;qBACR,CAAA,SAAS,KAAK,QAAQ,CAAA,EAAtB,wBAAsB;gBAEpB,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,KAAK;oBAEnD,IAAA,SAAS,GAEP,KAAK,UAFE,EACT,cAAc,GACZ,KAAK,eADO,CACN;oBAEV,GAAG,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtC,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,EAAyB,CAAC,CAAC;gBAE9B,YAAY,GAAG,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC;gBAEpC,IAAI,IAAI;oBAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAM,cAAc,yDAA+C,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,8BAA2B,CAAC,CAAC;qBAE1I,CAAC,IAAI,CAAC,QAAQ,EAAd,wBAAc;gBAChB,iDAAiD;gBACjD,IAAI,IAAI;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;;;gBAEvF,IAAI,IAAI;oBAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,iDAA0C,IAAI,CAAC,QAAQ,SAAM,CAAC,CAAC;;;;gBAGpE,qBAAM,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,kBAAkB,CAAC,0CAAE,MAAM,CAC3E,IAAI,CAAC,QAAQ,EACb,YAAY,CACb,CAAA,EAAA;;gBAHK,cAAc,GAAG,SAGtB;gBAED,IAAI,IAAI;oBAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,+DAAmD,cAAc,CAAC,EAAE,OAAI,CAAC,CAAC;;;;gBAExG,MAAM,IAAI,iBAAQ,CAAC,4CAAqC,IAAI,CAAC,EAAE,0BAAgB,CAAA,OAAK,aAAL,OAAK,uBAAL,OAAK,CAAE,OAAO,KAAI,EAAE,CAAE,CAAC,CAAC;;gBAOjH,2GAA2G;gBAC3G,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAEtB,sBAAO,IAAI,EAAC;;;KACb,CAAA;AAhEY,QAAA,sBAAsB,0BAgElC"}
|
package/dist/index.js
CHANGED
|
@@ -114,7 +114,7 @@ var stripePlugin = function (incomingStripeConfig) { return function (config) {
|
|
|
114
114
|
return [2 /*return*/, (0, createNewInStripe_1.createNewInStripe)(__assign(__assign({}, args), { collection: collection, stripeConfig: stripeConfig }))];
|
|
115
115
|
});
|
|
116
116
|
}); }
|
|
117
|
-
], false),
|
|
117
|
+
], false), beforeChange: __spreadArray(__spreadArray([], ((existingHooks === null || existingHooks === void 0 ? void 0 : existingHooks.beforeChange) || []), true), [
|
|
118
118
|
function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
119
119
|
return __generator(this, function (_a) {
|
|
120
120
|
return [2 /*return*/, (0, syncExistingWithStripe_1.syncExistingWithStripe)(__assign(__assign({}, args), { collection: collection, stripeConfig: stripeConfig }))];
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,sCAA2C;AAC3C,8CAAmD;AACnD,oDAA8B;AAE9B,6DAA4D;AAC5D,+DAA8D;AAC9D,yEAAwE;AACxE,6DAA4D;AAC5D,2BAAiC;AAEjC,IAAM,YAAY,GAAG,UAAC,oBAAkC,IAAK,OAAA,UAAC,MAAc;;IAClE,IAAA,WAAW,GAAK,MAAM,YAAX,CAAY;IAE/B,2BAA2B;IAC3B,IAAM,YAAY,yBACb,oBAAoB,KACvB,IAAI,EAAE,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,KAAI,EAAE,GACvC,CAAA;IAED,IAAM,SAAS,GAAG,MAAA,YAAY,CAAC,eAAe,0CAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAEvE,OAAO,uBACF,MAAM,KACT,KAAK,wBACA,MAAM,CAAC,KAAK,KACf,OAAO,EAAE,IAAA,yCAAmB,EAAC,MAAM,CAAC,KAEtC,SAAS,kCACJ,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,EAAE;YAC1B;gBACE,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE;oBACP,iBAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;oBACzC,UAAC,GAAG,EAAE,GAAG,EAAE,IAAI;wBACb,IAAA,yBAAc,EAAC;4BACb,GAAG,KAAA;4BACH,GAAG,KAAA;4BACH,IAAI,MAAA;4BACJ,MAAM,QAAA;4BACN,YAAY,cAAA;yBACb,CAAC,CAAA;oBACJ,CAAC;iBACF;aACF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,UAAC,GAAG,EAAE,GAAG,EAAE,IAAI;oBACtB,IAAA,iBAAU,EAAC;wBACT,GAAG,KAAA;wBACH,GAAG,KAAA;wBACH,IAAI,MAAA;wBACJ,YAAY,cAAA;qBACb,CAAC,CAAA;gBACJ,CAAC;aACF;mBAEH,WAAW,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,UAAC,UAAU;;YAErC,IAAO,aAAa,GAClB,UAAU,MADQ,CACP;YAEf,IAAM,UAAU,GAAG,MAAA,YAAY,CAAC,IAAI,0CAAE,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,EAAnC,CAAmC,CAAC,CAAC;YAE1F,IAAI,UAAU,EAAE;gBACd,6BACK,UAAU,KACb,KAAK,wBACA,UAAU,CAAC,KAAK,KACnB,cAAc,kCACT,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,cAAc,KAAI,EAAE,CAAC;4BACxC,UAAO,IAAI;;oCAAK,sBAAA,IAAA,qCAAiB,wBAC5B,IAAI,KACP,UAAU,YAAA,EACV,YAAY,cAAA,IACZ,EAAA;;iCAAA;mCAEJ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -12,8 +12,8 @@ export declare type StripeWebhookHandlers = {
|
|
|
12
12
|
[webhookName: string]: StripeWebhookHandler;
|
|
13
13
|
};
|
|
14
14
|
export declare type FieldSyncConfig = {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
fieldPath: string;
|
|
16
|
+
stripeProperty: string;
|
|
17
17
|
};
|
|
18
18
|
export declare type SyncConfig = {
|
|
19
19
|
collection: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const deepen: (obj: Record<string, any>) => Record<string, any>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// converts an object of dot notation keys to a nested object
|
|
3
|
+
// 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 (key, index) {
|
|
13
|
+
if (index === keys.length - 1) {
|
|
14
|
+
current[key] = value;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
current[key] = current[key] || {};
|
|
18
|
+
current = current[key];
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
for (var key in obj) {
|
|
23
|
+
_loop_1(key);
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
exports.deepen = deepen;
|
|
28
|
+
//# sourceMappingURL=deepen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepen.js","sourceRoot":"","sources":["../../src/utilities/deepen.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,+EAA+E;;;AAExE,IAAM,MAAM,GAAG,UAAC,GAAwB;IAC7C,IAAM,MAAM,GAAwB,EAAE,CAAC;4BAE5B,GAAG;QACZ,IAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAO,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,KAAK;YACtB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACtB;iBAAM;gBACL,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAClC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;aACxB;QACH,CAAC,CAAC,CAAC;;IAXL,KAAK,IAAM,GAAG,IAAI,GAAG;gBAAV,GAAG;KAYb;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAjBW,QAAA,MAAM,UAiBjB"}
|
|
@@ -64,7 +64,7 @@ var stripeProxy = function (_a) {
|
|
|
64
64
|
_b.label = 1;
|
|
65
65
|
case 1:
|
|
66
66
|
_b.trys.push([1, 3, , 4]);
|
|
67
|
-
return [4 /*yield*/, foundMethod
|
|
67
|
+
return [4 /*yield*/, foundMethod(stripeArgs)];
|
|
68
68
|
case 2:
|
|
69
69
|
stripeResponse = _b.sent();
|
|
70
70
|
return [2 /*return*/, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripeProxy.js","sourceRoot":"","sources":["../../src/utilities/stripeProxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAmC;AACnC,kDAA4B;AAGrB,IAAM,WAAW,GAAgB,UAAO,EAI9C;QAHC,eAAe,qBAAA,EACf,YAAY,kBAAA,EACZ,UAAU,gBAAA;;;;;;oBAEJ,MAAM,GAAG,IAAI,gBAAM,CAAC,eAAe,EAAE;wBACzC,UAAU,EAAE,YAAY;wBACxB,OAAO,EAAE;4BACP,IAAI,EAAE,uBAAuB;4BAC7B,GAAG,EAAE,wBAAwB;yBAC9B;qBACF,CAAC,CAAC;yBAEC,CAAA,OAAO,YAAY,KAAK,QAAQ,CAAA,EAAhC,wBAAgC;oBAC5B,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAiB,CAAC;oBAC5D,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;oBAGvC,WAAW,GAAG,IAAA,oBAAS,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;yBAEpE,CAAA,OAAO,WAAW,KAAK,UAAU,CAAA,EAAjC,wBAAiC;;;;oBAEV,qBAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"stripeProxy.js","sourceRoot":"","sources":["../../src/utilities/stripeProxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAmC;AACnC,kDAA4B;AAGrB,IAAM,WAAW,GAAgB,UAAO,EAI9C;QAHC,eAAe,qBAAA,EACf,YAAY,kBAAA,EACZ,UAAU,gBAAA;;;;;;oBAEJ,MAAM,GAAG,IAAI,gBAAM,CAAC,eAAe,EAAE;wBACzC,UAAU,EAAE,YAAY;wBACxB,OAAO,EAAE;4BACP,IAAI,EAAE,uBAAuB;4BAC7B,GAAG,EAAE,wBAAwB;yBAC9B;qBACF,CAAC,CAAC;yBAEC,CAAA,OAAO,YAAY,KAAK,QAAQ,CAAA,EAAhC,wBAAgC;oBAC5B,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAiB,CAAC;oBAC5D,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;oBAGvC,WAAW,GAAG,IAAA,oBAAS,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;yBAEpE,CAAA,OAAO,WAAW,KAAK,UAAU,CAAA,EAAjC,wBAAiC;;;;oBAEV,qBAAM,WAAW,CAAC,UAAU,CAAC,EAAA;;oBAA9C,cAAc,GAAG,SAA6B;oBACpD,sBAAO;4BACL,MAAM,EAAE,GAAG;4BACX,IAAI,EAAE,cAAc;yBACrB,EAAC;;;oBAEF,sBAAO;4BACL,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,2CAAoC,OAAK,CAAE;yBACrD,EAAC;;wBAGJ,MAAM,KAAK,CAAC,yCAAkC,YAAY,uCAAoC,CAAC,CAAA;;wBAGjG,MAAM,KAAK,CAAC,2CAA2C,CAAC,CAAA;;;;;CAE3D,CAAA;AAvCY,QAAA,WAAW,eAuCvB"}
|
|
@@ -48,6 +48,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
48
48
|
};
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
50
|
exports.handleCreatedOrUpdated = void 0;
|
|
51
|
+
var deepen_1 = require("../utilities/deepen");
|
|
51
52
|
var handleCreatedOrUpdated = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
52
53
|
var payload, event, resourceType, stripeConfig, payloadConfig, syncConfig, logs, stripeDoc, stripeID, eventObject, isNestedChange, collectionSlug_1, isAuthCollection, payloadQuery, foundDoc, syncedData, authDoc, authQuery, err_1, error_1, error_2, error_3;
|
|
53
54
|
var _a, _b, _c;
|
|
@@ -66,7 +67,7 @@ var handleCreatedOrUpdated = function (args) { return __awaiter(void 0, void 0,
|
|
|
66
67
|
// }
|
|
67
68
|
if (isNestedChange) {
|
|
68
69
|
if (logs)
|
|
69
|
-
payload.logger.info("- This change occurred on a nested field of ".concat(resourceType, ". Nested fields are not yet supported."));
|
|
70
|
+
payload.logger.info("- This change occurred on a nested field of ".concat(resourceType, ". Nested fields are not yet supported in auto-sync but can be manually setup."));
|
|
70
71
|
}
|
|
71
72
|
if (!!isNestedChange) return [3 /*break*/, 20];
|
|
72
73
|
if (logs)
|
|
@@ -85,11 +86,11 @@ var handleCreatedOrUpdated = function (args) { return __awaiter(void 0, void 0,
|
|
|
85
86
|
payloadQuery = _d.sent();
|
|
86
87
|
foundDoc = payloadQuery.docs[0];
|
|
87
88
|
syncedData = syncConfig.fields.reduce(function (acc, field) {
|
|
88
|
-
var
|
|
89
|
-
acc[
|
|
89
|
+
var fieldPath = field.fieldPath, stripeProperty = field.stripeProperty;
|
|
90
|
+
acc[fieldPath] = stripeDoc[stripeProperty];
|
|
90
91
|
return acc;
|
|
91
92
|
}, {});
|
|
92
|
-
syncedData = __assign(__assign({}, syncedData), { stripeID: stripeID, skipSync: true });
|
|
93
|
+
syncedData = (0, deepen_1.deepen)(__assign(__assign({}, syncedData), { stripeID: stripeID, skipSync: true }));
|
|
93
94
|
if (!!foundDoc) return [3 /*break*/, 16];
|
|
94
95
|
if (logs)
|
|
95
96
|
payload.logger.info("- No existing '".concat(collectionSlug_1, "' document found with Stripe ID: '").concat(stripeID, "', creating new..."));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleCreatedOrUpdated.js","sourceRoot":"","sources":["../../src/webhooks/handleCreatedOrUpdated.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"handleCreatedOrUpdated.js","sourceRoot":"","sources":["../../src/webhooks/handleCreatedOrUpdated.ts"],"names":[],"mappings":"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"}
|