@payloadcms/plugin-stripe 0.0.15-beta.0 → 0.0.16-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -36
- package/dist/admin.js +33 -32
- package/dist/extendWebpackConfig.js +28 -26
- package/dist/fields/getFields.js +36 -42
- package/dist/hooks/createNewInStripe.js +82 -124
- package/dist/hooks/deleteFromStripe.js +44 -87
- package/dist/hooks/syncExistingWithStripe.js +55 -93
- package/dist/index.js +109 -135
- package/dist/routes/rest.js +35 -76
- package/dist/routes/webhooks.js +59 -94
- package/dist/types.js +5 -2
- package/dist/ui/LinkToDoc.js +43 -31
- package/dist/utilities/deepen.js +20 -17
- package/dist/utilities/stripeProxy.js +52 -88
- package/dist/webhooks/handleCreatedOrUpdated.js +125 -196
- package/dist/webhooks/handleDeleted.js +53 -102
- package/dist/webhooks/index.js +55 -89
- package/package.json +13 -26
- package/types.d.ts +1 -1
- package/types.js +1 -1
- package/dist/admin.d.ts +0 -3
- package/dist/admin.js.map +0 -1
- package/dist/extendWebpackConfig.d.ts +0 -3
- package/dist/extendWebpackConfig.js.map +0 -1
- package/dist/fields/getFields.d.ts +0 -11
- package/dist/fields/getFields.js.map +0 -1
- package/dist/hooks/createNewInStripe.d.ts +0 -7
- package/dist/hooks/createNewInStripe.js.map +0 -1
- package/dist/hooks/deleteFromStripe.d.ts +0 -7
- package/dist/hooks/deleteFromStripe.js.map +0 -1
- package/dist/hooks/syncExistingWithStripe.d.ts +0 -7
- package/dist/hooks/syncExistingWithStripe.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.js.map +0 -1
- package/dist/routes/rest.d.ts +0 -9
- package/dist/routes/rest.js.map +0 -1
- package/dist/routes/webhooks.d.ts +0 -11
- package/dist/routes/webhooks.js.map +0 -1
- package/dist/types.d.ts +0 -44
- package/dist/types.js.map +0 -1
- package/dist/ui/LinkToDoc.d.ts +0 -7
- package/dist/ui/LinkToDoc.js.map +0 -1
- package/dist/utilities/deepen.d.ts +0 -1
- package/dist/utilities/deepen.js.map +0 -1
- package/dist/utilities/stripeProxy.d.ts +0 -2
- package/dist/utilities/stripeProxy.js.map +0 -1
- package/dist/webhooks/handleCreatedOrUpdated.d.ts +0 -7
- package/dist/webhooks/handleCreatedOrUpdated.js.map +0 -1
- package/dist/webhooks/handleDeleted.d.ts +0 -7
- package/dist/webhooks/handleDeleted.js.map +0 -1
- package/dist/webhooks/index.d.ts +0 -2
- package/dist/webhooks/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -26,8 +26,8 @@ Core features:
|
|
|
26
26
|
In the `plugins` array of your [Payload config](https://payloadcms.com/docs/configuration/overview), call the plugin with [options](#options):
|
|
27
27
|
|
|
28
28
|
```js
|
|
29
|
-
import { buildConfig } from
|
|
30
|
-
import stripePlugin from
|
|
29
|
+
import { buildConfig } from 'payload/config'
|
|
30
|
+
import stripePlugin from '@payloadcms/plugin-stripe'
|
|
31
31
|
|
|
32
32
|
const config = buildConfig({
|
|
33
33
|
plugins: [
|
|
@@ -35,9 +35,9 @@ const config = buildConfig({
|
|
|
35
35
|
stripeSecretKey: process.env.STRIPE_SECRET_KEY,
|
|
36
36
|
}),
|
|
37
37
|
],
|
|
38
|
-
})
|
|
38
|
+
})
|
|
39
39
|
|
|
40
|
-
export default config
|
|
40
|
+
export default config
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
### Options
|
|
@@ -75,8 +75,8 @@ This option will setup a basic sync between Payload collections and Stripe resou
|
|
|
75
75
|
> NOTE: Due to limitations in the Stripe API, this currently only works with top-level fields. This is because every Stripe object is a separate entity, making it difficult to abstract into a simple reusable library. In the future, we may find a pattern around this. But for now, cases like that will need to be hard-coded. See the [demo](./demo) for an example of this.
|
|
76
76
|
|
|
77
77
|
```js
|
|
78
|
-
import { buildConfig } from
|
|
79
|
-
import stripePlugin from
|
|
78
|
+
import { buildConfig } from 'payload/config'
|
|
79
|
+
import stripePlugin from '@payloadcms/plugin-stripe'
|
|
80
80
|
|
|
81
81
|
const config = buildConfig({
|
|
82
82
|
plugins: [
|
|
@@ -85,22 +85,22 @@ const config = buildConfig({
|
|
|
85
85
|
stripeWebhooksEndpointSecret: process.env.STRIPE_WEBHOOKS_ENDPOINT_SECRET,
|
|
86
86
|
sync: [
|
|
87
87
|
{
|
|
88
|
-
collection:
|
|
89
|
-
stripeResourceType:
|
|
90
|
-
stripeResourceTypeSingular:
|
|
88
|
+
collection: 'customers',
|
|
89
|
+
stripeResourceType: 'customers',
|
|
90
|
+
stripeResourceTypeSingular: 'customer',
|
|
91
91
|
fields: [
|
|
92
92
|
{
|
|
93
|
-
fieldPath:
|
|
94
|
-
stripeProperty:
|
|
93
|
+
fieldPath: 'name', // this is a field on your own Payload config
|
|
94
|
+
stripeProperty: 'name', // use dot notation, if applicable
|
|
95
95
|
},
|
|
96
96
|
],
|
|
97
97
|
},
|
|
98
98
|
],
|
|
99
99
|
}),
|
|
100
100
|
],
|
|
101
|
-
})
|
|
101
|
+
})
|
|
102
102
|
|
|
103
|
-
export default config
|
|
103
|
+
export default config
|
|
104
104
|
```
|
|
105
105
|
|
|
106
106
|
Using `sync` will do the following:
|
|
@@ -129,21 +129,21 @@ The following custom endpoints are automatically opened for you:
|
|
|
129
129
|
|
|
130
130
|
```js
|
|
131
131
|
const res = await fetch(`/api/stripe/rest`, {
|
|
132
|
-
method:
|
|
133
|
-
credentials:
|
|
132
|
+
method: 'POST',
|
|
133
|
+
credentials: 'include',
|
|
134
134
|
headers: {
|
|
135
|
-
|
|
135
|
+
'Content-Type': 'application/json',
|
|
136
136
|
// Authorization: `JWT ${token}` // NOTE: do this if not in a browser (i.e. curl or Postman)
|
|
137
137
|
},
|
|
138
138
|
body: JSON.stringify({
|
|
139
|
-
stripeMethod:
|
|
139
|
+
stripeMethod: 'stripe.subscriptions.list',
|
|
140
140
|
stripeArgs: [
|
|
141
141
|
{
|
|
142
|
-
customer:
|
|
142
|
+
customer: 'abc',
|
|
143
143
|
},
|
|
144
144
|
],
|
|
145
145
|
}),
|
|
146
|
-
})
|
|
146
|
+
})
|
|
147
147
|
```
|
|
148
148
|
|
|
149
149
|
- #### `POST /stripe/webhooks`
|
|
@@ -169,8 +169,8 @@ Production:
|
|
|
169
169
|
1. Then, handle these events using the `webhooks` portion of this plugin's config:
|
|
170
170
|
|
|
171
171
|
```js
|
|
172
|
-
import { buildConfig } from
|
|
173
|
-
import stripePlugin from
|
|
172
|
+
import { buildConfig } from 'payload/config'
|
|
173
|
+
import stripePlugin from '@payloadcms/plugin-stripe'
|
|
174
174
|
|
|
175
175
|
const config = buildConfig({
|
|
176
176
|
plugins: [
|
|
@@ -178,7 +178,7 @@ const config = buildConfig({
|
|
|
178
178
|
stripeSecretKey: process.env.STRIPE_SECRET_KEY,
|
|
179
179
|
stripeWebhooksEndpointSecret: process.env.STRIPE_WEBHOOKS_ENDPOINT_SECRET,
|
|
180
180
|
webhooks: {
|
|
181
|
-
|
|
181
|
+
'customer.subscription.updated': ({ event, stripe, stripeConfig }) => {
|
|
182
182
|
// do something...
|
|
183
183
|
},
|
|
184
184
|
},
|
|
@@ -196,9 +196,9 @@ const config = buildConfig({
|
|
|
196
196
|
// }
|
|
197
197
|
}),
|
|
198
198
|
],
|
|
199
|
-
})
|
|
199
|
+
})
|
|
200
200
|
|
|
201
|
-
export default config
|
|
201
|
+
export default config
|
|
202
202
|
```
|
|
203
203
|
|
|
204
204
|
For a full list of available webhooks, see [here](https://stripe.com/docs/cli/trigger#trigger-event).
|
|
@@ -208,52 +208,52 @@ For a full list of available webhooks, see [here](https://stripe.com/docs/cli/tr
|
|
|
208
208
|
On the server you should interface with Stripe directly using the [stripe](https://www.npmjs.com/package/stripe) npm module. That might look something like this:
|
|
209
209
|
|
|
210
210
|
```js
|
|
211
|
-
import Stripe from
|
|
211
|
+
import Stripe from 'stripe'
|
|
212
212
|
|
|
213
|
-
const stripeSecretKey = process.env.STRIPE_SECRET_KEY
|
|
214
|
-
const stripe = new Stripe(stripeSecretKey, { apiVersion:
|
|
213
|
+
const stripeSecretKey = process.env.STRIPE_SECRET_KEY
|
|
214
|
+
const stripe = new Stripe(stripeSecretKey, { apiVersion: '2022-08-01' })
|
|
215
215
|
|
|
216
216
|
export const MyFunction = async () => {
|
|
217
217
|
try {
|
|
218
218
|
const customer = await stripe.customers.create({
|
|
219
219
|
email: data.email,
|
|
220
|
-
})
|
|
220
|
+
})
|
|
221
221
|
|
|
222
222
|
// do something...
|
|
223
223
|
} catch (error) {
|
|
224
|
-
console.error(error.message)
|
|
224
|
+
console.error(error.message)
|
|
225
225
|
}
|
|
226
|
-
}
|
|
226
|
+
}
|
|
227
227
|
```
|
|
228
228
|
|
|
229
229
|
Alternatively, you can interface with the Stripe using the `stripeProxy`, which is exactly what the `/api/stripe/rest` endpoint does behind-the-scenes. Here's the same example as above, but piped through the proxy:
|
|
230
230
|
|
|
231
231
|
```js
|
|
232
|
-
import { stripeProxy } from
|
|
232
|
+
import { stripeProxy } from '@payloadcms/plugin-stripe'
|
|
233
233
|
|
|
234
234
|
export const MyFunction = async () => {
|
|
235
235
|
try {
|
|
236
236
|
const customer = await stripeProxy({
|
|
237
237
|
stripeSecretKey: process.env.STRIPE_SECRET_KEY,
|
|
238
|
-
stripeMethod:
|
|
238
|
+
stripeMethod: 'customers.create',
|
|
239
239
|
stripeArgs: [
|
|
240
240
|
{
|
|
241
241
|
email: data.email,
|
|
242
242
|
},
|
|
243
243
|
],
|
|
244
|
-
})
|
|
244
|
+
})
|
|
245
245
|
|
|
246
246
|
if (customer.status === 200) {
|
|
247
247
|
// do something...
|
|
248
248
|
}
|
|
249
249
|
|
|
250
250
|
if (customer.status >= 400) {
|
|
251
|
-
throw new Error(customer.message)
|
|
251
|
+
throw new Error(customer.message)
|
|
252
252
|
}
|
|
253
253
|
} catch (error) {
|
|
254
|
-
console.error(error.message)
|
|
254
|
+
console.error(error.message)
|
|
255
255
|
}
|
|
256
|
-
}
|
|
256
|
+
}
|
|
257
257
|
```
|
|
258
258
|
|
|
259
259
|
## TypeScript
|
package/dist/admin.js
CHANGED
|
@@ -1,43 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
exports.stripePlugin = void 0;
|
|
15
|
-
var getFields_1 = require("./fields/getFields");
|
|
16
|
-
var stripePlugin = function (incomingStripeConfig) {
|
|
17
|
-
return function (config) {
|
|
18
|
-
var _a;
|
|
19
|
-
var collections = config.collections;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "stripePlugin", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return stripePlugin;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _getFields = require("./fields/getFields");
|
|
12
|
+
const stripePlugin = (incomingStripeConfig)=>(config)=>{
|
|
13
|
+
const { collections } = config;
|
|
20
14
|
// set config defaults here
|
|
21
|
-
|
|
15
|
+
const stripeConfig = {
|
|
16
|
+
...incomingStripeConfig,
|
|
22
17
|
// TODO: in the next major version, default this to `false`
|
|
23
|
-
rest:
|
|
18
|
+
rest: incomingStripeConfig?.rest ?? true,
|
|
19
|
+
sync: incomingStripeConfig?.sync || []
|
|
20
|
+
};
|
|
24
21
|
// NOTE: env variables are never passed to the client, but we need to know if `stripeSecretKey` is a test key
|
|
25
22
|
// unfortunately we must set the 'isTestKey' property on the config instead of using the following code:
|
|
26
23
|
// const isTestKey = stripeConfig.stripeSecretKey?.startsWith('sk_test_');
|
|
27
|
-
return
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
return {
|
|
25
|
+
...config,
|
|
26
|
+
collections: collections?.map((collection)=>{
|
|
27
|
+
const syncConfig = stripeConfig.sync?.find((sync)=>sync.collection === collection.slug);
|
|
30
28
|
if (syncConfig) {
|
|
31
|
-
|
|
32
|
-
collection
|
|
33
|
-
stripeConfig
|
|
34
|
-
syncConfig
|
|
29
|
+
const fields = (0, _getFields.getFields)({
|
|
30
|
+
collection,
|
|
31
|
+
stripeConfig,
|
|
32
|
+
syncConfig
|
|
35
33
|
});
|
|
36
|
-
return
|
|
34
|
+
return {
|
|
35
|
+
...collection,
|
|
36
|
+
fields
|
|
37
|
+
};
|
|
37
38
|
}
|
|
38
39
|
return collection;
|
|
39
|
-
})
|
|
40
|
+
})
|
|
41
|
+
};
|
|
40
42
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
//# sourceMappingURL=admin.js.map
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hZG1pbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbmZpZyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZFN0cmlwZUNvbmZpZywgU3RyaXBlQ29uZmlnIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgZ2V0RmllbGRzIH0gZnJvbSAnLi9maWVsZHMvZ2V0RmllbGRzJ1xuXG5leHBvcnQgY29uc3Qgc3RyaXBlUGx1Z2luID1cbiAgKGluY29taW5nU3RyaXBlQ29uZmlnOiBTdHJpcGVDb25maWcpID0+XG4gIChjb25maWc6IENvbmZpZyk6IENvbmZpZyA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9ucyB9ID0gY29uZmlnXG5cbiAgICAvLyBzZXQgY29uZmlnIGRlZmF1bHRzIGhlcmVcbiAgICBjb25zdCBzdHJpcGVDb25maWc6IFNhbml0aXplZFN0cmlwZUNvbmZpZyA9IHtcbiAgICAgIC4uLmluY29taW5nU3RyaXBlQ29uZmlnLFxuICAgICAgLy8gVE9ETzogaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiwgZGVmYXVsdCB0aGlzIHRvIGBmYWxzZWBcbiAgICAgIHJlc3Q6IGluY29taW5nU3RyaXBlQ29uZmlnPy5yZXN0ID8/IHRydWUsXG4gICAgICBzeW5jOiBpbmNvbWluZ1N0cmlwZUNvbmZpZz8uc3luYyB8fCBbXSxcbiAgICB9XG5cbiAgICAvLyBOT1RFOiBlbnYgdmFyaWFibGVzIGFyZSBuZXZlciBwYXNzZWQgdG8gdGhlIGNsaWVudCwgYnV0IHdlIG5lZWQgdG8ga25vdyBpZiBgc3RyaXBlU2VjcmV0S2V5YCBpcyBhIHRlc3Qga2V5XG4gICAgLy8gdW5mb3J0dW5hdGVseSB3ZSBtdXN0IHNldCB0aGUgJ2lzVGVzdEtleScgcHJvcGVydHkgb24gdGhlIGNvbmZpZyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBmb2xsb3dpbmcgY29kZTpcbiAgICAvLyBjb25zdCBpc1Rlc3RLZXkgPSBzdHJpcGVDb25maWcuc3RyaXBlU2VjcmV0S2V5Py5zdGFydHNXaXRoKCdza190ZXN0XycpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGNvbGxlY3Rpb25zOiBjb2xsZWN0aW9ucz8ubWFwKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHN5bmNDb25maWcgPSBzdHJpcGVDb25maWcuc3luYz8uZmluZCgoc3luYykgPT4gc3luYy5jb2xsZWN0aW9uID09PSBjb2xsZWN0aW9uLnNsdWcpXG5cbiAgICAgICAgaWYgKHN5bmNDb25maWcpIHtcbiAgICAgICAgICBjb25zdCBmaWVsZHMgPSBnZXRGaWVsZHMoe1xuICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgIHN0cmlwZUNvbmZpZyxcbiAgICAgICAgICAgIHN5bmNDb25maWcsXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY29sbGVjdGlvbixcbiAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29sbGVjdGlvblxuICAgICAgfSksXG4gICAgfVxuICB9XG4iXSwibmFtZXMiOlsic3RyaXBlUGx1Z2luIiwiaW5jb21pbmdTdHJpcGVDb25maWciLCJjb25maWciLCJjb2xsZWN0aW9ucyIsInN0cmlwZUNvbmZpZyIsInJlc3QiLCJzeW5jIiwibWFwIiwiY29sbGVjdGlvbiIsInN5bmNDb25maWciLCJmaW5kIiwic2x1ZyIsImZpZWxkcyIsImdldEZpZWxkcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFNYUE7OztlQUFBQTs7OzJCQUZhO0FBRW5CLE1BQU1BLGVBQ1gsQ0FBQ0MsdUJBQ0QsQ0FBQ0M7UUFDQyxNQUFNLEVBQUVDLFdBQVcsRUFBRSxHQUFHRDtRQUV4QiwyQkFBMkI7UUFDM0IsTUFBTUUsZUFBc0M7WUFDMUMsR0FBR0gsb0JBQW9CO1lBQ3ZCLDJEQUEyRDtZQUMzREksTUFBTUosc0JBQXNCSSxRQUFRO1lBQ3BDQyxNQUFNTCxzQkFBc0JLLFFBQVEsRUFBRTtRQUN4QztRQUVBLDZHQUE2RztRQUM3Ryx3R0FBd0c7UUFDeEcsMEVBQTBFO1FBRTFFLE9BQU87WUFDTCxHQUFHSixNQUFNO1lBQ1RDLGFBQWFBLGFBQWFJLElBQUksQ0FBQ0M7Z0JBQzdCLE1BQU1DLGFBQWFMLGFBQWFFLElBQUksRUFBRUksS0FBSyxDQUFDSixPQUFTQSxLQUFLRSxVQUFVLEtBQUtBLFdBQVdHLElBQUk7Z0JBRXhGLElBQUlGLFlBQVk7b0JBQ2QsTUFBTUcsU0FBU0MsSUFBQUEsb0JBQVMsRUFBQzt3QkFDdkJMO3dCQUNBSjt3QkFDQUs7b0JBQ0Y7b0JBQ0EsT0FBTzt3QkFDTCxHQUFHRCxVQUFVO3dCQUNiSTtvQkFDRjtnQkFDRjtnQkFFQSxPQUFPSjtZQUNUO1FBQ0Y7SUFDRiJ9
|
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "extendWebpackConfig", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return extendWebpackConfig;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
|
+
function _interop_require_default(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
10
15
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
: webpackConfig;
|
|
25
|
-
return __assign(__assign({}, existingWebpackConfig), { resolve: __assign(__assign({}, (existingWebpackConfig.resolve || {})), { alias: __assign(__assign({}, (((_b = existingWebpackConfig.resolve) === null || _b === void 0 ? void 0 : _b.alias) ? existingWebpackConfig.resolve.alias : {})), { '@payloadcms/plugin-stripe': path_1.default.resolve(__dirname, './admin.js') }) }) });
|
|
16
|
+
}
|
|
17
|
+
const extendWebpackConfig = (config)=>(webpackConfig)=>{
|
|
18
|
+
const existingWebpackConfig = typeof config.admin?.webpack === 'function' ? config.admin.webpack(webpackConfig) : webpackConfig;
|
|
19
|
+
return {
|
|
20
|
+
...existingWebpackConfig,
|
|
21
|
+
resolve: {
|
|
22
|
+
...existingWebpackConfig.resolve || {},
|
|
23
|
+
alias: {
|
|
24
|
+
...existingWebpackConfig.resolve?.alias ? existingWebpackConfig.resolve.alias : {},
|
|
25
|
+
'@payloadcms/plugin-stripe': _path.default.resolve(__dirname, './admin.js')
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
26
29
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=extendWebpackConfig.js.map
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leHRlbmRXZWJwYWNrQ29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29uZmlnIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgdHlwZSB7IENvbmZpZ3VyYXRpb24gYXMgV2VicGFja0NvbmZpZyB9IGZyb20gJ3dlYnBhY2snXG5cbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5cbmV4cG9ydCBjb25zdCBleHRlbmRXZWJwYWNrQ29uZmlnID1cbiAgKGNvbmZpZzogQ29uZmlnKTogKCh3ZWJwYWNrQ29uZmlnOiBXZWJwYWNrQ29uZmlnKSA9PiBXZWJwYWNrQ29uZmlnKSA9PlxuICAod2VicGFja0NvbmZpZykgPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nV2VicGFja0NvbmZpZyA9XG4gICAgICB0eXBlb2YgY29uZmlnLmFkbWluPy53ZWJwYWNrID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gY29uZmlnLmFkbWluLndlYnBhY2sod2VicGFja0NvbmZpZylcbiAgICAgICAgOiB3ZWJwYWNrQ29uZmlnXG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZXhpc3RpbmdXZWJwYWNrQ29uZmlnLFxuICAgICAgcmVzb2x2ZToge1xuICAgICAgICAuLi4oZXhpc3RpbmdXZWJwYWNrQ29uZmlnLnJlc29sdmUgfHwge30pLFxuICAgICAgICBhbGlhczoge1xuICAgICAgICAgIC4uLihleGlzdGluZ1dlYnBhY2tDb25maWcucmVzb2x2ZT8uYWxpYXMgPyBleGlzdGluZ1dlYnBhY2tDb25maWcucmVzb2x2ZS5hbGlhcyA6IHt9KSxcbiAgICAgICAgICAnQHBheWxvYWRjbXMvcGx1Z2luLXN0cmlwZSc6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL2FkbWluLmpzJyksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH1cbiAgfVxuIl0sIm5hbWVzIjpbImV4dGVuZFdlYnBhY2tDb25maWciLCJjb25maWciLCJ3ZWJwYWNrQ29uZmlnIiwiZXhpc3RpbmdXZWJwYWNrQ29uZmlnIiwiYWRtaW4iLCJ3ZWJwYWNrIiwicmVzb2x2ZSIsImFsaWFzIiwicGF0aCIsIl9fZGlybmFtZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFLYUE7OztlQUFBQTs7OzZEQUZJOzs7Ozs7QUFFVixNQUFNQSxzQkFDWCxDQUFDQyxTQUNELENBQUNDO1FBQ0MsTUFBTUMsd0JBQ0osT0FBT0YsT0FBT0csS0FBSyxFQUFFQyxZQUFZLGFBQzdCSixPQUFPRyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsaUJBQ3JCQTtRQUVOLE9BQU87WUFDTCxHQUFHQyxxQkFBcUI7WUFDeEJHLFNBQVM7Z0JBQ1AsR0FBSUgsc0JBQXNCRyxPQUFPLElBQUksQ0FBQyxDQUFDO2dCQUN2Q0MsT0FBTztvQkFDTCxHQUFJSixzQkFBc0JHLE9BQU8sRUFBRUMsUUFBUUosc0JBQXNCRyxPQUFPLENBQUNDLEtBQUssR0FBRyxDQUFDLENBQUM7b0JBQ25GLDZCQUE2QkMsYUFBSSxDQUFDRixPQUFPLENBQUNHLFdBQVc7Z0JBQ3ZEO1lBQ0Y7UUFDRjtJQUNGIn0=
|
package/dist/fields/getFields.js
CHANGED
|
@@ -1,62 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
-
if (ar || !(i in from)) {
|
|
16
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
-
ar[i] = from[i];
|
|
18
|
-
}
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "getFields", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return getFields;
|
|
19
9
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var LinkToDoc_1 = require("../ui/LinkToDoc");
|
|
25
|
-
var getFields = function (_a) {
|
|
26
|
-
var collection = _a.collection, stripeConfig = _a.stripeConfig, syncConfig = _a.syncConfig;
|
|
27
|
-
var stripeIDField = {
|
|
10
|
+
});
|
|
11
|
+
const _LinkToDoc = require("../ui/LinkToDoc");
|
|
12
|
+
const getFields = ({ collection, stripeConfig, syncConfig })=>{
|
|
13
|
+
const stripeIDField = {
|
|
28
14
|
name: 'stripeID',
|
|
29
|
-
label: 'Stripe ID',
|
|
30
|
-
type: 'text',
|
|
31
|
-
saveToJWT: true,
|
|
32
15
|
admin: {
|
|
33
16
|
position: 'sidebar',
|
|
34
|
-
readOnly: true
|
|
17
|
+
readOnly: true
|
|
35
18
|
},
|
|
19
|
+
label: 'Stripe ID',
|
|
20
|
+
saveToJWT: true,
|
|
21
|
+
type: 'text'
|
|
36
22
|
};
|
|
37
|
-
|
|
23
|
+
const skipSyncField = {
|
|
38
24
|
name: 'skipSync',
|
|
39
|
-
label: 'Skip Sync',
|
|
40
|
-
type: 'checkbox',
|
|
41
25
|
admin: {
|
|
42
26
|
position: 'sidebar',
|
|
43
|
-
readOnly: true
|
|
27
|
+
readOnly: true
|
|
44
28
|
},
|
|
29
|
+
label: 'Skip Sync',
|
|
30
|
+
type: 'checkbox'
|
|
45
31
|
};
|
|
46
|
-
|
|
32
|
+
const docUrlField = {
|
|
47
33
|
name: 'docUrl',
|
|
48
|
-
type: 'ui',
|
|
49
34
|
admin: {
|
|
50
|
-
position: 'sidebar',
|
|
51
35
|
components: {
|
|
52
|
-
Field:
|
|
53
|
-
|
|
54
|
-
|
|
36
|
+
Field: (args)=>(0, _LinkToDoc.LinkToDoc)({
|
|
37
|
+
...args,
|
|
38
|
+
isTestKey: stripeConfig.isTestKey,
|
|
39
|
+
nameOfIDField: 'stripeID',
|
|
40
|
+
stripeResourceType: syncConfig.stripeResourceType
|
|
41
|
+
})
|
|
55
42
|
},
|
|
43
|
+
position: 'sidebar'
|
|
56
44
|
},
|
|
45
|
+
type: 'ui'
|
|
57
46
|
};
|
|
58
|
-
|
|
47
|
+
const fields = [
|
|
48
|
+
...collection.fields,
|
|
49
|
+
stripeIDField,
|
|
50
|
+
skipSyncField,
|
|
51
|
+
docUrlField
|
|
52
|
+
];
|
|
59
53
|
return fields;
|
|
60
54
|
};
|
|
61
|
-
|
|
62
|
-
//# sourceMappingURL=
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvZ2V0RmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZywgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZFN0cmlwZUNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBMaW5rVG9Eb2MgfSBmcm9tICcuLi91aS9MaW5rVG9Eb2MnXG5cbmludGVyZmFjZSBBcmdzIHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xuICBzdHJpcGVDb25maWc6IFNhbml0aXplZFN0cmlwZUNvbmZpZ1xuICBzeW5jQ29uZmlnOiB7XG4gICAgc3RyaXBlUmVzb3VyY2VUeXBlOiBzdHJpbmdcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZ2V0RmllbGRzID0gKHsgY29sbGVjdGlvbiwgc3RyaXBlQ29uZmlnLCBzeW5jQ29uZmlnIH06IEFyZ3MpOiBGaWVsZFtdID0+IHtcbiAgY29uc3Qgc3RyaXBlSURGaWVsZDogRmllbGQgPSB7XG4gICAgbmFtZTogJ3N0cmlwZUlEJyxcbiAgICBhZG1pbjoge1xuICAgICAgcG9zaXRpb246ICdzaWRlYmFyJyxcbiAgICAgIHJlYWRPbmx5OiB0cnVlLFxuICAgIH0sXG4gICAgbGFiZWw6ICdTdHJpcGUgSUQnLFxuICAgIHNhdmVUb0pXVDogdHJ1ZSxcbiAgICB0eXBlOiAndGV4dCcsXG4gIH1cblxuICBjb25zdCBza2lwU3luY0ZpZWxkOiBGaWVsZCA9IHtcbiAgICBuYW1lOiAnc2tpcFN5bmMnLFxuICAgIGFkbWluOiB7XG4gICAgICBwb3NpdGlvbjogJ3NpZGViYXInLFxuICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgfSxcbiAgICBsYWJlbDogJ1NraXAgU3luYycsXG4gICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgfVxuXG4gIGNvbnN0IGRvY1VybEZpZWxkOiBGaWVsZCA9IHtcbiAgICBuYW1lOiAnZG9jVXJsJyxcbiAgICBhZG1pbjoge1xuICAgICAgY29tcG9uZW50czoge1xuICAgICAgICBGaWVsZDogKGFyZ3MpID0+XG4gICAgICAgICAgTGlua1RvRG9jKHtcbiAgICAgICAgICAgIC4uLmFyZ3MsXG4gICAgICAgICAgICBpc1Rlc3RLZXk6IHN0cmlwZUNvbmZpZy5pc1Rlc3RLZXksXG4gICAgICAgICAgICBuYW1lT2ZJREZpZWxkOiAnc3RyaXBlSUQnLFxuICAgICAgICAgICAgc3RyaXBlUmVzb3VyY2VUeXBlOiBzeW5jQ29uZmlnLnN0cmlwZVJlc291cmNlVHlwZSxcbiAgICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgICBwb3NpdGlvbjogJ3NpZGViYXInLFxuICAgIH0sXG4gICAgdHlwZTogJ3VpJyxcbiAgfVxuXG4gIGNvbnN0IGZpZWxkcyA9IFsuLi5jb2xsZWN0aW9uLmZpZWxkcywgc3RyaXBlSURGaWVsZCwgc2tpcFN5bmNGaWVsZCwgZG9jVXJsRmllbGRdXG5cbiAgcmV0dXJuIGZpZWxkc1xufVxuIl0sIm5hbWVzIjpbImdldEZpZWxkcyIsImNvbGxlY3Rpb24iLCJzdHJpcGVDb25maWciLCJzeW5jQ29uZmlnIiwic3RyaXBlSURGaWVsZCIsIm5hbWUiLCJhZG1pbiIsInBvc2l0aW9uIiwicmVhZE9ubHkiLCJsYWJlbCIsInNhdmVUb0pXVCIsInR5cGUiLCJza2lwU3luY0ZpZWxkIiwiZG9jVXJsRmllbGQiLCJjb21wb25lbnRzIiwiRmllbGQiLCJhcmdzIiwiTGlua1RvRG9jIiwiaXNUZXN0S2V5IiwibmFtZU9mSURGaWVsZCIsInN0cmlwZVJlc291cmNlVHlwZSIsImZpZWxkcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFjYUE7OztlQUFBQTs7OzJCQVZhO0FBVW5CLE1BQU1BLFlBQVksQ0FBQyxFQUFFQyxVQUFVLEVBQUVDLFlBQVksRUFBRUMsVUFBVSxFQUFRO0lBQ3RFLE1BQU1DLGdCQUF1QjtRQUMzQkMsTUFBTTtRQUNOQyxPQUFPO1lBQ0xDLFVBQVU7WUFDVkMsVUFBVTtRQUNaO1FBQ0FDLE9BQU87UUFDUEMsV0FBVztRQUNYQyxNQUFNO0lBQ1I7SUFFQSxNQUFNQyxnQkFBdUI7UUFDM0JQLE1BQU07UUFDTkMsT0FBTztZQUNMQyxVQUFVO1lBQ1ZDLFVBQVU7UUFDWjtRQUNBQyxPQUFPO1FBQ1BFLE1BQU07SUFDUjtJQUVBLE1BQU1FLGNBQXFCO1FBQ3pCUixNQUFNO1FBQ05DLE9BQU87WUFDTFEsWUFBWTtnQkFDVkMsT0FBTyxDQUFDQyxPQUNOQyxJQUFBQSxvQkFBUyxFQUFDO3dCQUNSLEdBQUdELElBQUk7d0JBQ1BFLFdBQVdoQixhQUFhZ0IsU0FBUzt3QkFDakNDLGVBQWU7d0JBQ2ZDLG9CQUFvQmpCLFdBQVdpQixrQkFBa0I7b0JBQ25EO1lBQ0o7WUFDQWIsVUFBVTtRQUNaO1FBQ0FJLE1BQU07SUFDUjtJQUVBLE1BQU1VLFNBQVM7V0FBSXBCLFdBQVdvQixNQUFNO1FBQUVqQjtRQUFlUTtRQUFlQztLQUFZO0lBRWhGLE9BQU9RO0FBQ1QifQ==
|