@payloadcms/plugin-stripe 0.0.3 → 0.0.5

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 (50) hide show
  1. package/README.md +117 -15
  2. package/dist/extendWebpackConfig.d.ts +3 -0
  3. package/dist/extendWebpackConfig.js +31 -0
  4. package/dist/extendWebpackConfig.js.map +1 -0
  5. package/dist/hooks/createNewInStripe.d.ts +7 -0
  6. package/dist/hooks/createNewInStripe.js +125 -0
  7. package/dist/hooks/createNewInStripe.js.map +1 -0
  8. package/dist/hooks/createNewStripeCustomer.d.ts +2 -0
  9. package/dist/hooks/createNewStripeCustomer.js +104 -0
  10. package/dist/hooks/createNewStripeCustomer.js.map +1 -0
  11. package/dist/hooks/deleteFromStripe.d.ts +7 -0
  12. package/dist/hooks/deleteFromStripe.js +81 -0
  13. package/dist/hooks/deleteFromStripe.js.map +1 -0
  14. package/dist/hooks/deleteStripeCustomer.d.ts +2 -0
  15. package/dist/hooks/deleteStripeCustomer.js +74 -0
  16. package/dist/hooks/deleteStripeCustomer.js.map +1 -0
  17. package/dist/hooks/syncExistingStripeCustomer.d.ts +2 -0
  18. package/dist/hooks/syncExistingStripeCustomer.js +80 -0
  19. package/dist/hooks/syncExistingStripeCustomer.js.map +1 -0
  20. package/dist/hooks/syncExistingWithStripe.d.ts +7 -0
  21. package/dist/hooks/syncExistingWithStripe.js +96 -0
  22. package/dist/hooks/syncExistingWithStripe.js.map +1 -0
  23. package/dist/index.d.ts +2 -3
  24. package/dist/index.js +131 -20
  25. package/dist/index.js.map +1 -1
  26. package/dist/mocks/serverModule.d.ts +2 -0
  27. package/dist/mocks/serverModule.js +6 -0
  28. package/dist/mocks/serverModule.js.map +1 -0
  29. package/dist/routes/rest.d.ts +6 -1
  30. package/dist/routes/rest.js +3 -2
  31. package/dist/routes/rest.js.map +1 -1
  32. package/dist/routes/webhooks.d.ts +8 -1
  33. package/dist/routes/webhooks.js +99 -22
  34. package/dist/routes/webhooks.js.map +1 -1
  35. package/dist/types.d.ts +29 -5
  36. package/dist/utilities/stripeProxy.js +7 -1
  37. package/dist/utilities/stripeProxy.js.map +1 -1
  38. package/dist/webhooks/handleCreatedOrUpdated.d.ts +7 -0
  39. package/dist/webhooks/handleCreatedOrUpdated.js +194 -0
  40. package/dist/webhooks/handleCreatedOrUpdated.js.map +1 -0
  41. package/dist/webhooks/handleDeleted.d.ts +7 -0
  42. package/dist/webhooks/handleDeleted.js +106 -0
  43. package/dist/webhooks/handleDeleted.js.map +1 -0
  44. package/dist/webhooks/handleWebhooks.d.ts +2 -0
  45. package/dist/webhooks/handleWebhooks.js +236 -0
  46. package/dist/webhooks/handleWebhooks.js.map +1 -0
  47. package/dist/webhooks/index.d.ts +2 -0
  48. package/dist/webhooks/index.js +94 -0
  49. package/dist/webhooks/index.js.map +1 -0
  50. package/package.json +3 -3
