@payloadcms/plugin-ecommerce 3.67.0-internal.8383bda → 3.67.0
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/dist/collections/addresses/createAddressesCollection.d.ts +1 -5
- package/dist/collections/addresses/createAddressesCollection.d.ts.map +1 -1
- package/dist/collections/addresses/createAddressesCollection.js +7 -6
- package/dist/collections/addresses/createAddressesCollection.js.map +1 -1
- package/dist/collections/carts/beforeChange.d.ts.map +1 -1
- package/dist/collections/carts/beforeChange.js +13 -1
- package/dist/collections/carts/beforeChange.js.map +1 -1
- package/dist/collections/carts/createCartsCollection.d.ts +6 -4
- package/dist/collections/carts/createCartsCollection.d.ts.map +1 -1
- package/dist/collections/carts/createCartsCollection.js +36 -5
- package/dist/collections/carts/createCartsCollection.js.map +1 -1
- package/dist/collections/carts/hasCartSecretAccess.d.ts +10 -0
- package/dist/collections/carts/hasCartSecretAccess.d.ts.map +1 -0
- package/dist/collections/carts/hasCartSecretAccess.js +24 -0
- package/dist/collections/carts/hasCartSecretAccess.js.map +1 -0
- package/dist/collections/orders/createOrdersCollection.d.ts +1 -5
- package/dist/collections/orders/createOrdersCollection.d.ts.map +1 -1
- package/dist/collections/orders/createOrdersCollection.js +9 -8
- package/dist/collections/orders/createOrdersCollection.js.map +1 -1
- package/dist/collections/products/createProductsCollection.d.ts +1 -4
- package/dist/collections/products/createProductsCollection.d.ts.map +1 -1
- package/dist/collections/products/createProductsCollection.js +5 -5
- package/dist/collections/products/createProductsCollection.js.map +1 -1
- package/dist/collections/transactions/createTransactionsCollection.d.ts +1 -3
- package/dist/collections/transactions/createTransactionsCollection.d.ts.map +1 -1
- package/dist/collections/transactions/createTransactionsCollection.js +5 -5
- package/dist/collections/transactions/createTransactionsCollection.js.map +1 -1
- package/dist/collections/variants/createVariantOptionsCollection.d.ts +1 -4
- package/dist/collections/variants/createVariantOptionsCollection.d.ts.map +1 -1
- package/dist/collections/variants/createVariantOptionsCollection.js +5 -5
- package/dist/collections/variants/createVariantOptionsCollection.js.map +1 -1
- package/dist/collections/variants/createVariantTypesCollection.d.ts +1 -4
- package/dist/collections/variants/createVariantTypesCollection.d.ts.map +1 -1
- package/dist/collections/variants/createVariantTypesCollection.js +5 -5
- package/dist/collections/variants/createVariantTypesCollection.js.map +1 -1
- package/dist/collections/variants/createVariantsCollection/index.d.ts +1 -4
- package/dist/collections/variants/createVariantsCollection/index.d.ts.map +1 -1
- package/dist/collections/variants/createVariantsCollection/index.js +5 -5
- package/dist/collections/variants/createVariantsCollection/index.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -33
- package/dist/index.js.map +1 -1
- package/dist/react/provider/index.d.ts +3 -0
- package/dist/react/provider/index.d.ts.map +1 -1
- package/dist/react/provider/index.js +261 -156
- package/dist/react/provider/index.js.map +1 -1
- package/dist/translations/en.d.ts.map +1 -1
- package/dist/translations/en.js +1 -0
- package/dist/translations/en.js.map +1 -1
- package/dist/types/index.d.ts +43 -25
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utilities/accessComposition.d.ts +55 -0
- package/dist/utilities/accessComposition.d.ts.map +1 -0
- package/dist/utilities/accessComposition.js +103 -0
- package/dist/utilities/accessComposition.js.map +1 -0
- package/dist/utilities/accessComposition.spec.js +803 -0
- package/dist/utilities/accessComposition.spec.js.map +1 -0
- package/dist/utilities/defaultProductsValidation.spec.js +383 -0
- package/dist/utilities/defaultProductsValidation.spec.js.map +1 -0
- package/dist/utilities/getCollectionSlugMap.spec.js +159 -0
- package/dist/utilities/getCollectionSlugMap.spec.js.map +1 -0
- package/dist/utilities/sanitizePluginConfig.d.ts.map +1 -1
- package/dist/utilities/sanitizePluginConfig.js +10 -2
- package/dist/utilities/sanitizePluginConfig.js.map +1 -1
- package/dist/utilities/sanitizePluginConfig.spec.js +515 -0
- package/dist/utilities/sanitizePluginConfig.spec.js.map +1 -0
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/transactions/createTransactionsCollection.ts"],"sourcesContent":["import type { CollectionConfig, Field } from 'payload'\n\nimport type { AccessConfig, CurrenciesConfig, PaymentAdapter } from '../../types/index.js'\n\nimport { amountField } from '../../fields/amountField.js'\nimport { cartItemsField } from '../../fields/cartItemsField.js'\nimport { currencyField } from '../../fields/currencyField.js'\nimport { statusField } from '../../fields/statusField.js'\n\ntype Props = {\n access:
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/transactions/createTransactionsCollection.ts"],"sourcesContent":["import type { CollectionConfig, Field } from 'payload'\n\nimport type { AccessConfig, CurrenciesConfig, PaymentAdapter } from '../../types/index.js'\n\nimport { amountField } from '../../fields/amountField.js'\nimport { cartItemsField } from '../../fields/cartItemsField.js'\nimport { currencyField } from '../../fields/currencyField.js'\nimport { statusField } from '../../fields/statusField.js'\n\ntype Props = {\n access: Pick<AccessConfig, 'isAdmin'>\n /**\n * Array of fields used for capturing the billing address.\n */\n addressFields?: Field[]\n /**\n * Slug of the carts collection, defaults to 'carts'.\n */\n cartsSlug?: string\n currenciesConfig?: CurrenciesConfig\n /**\n * Slug of the customers collection, defaults to 'users'.\n */\n customersSlug?: string\n /**\n * Enable variants in the transactions collection.\n */\n enableVariants?: boolean\n /**\n * Slug of the orders collection, defaults to 'orders'.\n */\n ordersSlug?: string\n paymentMethods?: PaymentAdapter[]\n /**\n * Slug of the products collection, defaults to 'products'.\n */\n productsSlug?: string\n /**\n * Slug of the variants collection, defaults to 'variants'.\n */\n variantsSlug?: string\n}\n\nexport const createTransactionsCollection: (props: Props) => CollectionConfig = (props) => {\n const {\n access,\n addressFields,\n cartsSlug = 'carts',\n currenciesConfig,\n customersSlug = 'users',\n enableVariants = false,\n ordersSlug = 'orders',\n paymentMethods,\n productsSlug = 'products',\n variantsSlug = 'variants',\n } = props || {}\n\n const fields: Field[] = [\n {\n type: 'tabs',\n tabs: [\n {\n fields: [\n cartItemsField({\n enableVariants,\n overrides: {\n name: 'items',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:items'),\n labels: {\n plural: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:items'),\n singular: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:item'),\n },\n },\n productsSlug,\n variantsSlug,\n }),\n ...(paymentMethods?.length && paymentMethods.length > 0\n ? [\n {\n name: 'paymentMethod',\n type: 'select',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:paymentMethod'),\n options: paymentMethods.map((method) => ({\n label: method.label ?? method.name,\n value: method.name,\n })),\n } as Field,\n ...(paymentMethods.map((method) => method.group) || []),\n ]\n : []),\n ],\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:transactionDetails'),\n },\n {\n fields: [\n ...(addressFields\n ? [\n {\n name: 'billingAddress',\n type: 'group',\n fields: addressFields,\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:billingAddress'),\n } as Field,\n ]\n : []),\n ],\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:billing'),\n },\n ],\n },\n statusField({\n overrides: {\n admin: {\n position: 'sidebar',\n },\n },\n }),\n {\n name: 'customer',\n type: 'relationship',\n admin: {\n position: 'sidebar',\n },\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:customer'),\n relationTo: customersSlug,\n },\n {\n name: 'customerEmail',\n type: 'email',\n admin: {\n position: 'sidebar',\n },\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:customerEmail'),\n },\n {\n name: 'order',\n type: 'relationship',\n admin: {\n position: 'sidebar',\n },\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:order'),\n relationTo: ordersSlug,\n },\n {\n name: 'cart',\n type: 'relationship',\n admin: {\n position: 'sidebar',\n },\n relationTo: cartsSlug,\n },\n ...(currenciesConfig\n ? [\n {\n type: 'row',\n admin: {\n position: 'sidebar',\n },\n fields: [\n amountField({\n currenciesConfig,\n }),\n currencyField({\n currenciesConfig,\n }),\n ],\n } as Field,\n ]\n : []),\n ]\n\n const baseConfig: CollectionConfig = {\n slug: 'transactions',\n access: {\n create: access.isAdmin,\n delete: access.isAdmin,\n read: access.isAdmin,\n update: access.isAdmin,\n },\n admin: {\n defaultColumns: ['createdAt', 'customer', 'order', 'amount', 'status'],\n description: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:transactionsCollectionDescription'),\n group: 'Ecommerce',\n },\n fields,\n labels: {\n plural: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:transactions'),\n singular: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:transaction'),\n },\n }\n\n return { ...baseConfig }\n}\n"],"names":["amountField","cartItemsField","currencyField","statusField","createTransactionsCollection","props","access","addressFields","cartsSlug","currenciesConfig","customersSlug","enableVariants","ordersSlug","paymentMethods","productsSlug","variantsSlug","fields","type","tabs","overrides","name","label","t","labels","plural","singular","length","options","map","method","value","group","admin","position","relationTo","baseConfig","slug","create","isAdmin","delete","read","update","defaultColumns","description"],"mappings":"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"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { CollectionConfig } from 'payload';
|
|
2
2
|
import type { AccessConfig } from '../../types/index.js';
|
|
3
3
|
type Props = {
|
|
4
|
-
access:
|
|
5
|
-
adminOnly: NonNullable<AccessConfig['adminOnly']>;
|
|
6
|
-
publicAccess: NonNullable<AccessConfig['publicAccess']>;
|
|
7
|
-
};
|
|
4
|
+
access: Pick<AccessConfig, 'isAdmin' | 'publicAccess'>;
|
|
8
5
|
/**
|
|
9
6
|
* Slug of the variant types collection, defaults to 'variantTypes'.
|
|
10
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createVariantOptionsCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/variants/createVariantOptionsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,KAAK,KAAK,GAAG;IACX,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"createVariantOptionsCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/variants/createVariantOptionsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,cAAc,CAAC,CAAA;IACtD;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,8BAA8B,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,gBAqD9D,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export const createVariantOptionsCollection = (props)=>{
|
|
2
|
-
const { access
|
|
2
|
+
const { access, variantTypesSlug = 'variantTypes' } = props || {};
|
|
3
3
|
const fields = [
|
|
4
4
|
{
|
|
5
5
|
name: 'variantType',
|
|
@@ -27,10 +27,10 @@ export const createVariantOptionsCollection = (props)=>{
|
|
|
27
27
|
const baseConfig = {
|
|
28
28
|
slug: 'variantOptions',
|
|
29
29
|
access: {
|
|
30
|
-
create:
|
|
31
|
-
delete:
|
|
32
|
-
read: publicAccess,
|
|
33
|
-
update:
|
|
30
|
+
create: access.isAdmin,
|
|
31
|
+
delete: access.isAdmin,
|
|
32
|
+
read: access.publicAccess,
|
|
33
|
+
update: access.isAdmin
|
|
34
34
|
},
|
|
35
35
|
admin: {
|
|
36
36
|
group: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/variants/createVariantOptionsCollection.ts"],"sourcesContent":["import type { CollectionConfig, Field } from 'payload'\n\nimport type { AccessConfig } from '../../types/index.js'\n\ntype Props = {\n access:
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/variants/createVariantOptionsCollection.ts"],"sourcesContent":["import type { CollectionConfig, Field } from 'payload'\n\nimport type { AccessConfig } from '../../types/index.js'\n\ntype Props = {\n access: Pick<AccessConfig, 'isAdmin' | 'publicAccess'>\n /**\n * Slug of the variant types collection, defaults to 'variantTypes'.\n */\n variantTypesSlug?: string\n}\n\nexport const createVariantOptionsCollection: (props: Props) => CollectionConfig = (props) => {\n const { access, variantTypesSlug = 'variantTypes' } = props || {}\n\n const fields: Field[] = [\n {\n name: 'variantType',\n type: 'relationship',\n admin: {\n readOnly: true,\n },\n relationTo: variantTypesSlug,\n required: true,\n },\n {\n name: 'label',\n type: 'text',\n required: true,\n },\n {\n name: 'value',\n type: 'text',\n admin: {\n description: 'should be defaulted or dynamic based on label',\n },\n required: true,\n },\n ]\n\n const baseConfig: CollectionConfig = {\n slug: 'variantOptions',\n access: {\n create: access.isAdmin,\n delete: access.isAdmin,\n read: access.publicAccess,\n update: access.isAdmin,\n },\n admin: {\n group: false,\n useAsTitle: 'label',\n },\n fields,\n labels: {\n plural: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:variantOptions'),\n singular: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:variantOption'),\n },\n trash: true,\n }\n\n return { ...baseConfig }\n}\n"],"names":["createVariantOptionsCollection","props","access","variantTypesSlug","fields","name","type","admin","readOnly","relationTo","required","description","baseConfig","slug","create","isAdmin","delete","read","publicAccess","update","group","useAsTitle","labels","plural","t","singular","trash"],"mappings":"AAYA,OAAO,MAAMA,iCAAqE,CAACC;IACjF,MAAM,EAAEC,MAAM,EAAEC,mBAAmB,cAAc,EAAE,GAAGF,SAAS,CAAC;IAEhE,MAAMG,SAAkB;QACtB;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,UAAU;YACZ;YACAC,YAAYN;YACZO,UAAU;QACZ;QACA;YACEL,MAAM;YACNC,MAAM;YACNI,UAAU;QACZ;QACA;YACEL,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLI,aAAa;YACf;YACAD,UAAU;QACZ;KACD;IAED,MAAME,aAA+B;QACnCC,MAAM;QACNX,QAAQ;YACNY,QAAQZ,OAAOa,OAAO;YACtBC,QAAQd,OAAOa,OAAO;YACtBE,MAAMf,OAAOgB,YAAY;YACzBC,QAAQjB,OAAOa,OAAO;QACxB;QACAR,OAAO;YACLa,OAAO;YACPC,YAAY;QACd;QACAjB;QACAkB,QAAQ;YACNC,QAAQ,CAAC,EAAEC,CAAC,EAAE,GACZ,+DAA+D;gBAC/DA,EAAE;YACJC,UAAU,CAAC,EAAED,CAAC,EAAE,GACd,+DAA+D;gBAC/DA,EAAE;QACN;QACAE,OAAO;IACT;IAEA,OAAO;QAAE,GAAGd,UAAU;IAAC;AACzB,EAAC"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { CollectionConfig } from 'payload';
|
|
2
2
|
import type { AccessConfig } from '../../types/index.js';
|
|
3
3
|
type Props = {
|
|
4
|
-
access:
|
|
5
|
-
adminOnly: NonNullable<AccessConfig['adminOnly']>;
|
|
6
|
-
publicAccess: NonNullable<AccessConfig['publicAccess']>;
|
|
7
|
-
};
|
|
4
|
+
access: Pick<AccessConfig, 'isAdmin' | 'publicAccess'>;
|
|
8
5
|
/**
|
|
9
6
|
* Slug of the variant options collection, defaults to 'variantOptions'.
|
|
10
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createVariantTypesCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/variants/createVariantTypesCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,KAAK,KAAK,GAAG;IACX,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"createVariantTypesCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/variants/createVariantTypesCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,cAAc,CAAC,CAAA;IACtD;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,gBAiD5D,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export const createVariantTypesCollection = (props)=>{
|
|
2
|
-
const { access
|
|
2
|
+
const { access, variantOptionsSlug = 'variantOptions' } = props || {};
|
|
3
3
|
const fields = [
|
|
4
4
|
{
|
|
5
5
|
name: 'label',
|
|
@@ -23,10 +23,10 @@ export const createVariantTypesCollection = (props)=>{
|
|
|
23
23
|
const baseConfig = {
|
|
24
24
|
slug: 'variantTypes',
|
|
25
25
|
access: {
|
|
26
|
-
create:
|
|
27
|
-
delete:
|
|
28
|
-
read: publicAccess,
|
|
29
|
-
update:
|
|
26
|
+
create: access.isAdmin,
|
|
27
|
+
delete: access.isAdmin,
|
|
28
|
+
read: access.publicAccess,
|
|
29
|
+
update: access.isAdmin
|
|
30
30
|
},
|
|
31
31
|
admin: {
|
|
32
32
|
group: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/variants/createVariantTypesCollection.ts"],"sourcesContent":["import type { CollectionConfig, Field } from 'payload'\n\nimport type { AccessConfig } from '../../types/index.js'\n\ntype Props = {\n access:
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/variants/createVariantTypesCollection.ts"],"sourcesContent":["import type { CollectionConfig, Field } from 'payload'\n\nimport type { AccessConfig } from '../../types/index.js'\n\ntype Props = {\n access: Pick<AccessConfig, 'isAdmin' | 'publicAccess'>\n /**\n * Slug of the variant options collection, defaults to 'variantOptions'.\n */\n variantOptionsSlug?: string\n}\n\nexport const createVariantTypesCollection: (props: Props) => CollectionConfig = (props) => {\n const { access, variantOptionsSlug = 'variantOptions' } = props || {}\n\n const fields: Field[] = [\n {\n name: 'label',\n type: 'text',\n required: true,\n },\n {\n name: 'name',\n type: 'text',\n required: true,\n },\n {\n name: 'options',\n type: 'join',\n collection: variantOptionsSlug,\n maxDepth: 2,\n on: 'variantType',\n orderable: true,\n },\n ]\n\n const baseConfig: CollectionConfig = {\n slug: 'variantTypes',\n access: {\n create: access.isAdmin,\n delete: access.isAdmin,\n read: access.publicAccess,\n update: access.isAdmin,\n },\n admin: {\n group: false,\n useAsTitle: 'label',\n },\n fields,\n labels: {\n plural: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:variantTypes'),\n singular: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:variantType'),\n },\n trash: true,\n }\n\n return { ...baseConfig }\n}\n"],"names":["createVariantTypesCollection","props","access","variantOptionsSlug","fields","name","type","required","collection","maxDepth","on","orderable","baseConfig","slug","create","isAdmin","delete","read","publicAccess","update","admin","group","useAsTitle","labels","plural","t","singular","trash"],"mappings":"AAYA,OAAO,MAAMA,+BAAmE,CAACC;IAC/E,MAAM,EAAEC,MAAM,EAAEC,qBAAqB,gBAAgB,EAAE,GAAGF,SAAS,CAAC;IAEpE,MAAMG,SAAkB;QACtB;YACEC,MAAM;YACNC,MAAM;YACNC,UAAU;QACZ;QACA;YACEF,MAAM;YACNC,MAAM;YACNC,UAAU;QACZ;QACA;YACEF,MAAM;YACNC,MAAM;YACNE,YAAYL;YACZM,UAAU;YACVC,IAAI;YACJC,WAAW;QACb;KACD;IAED,MAAMC,aAA+B;QACnCC,MAAM;QACNX,QAAQ;YACNY,QAAQZ,OAAOa,OAAO;YACtBC,QAAQd,OAAOa,OAAO;YACtBE,MAAMf,OAAOgB,YAAY;YACzBC,QAAQjB,OAAOa,OAAO;QACxB;QACAK,OAAO;YACLC,OAAO;YACPC,YAAY;QACd;QACAlB;QACAmB,QAAQ;YACNC,QAAQ,CAAC,EAAEC,CAAC,EAAE,GACZ,+DAA+D;gBAC/DA,EAAE;YACJC,UAAU,CAAC,EAAED,CAAC,EAAE,GACd,+DAA+D;gBAC/DA,EAAE;QACN;QACAE,OAAO;IACT;IAEA,OAAO;QAAE,GAAGf,UAAU;IAAC;AACzB,EAAC"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { CollectionConfig } from 'payload';
|
|
2
2
|
import type { AccessConfig, CurrenciesConfig, InventoryConfig } from '../../../types/index.js';
|
|
3
3
|
type Props = {
|
|
4
|
-
access:
|
|
5
|
-
adminOnly: NonNullable<AccessConfig['adminOnly']>;
|
|
6
|
-
adminOrPublishedStatus: NonNullable<AccessConfig['adminOrPublishedStatus']>;
|
|
7
|
-
};
|
|
4
|
+
access: Pick<AccessConfig, 'adminOrPublishedStatus' | 'isAdmin'>;
|
|
8
5
|
currenciesConfig?: CurrenciesConfig;
|
|
9
6
|
/**
|
|
10
7
|
* Enables inventory tracking for variants. Defaults to true.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/collections/variants/createVariantsCollection/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAO9F,KAAK,KAAK,GAAG;IACX,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/collections/variants/createVariantsCollection/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAO9F,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,wBAAwB,GAAG,SAAS,CAAC,CAAA;IAChE,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,eAAe,CAAA;IACrC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,gBAqGxD,CAAA"}
|
|
@@ -3,7 +3,7 @@ import { pricesField } from '../../../fields/pricesField.js';
|
|
|
3
3
|
import { variantsCollectionBeforeChange as beforeChange } from './hooks/beforeChange.js';
|
|
4
4
|
import { validateOptions } from './hooks/validateOptions.js';
|
|
5
5
|
export const createVariantsCollection = (props)=>{
|
|
6
|
-
const { access
|
|
6
|
+
const { access, currenciesConfig, inventory = true, productsSlug = 'products', variantOptionsSlug = 'variantOptions' } = props || {};
|
|
7
7
|
const { supportedCurrencies } = currenciesConfig || {};
|
|
8
8
|
const fields = [
|
|
9
9
|
{
|
|
@@ -62,10 +62,10 @@ export const createVariantsCollection = (props)=>{
|
|
|
62
62
|
const baseConfig = {
|
|
63
63
|
slug: 'variants',
|
|
64
64
|
access: {
|
|
65
|
-
create:
|
|
66
|
-
delete:
|
|
67
|
-
read: adminOrPublishedStatus,
|
|
68
|
-
update:
|
|
65
|
+
create: access.isAdmin,
|
|
66
|
+
delete: access.isAdmin,
|
|
67
|
+
read: access.adminOrPublishedStatus,
|
|
68
|
+
update: access.isAdmin
|
|
69
69
|
},
|
|
70
70
|
admin: {
|
|
71
71
|
description: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/collections/variants/createVariantsCollection/index.ts"],"sourcesContent":["import type { CollectionConfig, Field } from 'payload'\n\nimport type { AccessConfig, CurrenciesConfig, InventoryConfig } from '../../../types/index.js'\n\nimport { inventoryField } from '../../../fields/inventoryField.js'\nimport { pricesField } from '../../../fields/pricesField.js'\nimport { variantsCollectionBeforeChange as beforeChange } from './hooks/beforeChange.js'\nimport { validateOptions } from './hooks/validateOptions.js'\n\ntype Props = {\n access:
|
|
1
|
+
{"version":3,"sources":["../../../../src/collections/variants/createVariantsCollection/index.ts"],"sourcesContent":["import type { CollectionConfig, Field } from 'payload'\n\nimport type { AccessConfig, CurrenciesConfig, InventoryConfig } from '../../../types/index.js'\n\nimport { inventoryField } from '../../../fields/inventoryField.js'\nimport { pricesField } from '../../../fields/pricesField.js'\nimport { variantsCollectionBeforeChange as beforeChange } from './hooks/beforeChange.js'\nimport { validateOptions } from './hooks/validateOptions.js'\n\ntype Props = {\n access: Pick<AccessConfig, 'adminOrPublishedStatus' | 'isAdmin'>\n currenciesConfig?: CurrenciesConfig\n /**\n * Enables inventory tracking for variants. Defaults to true.\n */\n inventory?: boolean | InventoryConfig\n /**\n * Slug of the products collection, defaults to 'products'.\n */\n productsSlug?: string\n /**\n * Slug of the variant options collection, defaults to 'variantOptions'.\n */\n variantOptionsSlug?: string\n}\n\nexport const createVariantsCollection: (props: Props) => CollectionConfig = (props) => {\n const {\n access,\n currenciesConfig,\n inventory = true,\n productsSlug = 'products',\n variantOptionsSlug = 'variantOptions',\n } = props || {}\n const { supportedCurrencies } = currenciesConfig || {}\n\n const fields: Field[] = [\n {\n name: 'title',\n type: 'text',\n admin: {\n description:\n 'Used for administrative purposes, not shown to customers. This is populated by default.',\n },\n },\n {\n name: 'product',\n type: 'relationship',\n admin: {\n position: 'sidebar',\n readOnly: true,\n },\n relationTo: productsSlug,\n required: true,\n },\n {\n // This might need to be a custom component, to show a selector for each variant that is\n // enabled on the parent product\n // - separate select inputs, each showing only a specific variant (w/ options)\n // - it will save data to the DB as IDs in this relationship field\n // and needs a validate function as well which enforces that the options are fully specified, and accurate\n name: 'options',\n type: 'relationship',\n admin: {\n components: {\n Field: {\n path: '@payloadcms/plugin-ecommerce/rsc#VariantOptionsSelector',\n },\n },\n },\n hasMany: true,\n label: 'Variant options',\n relationTo: variantOptionsSlug,\n required: true,\n validate: validateOptions(),\n },\n ...(inventory ? [inventoryField()] : []),\n ]\n\n if (supportedCurrencies?.length && supportedCurrencies.length > 0) {\n const currencyOptions: string[] = []\n\n supportedCurrencies.forEach((currency) => {\n currencyOptions.push(currency.code)\n })\n\n if (currenciesConfig) {\n fields.push(...pricesField({ currenciesConfig }))\n }\n }\n\n const baseConfig: CollectionConfig = {\n slug: 'variants',\n access: {\n create: access.isAdmin,\n delete: access.isAdmin,\n read: access.adminOrPublishedStatus,\n update: access.isAdmin,\n },\n admin: {\n description: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:variantsCollectionDescription'),\n group: false,\n useAsTitle: 'title',\n },\n fields,\n hooks: {\n beforeChange: [beforeChange({ productsSlug, variantOptionsSlug })],\n },\n labels: {\n plural: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:variants'),\n singular: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:variant'),\n },\n trash: true,\n versions: {\n drafts: {\n autosave: true,\n },\n },\n }\n\n return baseConfig\n}\n"],"names":["inventoryField","pricesField","variantsCollectionBeforeChange","beforeChange","validateOptions","createVariantsCollection","props","access","currenciesConfig","inventory","productsSlug","variantOptionsSlug","supportedCurrencies","fields","name","type","admin","description","position","readOnly","relationTo","required","components","Field","path","hasMany","label","validate","length","currencyOptions","forEach","currency","push","code","baseConfig","slug","create","isAdmin","delete","read","adminOrPublishedStatus","update","t","group","useAsTitle","hooks","labels","plural","singular","trash","versions","drafts","autosave"],"mappings":"AAIA,SAASA,cAAc,QAAQ,oCAAmC;AAClE,SAASC,WAAW,QAAQ,iCAAgC;AAC5D,SAASC,kCAAkCC,YAAY,QAAQ,0BAAyB;AACxF,SAASC,eAAe,QAAQ,6BAA4B;AAmB5D,OAAO,MAAMC,2BAA+D,CAACC;IAC3E,MAAM,EACJC,MAAM,EACNC,gBAAgB,EAChBC,YAAY,IAAI,EAChBC,eAAe,UAAU,EACzBC,qBAAqB,gBAAgB,EACtC,GAAGL,SAAS,CAAC;IACd,MAAM,EAAEM,mBAAmB,EAAE,GAAGJ,oBAAoB,CAAC;IAErD,MAAMK,SAAkB;QACtB;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,aACE;YACJ;QACF;QACA;YACEH,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLE,UAAU;gBACVC,UAAU;YACZ;YACAC,YAAYV;YACZW,UAAU;QACZ;QACA;YACE,wFAAwF;YACxF,gCAAgC;YAChC,8EAA8E;YAC9E,kEAAkE;YAClE,0GAA0G;YAC1GP,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLM,YAAY;oBACVC,OAAO;wBACLC,MAAM;oBACR;gBACF;YACF;YACAC,SAAS;YACTC,OAAO;YACPN,YAAYT;YACZU,UAAU;YACVM,UAAUvB;QACZ;WACIK,YAAY;YAACT;SAAiB,GAAG,EAAE;KACxC;IAED,IAAIY,qBAAqBgB,UAAUhB,oBAAoBgB,MAAM,GAAG,GAAG;QACjE,MAAMC,kBAA4B,EAAE;QAEpCjB,oBAAoBkB,OAAO,CAAC,CAACC;YAC3BF,gBAAgBG,IAAI,CAACD,SAASE,IAAI;QACpC;QAEA,IAAIzB,kBAAkB;YACpBK,OAAOmB,IAAI,IAAI/B,YAAY;gBAAEO;YAAiB;QAChD;IACF;IAEA,MAAM0B,aAA+B;QACnCC,MAAM;QACN5B,QAAQ;YACN6B,QAAQ7B,OAAO8B,OAAO;YACtBC,QAAQ/B,OAAO8B,OAAO;YACtBE,MAAMhC,OAAOiC,sBAAsB;YACnCC,QAAQlC,OAAO8B,OAAO;QACxB;QACArB,OAAO;YACLC,aAAa,CAAC,EAAEyB,CAAC,EAAE,GACjB,+DAA+D;gBAC/DA,EAAE;YACJC,OAAO;YACPC,YAAY;QACd;QACA/B;QACAgC,OAAO;YACL1C,cAAc;gBAACA,aAAa;oBAAEO;oBAAcC;gBAAmB;aAAG;QACpE;QACAmC,QAAQ;YACNC,QAAQ,CAAC,EAAEL,CAAC,EAAE,GACZ,+DAA+D;gBAC/DA,EAAE;YACJM,UAAU,CAAC,EAAEN,CAAC,EAAE,GACd,+DAA+D;gBAC/DA,EAAE;QACN;QACAO,OAAO;QACPC,UAAU;YACRC,QAAQ;gBACNC,UAAU;YACZ;QACF;IACF;IAEA,OAAOlB;AACT,EAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAY,MAAM,SAAS,CAAA;AAI/C,OAAO,KAAK,EAAE,qBAAqB,EAAkC,MAAM,kBAAkB,CAAA;AAE7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAA;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAA;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAA;AAC7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,4DAA4D,CAAA;AACzG,OAAO,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAA;AACzG,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAA;AACnG,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAA;AAQrG,eAAO,MAAM,eAAe,kBACV,qBAAqB,sBACd,MAAM,KAAG,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAY,MAAM,SAAS,CAAA;AAI/C,OAAO,KAAK,EAAE,qBAAqB,EAAkC,MAAM,kBAAkB,CAAA;AAE7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAA;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAA;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAA;AAC7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,4DAA4D,CAAA;AACzG,OAAO,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAA;AACzG,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAA;AACnG,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAA;AAQrG,eAAO,MAAM,eAAe,kBACV,qBAAqB,sBACd,MAAM,KAAG,OAAO,CAAC,MAAM,CAsT7C,CAAA;AAEH,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,GAC7B,CAAA;AAED,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -38,11 +38,7 @@ export const ecommercePlugin = (pluginConfig)=>async (incomingConfig)=>{
|
|
|
38
38
|
addressFields = sanitizedPluginConfig.addresses.addressFields;
|
|
39
39
|
const supportedCountries = sanitizedPluginConfig.addresses.supportedCountries;
|
|
40
40
|
const defaultAddressesCollection = createAddressesCollection({
|
|
41
|
-
access:
|
|
42
|
-
adminOrCustomerOwner: accessConfig.adminOrCustomerOwner,
|
|
43
|
-
authenticatedOnly: accessConfig.authenticatedOnly,
|
|
44
|
-
customerOnlyFieldAccess: accessConfig.customerOnlyFieldAccess
|
|
45
|
-
},
|
|
41
|
+
access: accessConfig,
|
|
46
42
|
addressFields,
|
|
47
43
|
customersSlug: collectionSlugMap.customers,
|
|
48
44
|
supportedCountries
|
|
@@ -60,10 +56,7 @@ export const ecommercePlugin = (pluginConfig)=>async (incomingConfig)=>{
|
|
|
60
56
|
if (productsConfig.variants) {
|
|
61
57
|
const variantsConfig = typeof productsConfig.variants === 'boolean' ? undefined : productsConfig.variants;
|
|
62
58
|
const defaultVariantsCollection = createVariantsCollection({
|
|
63
|
-
access:
|
|
64
|
-
adminOnly: accessConfig.adminOnly,
|
|
65
|
-
adminOrPublishedStatus: accessConfig.adminOrPublishedStatus
|
|
66
|
-
},
|
|
59
|
+
access: accessConfig,
|
|
67
60
|
currenciesConfig,
|
|
68
61
|
inventory: sanitizedPluginConfig.inventory,
|
|
69
62
|
productsSlug: collectionSlugMap.products,
|
|
@@ -73,20 +66,14 @@ export const ecommercePlugin = (pluginConfig)=>async (incomingConfig)=>{
|
|
|
73
66
|
defaultCollection: defaultVariantsCollection
|
|
74
67
|
}) : defaultVariantsCollection;
|
|
75
68
|
const defaultVariantTypesCollection = createVariantTypesCollection({
|
|
76
|
-
access:
|
|
77
|
-
adminOnly: accessConfig.adminOnly,
|
|
78
|
-
publicAccess: accessConfig.publicAccess
|
|
79
|
-
},
|
|
69
|
+
access: accessConfig,
|
|
80
70
|
variantOptionsSlug: collectionSlugMap.variantOptions
|
|
81
71
|
});
|
|
82
72
|
const variantTypes = variantsConfig && typeof variantsConfig === 'object' && 'variantTypesCollectionOverride' in variantsConfig && variantsConfig.variantTypesCollectionOverride ? await variantsConfig.variantTypesCollectionOverride({
|
|
83
73
|
defaultCollection: defaultVariantTypesCollection
|
|
84
74
|
}) : defaultVariantTypesCollection;
|
|
85
75
|
const defaultVariantOptionsCollection = createVariantOptionsCollection({
|
|
86
|
-
access:
|
|
87
|
-
adminOnly: accessConfig.adminOnly,
|
|
88
|
-
publicAccess: accessConfig.publicAccess
|
|
89
|
-
},
|
|
76
|
+
access: accessConfig,
|
|
90
77
|
variantTypesSlug: collectionSlugMap.variantTypes
|
|
91
78
|
});
|
|
92
79
|
const variantOptions = variantsConfig && typeof variantsConfig === 'object' && 'variantOptionsCollectionOverride' in variantsConfig && variantsConfig.variantOptionsCollectionOverride ? await variantsConfig.variantOptionsCollectionOverride({
|
|
@@ -95,10 +82,7 @@ export const ecommercePlugin = (pluginConfig)=>async (incomingConfig)=>{
|
|
|
95
82
|
incomingConfig.collections.push(variants, variantTypes, variantOptions);
|
|
96
83
|
}
|
|
97
84
|
const defaultProductsCollection = createProductsCollection({
|
|
98
|
-
access:
|
|
99
|
-
adminOnly: accessConfig.adminOnly,
|
|
100
|
-
adminOrPublishedStatus: accessConfig.adminOrPublishedStatus
|
|
101
|
-
},
|
|
85
|
+
access: accessConfig,
|
|
102
86
|
currenciesConfig,
|
|
103
87
|
enableVariants,
|
|
104
88
|
inventory: sanitizedPluginConfig.inventory,
|
|
@@ -110,11 +94,10 @@ export const ecommercePlugin = (pluginConfig)=>async (incomingConfig)=>{
|
|
|
110
94
|
}) : defaultProductsCollection;
|
|
111
95
|
incomingConfig.collections.push(productsCollection);
|
|
112
96
|
if (sanitizedPluginConfig.carts) {
|
|
97
|
+
const cartsConfig = typeof sanitizedPluginConfig.carts === 'object' ? sanitizedPluginConfig.carts : {};
|
|
113
98
|
const defaultCartsCollection = createCartsCollection({
|
|
114
|
-
access:
|
|
115
|
-
|
|
116
|
-
publicAccess: accessConfig.publicAccess
|
|
117
|
-
},
|
|
99
|
+
access: accessConfig,
|
|
100
|
+
allowGuestCarts: cartsConfig.allowGuestCarts,
|
|
118
101
|
currenciesConfig,
|
|
119
102
|
customersSlug: collectionSlugMap.customers,
|
|
120
103
|
enableVariants: Boolean(productsConfig.variants),
|
|
@@ -129,11 +112,7 @@ export const ecommercePlugin = (pluginConfig)=>async (incomingConfig)=>{
|
|
|
129
112
|
}
|
|
130
113
|
if (sanitizedPluginConfig.orders) {
|
|
131
114
|
const defaultOrdersCollection = createOrdersCollection({
|
|
132
|
-
access:
|
|
133
|
-
adminOnly: accessConfig.adminOnly,
|
|
134
|
-
adminOnlyFieldAccess: accessConfig.adminOnlyFieldAccess,
|
|
135
|
-
adminOrCustomerOwner: accessConfig.adminOrCustomerOwner
|
|
136
|
-
},
|
|
115
|
+
access: accessConfig,
|
|
137
116
|
addressFields,
|
|
138
117
|
currenciesConfig,
|
|
139
118
|
customersSlug: collectionSlugMap.customers,
|
|
@@ -199,9 +178,7 @@ export const ecommercePlugin = (pluginConfig)=>async (incomingConfig)=>{
|
|
|
199
178
|
}
|
|
200
179
|
if (sanitizedPluginConfig.transactions) {
|
|
201
180
|
const defaultTransactionsCollection = createTransactionsCollection({
|
|
202
|
-
access:
|
|
203
|
-
adminOnly: accessConfig.adminOnly
|
|
204
|
-
},
|
|
181
|
+
access: accessConfig,
|
|
205
182
|
addressFields,
|
|
206
183
|
cartsSlug: collectionSlugMap.carts,
|
|
207
184
|
currenciesConfig,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Config, Endpoint } from 'payload'\n\nimport { deepMergeSimple } from 'payload/shared'\n\nimport type { EcommercePluginConfig, SanitizedEcommercePluginConfig } from './types/index.js'\n\nimport { createAddressesCollection } from './collections/addresses/createAddressesCollection.js'\nimport { createCartsCollection } from './collections/carts/createCartsCollection.js'\nimport { createOrdersCollection } from './collections/orders/createOrdersCollection.js'\nimport { createProductsCollection } from './collections/products/createProductsCollection.js'\nimport { createTransactionsCollection } from './collections/transactions/createTransactionsCollection.js'\nimport { createVariantOptionsCollection } from './collections/variants/createVariantOptionsCollection.js'\nimport { createVariantsCollection } from './collections/variants/createVariantsCollection/index.js'\nimport { createVariantTypesCollection } from './collections/variants/createVariantTypesCollection.js'\nimport { confirmOrderHandler } from './endpoints/confirmOrder.js'\nimport { initiatePaymentHandler } from './endpoints/initiatePayment.js'\nimport { translations } from './translations/index.js'\nimport { getCollectionSlugMap } from './utilities/getCollectionSlugMap.js'\nimport { pushTypeScriptProperties } from './utilities/pushTypeScriptProperties.js'\nimport { sanitizePluginConfig } from './utilities/sanitizePluginConfig.js'\n\nexport const ecommercePlugin =\n (pluginConfig?: EcommercePluginConfig) =>\n async (incomingConfig: Config): Promise<Config> => {\n if (!pluginConfig) {\n return incomingConfig\n }\n\n const sanitizedPluginConfig = sanitizePluginConfig({ pluginConfig })\n /**\n * Used to keep track of the slugs of collections in case they are overridden by the user.\n */\n const collectionSlugMap = getCollectionSlugMap({ sanitizedPluginConfig })\n\n const accessConfig = sanitizedPluginConfig.access\n\n // Ensure collections exists\n if (!incomingConfig.collections) {\n incomingConfig.collections = []\n }\n\n // Controls whether variants are enabled in the plugin. This is toggled to true under products config\n let enableVariants = false\n\n const currenciesConfig: Required<SanitizedEcommercePluginConfig['currencies']> =\n sanitizedPluginConfig.currencies\n\n let addressFields\n\n if (sanitizedPluginConfig.addresses) {\n addressFields = sanitizedPluginConfig.addresses.addressFields\n\n const supportedCountries = sanitizedPluginConfig.addresses.supportedCountries\n\n const defaultAddressesCollection = createAddressesCollection({\n access: {\n adminOrCustomerOwner: accessConfig.adminOrCustomerOwner,\n authenticatedOnly: accessConfig.authenticatedOnly,\n customerOnlyFieldAccess: accessConfig.customerOnlyFieldAccess,\n },\n addressFields,\n customersSlug: collectionSlugMap.customers,\n supportedCountries,\n })\n\n const addressesCollection =\n sanitizedPluginConfig.addresses &&\n typeof sanitizedPluginConfig.addresses === 'object' &&\n 'addressesCollectionOverride' in sanitizedPluginConfig.addresses &&\n sanitizedPluginConfig.addresses.addressesCollectionOverride\n ? await sanitizedPluginConfig.addresses.addressesCollectionOverride({\n defaultCollection: defaultAddressesCollection,\n })\n : defaultAddressesCollection\n\n incomingConfig.collections.push(addressesCollection)\n }\n\n if (sanitizedPluginConfig.products) {\n const productsConfig =\n typeof sanitizedPluginConfig.products === 'boolean'\n ? {\n variants: true,\n }\n : sanitizedPluginConfig.products\n\n enableVariants = Boolean(productsConfig.variants)\n\n if (productsConfig.variants) {\n const variantsConfig =\n typeof productsConfig.variants === 'boolean' ? undefined : productsConfig.variants\n\n const defaultVariantsCollection = createVariantsCollection({\n access: {\n adminOnly: accessConfig.adminOnly,\n adminOrPublishedStatus: accessConfig.adminOrPublishedStatus,\n },\n currenciesConfig,\n inventory: sanitizedPluginConfig.inventory,\n productsSlug: collectionSlugMap.products,\n variantOptionsSlug: collectionSlugMap.variantOptions,\n })\n\n const variants =\n variantsConfig &&\n typeof variantsConfig === 'object' &&\n 'variantsCollectionOverride' in variantsConfig &&\n variantsConfig.variantsCollectionOverride\n ? await variantsConfig.variantsCollectionOverride({\n defaultCollection: defaultVariantsCollection,\n })\n : defaultVariantsCollection\n\n const defaultVariantTypesCollection = createVariantTypesCollection({\n access: {\n adminOnly: accessConfig.adminOnly,\n publicAccess: accessConfig.publicAccess,\n },\n variantOptionsSlug: collectionSlugMap.variantOptions,\n })\n\n const variantTypes =\n variantsConfig &&\n typeof variantsConfig === 'object' &&\n 'variantTypesCollectionOverride' in variantsConfig &&\n variantsConfig.variantTypesCollectionOverride\n ? await variantsConfig.variantTypesCollectionOverride({\n defaultCollection: defaultVariantTypesCollection,\n })\n : defaultVariantTypesCollection\n\n const defaultVariantOptionsCollection = createVariantOptionsCollection({\n access: {\n adminOnly: accessConfig.adminOnly,\n publicAccess: accessConfig.publicAccess,\n },\n variantTypesSlug: collectionSlugMap.variantTypes,\n })\n\n const variantOptions =\n variantsConfig &&\n typeof variantsConfig === 'object' &&\n 'variantOptionsCollectionOverride' in variantsConfig &&\n variantsConfig.variantOptionsCollectionOverride\n ? await variantsConfig.variantOptionsCollectionOverride({\n defaultCollection: defaultVariantOptionsCollection,\n })\n : defaultVariantOptionsCollection\n\n incomingConfig.collections.push(variants, variantTypes, variantOptions)\n }\n\n const defaultProductsCollection = createProductsCollection({\n access: {\n adminOnly: accessConfig.adminOnly,\n adminOrPublishedStatus: accessConfig.adminOrPublishedStatus,\n },\n currenciesConfig,\n enableVariants,\n inventory: sanitizedPluginConfig.inventory,\n variantsSlug: collectionSlugMap.variants,\n variantTypesSlug: collectionSlugMap.variantTypes,\n })\n\n const productsCollection =\n productsConfig &&\n 'productsCollectionOverride' in productsConfig &&\n productsConfig.productsCollectionOverride\n ? await productsConfig.productsCollectionOverride({\n defaultCollection: defaultProductsCollection,\n })\n : defaultProductsCollection\n\n incomingConfig.collections.push(productsCollection)\n\n if (sanitizedPluginConfig.carts) {\n const defaultCartsCollection = createCartsCollection({\n access: {\n adminOrCustomerOwner: accessConfig.adminOrCustomerOwner,\n publicAccess: accessConfig.publicAccess,\n },\n currenciesConfig,\n customersSlug: collectionSlugMap.customers,\n enableVariants: Boolean(productsConfig.variants),\n productsSlug: collectionSlugMap.products,\n variantsSlug: collectionSlugMap.variants,\n })\n\n const cartsCollection =\n sanitizedPluginConfig.carts &&\n typeof sanitizedPluginConfig.carts === 'object' &&\n 'cartsCollectionOverride' in sanitizedPluginConfig.carts &&\n sanitizedPluginConfig.carts.cartsCollectionOverride\n ? await sanitizedPluginConfig.carts.cartsCollectionOverride({\n defaultCollection: defaultCartsCollection,\n })\n : defaultCartsCollection\n\n incomingConfig.collections.push(cartsCollection)\n }\n }\n\n if (sanitizedPluginConfig.orders) {\n const defaultOrdersCollection = createOrdersCollection({\n access: {\n adminOnly: accessConfig.adminOnly,\n adminOnlyFieldAccess: accessConfig.adminOnlyFieldAccess,\n adminOrCustomerOwner: accessConfig.adminOrCustomerOwner,\n },\n addressFields,\n currenciesConfig,\n customersSlug: collectionSlugMap.customers,\n enableVariants,\n productsSlug: collectionSlugMap.products,\n variantsSlug: collectionSlugMap.variants,\n })\n\n const ordersCollection =\n sanitizedPluginConfig.orders &&\n typeof sanitizedPluginConfig.orders === 'object' &&\n 'ordersCollectionOverride' in sanitizedPluginConfig.orders &&\n sanitizedPluginConfig.orders.ordersCollectionOverride\n ? await sanitizedPluginConfig.orders.ordersCollectionOverride({\n defaultCollection: defaultOrdersCollection,\n })\n : defaultOrdersCollection\n\n incomingConfig.collections.push(ordersCollection)\n }\n\n const paymentMethods = sanitizedPluginConfig.payments.paymentMethods\n\n if (sanitizedPluginConfig.payments) {\n if (paymentMethods.length) {\n if (!Array.isArray(incomingConfig.endpoints)) {\n incomingConfig.endpoints = []\n }\n\n const productsValidation =\n (typeof sanitizedPluginConfig.products === 'object' &&\n sanitizedPluginConfig.products.validation) ||\n undefined\n\n paymentMethods.forEach((paymentMethod) => {\n const methodPath = `/payments/${paymentMethod.name}`\n const endpoints: Endpoint[] = []\n\n const initiatePayment: Endpoint = {\n handler: initiatePaymentHandler({\n currenciesConfig,\n inventory: sanitizedPluginConfig.inventory,\n paymentMethod,\n productsSlug: collectionSlugMap.products,\n productsValidation,\n transactionsSlug: collectionSlugMap.transactions,\n variantsSlug: collectionSlugMap.variants,\n }),\n method: 'post',\n path: `${methodPath}/initiate`,\n }\n\n const confirmOrder: Endpoint = {\n handler: confirmOrderHandler({\n cartsSlug: collectionSlugMap.carts,\n currenciesConfig,\n ordersSlug: collectionSlugMap.orders,\n paymentMethod,\n productsValidation,\n transactionsSlug: collectionSlugMap.transactions,\n }),\n method: 'post',\n path: `${methodPath}/confirm-order`,\n }\n\n endpoints.push(initiatePayment, confirmOrder)\n\n // Attach any additional endpoints defined in the payment method\n if (paymentMethod.endpoints && paymentMethod.endpoints.length > 0) {\n const methodEndpoints = paymentMethod.endpoints.map((endpoint) => {\n const path = endpoint.path.startsWith('/') ? endpoint.path : `/${endpoint.path}`\n\n return {\n ...endpoint,\n path: `${methodPath}${path}`,\n }\n })\n\n endpoints.push(...methodEndpoints)\n }\n\n incomingConfig.endpoints!.push(...endpoints)\n })\n }\n }\n\n if (sanitizedPluginConfig.transactions) {\n const defaultTransactionsCollection = createTransactionsCollection({\n access: {\n adminOnly: accessConfig.adminOnly,\n },\n addressFields,\n cartsSlug: collectionSlugMap.carts,\n currenciesConfig,\n customersSlug: collectionSlugMap.customers,\n enableVariants,\n ordersSlug: collectionSlugMap.orders,\n paymentMethods,\n productsSlug: collectionSlugMap.products,\n variantsSlug: collectionSlugMap.variants,\n })\n\n const transactionsCollection =\n sanitizedPluginConfig.transactions &&\n typeof sanitizedPluginConfig.transactions === 'object' &&\n 'transactionsCollectionOverride' in sanitizedPluginConfig.transactions &&\n sanitizedPluginConfig.transactions.transactionsCollectionOverride\n ? await sanitizedPluginConfig.transactions.transactionsCollectionOverride({\n defaultCollection: defaultTransactionsCollection,\n })\n : defaultTransactionsCollection\n\n incomingConfig.collections.push(transactionsCollection)\n }\n\n if (!incomingConfig.i18n) {\n incomingConfig.i18n = {}\n }\n\n if (!incomingConfig.i18n?.translations) {\n incomingConfig.i18n.translations = {}\n }\n\n incomingConfig.i18n.translations = deepMergeSimple(\n translations,\n incomingConfig.i18n?.translations,\n )\n\n if (!incomingConfig.typescript) {\n incomingConfig.typescript = {}\n }\n\n if (!incomingConfig.typescript.schema) {\n incomingConfig.typescript.schema = []\n }\n\n incomingConfig.typescript.schema.push((args) =>\n pushTypeScriptProperties({\n ...args,\n collectionSlugMap,\n sanitizedPluginConfig,\n }),\n )\n\n return incomingConfig\n }\n\nexport {\n createAddressesCollection,\n createCartsCollection,\n createOrdersCollection,\n createProductsCollection,\n createTransactionsCollection,\n createVariantOptionsCollection,\n createVariantsCollection,\n createVariantTypesCollection,\n}\n\nexport { EUR, GBP, USD } from './currencies/index.js'\nexport { amountField } from './fields/amountField.js'\nexport { currencyField } from './fields/currencyField.js'\nexport { pricesField } from './fields/pricesField.js'\nexport { statusField } from './fields/statusField.js'\nexport { variantsFields } from './fields/variantsFields.js'\n"],"names":["deepMergeSimple","createAddressesCollection","createCartsCollection","createOrdersCollection","createProductsCollection","createTransactionsCollection","createVariantOptionsCollection","createVariantsCollection","createVariantTypesCollection","confirmOrderHandler","initiatePaymentHandler","translations","getCollectionSlugMap","pushTypeScriptProperties","sanitizePluginConfig","ecommercePlugin","pluginConfig","incomingConfig","sanitizedPluginConfig","collectionSlugMap","accessConfig","access","collections","enableVariants","currenciesConfig","currencies","addressFields","addresses","supportedCountries","defaultAddressesCollection","adminOrCustomerOwner","authenticatedOnly","customerOnlyFieldAccess","customersSlug","customers","addressesCollection","addressesCollectionOverride","defaultCollection","push","products","productsConfig","variants","Boolean","variantsConfig","undefined","defaultVariantsCollection","adminOnly","adminOrPublishedStatus","inventory","productsSlug","variantOptionsSlug","variantOptions","variantsCollectionOverride","defaultVariantTypesCollection","publicAccess","variantTypes","variantTypesCollectionOverride","defaultVariantOptionsCollection","variantTypesSlug","variantOptionsCollectionOverride","defaultProductsCollection","variantsSlug","productsCollection","productsCollectionOverride","carts","defaultCartsCollection","cartsCollection","cartsCollectionOverride","orders","defaultOrdersCollection","adminOnlyFieldAccess","ordersCollection","ordersCollectionOverride","paymentMethods","payments","length","Array","isArray","endpoints","productsValidation","validation","forEach","paymentMethod","methodPath","name","initiatePayment","handler","transactionsSlug","transactions","method","path","confirmOrder","cartsSlug","ordersSlug","methodEndpoints","map","endpoint","startsWith","defaultTransactionsCollection","transactionsCollection","transactionsCollectionOverride","i18n","typescript","schema","args","EUR","GBP","USD","amountField","currencyField","pricesField","statusField","variantsFields"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Config, Endpoint } from 'payload'\n\nimport { deepMergeSimple } from 'payload/shared'\n\nimport type { EcommercePluginConfig, SanitizedEcommercePluginConfig } from './types/index.js'\n\nimport { createAddressesCollection } from './collections/addresses/createAddressesCollection.js'\nimport { createCartsCollection } from './collections/carts/createCartsCollection.js'\nimport { createOrdersCollection } from './collections/orders/createOrdersCollection.js'\nimport { createProductsCollection } from './collections/products/createProductsCollection.js'\nimport { createTransactionsCollection } from './collections/transactions/createTransactionsCollection.js'\nimport { createVariantOptionsCollection } from './collections/variants/createVariantOptionsCollection.js'\nimport { createVariantsCollection } from './collections/variants/createVariantsCollection/index.js'\nimport { createVariantTypesCollection } from './collections/variants/createVariantTypesCollection.js'\nimport { confirmOrderHandler } from './endpoints/confirmOrder.js'\nimport { initiatePaymentHandler } from './endpoints/initiatePayment.js'\nimport { translations } from './translations/index.js'\nimport { getCollectionSlugMap } from './utilities/getCollectionSlugMap.js'\nimport { pushTypeScriptProperties } from './utilities/pushTypeScriptProperties.js'\nimport { sanitizePluginConfig } from './utilities/sanitizePluginConfig.js'\n\nexport const ecommercePlugin =\n (pluginConfig?: EcommercePluginConfig) =>\n async (incomingConfig: Config): Promise<Config> => {\n if (!pluginConfig) {\n return incomingConfig\n }\n\n const sanitizedPluginConfig = sanitizePluginConfig({ pluginConfig })\n /**\n * Used to keep track of the slugs of collections in case they are overridden by the user.\n */\n const collectionSlugMap = getCollectionSlugMap({ sanitizedPluginConfig })\n\n const accessConfig = sanitizedPluginConfig.access\n\n // Ensure collections exists\n if (!incomingConfig.collections) {\n incomingConfig.collections = []\n }\n\n // Controls whether variants are enabled in the plugin. This is toggled to true under products config\n let enableVariants = false\n\n const currenciesConfig: Required<SanitizedEcommercePluginConfig['currencies']> =\n sanitizedPluginConfig.currencies\n\n let addressFields\n\n if (sanitizedPluginConfig.addresses) {\n addressFields = sanitizedPluginConfig.addresses.addressFields\n\n const supportedCountries = sanitizedPluginConfig.addresses.supportedCountries\n\n const defaultAddressesCollection = createAddressesCollection({\n access: accessConfig,\n addressFields,\n customersSlug: collectionSlugMap.customers,\n supportedCountries,\n })\n\n const addressesCollection =\n sanitizedPluginConfig.addresses &&\n typeof sanitizedPluginConfig.addresses === 'object' &&\n 'addressesCollectionOverride' in sanitizedPluginConfig.addresses &&\n sanitizedPluginConfig.addresses.addressesCollectionOverride\n ? await sanitizedPluginConfig.addresses.addressesCollectionOverride({\n defaultCollection: defaultAddressesCollection,\n })\n : defaultAddressesCollection\n\n incomingConfig.collections.push(addressesCollection)\n }\n\n if (sanitizedPluginConfig.products) {\n const productsConfig =\n typeof sanitizedPluginConfig.products === 'boolean'\n ? {\n variants: true,\n }\n : sanitizedPluginConfig.products\n\n enableVariants = Boolean(productsConfig.variants)\n\n if (productsConfig.variants) {\n const variantsConfig =\n typeof productsConfig.variants === 'boolean' ? undefined : productsConfig.variants\n\n const defaultVariantsCollection = createVariantsCollection({\n access: accessConfig,\n currenciesConfig,\n inventory: sanitizedPluginConfig.inventory,\n productsSlug: collectionSlugMap.products,\n variantOptionsSlug: collectionSlugMap.variantOptions,\n })\n\n const variants =\n variantsConfig &&\n typeof variantsConfig === 'object' &&\n 'variantsCollectionOverride' in variantsConfig &&\n variantsConfig.variantsCollectionOverride\n ? await variantsConfig.variantsCollectionOverride({\n defaultCollection: defaultVariantsCollection,\n })\n : defaultVariantsCollection\n\n const defaultVariantTypesCollection = createVariantTypesCollection({\n access: accessConfig,\n variantOptionsSlug: collectionSlugMap.variantOptions,\n })\n\n const variantTypes =\n variantsConfig &&\n typeof variantsConfig === 'object' &&\n 'variantTypesCollectionOverride' in variantsConfig &&\n variantsConfig.variantTypesCollectionOverride\n ? await variantsConfig.variantTypesCollectionOverride({\n defaultCollection: defaultVariantTypesCollection,\n })\n : defaultVariantTypesCollection\n\n const defaultVariantOptionsCollection = createVariantOptionsCollection({\n access: accessConfig,\n variantTypesSlug: collectionSlugMap.variantTypes,\n })\n\n const variantOptions =\n variantsConfig &&\n typeof variantsConfig === 'object' &&\n 'variantOptionsCollectionOverride' in variantsConfig &&\n variantsConfig.variantOptionsCollectionOverride\n ? await variantsConfig.variantOptionsCollectionOverride({\n defaultCollection: defaultVariantOptionsCollection,\n })\n : defaultVariantOptionsCollection\n\n incomingConfig.collections.push(variants, variantTypes, variantOptions)\n }\n\n const defaultProductsCollection = createProductsCollection({\n access: accessConfig,\n currenciesConfig,\n enableVariants,\n inventory: sanitizedPluginConfig.inventory,\n variantsSlug: collectionSlugMap.variants,\n variantTypesSlug: collectionSlugMap.variantTypes,\n })\n\n const productsCollection =\n productsConfig &&\n 'productsCollectionOverride' in productsConfig &&\n productsConfig.productsCollectionOverride\n ? await productsConfig.productsCollectionOverride({\n defaultCollection: defaultProductsCollection,\n })\n : defaultProductsCollection\n\n incomingConfig.collections.push(productsCollection)\n\n if (sanitizedPluginConfig.carts) {\n const cartsConfig =\n typeof sanitizedPluginConfig.carts === 'object' ? sanitizedPluginConfig.carts : {}\n\n const defaultCartsCollection = createCartsCollection({\n access: accessConfig,\n allowGuestCarts: cartsConfig.allowGuestCarts,\n currenciesConfig,\n customersSlug: collectionSlugMap.customers,\n enableVariants: Boolean(productsConfig.variants),\n productsSlug: collectionSlugMap.products,\n variantsSlug: collectionSlugMap.variants,\n })\n\n const cartsCollection =\n sanitizedPluginConfig.carts &&\n typeof sanitizedPluginConfig.carts === 'object' &&\n 'cartsCollectionOverride' in sanitizedPluginConfig.carts &&\n sanitizedPluginConfig.carts.cartsCollectionOverride\n ? await sanitizedPluginConfig.carts.cartsCollectionOverride({\n defaultCollection: defaultCartsCollection,\n })\n : defaultCartsCollection\n\n incomingConfig.collections.push(cartsCollection)\n }\n }\n\n if (sanitizedPluginConfig.orders) {\n const defaultOrdersCollection = createOrdersCollection({\n access: accessConfig,\n addressFields,\n currenciesConfig,\n customersSlug: collectionSlugMap.customers,\n enableVariants,\n productsSlug: collectionSlugMap.products,\n variantsSlug: collectionSlugMap.variants,\n })\n\n const ordersCollection =\n sanitizedPluginConfig.orders &&\n typeof sanitizedPluginConfig.orders === 'object' &&\n 'ordersCollectionOverride' in sanitizedPluginConfig.orders &&\n sanitizedPluginConfig.orders.ordersCollectionOverride\n ? await sanitizedPluginConfig.orders.ordersCollectionOverride({\n defaultCollection: defaultOrdersCollection,\n })\n : defaultOrdersCollection\n\n incomingConfig.collections.push(ordersCollection)\n }\n\n const paymentMethods = sanitizedPluginConfig.payments.paymentMethods\n\n if (sanitizedPluginConfig.payments) {\n if (paymentMethods.length) {\n if (!Array.isArray(incomingConfig.endpoints)) {\n incomingConfig.endpoints = []\n }\n\n const productsValidation =\n (typeof sanitizedPluginConfig.products === 'object' &&\n sanitizedPluginConfig.products.validation) ||\n undefined\n\n paymentMethods.forEach((paymentMethod) => {\n const methodPath = `/payments/${paymentMethod.name}`\n const endpoints: Endpoint[] = []\n\n const initiatePayment: Endpoint = {\n handler: initiatePaymentHandler({\n currenciesConfig,\n inventory: sanitizedPluginConfig.inventory,\n paymentMethod,\n productsSlug: collectionSlugMap.products,\n productsValidation,\n transactionsSlug: collectionSlugMap.transactions,\n variantsSlug: collectionSlugMap.variants,\n }),\n method: 'post',\n path: `${methodPath}/initiate`,\n }\n\n const confirmOrder: Endpoint = {\n handler: confirmOrderHandler({\n cartsSlug: collectionSlugMap.carts,\n currenciesConfig,\n ordersSlug: collectionSlugMap.orders,\n paymentMethod,\n productsValidation,\n transactionsSlug: collectionSlugMap.transactions,\n }),\n method: 'post',\n path: `${methodPath}/confirm-order`,\n }\n\n endpoints.push(initiatePayment, confirmOrder)\n\n // Attach any additional endpoints defined in the payment method\n if (paymentMethod.endpoints && paymentMethod.endpoints.length > 0) {\n const methodEndpoints = paymentMethod.endpoints.map((endpoint) => {\n const path = endpoint.path.startsWith('/') ? endpoint.path : `/${endpoint.path}`\n\n return {\n ...endpoint,\n path: `${methodPath}${path}`,\n }\n })\n\n endpoints.push(...methodEndpoints)\n }\n\n incomingConfig.endpoints!.push(...endpoints)\n })\n }\n }\n\n if (sanitizedPluginConfig.transactions) {\n const defaultTransactionsCollection = createTransactionsCollection({\n access: accessConfig,\n addressFields,\n cartsSlug: collectionSlugMap.carts,\n currenciesConfig,\n customersSlug: collectionSlugMap.customers,\n enableVariants,\n ordersSlug: collectionSlugMap.orders,\n paymentMethods,\n productsSlug: collectionSlugMap.products,\n variantsSlug: collectionSlugMap.variants,\n })\n\n const transactionsCollection =\n sanitizedPluginConfig.transactions &&\n typeof sanitizedPluginConfig.transactions === 'object' &&\n 'transactionsCollectionOverride' in sanitizedPluginConfig.transactions &&\n sanitizedPluginConfig.transactions.transactionsCollectionOverride\n ? await sanitizedPluginConfig.transactions.transactionsCollectionOverride({\n defaultCollection: defaultTransactionsCollection,\n })\n : defaultTransactionsCollection\n\n incomingConfig.collections.push(transactionsCollection)\n }\n\n if (!incomingConfig.i18n) {\n incomingConfig.i18n = {}\n }\n\n if (!incomingConfig.i18n?.translations) {\n incomingConfig.i18n.translations = {}\n }\n\n incomingConfig.i18n.translations = deepMergeSimple(\n translations,\n incomingConfig.i18n?.translations,\n )\n\n if (!incomingConfig.typescript) {\n incomingConfig.typescript = {}\n }\n\n if (!incomingConfig.typescript.schema) {\n incomingConfig.typescript.schema = []\n }\n\n incomingConfig.typescript.schema.push((args) =>\n pushTypeScriptProperties({\n ...args,\n collectionSlugMap,\n sanitizedPluginConfig,\n }),\n )\n\n return incomingConfig\n }\n\nexport {\n createAddressesCollection,\n createCartsCollection,\n createOrdersCollection,\n createProductsCollection,\n createTransactionsCollection,\n createVariantOptionsCollection,\n createVariantsCollection,\n createVariantTypesCollection,\n}\n\nexport { EUR, GBP, USD } from './currencies/index.js'\nexport { amountField } from './fields/amountField.js'\nexport { currencyField } from './fields/currencyField.js'\nexport { pricesField } from './fields/pricesField.js'\nexport { statusField } from './fields/statusField.js'\nexport { variantsFields } from './fields/variantsFields.js'\n"],"names":["deepMergeSimple","createAddressesCollection","createCartsCollection","createOrdersCollection","createProductsCollection","createTransactionsCollection","createVariantOptionsCollection","createVariantsCollection","createVariantTypesCollection","confirmOrderHandler","initiatePaymentHandler","translations","getCollectionSlugMap","pushTypeScriptProperties","sanitizePluginConfig","ecommercePlugin","pluginConfig","incomingConfig","sanitizedPluginConfig","collectionSlugMap","accessConfig","access","collections","enableVariants","currenciesConfig","currencies","addressFields","addresses","supportedCountries","defaultAddressesCollection","customersSlug","customers","addressesCollection","addressesCollectionOverride","defaultCollection","push","products","productsConfig","variants","Boolean","variantsConfig","undefined","defaultVariantsCollection","inventory","productsSlug","variantOptionsSlug","variantOptions","variantsCollectionOverride","defaultVariantTypesCollection","variantTypes","variantTypesCollectionOverride","defaultVariantOptionsCollection","variantTypesSlug","variantOptionsCollectionOverride","defaultProductsCollection","variantsSlug","productsCollection","productsCollectionOverride","carts","cartsConfig","defaultCartsCollection","allowGuestCarts","cartsCollection","cartsCollectionOverride","orders","defaultOrdersCollection","ordersCollection","ordersCollectionOverride","paymentMethods","payments","length","Array","isArray","endpoints","productsValidation","validation","forEach","paymentMethod","methodPath","name","initiatePayment","handler","transactionsSlug","transactions","method","path","confirmOrder","cartsSlug","ordersSlug","methodEndpoints","map","endpoint","startsWith","defaultTransactionsCollection","transactionsCollection","transactionsCollectionOverride","i18n","typescript","schema","args","EUR","GBP","USD","amountField","currencyField","pricesField","statusField","variantsFields"],"mappings":"AAEA,SAASA,eAAe,QAAQ,iBAAgB;AAIhD,SAASC,yBAAyB,QAAQ,uDAAsD;AAChG,SAASC,qBAAqB,QAAQ,+CAA8C;AACpF,SAASC,sBAAsB,QAAQ,iDAAgD;AACvF,SAASC,wBAAwB,QAAQ,qDAAoD;AAC7F,SAASC,4BAA4B,QAAQ,6DAA4D;AACzG,SAASC,8BAA8B,QAAQ,2DAA0D;AACzG,SAASC,wBAAwB,QAAQ,2DAA0D;AACnG,SAASC,4BAA4B,QAAQ,yDAAwD;AACrG,SAASC,mBAAmB,QAAQ,8BAA6B;AACjE,SAASC,sBAAsB,QAAQ,iCAAgC;AACvE,SAASC,YAAY,QAAQ,0BAAyB;AACtD,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,wBAAwB,QAAQ,0CAAyC;AAClF,SAASC,oBAAoB,QAAQ,sCAAqC;AAE1E,OAAO,MAAMC,kBACX,CAACC,eACD,OAAOC;QACL,IAAI,CAACD,cAAc;YACjB,OAAOC;QACT;QAEA,MAAMC,wBAAwBJ,qBAAqB;YAAEE;QAAa;QAClE;;KAEC,GACD,MAAMG,oBAAoBP,qBAAqB;YAAEM;QAAsB;QAEvE,MAAME,eAAeF,sBAAsBG,MAAM;QAEjD,4BAA4B;QAC5B,IAAI,CAACJ,eAAeK,WAAW,EAAE;YAC/BL,eAAeK,WAAW,GAAG,EAAE;QACjC;QAEA,qGAAqG;QACrG,IAAIC,iBAAiB;QAErB,MAAMC,mBACJN,sBAAsBO,UAAU;QAElC,IAAIC;QAEJ,IAAIR,sBAAsBS,SAAS,EAAE;YACnCD,gBAAgBR,sBAAsBS,SAAS,CAACD,aAAa;YAE7D,MAAME,qBAAqBV,sBAAsBS,SAAS,CAACC,kBAAkB;YAE7E,MAAMC,6BAA6B5B,0BAA0B;gBAC3DoB,QAAQD;gBACRM;gBACAI,eAAeX,kBAAkBY,SAAS;gBAC1CH;YACF;YAEA,MAAMI,sBACJd,sBAAsBS,SAAS,IAC/B,OAAOT,sBAAsBS,SAAS,KAAK,YAC3C,iCAAiCT,sBAAsBS,SAAS,IAChET,sBAAsBS,SAAS,CAACM,2BAA2B,GACvD,MAAMf,sBAAsBS,SAAS,CAACM,2BAA2B,CAAC;gBAChEC,mBAAmBL;YACrB,KACAA;YAENZ,eAAeK,WAAW,CAACa,IAAI,CAACH;QAClC;QAEA,IAAId,sBAAsBkB,QAAQ,EAAE;YAClC,MAAMC,iBACJ,OAAOnB,sBAAsBkB,QAAQ,KAAK,YACtC;gBACEE,UAAU;YACZ,IACApB,sBAAsBkB,QAAQ;YAEpCb,iBAAiBgB,QAAQF,eAAeC,QAAQ;YAEhD,IAAID,eAAeC,QAAQ,EAAE;gBAC3B,MAAME,iBACJ,OAAOH,eAAeC,QAAQ,KAAK,YAAYG,YAAYJ,eAAeC,QAAQ;gBAEpF,MAAMI,4BAA4BnC,yBAAyB;oBACzDc,QAAQD;oBACRI;oBACAmB,WAAWzB,sBAAsByB,SAAS;oBAC1CC,cAAczB,kBAAkBiB,QAAQ;oBACxCS,oBAAoB1B,kBAAkB2B,cAAc;gBACtD;gBAEA,MAAMR,WACJE,kBACA,OAAOA,mBAAmB,YAC1B,gCAAgCA,kBAChCA,eAAeO,0BAA0B,GACrC,MAAMP,eAAeO,0BAA0B,CAAC;oBAC9Cb,mBAAmBQ;gBACrB,KACAA;gBAEN,MAAMM,gCAAgCxC,6BAA6B;oBACjEa,QAAQD;oBACRyB,oBAAoB1B,kBAAkB2B,cAAc;gBACtD;gBAEA,MAAMG,eACJT,kBACA,OAAOA,mBAAmB,YAC1B,oCAAoCA,kBACpCA,eAAeU,8BAA8B,GACzC,MAAMV,eAAeU,8BAA8B,CAAC;oBAClDhB,mBAAmBc;gBACrB,KACAA;gBAEN,MAAMG,kCAAkC7C,+BAA+B;oBACrEe,QAAQD;oBACRgC,kBAAkBjC,kBAAkB8B,YAAY;gBAClD;gBAEA,MAAMH,iBACJN,kBACA,OAAOA,mBAAmB,YAC1B,sCAAsCA,kBACtCA,eAAea,gCAAgC,GAC3C,MAAMb,eAAea,gCAAgC,CAAC;oBACpDnB,mBAAmBiB;gBACrB,KACAA;gBAENlC,eAAeK,WAAW,CAACa,IAAI,CAACG,UAAUW,cAAcH;YAC1D;YAEA,MAAMQ,4BAA4BlD,yBAAyB;gBACzDiB,QAAQD;gBACRI;gBACAD;gBACAoB,WAAWzB,sBAAsByB,SAAS;gBAC1CY,cAAcpC,kBAAkBmB,QAAQ;gBACxCc,kBAAkBjC,kBAAkB8B,YAAY;YAClD;YAEA,MAAMO,qBACJnB,kBACA,gCAAgCA,kBAChCA,eAAeoB,0BAA0B,GACrC,MAAMpB,eAAeoB,0BAA0B,CAAC;gBAC9CvB,mBAAmBoB;YACrB,KACAA;YAENrC,eAAeK,WAAW,CAACa,IAAI,CAACqB;YAEhC,IAAItC,sBAAsBwC,KAAK,EAAE;gBAC/B,MAAMC,cACJ,OAAOzC,sBAAsBwC,KAAK,KAAK,WAAWxC,sBAAsBwC,KAAK,GAAG,CAAC;gBAEnF,MAAME,yBAAyB1D,sBAAsB;oBACnDmB,QAAQD;oBACRyC,iBAAiBF,YAAYE,eAAe;oBAC5CrC;oBACAM,eAAeX,kBAAkBY,SAAS;oBAC1CR,gBAAgBgB,QAAQF,eAAeC,QAAQ;oBAC/CM,cAAczB,kBAAkBiB,QAAQ;oBACxCmB,cAAcpC,kBAAkBmB,QAAQ;gBAC1C;gBAEA,MAAMwB,kBACJ5C,sBAAsBwC,KAAK,IAC3B,OAAOxC,sBAAsBwC,KAAK,KAAK,YACvC,6BAA6BxC,sBAAsBwC,KAAK,IACxDxC,sBAAsBwC,KAAK,CAACK,uBAAuB,GAC/C,MAAM7C,sBAAsBwC,KAAK,CAACK,uBAAuB,CAAC;oBACxD7B,mBAAmB0B;gBACrB,KACAA;gBAEN3C,eAAeK,WAAW,CAACa,IAAI,CAAC2B;YAClC;QACF;QAEA,IAAI5C,sBAAsB8C,MAAM,EAAE;YAChC,MAAMC,0BAA0B9D,uBAAuB;gBACrDkB,QAAQD;gBACRM;gBACAF;gBACAM,eAAeX,kBAAkBY,SAAS;gBAC1CR;gBACAqB,cAAczB,kBAAkBiB,QAAQ;gBACxCmB,cAAcpC,kBAAkBmB,QAAQ;YAC1C;YAEA,MAAM4B,mBACJhD,sBAAsB8C,MAAM,IAC5B,OAAO9C,sBAAsB8C,MAAM,KAAK,YACxC,8BAA8B9C,sBAAsB8C,MAAM,IAC1D9C,sBAAsB8C,MAAM,CAACG,wBAAwB,GACjD,MAAMjD,sBAAsB8C,MAAM,CAACG,wBAAwB,CAAC;gBAC1DjC,mBAAmB+B;YACrB,KACAA;YAENhD,eAAeK,WAAW,CAACa,IAAI,CAAC+B;QAClC;QAEA,MAAME,iBAAiBlD,sBAAsBmD,QAAQ,CAACD,cAAc;QAEpE,IAAIlD,sBAAsBmD,QAAQ,EAAE;YAClC,IAAID,eAAeE,MAAM,EAAE;gBACzB,IAAI,CAACC,MAAMC,OAAO,CAACvD,eAAewD,SAAS,GAAG;oBAC5CxD,eAAewD,SAAS,GAAG,EAAE;gBAC/B;gBAEA,MAAMC,qBACJ,AAAC,OAAOxD,sBAAsBkB,QAAQ,KAAK,YACzClB,sBAAsBkB,QAAQ,CAACuC,UAAU,IAC3ClC;gBAEF2B,eAAeQ,OAAO,CAAC,CAACC;oBACtB,MAAMC,aAAa,CAAC,UAAU,EAAED,cAAcE,IAAI,EAAE;oBACpD,MAAMN,YAAwB,EAAE;oBAEhC,MAAMO,kBAA4B;wBAChCC,SAASvE,uBAAuB;4BAC9Bc;4BACAmB,WAAWzB,sBAAsByB,SAAS;4BAC1CkC;4BACAjC,cAAczB,kBAAkBiB,QAAQ;4BACxCsC;4BACAQ,kBAAkB/D,kBAAkBgE,YAAY;4BAChD5B,cAAcpC,kBAAkBmB,QAAQ;wBAC1C;wBACA8C,QAAQ;wBACRC,MAAM,GAAGP,WAAW,SAAS,CAAC;oBAChC;oBAEA,MAAMQ,eAAyB;wBAC7BL,SAASxE,oBAAoB;4BAC3B8E,WAAWpE,kBAAkBuC,KAAK;4BAClClC;4BACAgE,YAAYrE,kBAAkB6C,MAAM;4BACpCa;4BACAH;4BACAQ,kBAAkB/D,kBAAkBgE,YAAY;wBAClD;wBACAC,QAAQ;wBACRC,MAAM,GAAGP,WAAW,cAAc,CAAC;oBACrC;oBAEAL,UAAUtC,IAAI,CAAC6C,iBAAiBM;oBAEhC,gEAAgE;oBAChE,IAAIT,cAAcJ,SAAS,IAAII,cAAcJ,SAAS,CAACH,MAAM,GAAG,GAAG;wBACjE,MAAMmB,kBAAkBZ,cAAcJ,SAAS,CAACiB,GAAG,CAAC,CAACC;4BACnD,MAAMN,OAAOM,SAASN,IAAI,CAACO,UAAU,CAAC,OAAOD,SAASN,IAAI,GAAG,CAAC,CAAC,EAAEM,SAASN,IAAI,EAAE;4BAEhF,OAAO;gCACL,GAAGM,QAAQ;gCACXN,MAAM,GAAGP,aAAaO,MAAM;4BAC9B;wBACF;wBAEAZ,UAAUtC,IAAI,IAAIsD;oBACpB;oBAEAxE,eAAewD,SAAS,CAAEtC,IAAI,IAAIsC;gBACpC;YACF;QACF;QAEA,IAAIvD,sBAAsBiE,YAAY,EAAE;YACtC,MAAMU,gCAAgCxF,6BAA6B;gBACjEgB,QAAQD;gBACRM;gBACA6D,WAAWpE,kBAAkBuC,KAAK;gBAClClC;gBACAM,eAAeX,kBAAkBY,SAAS;gBAC1CR;gBACAiE,YAAYrE,kBAAkB6C,MAAM;gBACpCI;gBACAxB,cAAczB,kBAAkBiB,QAAQ;gBACxCmB,cAAcpC,kBAAkBmB,QAAQ;YAC1C;YAEA,MAAMwD,yBACJ5E,sBAAsBiE,YAAY,IAClC,OAAOjE,sBAAsBiE,YAAY,KAAK,YAC9C,oCAAoCjE,sBAAsBiE,YAAY,IACtEjE,sBAAsBiE,YAAY,CAACY,8BAA8B,GAC7D,MAAM7E,sBAAsBiE,YAAY,CAACY,8BAA8B,CAAC;gBACtE7D,mBAAmB2D;YACrB,KACAA;YAEN5E,eAAeK,WAAW,CAACa,IAAI,CAAC2D;QAClC;QAEA,IAAI,CAAC7E,eAAe+E,IAAI,EAAE;YACxB/E,eAAe+E,IAAI,GAAG,CAAC;QACzB;QAEA,IAAI,CAAC/E,eAAe+E,IAAI,EAAErF,cAAc;YACtCM,eAAe+E,IAAI,CAACrF,YAAY,GAAG,CAAC;QACtC;QAEAM,eAAe+E,IAAI,CAACrF,YAAY,GAAGX,gBACjCW,cACAM,eAAe+E,IAAI,EAAErF;QAGvB,IAAI,CAACM,eAAegF,UAAU,EAAE;YAC9BhF,eAAegF,UAAU,GAAG,CAAC;QAC/B;QAEA,IAAI,CAAChF,eAAegF,UAAU,CAACC,MAAM,EAAE;YACrCjF,eAAegF,UAAU,CAACC,MAAM,GAAG,EAAE;QACvC;QAEAjF,eAAegF,UAAU,CAACC,MAAM,CAAC/D,IAAI,CAAC,CAACgE,OACrCtF,yBAAyB;gBACvB,GAAGsF,IAAI;gBACPhF;gBACAD;YACF;QAGF,OAAOD;IACT,EAAC;AAEH,SACEhB,yBAAyB,EACzBC,qBAAqB,EACrBC,sBAAsB,EACtBC,wBAAwB,EACxBC,4BAA4B,EAC5BC,8BAA8B,EAC9BC,wBAAwB,EACxBC,4BAA4B,KAC7B;AAED,SAAS4F,GAAG,EAAEC,GAAG,EAAEC,GAAG,QAAQ,wBAAuB;AACrD,SAASC,WAAW,QAAQ,0BAAyB;AACrD,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,WAAW,QAAQ,0BAAyB;AACrD,SAASC,WAAW,QAAQ,0BAAyB;AACrD,SAASC,cAAc,QAAQ,6BAA4B"}
|
|
@@ -20,6 +20,7 @@ export declare function useCart<T extends CartsCollection>(): {
|
|
|
20
20
|
clearCart: () => Promise<void>;
|
|
21
21
|
decrementItem: (item: DefaultDocumentIDType) => Promise<void>;
|
|
22
22
|
incrementItem: (item: DefaultDocumentIDType) => Promise<void>;
|
|
23
|
+
isLoading: boolean;
|
|
23
24
|
removeItem: (item: DefaultDocumentIDType) => Promise<void>;
|
|
24
25
|
};
|
|
25
26
|
export declare const usePayments: () => {
|
|
@@ -29,6 +30,7 @@ export declare const usePayments: () => {
|
|
|
29
30
|
initiatePayment: (paymentMethodID: string, options?: {
|
|
30
31
|
additionalData: Record<string, unknown>;
|
|
31
32
|
}) => Promise<unknown>;
|
|
33
|
+
isLoading: boolean;
|
|
32
34
|
paymentMethods: import("../../types/index.js").PaymentAdapterClient[];
|
|
33
35
|
selectedPaymentMethod: string | null | undefined;
|
|
34
36
|
};
|
|
@@ -38,6 +40,7 @@ export declare function useAddresses<T extends AddressesCollection>(): {
|
|
|
38
40
|
[key: string]: any;
|
|
39
41
|
id: DefaultDocumentIDType;
|
|
40
42
|
}>) => Promise<void>;
|
|
43
|
+
isLoading: boolean;
|
|
41
44
|
updateAddress: (addressID: DefaultDocumentIDType, data: Partial<{
|
|
42
45
|
[key: string]: any;
|
|
43
46
|
id: DefaultDocumentIDType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/provider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAa,MAAM,SAAS,CAAA;AAI/D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/provider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAa,MAAM,SAAS,CAAA;AAI/D,OAAO,KASN,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EACV,mBAAmB,EAEnB,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,oBAAoB,EACrB,MAAM,sBAAsB,CAAA;AAwC7B,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA20BpD,CAAA;AAED,eAAO,MAAM,YAAY,4BAQxB,CAAA;AAED,eAAO,MAAM,WAAW;;6BAIX,IAAI,GAAG,MAAM,YAAY;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,KAAG,MAAM;;;CAkCrE,CAAA;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,eAAe;;;;;UAU/B,CAAC;;;;;;EAOlB;AAED,eAAO,MAAM,WAAW;;;;;;;;;;CASvB,CAAA;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,mBAAmB;eAOvB,CAAC,EAAE;;;;;;;;;;EACrC"}
|