@payloadcms/plugin-ecommerce 4.0.0-internal.cc18726 → 4.0.0-internal.cd47d20

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 (78) hide show
  1. package/README.md +6 -0
  2. package/dist/collections/addresses/createAddressesCollection.d.ts.map +1 -1
  3. package/dist/collections/addresses/createAddressesCollection.js +1 -0
  4. package/dist/collections/addresses/createAddressesCollection.js.map +1 -1
  5. package/dist/collections/carts/beforeChange.d.ts.map +1 -1
  6. package/dist/collections/carts/beforeChange.js +2 -0
  7. package/dist/collections/carts/beforeChange.js.map +1 -1
  8. package/dist/collections/carts/createCartsCollection.d.ts.map +1 -1
  9. package/dist/collections/carts/createCartsCollection.js +1 -0
  10. package/dist/collections/carts/createCartsCollection.js.map +1 -1
  11. package/dist/collections/orders/createOrdersCollection.d.ts.map +1 -1
  12. package/dist/collections/orders/createOrdersCollection.js +1 -0
  13. package/dist/collections/orders/createOrdersCollection.js.map +1 -1
  14. package/dist/collections/products/createProductsCollection.d.ts.map +1 -1
  15. package/dist/collections/products/createProductsCollection.js +1 -0
  16. package/dist/collections/products/createProductsCollection.js.map +1 -1
  17. package/dist/collections/transactions/createTransactionsCollection.d.ts.map +1 -1
  18. package/dist/collections/transactions/createTransactionsCollection.js +1 -0
  19. package/dist/collections/transactions/createTransactionsCollection.js.map +1 -1
  20. package/dist/collections/variants/createVariantOptionsCollection.d.ts.map +1 -1
  21. package/dist/collections/variants/createVariantOptionsCollection.js +1 -0
  22. package/dist/collections/variants/createVariantOptionsCollection.js.map +1 -1
  23. package/dist/collections/variants/createVariantTypesCollection.d.ts.map +1 -1
  24. package/dist/collections/variants/createVariantTypesCollection.js +1 -0
  25. package/dist/collections/variants/createVariantTypesCollection.js.map +1 -1
  26. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.d.ts.map +1 -1
  27. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js +2 -0
  28. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js.map +1 -1
  29. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.d.ts.map +1 -1
  30. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js +1 -0
  31. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js.map +1 -1
  32. package/dist/collections/variants/createVariantsCollection/index.d.ts.map +1 -1
  33. package/dist/collections/variants/createVariantsCollection/index.js +1 -0
  34. package/dist/collections/variants/createVariantsCollection/index.js.map +1 -1
  35. package/dist/endpoints/confirmOrder.d.ts.map +1 -1
  36. package/dist/endpoints/confirmOrder.js +306 -44
  37. package/dist/endpoints/confirmOrder.js.map +1 -1
  38. package/dist/endpoints/initiatePayment.d.ts.map +1 -1
  39. package/dist/endpoints/initiatePayment.js +2 -0
  40. package/dist/endpoints/initiatePayment.js.map +1 -1
  41. package/dist/fields/statusField.d.ts.map +1 -1
  42. package/dist/fields/statusField.js +5 -0
  43. package/dist/fields/statusField.js.map +1 -1
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +1 -0
  46. package/dist/index.js.map +1 -1
  47. package/dist/payments/adapters/stripe/confirmOrder.d.ts.map +1 -1
  48. package/dist/payments/adapters/stripe/confirmOrder.js +108 -75
  49. package/dist/payments/adapters/stripe/confirmOrder.js.map +1 -1
  50. package/dist/payments/adapters/stripe/initiatePayment.d.ts.map +1 -1
  51. package/dist/payments/adapters/stripe/initiatePayment.js +1 -0
  52. package/dist/payments/adapters/stripe/initiatePayment.js.map +1 -1
  53. package/dist/payments/adapters/stripe/validateSettlement.d.ts +37 -0
  54. package/dist/payments/adapters/stripe/validateSettlement.d.ts.map +1 -0
  55. package/dist/payments/adapters/stripe/validateSettlement.js +157 -0
  56. package/dist/payments/adapters/stripe/validateSettlement.js.map +1 -0
  57. package/dist/react/provider/index.d.ts.map +1 -1
  58. package/dist/react/provider/index.js +75 -34
  59. package/dist/react/provider/index.js.map +1 -1
  60. package/dist/types/index.d.ts +24 -5
  61. package/dist/types/index.d.ts.map +1 -1
  62. package/dist/types/index.js.map +1 -1
  63. package/dist/ui/VariantOptionsSelector/index.d.ts.map +1 -1
  64. package/dist/ui/VariantOptionsSelector/index.js +3 -1
  65. package/dist/ui/VariantOptionsSelector/index.js.map +1 -1
  66. package/package.json +8 -8
  67. package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js +0 -358
  68. package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js.map +0 -1
  69. package/dist/payments/adapters/stripe/confirmOrder.spec.js +0 -166
  70. package/dist/payments/adapters/stripe/confirmOrder.spec.js.map +0 -1
  71. package/dist/utilities/accessComposition.spec.js +0 -765
  72. package/dist/utilities/accessComposition.spec.js.map +0 -1
  73. package/dist/utilities/defaultProductsValidation.spec.js +0 -384
  74. package/dist/utilities/defaultProductsValidation.spec.js.map +0 -1
  75. package/dist/utilities/getCollectionSlugMap.spec.js +0 -254
  76. package/dist/utilities/getCollectionSlugMap.spec.js.map +0 -1
  77. package/dist/utilities/sanitizePluginConfig.spec.js +0 -516
  78. package/dist/utilities/sanitizePluginConfig.spec.js.map +0 -1