@@ -0,0 +1,236 @@
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());
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 (_) 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 };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.handleWebhooks = void 0;
40
+ var handleWebhooks = function (payload, event) { return __awaiter(void 0, void 0, void 0, function () {
41
+ var _a, _b, name_1, customerID, email, customerQuery, payloadCustomer, error_1, error_2, _c, name_2, customerID, email, customerQuery, payloadCustomer, error_3, error_4, customerID, customerQuery, payloadCustomer, error_5;
42
+ var _d, _e, _f;
43
+ return __generator(this, function (_g) {
44
+ switch (_g.label) {
45
+ case 0:
46
+ payload.logger.info("Processing Stripe '".concat(event.type, "' webhook event with ID: '").concat(event.id, "'"));
47
+ _a = event.type;
48
+ switch (_a) {
49
+ case 'customer.created': return [3 /*break*/, 1];
50
+ case 'customer.updated': return [3 /*break*/, 12];
51
+ case 'customer.deleted': return [3 /*break*/, 22];
52
+ }
53
+ return [3 /*break*/, 27];
54
+ case 1:
55
+ _b = ((_d = event === null || event === void 0 ? void 0 : event.data) === null || _d === void 0 ? void 0 : _d.object) || {}, name_1 = _b.name, customerID = _b.id, email = _b.email;
56
+ return [4 /*yield*/, payload.find({
57
+ collection: 'customers',
58
+ where: {
59
+ or: [{
60
+ email: {
61
+ equals: email
62
+ },
63
+ stripeID: {
64
+ equals: customerID,
65
+ },
66
+ }]
67
+ },
68
+ })];
69
+ case 2:
70
+ customerQuery = _g.sent();
71
+ payloadCustomer = customerQuery.docs[0];
72
+ if (!!payloadCustomer) return [3 /*break*/, 7];
73
+ payload.logger.info("- No existing customer found, creating a new customer in Payload with email: '".concat(email, "'"));
74
+ _g.label = 3;
75
+ case 3:
76
+ _g.trys.push([3, 5, , 6]);
77
+ return [4 /*yield*/, payload.create({
78
+ collection: 'customers',
79
+ data: {
80
+ stripeID: customerID,
81
+ name: name_1,
82
+ email: email,
83
+ password: 'password',
84
+ passwordConfirm: 'password',
85
+ isSyncedToStripe: true,
86
+ },
87
+ disableVerificationEmail: true,
88
+ })];
89
+ case 4:
90
+ _g.sent();
91
+ payload.logger.info("- Successfully created new customer in Payload from stripe customer ID: '".concat(customerID, "'"));
92
+ return [3 /*break*/, 6];
93
+ case 5:
94
+ error_1 = _g.sent();
95
+ payload.logger.error('Error creating new customer', error_1);
96
+ return [3 /*break*/, 6];
97
+ case 6: return [3 /*break*/, 11];
98
+ case 7:
99
+ payload.logger.info("- Existing customer found with email: '".concat(email, "', updating now"));
100
+ _g.label = 8;
101
+ case 8:
102
+ _g.trys.push([8, 10, , 11]);
103
+ return [4 /*yield*/, payload.update({
104
+ collection: 'customers',
105
+ id: payloadCustomer.id,
106
+ data: {
107
+ stripeID: customerID,
108
+ name: name_1,
109
+ email: email,
110
+ isSyncedToStripe: true,
111
+ },
112
+ })];
113
+ case 9:
114
+ _g.sent();
115
+ payload.logger.info("- Successfully updated customer in Payload from stripe customer ID: '".concat(customerID, "'"));
116
+ return [3 /*break*/, 11];
117
+ case 10:
118
+ error_2 = _g.sent();
119
+ payload.logger.error('Error updating customer', error_2);
120
+ return [3 /*break*/, 11];
121
+ case 11: return [3 /*break*/, 28];
122
+ case 12:
123
+ _c = ((_e = event === null || event === void 0 ? void 0 : event.data) === null || _e === void 0 ? void 0 : _e.object) || {}, name_2 = _c.name, customerID = _c.id, email = _c.email;
124
+ _g.label = 13;
125
+ case 13:
126
+ _g.trys.push([13, 20, , 21]);
127
+ return [4 /*yield*/, payload.find({
128
+ collection: 'customers',
129
+ where: {
130
+ stripeID: {
131
+ equals: customerID,
132
+ },
133
+ },
134
+ })];
135
+ case 14:
136
+ customerQuery = _g.sent();
137
+ payloadCustomer = customerQuery.docs[0];
138
+ if (!payloadCustomer) return [3 /*break*/, 15];
139
+ // Found existing customer, update it
140
+ try {
141
+ payload.logger.info("- Updating existing customer in Payload with ID: '".concat(payloadCustomer.id, "'"));
142
+ payload.update({
143
+ collection: 'customers',
144
+ id: payloadCustomer.id,
145
+ data: {
146
+ name: name_2,
147
+ isSyncedToStripe: true,
148
+ },
149
+ });
150
+ payload.logger.info("- Successfully updated customer in Payload with ID: '".concat(payloadCustomer.id, "'"));
151
+ }
152
+ catch (error) {
153
+ payload.logger.error('Error updating existing customer', error);
154
+ }
155
+ return [3 /*break*/, 19];
156
+ case 15:
157
+ // No existing customer found, create a new one
158
+ payload.logger.info("- Could not find an existing customer with Stripe customer ID: '".concat(customerID, "', creating a new one."));
159
+ _g.label = 16;
160
+ case 16:
161
+ _g.trys.push([16, 18, , 19]);
162
+ return [4 /*yield*/, payload.create({
163
+ collection: 'customers',
164
+ data: {
165
+ stripeID: customerID,
166
+ name: name_2,
167
+ email: email,
168
+ // password: 'abc123',
169
+ isSyncedToStripe: true,
170
+ },
171
+ disableVerificationEmail: true,
172
+ })];
173
+ case 17:
174
+ _g.sent();
175
+ return [3 /*break*/, 19];
176
+ case 18:
177
+ error_3 = _g.sent();
178
+ payload.logger.error('Error creating new customer', error_3);
179
+ return [3 /*break*/, 19];
180
+ case 19: return [3 /*break*/, 21];
181
+ case 20:
182
+ error_4 = _g.sent();
183
+ payload.logger.info(error_4);
184
+ return [3 /*break*/, 21];
185
+ case 21: return [3 /*break*/, 28];
186
+ case 22:
187
+ customerID = (((_f = event === null || event === void 0 ? void 0 : event.data) === null || _f === void 0 ? void 0 : _f.object) || {}).id;
188
+ _g.label = 23;
189
+ case 23:
190
+ _g.trys.push([23, 25, , 26]);
191
+ return [4 /*yield*/, payload.find({
192
+ collection: 'customers',
193
+ where: {
194
+ stripeID: {
195
+ equals: customerID,
196
+ },
197
+ },
198
+ })];
199
+ case 24:
200
+ customerQuery = _g.sent();
201
+ payloadCustomer = customerQuery.docs[0];
202
+ if (!payloadCustomer) {
203
+ payload.logger.info("- Nothing to delete, no existing customer found with Stripe customer ID: '".concat(customerID, "'"));
204
+ }
205
+ if (payloadCustomer) {
206
+ payload.logger.info("- Deleting Payload customer with ID: '".concat(payloadCustomer.id, "'"));
207
+ try {
208
+ payload.delete({
209
+ collection: 'customers',
210
+ id: payloadCustomer.id,
211
+ });
212
+ // NOTE: the customers `afterDelete` hook will trigger, which will attempt to delete the customer from Stripe and safely error out
213
+ // There is no known way of preventing this from happening. In other hooks we use the `isSyncedToStripe` field, but here the document is already deleted.
214
+ payload.logger.info("- Successfully deleted Payload customer with ID: '".concat(payloadCustomer.id, "'"));
215
+ }
216
+ catch (error) {
217
+ payload.logger.error('Error deleting customer', error);
218
+ }
219
+ }
220
+ return [3 /*break*/, 26];
221
+ case 25:
222
+ error_5 = _g.sent();
223
+ payload.logger.info(error_5);
224
+ return [3 /*break*/, 26];
225
+ case 26: return [3 /*break*/, 28];
226
+ case 27:
227
+ {
228
+ return [3 /*break*/, 28];
229
+ }
230
+ _g.label = 28;
231
+ case 28: return [2 /*return*/];
232
+ }
233
+ });
234
+ }); };
235
+ exports.handleWebhooks = handleWebhooks;
236
+ //# sourceMappingURL=handleWebhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleWebhooks.js","sourceRoot":"","sources":["../../src/webhooks/handleWebhooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { StripeWebhookHandler } from '../types';
2
+ export declare const handleWebhooks: StripeWebhookHandler;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.handleWebhooks = void 0;
51
+ var handleCreatedOrUpdated_1 = require("./handleCreatedOrUpdated");
52
+ var handleDeleted_1 = require("./handleDeleted");
53
+ var handleWebhooks = function (args) { return __awaiter(void 0, void 0, void 0, function () {
54
+ var payload, event, stripeConfig, resourceType, method, syncConfig, _a;
55
+ var _b;
56
+ return __generator(this, function (_c) {
57
+ switch (_c.label) {
58
+ case 0:
59
+ payload = args.payload, event = args.event, stripeConfig = args.stripeConfig;
60
+ payload.logger.info("\uD83E\uDE9D Received Stripe '".concat(event.type, "' webhook event with ID: '").concat(event.id, "'."));
61
+ resourceType = event.type.split('.')[0];
62
+ method = event.type.split('.').pop();
63
+ syncConfig = (_b = stripeConfig === null || stripeConfig === void 0 ? void 0 : stripeConfig.sync) === null || _b === void 0 ? void 0 : _b.find(function (sync) { return sync.resourceSingular === resourceType; });
64
+ if (!syncConfig) return [3 /*break*/, 8];
65
+ _a = method;
66
+ switch (_a) {
67
+ case 'created': return [3 /*break*/, 1];
68
+ case 'updated': return [3 /*break*/, 3];
69
+ case 'deleted': return [3 /*break*/, 5];
70
+ }
71
+ return [3 /*break*/, 7];
72
+ case 1: return [4 /*yield*/, (0, handleCreatedOrUpdated_1.handleCreatedOrUpdated)(__assign(__assign({}, args), { resourceType: resourceType, stripeConfig: stripeConfig, syncConfig: syncConfig }))];
73
+ case 2:
74
+ _c.sent();
75
+ return [3 /*break*/, 8];
76
+ case 3: return [4 /*yield*/, (0, handleCreatedOrUpdated_1.handleCreatedOrUpdated)(__assign(__assign({}, args), { resourceType: resourceType, stripeConfig: stripeConfig, syncConfig: syncConfig }))];
77
+ case 4:
78
+ _c.sent();
79
+ return [3 /*break*/, 8];
80
+ case 5: return [4 /*yield*/, (0, handleDeleted_1.handleDeleted)(__assign(__assign({}, args), { resourceType: resourceType, stripeConfig: stripeConfig, syncConfig: syncConfig }))];
81
+ case 6:
82
+ _c.sent();
83
+ return [3 /*break*/, 8];
84
+ case 7:
85
+ {
86
+ return [3 /*break*/, 8];
87
+ }
88
+ _c.label = 8;
89
+ case 8: return [2 /*return*/];
90
+ }
91
+ });
92
+ }); };
93
+ exports.handleWebhooks = handleWebhooks;
94
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webhooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mEAAkE;AAClE,iDAAgD;AAEzC,IAAM,cAAc,GAAyB,UAAO,IAAI;;;;;;gBAE3D,OAAO,GAGL,IAAI,QAHC,EACP,KAAK,GAEH,IAAI,MAFD,EACL,YAAY,GACV,IAAI,aADM,CACL;gBAET,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAuB,KAAK,CAAC,IAAI,uCAA6B,KAAK,CAAC,EAAE,OAAI,CAAC,CAAC;gBAI1F,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAErC,UAAU,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,0CAAE,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,gBAAgB,KAAK,YAAY,EAAtC,CAAsC,CAAC,CAAC;qBAE1F,UAAU,EAAV,wBAAU;gBACJ,KAAA,MAAM,CAAA;;yBACP,SAAS,CAAC,CAAV,wBAAS;yBAST,SAAS,CAAC,CAAV,wBAAS;yBAST,SAAS,CAAC,CAAV,wBAAS;;;oBAjBZ,qBAAM,IAAA,+CAAsB,wBACvB,IAAI,KACP,YAAY,cAAA,EACZ,YAAY,cAAA,EACZ,UAAU,YAAA,IACV,EAAA;;gBALF,SAKE,CAAC;gBACH,wBAAM;oBAGN,qBAAM,IAAA,+CAAsB,wBACvB,IAAI,KACP,YAAY,cAAA,EACZ,YAAY,cAAA,EACZ,UAAU,YAAA,IACV,EAAA;;gBALF,SAKE,CAAC;gBACH,wBAAM;oBAGN,qBAAM,IAAA,6BAAa,wBACd,IAAI,KACP,YAAY,cAAA,EACZ,YAAY,cAAA,EACZ,UAAU,YAAA,IACV,EAAA;;gBALF,SAKE,CAAC;gBACH,wBAAM;;gBAEC;oBACP,wBAAM;iBACP;;;;;KAGN,CAAC;AAlDW,QAAA,cAAc,kBAkDzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-stripe",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "homepage:": "https://payloadcms.com",
5
5
  "repository": "git@github.com:payloadcms/plugin-stripe.git",
6
6
  "description": "Stripe plugin for Payload CMS",
@@ -24,7 +24,7 @@
24
24
  "author": "dev@payloadcms.com",
25
25
  "license": "MIT",
26
26
  "peerDependencies": {
27
- "payload": "^0.18.5 || ^1.0.27"
27
+ "payload": "^1.1.4"
28
28
  },
29
29
  "dependencies": {
30
30
  "lodash.get": "^4.4.2",
@@ -33,7 +33,7 @@
33
33
  "devDependencies": {
34
34
  "@types/express": "^4.17.13",
35
35
  "@types/lodash.get": "^4.4.7",
36
- "payload": "^1.0.9",
36
+ "payload": "^1.1.4",
37
37
  "typescript": "^4.5.5"
38
38
  },
39
39
  "files": [