@@ -1,254 +0,0 @@
1
- import { describe, it, expect, vitest } from 'vitest';
2
- import { USD } from '../currencies/index.js';
3
- import { getCollectionSlugMap } from './getCollectionSlugMap';
4
- describe('getCollectionSlugMap', ()=>{
5
- const mockAccessConfig = {
6
- adminOnlyFieldAccess: vitest.fn(),
7
- adminOrPublishedStatus: vitest.fn(),
8
- customerOnlyFieldAccess: vitest.fn(),
9
- isAdmin: vitest.fn(),
10
- isAuthenticated: vitest.fn(),
11
- isDocumentOwner: vitest.fn(),
12
- publicAccess: vitest.fn()
13
- };
14
- const baseConfig = {
15
- access: mockAccessConfig,
16
- addresses: {
17
- addressFields: []
18
- },
19
- carts: true,
20
- currencies: {
21
- defaultCurrency: 'USD',
22
- supportedCurrencies: [
23
- USD
24
- ]
25
- },
26
- customers: {
27
- slug: 'users'
28
- },
29
- orders: true,
30
- payments: {
31
- paymentMethods: []
32
- },
33
- products: true,
34
- transactions: true
35
- };
36
- it('should return default slug map without variant slugs when enableVariants is false', ()=>{
37
- const result = getCollectionSlugMap({
38
- sanitizedPluginConfig: baseConfig
39
- });
40
- expect(result).toEqual({
41
- addresses: 'addresses',
42
- carts: 'carts',
43
- customers: 'users',
44
- orders: 'orders',
45
- products: 'products',
46
- transactions: 'transactions'
47
- });
48
- });
49
- it('should return default slug map with variant slugs when enableVariants is true', ()=>{
50
- const result = getCollectionSlugMap({
51
- enableVariants: true,
52
- sanitizedPluginConfig: baseConfig
53
- });
54
- expect(result).toEqual({
55
- addresses: 'addresses',
56
- carts: 'carts',
57
- customers: 'users',
58
- orders: 'orders',
59
- products: 'products',
60
- transactions: 'transactions',
61
- variantOptions: 'variantOptions',
62
- variants: 'variants',
63
- variantTypes: 'variantTypes'
64
- });
65
- });
66
- it('should use custom customers slug when provided', ()=>{
67
- const config = {
68
- ...baseConfig,
69
- customers: {
70
- slug: 'custom-users'
71
- }
72
- };
73
- const result = getCollectionSlugMap({
74
- enableVariants: true,
75
- sanitizedPluginConfig: config
76
- });
77
- expect(result.customers).toBe('custom-users');
78
- });
79
- it('should apply slugMap overrides when variants enabled', ()=>{
80
- const config = {
81
- ...baseConfig,
82
- slugMap: {
83
- products: 'custom-products',
84
- variants: 'custom-variants',
85
- orders: 'custom-orders'
86
- }
87
- };
88
- const result = getCollectionSlugMap({
89
- enableVariants: true,
90
- sanitizedPluginConfig: config
91
- });
92
- expect(result.products).toBe('custom-products');
93
- expect(result.variants).toBe('custom-variants');
94
- expect(result.orders).toBe('custom-orders');
95
- // Other slugs should remain default
96
- expect(result.addresses).toBe('addresses');
97
- expect(result.carts).toBe('carts');
98
- });
99
- it('should not apply variant slugMap overrides when variants disabled', ()=>{
100
- const config = {
101
- ...baseConfig,
102
- slugMap: {
103
- products: 'custom-products',
104
- variants: 'custom-variants',
105
- orders: 'custom-orders'
106
- }
107
- };
108
- const result = getCollectionSlugMap({
109
- enableVariants: false,
110
- sanitizedPluginConfig: config
111
- });
112
- expect(result.products).toBe('custom-products');
113
- expect(result.variants).toBeUndefined();
114
- expect(result.orders).toBe('custom-orders');
115
- });
116
- it('should prioritize slugMap overrides over customers slug', ()=>{
117
- const config = {
118
- ...baseConfig,
119
- customers: {
120
- slug: 'my-users'
121
- },
122
- slugMap: {
123
- customers: 'overridden-users'
124
- }
125
- };
126
- const result = getCollectionSlugMap({
127
- enableVariants: true,
128
- sanitizedPluginConfig: config
129
- });
130
- expect(result.customers).toBe('overridden-users');
131
- });
132
- it('should handle partial slugMap overrides with variants enabled', ()=>{
133
- const config = {
134
- ...baseConfig,
135
- slugMap: {
136
- products: 'items'
137
- }
138
- };
139
- const result = getCollectionSlugMap({
140
- enableVariants: true,
141
- sanitizedPluginConfig: config
142
- });
143
- expect(result.products).toBe('items');
144
- expect(result.addresses).toBe('addresses');
145
- expect(result.carts).toBe('carts');
146
- expect(result.customers).toBe('users');
147
- expect(result.orders).toBe('orders');
148
- expect(result.transactions).toBe('transactions');
149
- expect(result.variants).toBe('variants');
150
- expect(result.variantOptions).toBe('variantOptions');
151
- expect(result.variantTypes).toBe('variantTypes');
152
- });
153
- it('should handle partial slugMap overrides with variants disabled', ()=>{
154
- const config = {
155
- ...baseConfig,
156
- slugMap: {
157
- products: 'items'
158
- }
159
- };
160
- const result = getCollectionSlugMap({
161
- enableVariants: false,
162
- sanitizedPluginConfig: config
163
- });
164
- expect(result.products).toBe('items');
165
- expect(result.addresses).toBe('addresses');
166
- expect(result.carts).toBe('carts');
167
- expect(result.customers).toBe('users');
168
- expect(result.orders).toBe('orders');
169
- expect(result.transactions).toBe('transactions');
170
- expect(result.variants).toBeUndefined();
171
- expect(result.variantOptions).toBeUndefined();
172
- expect(result.variantTypes).toBeUndefined();
173
- });
174
- it('should handle empty slugMap with variants enabled', ()=>{
175
- const config = {
176
- ...baseConfig,
177
- slugMap: {}
178
- };
179
- const result = getCollectionSlugMap({
180
- enableVariants: true,
181
- sanitizedPluginConfig: config
182
- });
183
- expect(result).toEqual({
184
- addresses: 'addresses',
185
- carts: 'carts',
186
- customers: 'users',
187
- orders: 'orders',
188
- products: 'products',
189
- transactions: 'transactions',
190
- variantOptions: 'variantOptions',
191
- variants: 'variants',
192
- variantTypes: 'variantTypes'
193
- });
194
- });
195
- it('should handle empty slugMap with variants disabled', ()=>{
196
- const config = {
197
- ...baseConfig,
198
- slugMap: {}
199
- };
200
- const result = getCollectionSlugMap({
201
- enableVariants: false,
202
- sanitizedPluginConfig: config
203
- });
204
- expect(result).toEqual({
205
- addresses: 'addresses',
206
- carts: 'carts',
207
- customers: 'users',
208
- orders: 'orders',
209
- products: 'products',
210
- transactions: 'transactions'
211
- });
212
- });
213
- it('should handle undefined slugMap with variants enabled', ()=>{
214
- const config = {
215
- ...baseConfig,
216
- slugMap: undefined
217
- };
218
- const result = getCollectionSlugMap({
219
- enableVariants: true,
220
- sanitizedPluginConfig: config
221
- });
222
- expect(result).toEqual({
223
- addresses: 'addresses',
224
- carts: 'carts',
225
- customers: 'users',
226
- orders: 'orders',
227
- products: 'products',
228
- transactions: 'transactions',
229
- variantOptions: 'variantOptions',
230
- variants: 'variants',
231
- variantTypes: 'variantTypes'
232
- });
233
- });
234
- it('should handle undefined slugMap with variants disabled', ()=>{
235
- const config = {
236
- ...baseConfig,
237
- slugMap: undefined
238
- };
239
- const result = getCollectionSlugMap({
240
- enableVariants: false,
241
- sanitizedPluginConfig: config
242
- });
243
- expect(result).toEqual({
244
- addresses: 'addresses',
245
- carts: 'carts',
246
- customers: 'users',
247
- orders: 'orders',
248
- products: 'products',
249
- transactions: 'transactions'
250
- });
251
- });
252
- });
253
-
254
- //# sourceMappingURL=getCollectionSlugMap.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utilities/getCollectionSlugMap.spec.ts"],"sourcesContent":["import { describe, it, expect, vitest } from 'vitest'\nimport type { SanitizedEcommercePluginConfig } from '../types/index.js'\n\nimport { USD } from '../currencies/index.js'\nimport { getCollectionSlugMap } from './getCollectionSlugMap'\n\ndescribe('getCollectionSlugMap', () => {\n const mockAccessConfig = {\n adminOnlyFieldAccess: vitest.fn(),\n adminOrPublishedStatus: vitest.fn(),\n customerOnlyFieldAccess: vitest.fn(),\n isAdmin: vitest.fn(),\n isAuthenticated: vitest.fn(),\n isDocumentOwner: vitest.fn(),\n publicAccess: vitest.fn(),\n }\n\n const baseConfig: SanitizedEcommercePluginConfig = {\n access: mockAccessConfig,\n addresses: {\n addressFields: [],\n },\n carts: true,\n currencies: {\n defaultCurrency: 'USD',\n supportedCurrencies: [USD],\n },\n customers: {\n slug: 'users',\n },\n orders: true,\n payments: {\n paymentMethods: [],\n },\n products: true,\n transactions: true,\n }\n\n it('should return default slug map without variant slugs when enableVariants is false', () => {\n const result = getCollectionSlugMap({ sanitizedPluginConfig: baseConfig })\n\n expect(result).toEqual({\n addresses: 'addresses',\n carts: 'carts',\n customers: 'users',\n orders: 'orders',\n products: 'products',\n transactions: 'transactions',\n })\n })\n\n it('should return default slug map with variant slugs when enableVariants is true', () => {\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: baseConfig })\n\n expect(result).toEqual({\n addresses: 'addresses',\n carts: 'carts',\n customers: 'users',\n orders: 'orders',\n products: 'products',\n transactions: 'transactions',\n variantOptions: 'variantOptions',\n variants: 'variants',\n variantTypes: 'variantTypes',\n })\n })\n\n it('should use custom customers slug when provided', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n customers: {\n slug: 'custom-users',\n },\n }\n\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: config })\n\n expect(result.customers).toBe('custom-users')\n })\n\n it('should apply slugMap overrides when variants enabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: {\n products: 'custom-products',\n variants: 'custom-variants',\n orders: 'custom-orders',\n },\n }\n\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: config })\n\n expect(result.products).toBe('custom-products')\n expect(result.variants).toBe('custom-variants')\n expect(result.orders).toBe('custom-orders')\n // Other slugs should remain default\n expect(result.addresses).toBe('addresses')\n expect(result.carts).toBe('carts')\n })\n\n it('should not apply variant slugMap overrides when variants disabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: {\n products: 'custom-products',\n variants: 'custom-variants',\n orders: 'custom-orders',\n },\n }\n\n const result = getCollectionSlugMap({ enableVariants: false, sanitizedPluginConfig: config })\n\n expect(result.products).toBe('custom-products')\n expect(result.variants).toBeUndefined()\n expect(result.orders).toBe('custom-orders')\n })\n\n it('should prioritize slugMap overrides over customers slug', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n customers: {\n slug: 'my-users',\n },\n slugMap: {\n customers: 'overridden-users',\n },\n }\n\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: config })\n\n expect(result.customers).toBe('overridden-users')\n })\n\n it('should handle partial slugMap overrides with variants enabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: {\n products: 'items',\n },\n }\n\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: config })\n\n expect(result.products).toBe('items')\n expect(result.addresses).toBe('addresses')\n expect(result.carts).toBe('carts')\n expect(result.customers).toBe('users')\n expect(result.orders).toBe('orders')\n expect(result.transactions).toBe('transactions')\n expect(result.variants).toBe('variants')\n expect(result.variantOptions).toBe('variantOptions')\n expect(result.variantTypes).toBe('variantTypes')\n })\n\n it('should handle partial slugMap overrides with variants disabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: {\n products: 'items',\n },\n }\n\n const result = getCollectionSlugMap({ enableVariants: false, sanitizedPluginConfig: config })\n\n expect(result.products).toBe('items')\n expect(result.addresses).toBe('addresses')\n expect(result.carts).toBe('carts')\n expect(result.customers).toBe('users')\n expect(result.orders).toBe('orders')\n expect(result.transactions).toBe('transactions')\n expect(result.variants).toBeUndefined()\n expect(result.variantOptions).toBeUndefined()\n expect(result.variantTypes).toBeUndefined()\n })\n\n it('should handle empty slugMap with variants enabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: {},\n }\n\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: config })\n\n expect(result).toEqual({\n addresses: 'addresses',\n carts: 'carts',\n customers: 'users',\n orders: 'orders',\n products: 'products',\n transactions: 'transactions',\n variantOptions: 'variantOptions',\n variants: 'variants',\n variantTypes: 'variantTypes',\n })\n })\n\n it('should handle empty slugMap with variants disabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: {},\n }\n\n const result = getCollectionSlugMap({ enableVariants: false, sanitizedPluginConfig: config })\n\n expect(result).toEqual({\n addresses: 'addresses',\n carts: 'carts',\n customers: 'users',\n orders: 'orders',\n products: 'products',\n transactions: 'transactions',\n })\n })\n\n it('should handle undefined slugMap with variants enabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: undefined,\n }\n\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: config })\n\n expect(result).toEqual({\n addresses: 'addresses',\n carts: 'carts',\n customers: 'users',\n orders: 'orders',\n products: 'products',\n transactions: 'transactions',\n variantOptions: 'variantOptions',\n variants: 'variants',\n variantTypes: 'variantTypes',\n })\n })\n\n it('should handle undefined slugMap with variants disabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: undefined,\n }\n\n const result = getCollectionSlugMap({ enableVariants: false, sanitizedPluginConfig: config })\n\n expect(result).toEqual({\n addresses: 'addresses',\n carts: 'carts',\n customers: 'users',\n orders: 'orders',\n products: 'products',\n transactions: 'transactions',\n })\n })\n})\n"],"names":["describe","it","expect","vitest","USD","getCollectionSlugMap","mockAccessConfig","adminOnlyFieldAccess","fn","adminOrPublishedStatus","customerOnlyFieldAccess","isAdmin","isAuthenticated","isDocumentOwner","publicAccess","baseConfig","access","addresses","addressFields","carts","currencies","defaultCurrency","supportedCurrencies","customers","slug","orders","payments","paymentMethods","products","transactions","result","sanitizedPluginConfig","toEqual","enableVariants","variantOptions","variants","variantTypes","config","toBe","slugMap","toBeUndefined","undefined"],"mappings":"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"}