@rovela-ai/sdk 0.6.1 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/api/discounts.d.ts +53 -0
- package/dist/admin/api/discounts.d.ts.map +1 -0
- package/dist/admin/api/discounts.js +339 -0
- package/dist/admin/api/discounts.js.map +1 -0
- package/dist/admin/api/index.d.ts +1 -0
- package/dist/admin/api/index.d.ts.map +1 -1
- package/dist/admin/api/index.js +2 -0
- package/dist/admin/api/index.js.map +1 -1
- package/dist/admin/api/orders.js +1 -1
- package/dist/admin/api/orders.js.map +1 -1
- package/dist/admin/api/settings.d.ts.map +1 -1
- package/dist/admin/api/settings.js +10 -0
- package/dist/admin/api/settings.js.map +1 -1
- package/dist/admin/components/CustomerAddressPanel.d.ts.map +1 -1
- package/dist/admin/components/CustomerAddressPanel.js +13 -6
- package/dist/admin/components/CustomerAddressPanel.js.map +1 -1
- package/dist/admin/components/DiscountsManager.d.ts +5 -0
- package/dist/admin/components/DiscountsManager.d.ts.map +1 -0
- package/dist/admin/components/DiscountsManager.js +363 -0
- package/dist/admin/components/DiscountsManager.js.map +1 -0
- package/dist/admin/components/ShippingSettings.d.ts.map +1 -1
- package/dist/admin/components/ShippingSettings.js +19 -2
- package/dist/admin/components/ShippingSettings.js.map +1 -1
- package/dist/admin/components/StoreSettings.d.ts.map +1 -1
- package/dist/admin/components/StoreSettings.js +8 -1
- package/dist/admin/components/StoreSettings.js.map +1 -1
- package/dist/admin/components/TaxSettings.d.ts.map +1 -1
- package/dist/admin/components/TaxSettings.js +8 -3
- package/dist/admin/components/TaxSettings.js.map +1 -1
- package/dist/admin/components/index.d.ts +2 -0
- package/dist/admin/components/index.d.ts.map +1 -1
- package/dist/admin/components/index.js +1 -0
- package/dist/admin/components/index.js.map +1 -1
- package/dist/admin/hooks/index.d.ts +2 -0
- package/dist/admin/hooks/index.d.ts.map +1 -1
- package/dist/admin/hooks/index.js +1 -0
- package/dist/admin/hooks/index.js.map +1 -1
- package/dist/admin/hooks/useAdminDiscounts.d.ts +12 -0
- package/dist/admin/hooks/useAdminDiscounts.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminDiscounts.js +77 -0
- package/dist/admin/hooks/useAdminDiscounts.js.map +1 -0
- package/dist/admin/index.d.ts +3 -3
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +2 -2
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/types.d.ts +72 -0
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/auth/components/AddressForm.d.ts.map +1 -1
- package/dist/auth/components/AddressForm.js +22 -7
- package/dist/auth/components/AddressForm.js.map +1 -1
- package/dist/checkout/api/checkout.d.ts.map +1 -1
- package/dist/checkout/api/checkout.js +15 -2
- package/dist/checkout/api/checkout.js.map +1 -1
- package/dist/checkout/api/discount.d.ts +47 -0
- package/dist/checkout/api/discount.d.ts.map +1 -0
- package/dist/checkout/api/discount.js +77 -0
- package/dist/checkout/api/discount.js.map +1 -0
- package/dist/checkout/api/index.d.ts +1 -0
- package/dist/checkout/api/index.d.ts.map +1 -1
- package/dist/checkout/api/index.js +1 -0
- package/dist/checkout/api/index.js.map +1 -1
- package/dist/checkout/api/manual.d.ts.map +1 -1
- package/dist/checkout/api/manual.js +73 -135
- package/dist/checkout/api/manual.js.map +1 -1
- package/dist/checkout/api/shipping.d.ts.map +1 -1
- package/dist/checkout/api/shipping.js +19 -27
- package/dist/checkout/api/shipping.js.map +1 -1
- package/dist/checkout/components/CheckoutFlow.d.ts.map +1 -1
- package/dist/checkout/components/CheckoutFlow.js +89 -9
- package/dist/checkout/components/CheckoutFlow.js.map +1 -1
- package/dist/checkout/components/OrderSummary.d.ts +1 -1
- package/dist/checkout/components/OrderSummary.d.ts.map +1 -1
- package/dist/checkout/components/OrderSummary.js +3 -3
- package/dist/checkout/components/OrderSummary.js.map +1 -1
- package/dist/checkout/components/ShippingForm.d.ts.map +1 -1
- package/dist/checkout/components/ShippingForm.js +42 -13
- package/dist/checkout/components/ShippingForm.js.map +1 -1
- package/dist/checkout/constants.d.ts +38 -0
- package/dist/checkout/constants.d.ts.map +1 -1
- package/dist/checkout/constants.js +39 -0
- package/dist/checkout/constants.js.map +1 -1
- package/dist/checkout/hooks/useCheckout.d.ts.map +1 -1
- package/dist/checkout/hooks/useCheckout.js +2 -0
- package/dist/checkout/hooks/useCheckout.js.map +1 -1
- package/dist/checkout/server/checkout-customer.d.ts +30 -0
- package/dist/checkout/server/checkout-customer.d.ts.map +1 -0
- package/dist/checkout/server/checkout-customer.js +47 -0
- package/dist/checkout/server/checkout-customer.js.map +1 -0
- package/dist/checkout/server/create-checkout-session.d.ts.map +1 -1
- package/dist/checkout/server/create-checkout-session.js +149 -9
- package/dist/checkout/server/create-checkout-session.js.map +1 -1
- package/dist/checkout/server/discounts.d.ts +75 -0
- package/dist/checkout/server/discounts.d.ts.map +1 -0
- package/dist/checkout/server/discounts.js +294 -0
- package/dist/checkout/server/discounts.js.map +1 -0
- package/dist/checkout/server/handle-webhook.js +34 -8
- package/dist/checkout/server/handle-webhook.js.map +1 -1
- package/dist/checkout/server/index.d.ts +4 -0
- package/dist/checkout/server/index.d.ts.map +1 -1
- package/dist/checkout/server/index.js +4 -0
- package/dist/checkout/server/index.js.map +1 -1
- package/dist/checkout/server/order-service.d.ts.map +1 -1
- package/dist/checkout/server/order-service.js +60 -10
- package/dist/checkout/server/order-service.js.map +1 -1
- package/dist/checkout/server/pricing.d.ts +164 -0
- package/dist/checkout/server/pricing.d.ts.map +1 -0
- package/dist/checkout/server/pricing.js +309 -0
- package/dist/checkout/server/pricing.js.map +1 -0
- package/dist/checkout/types.d.ts +8 -0
- package/dist/checkout/types.d.ts.map +1 -1
- package/dist/core/StoreSettingsProvider.d.ts +4 -0
- package/dist/core/StoreSettingsProvider.d.ts.map +1 -1
- package/dist/core/StoreSettingsProvider.js +6 -0
- package/dist/core/StoreSettingsProvider.js.map +1 -1
- package/dist/core/api/settings.d.ts +1 -0
- package/dist/core/api/settings.d.ts.map +1 -1
- package/dist/core/api/settings.js +2 -0
- package/dist/core/api/settings.js.map +1 -1
- package/dist/core/db/queries.d.ts +267 -19
- package/dist/core/db/queries.d.ts.map +1 -1
- package/dist/core/db/queries.js +297 -0
- package/dist/core/db/queries.js.map +1 -1
- package/dist/core/db/schema.d.ts +618 -0
- package/dist/core/db/schema.d.ts.map +1 -1
- package/dist/core/db/schema.js +78 -0
- package/dist/core/db/schema.js.map +1 -1
- package/package.json +5 -1
|
@@ -37,6 +37,8 @@ export interface StoreSettings {
|
|
|
37
37
|
logoUrl: string | null;
|
|
38
38
|
storeCurrency: string;
|
|
39
39
|
storeTimezone: string;
|
|
40
|
+
/** ISO 3166-1 alpha-2 home country (e.g. 'FR'). null = unset (forms fall back to 'US'). */
|
|
41
|
+
storeCountry: string | null;
|
|
40
42
|
taxEnabled: boolean;
|
|
41
43
|
taxRate: number;
|
|
42
44
|
shippingEnabled: boolean;
|
|
@@ -53,6 +55,8 @@ export interface StoreSettingsContextValue {
|
|
|
53
55
|
logoUrl: string | null;
|
|
54
56
|
/** Store currency code (USD, EUR, etc.) */
|
|
55
57
|
currency: string;
|
|
58
|
+
/** Store home country (ISO 3166-1 alpha-2, e.g. 'FR') — null when unset */
|
|
59
|
+
country: string | null;
|
|
56
60
|
/** Store locale for formatting */
|
|
57
61
|
locale: string;
|
|
58
62
|
/** Support email */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreSettingsProvider.d.ts","sourceRoot":"","sources":["../../src/core/StoreSettingsProvider.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAMd,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,OAAO,CAAA;IACxB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,+EAA+E;IAC/E,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,sEAAsE;IACtE,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,qBAAqB;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,yCAAyC;IACzC,SAAS,EAAE,OAAO,CAAA;IAClB,oCAAoC;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,2BAA2B;IAC3B,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAA;IAC9B,+CAA+C;IAC/C,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC/C,yDAAyD;IACzD,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,KAAK,MAAM,CAAA;IACjF,mCAAmC;IACnC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,SAAS,CAAA;IACnB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IACxC,kDAAkD;IAClD,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;
|
|
1
|
+
{"version":3,"file":"StoreSettingsProvider.d.ts","sourceRoot":"","sources":["../../src/core/StoreSettingsProvider.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAMd,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,2FAA2F;IAC3F,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,OAAO,CAAA;IACxB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,+EAA+E;IAC/E,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,sEAAsE;IACtE,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,qBAAqB;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,yCAAyC;IACzC,SAAS,EAAE,OAAO,CAAA;IAClB,oCAAoC;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,2BAA2B;IAC3B,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAA;IAC9B,+CAA+C;IAC/C,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC/C,yDAAyD;IACzD,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,KAAK,MAAM,CAAA;IACjF,mCAAmC;IACnC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,SAAS,CAAA;IACnB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IACxC,kDAAkD;IAClD,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AA+CD,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,eAAe,EACf,QAAQ,GACT,EAAE,0BAA0B,2CA+H5B;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,IAAI,yBAAyB,CAW5D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,yBAAyB,GAAG,IAAI,CAE3E"}
|
|
@@ -42,6 +42,7 @@ const DEFAULT_SETTINGS = {
|
|
|
42
42
|
logoUrl: null,
|
|
43
43
|
storeCurrency: 'USD',
|
|
44
44
|
storeTimezone: 'America/New_York',
|
|
45
|
+
storeCountry: null,
|
|
45
46
|
taxEnabled: false,
|
|
46
47
|
taxRate: 0,
|
|
47
48
|
shippingEnabled: true,
|
|
@@ -59,6 +60,9 @@ const CURRENCY_LOCALES = {
|
|
|
59
60
|
CAD: 'en-CA',
|
|
60
61
|
AUD: 'en-AU',
|
|
61
62
|
JPY: 'en-US', // English formatting for JPY
|
|
63
|
+
AED: 'en-AE',
|
|
64
|
+
INR: 'en-IN', // lakh/crore grouping
|
|
65
|
+
CNY: 'en-US', // English formatting for CNY (renders as CN¥)
|
|
62
66
|
};
|
|
63
67
|
// =============================================================================
|
|
64
68
|
// Context
|
|
@@ -87,6 +91,7 @@ export function StoreSettingsProvider({ children, initialSettings, fallback, })
|
|
|
87
91
|
logoUrl: data.settings?.logoUrl ?? DEFAULT_SETTINGS.logoUrl,
|
|
88
92
|
storeCurrency: data.settings?.storeCurrency || DEFAULT_SETTINGS.storeCurrency,
|
|
89
93
|
storeTimezone: data.settings?.storeTimezone || DEFAULT_SETTINGS.storeTimezone,
|
|
94
|
+
storeCountry: data.settings?.storeCountry ?? DEFAULT_SETTINGS.storeCountry,
|
|
90
95
|
taxEnabled: data.settings?.taxEnabled ?? DEFAULT_SETTINGS.taxEnabled,
|
|
91
96
|
taxRate: data.settings?.taxRate ?? DEFAULT_SETTINGS.taxRate,
|
|
92
97
|
shippingEnabled: data.settings?.shippingEnabled ?? DEFAULT_SETTINGS.shippingEnabled,
|
|
@@ -153,6 +158,7 @@ export function StoreSettingsProvider({ children, initialSettings, fallback, })
|
|
|
153
158
|
storeName: settings?.storeName || fallback?.storeName || DEFAULT_SETTINGS.storeName,
|
|
154
159
|
logoUrl: settings?.logoUrl ?? DEFAULT_SETTINGS.logoUrl,
|
|
155
160
|
currency: settings?.storeCurrency || fallback?.currency || DEFAULT_SETTINGS.storeCurrency,
|
|
161
|
+
country: settings?.storeCountry ?? null,
|
|
156
162
|
locale: CURRENCY_LOCALES[settings?.storeCurrency || ''] || fallback?.locale || DEFAULT_LOCALE,
|
|
157
163
|
supportEmail: settings?.storeEmail || fallback?.supportEmail || '',
|
|
158
164
|
isLoading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreSettingsProvider.js","sourceRoot":"","sources":["../../src/core/StoreSettingsProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,OAAO,GAER,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"StoreSettingsProvider.js","sourceRoot":"","sources":["../../src/core/StoreSettingsProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ interface PublicSettingsResponse {
|
|
|
22
22
|
logoUrl: string | null;
|
|
23
23
|
storeCurrency: string | null;
|
|
24
24
|
storeTimezone: string | null;
|
|
25
|
+
storeCountry: string | null;
|
|
25
26
|
taxIncludedInPrices: boolean | null;
|
|
26
27
|
shippingEnabled: boolean | null;
|
|
27
28
|
freeShippingThreshold: number | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/core/api/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAO1C,UAAU,sBAAsB;IAC9B,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAA;QACnC,eAAe,EAAE,OAAO,GAAG,IAAI,CAAA;QAC/B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;QACpC,mBAAmB,EAAE,MAAM,EAAE,CAAA;QAC7B,aAAa,EAAE,OAAO,CAAA;KACvB,CAAA;CACF;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/core/api/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAO1C,UAAU,sBAAsB;IAC9B,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAA;QACnC,eAAe,EAAE,OAAO,GAAG,IAAI,CAAA;QAC/B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;QACpC,mBAAmB,EAAE,MAAM,EAAE,CAAA;QAC7B,aAAa,EAAE,OAAO,CAAA;KACvB,CAAA;CACF;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAwBD;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,YAAY,CAAC,sBAAsB,GAAG,aAAa,CAAC,CAAC,CAqCvG"}
|
|
@@ -25,6 +25,7 @@ const DEFAULT_SETTINGS = {
|
|
|
25
25
|
logoUrl: process.env.NEXT_PUBLIC_STORE_LOGO_URL || process.env.STORE_LOGO_URL || null,
|
|
26
26
|
storeCurrency: process.env.STORE_CURRENCY || 'USD',
|
|
27
27
|
storeTimezone: process.env.STORE_TIMEZONE || 'America/New_York',
|
|
28
|
+
storeCountry: process.env.STORE_COUNTRY || null,
|
|
28
29
|
taxIncludedInPrices: true, // Default: prices include tax
|
|
29
30
|
shippingEnabled: true,
|
|
30
31
|
freeShippingThreshold: 0,
|
|
@@ -58,6 +59,7 @@ export async function getPublicSettings() {
|
|
|
58
59
|
logoUrl: settings.logoUrl ?? DEFAULT_SETTINGS.logoUrl,
|
|
59
60
|
storeCurrency: settings.storeCurrency ?? DEFAULT_SETTINGS.storeCurrency,
|
|
60
61
|
storeTimezone: settings.storeTimezone ?? DEFAULT_SETTINGS.storeTimezone,
|
|
62
|
+
storeCountry: settings.storeCountry ?? DEFAULT_SETTINGS.storeCountry,
|
|
61
63
|
taxIncludedInPrices: settings.taxIncludedInPrices ?? DEFAULT_SETTINGS.taxIncludedInPrices,
|
|
62
64
|
shippingEnabled: settings.shippingEnabled ?? DEFAULT_SETTINGS.shippingEnabled,
|
|
63
65
|
freeShippingThreshold: settings.freeShippingThreshold ?? DEFAULT_SETTINGS.freeShippingThreshold,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/core/api/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/core/api/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AA2B5C,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,MAAM,gBAAgB,GAAG;IACvB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;IAC5C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;IAC5E,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI;IACrF,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,KAAK;IAClD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,kBAAkB;IAC/D,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI;IAC/C,mBAAmB,EAAE,IAAI,EAAE,8BAA8B;IACzD,eAAe,EAAE,IAAI;IACrB,qBAAqB,EAAE,CAAC;IACxB,mBAAmB,EAAE,EAAc;IACnC,aAAa,EAAE,IAAI,EAAE,qEAAqE;CAC3F,CAAA;AAED,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC;QACH,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAA;QAErC,8CAA8C;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,YAAY,CAAC,IAAI,CAAC;gBACvB,QAAQ,EAAE,gBAAgB;aAC3B,CAAC,CAAA;QACJ,CAAC;QAED,gCAAgC;QAChC,OAAO,YAAY,CAAC,IAAI,CAAC;YACvB,QAAQ,EAAE;gBACR,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,gBAAgB,CAAC,SAAS;gBAC3D,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,gBAAgB,CAAC,UAAU;gBAC9D,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO;gBACrD,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,gBAAgB,CAAC,aAAa;gBACvE,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,gBAAgB,CAAC,aAAa;gBACvE,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,gBAAgB,CAAC,YAAY;gBACpE,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,IAAI,gBAAgB,CAAC,mBAAmB;gBACzF,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,gBAAgB,CAAC,eAAe;gBAC7E,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,IAAI,gBAAgB,CAAC,qBAAqB;gBAC/F,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,IAAI,EAAE;gBACvD,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,gBAAgB,CAAC,aAAa;aACxE;SACF,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAA;QAExD,+CAA+C;QAC/C,0EAA0E;QAC1E,OAAO,YAAY,CAAC,IAAI,CAAC;YACvB,QAAQ,EAAE,gBAAgB;SAC3B,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -44,7 +44,7 @@ export declare function findProducts(options?: FindProductsOptions): Promise<{
|
|
|
44
44
|
comparePrice: string | null;
|
|
45
45
|
images: string[];
|
|
46
46
|
videos: string[];
|
|
47
|
-
status: "
|
|
47
|
+
status: "active" | "draft" | "archived";
|
|
48
48
|
categoryId: string | null;
|
|
49
49
|
hasVariants: boolean;
|
|
50
50
|
sku: string | null;
|
|
@@ -77,7 +77,7 @@ export declare function findProductBySlug(slug: string): Promise<{
|
|
|
77
77
|
comparePrice: string | null;
|
|
78
78
|
images: string[];
|
|
79
79
|
videos: string[];
|
|
80
|
-
status: "
|
|
80
|
+
status: "active" | "draft" | "archived";
|
|
81
81
|
categoryId: string | null;
|
|
82
82
|
hasVariants: boolean;
|
|
83
83
|
sku: string | null;
|
|
@@ -110,7 +110,7 @@ export declare function findProductById(id: string): Promise<{
|
|
|
110
110
|
comparePrice: string | null;
|
|
111
111
|
images: string[];
|
|
112
112
|
videos: string[];
|
|
113
|
-
status: "
|
|
113
|
+
status: "active" | "draft" | "archived";
|
|
114
114
|
categoryId: string | null;
|
|
115
115
|
hasVariants: boolean;
|
|
116
116
|
sku: string | null;
|
|
@@ -297,6 +297,7 @@ export declare function findOrders(options?: FindOrdersOptions): Promise<{
|
|
|
297
297
|
tax: string;
|
|
298
298
|
shipping: string;
|
|
299
299
|
total: string;
|
|
300
|
+
currency: string | null;
|
|
300
301
|
refundAmount: string | null;
|
|
301
302
|
returnReason: string | null;
|
|
302
303
|
discountCode: string | null;
|
|
@@ -363,6 +364,7 @@ export declare function findOrderById(id: string): Promise<{
|
|
|
363
364
|
tax: string;
|
|
364
365
|
shipping: string;
|
|
365
366
|
total: string;
|
|
367
|
+
currency: string | null;
|
|
366
368
|
refundAmount: string | null;
|
|
367
369
|
returnReason: string | null;
|
|
368
370
|
discountCode: string | null;
|
|
@@ -436,16 +438,16 @@ export declare const GUEST_PASSWORD_HASH = "";
|
|
|
436
438
|
* for the duplicate case, so it is safe to call inline in the checkout webhook.
|
|
437
439
|
*/
|
|
438
440
|
export declare function findOrCreateGuestCustomer(email: string, name?: string | null): Promise<{
|
|
439
|
-
|
|
441
|
+
email: string;
|
|
440
442
|
name: string | null;
|
|
443
|
+
id: string;
|
|
441
444
|
createdAt: Date;
|
|
442
445
|
updatedAt: Date;
|
|
443
|
-
|
|
446
|
+
groupId: string | null;
|
|
444
447
|
phone: string | null;
|
|
445
448
|
passwordHash: string;
|
|
446
449
|
stripeCustomerId: string | null;
|
|
447
450
|
emailVerified: Date | null;
|
|
448
|
-
groupId: string | null;
|
|
449
451
|
}>;
|
|
450
452
|
/**
|
|
451
453
|
* Find customer by email
|
|
@@ -648,6 +650,7 @@ export declare function getRecentOrders(limit?: number, periodDays?: number): Pr
|
|
|
648
650
|
tax: string;
|
|
649
651
|
shipping: string;
|
|
650
652
|
total: string;
|
|
653
|
+
currency: string | null;
|
|
651
654
|
refundAmount: string | null;
|
|
652
655
|
returnReason: string | null;
|
|
653
656
|
discountCode: string | null;
|
|
@@ -695,15 +698,16 @@ export declare function getRecentOrders(limit?: number, periodDays?: number): Pr
|
|
|
695
698
|
*/
|
|
696
699
|
export declare function createOrder(data: schema.NewOrder): Promise<{
|
|
697
700
|
status: "pending" | "paid" | "shipped" | "delivered" | "cancelled" | "refunded" | "return_requested";
|
|
701
|
+
email: string;
|
|
698
702
|
id: string;
|
|
699
703
|
createdAt: Date;
|
|
700
704
|
updatedAt: Date;
|
|
701
705
|
total: string;
|
|
702
706
|
customerId: string | null;
|
|
703
|
-
email: string;
|
|
704
707
|
subtotal: string;
|
|
705
708
|
tax: string;
|
|
706
709
|
shipping: string;
|
|
710
|
+
currency: string | null;
|
|
707
711
|
refundAmount: string | null;
|
|
708
712
|
returnReason: string | null;
|
|
709
713
|
discountCode: string | null;
|
|
@@ -748,15 +752,15 @@ export declare function createOrder(data: schema.NewOrder): Promise<{
|
|
|
748
752
|
* Create order items for an order
|
|
749
753
|
*/
|
|
750
754
|
export declare function createOrderItems(items: schema.NewOrderItem[]): Promise<{
|
|
751
|
-
orderId: string;
|
|
752
|
-
id: string;
|
|
753
755
|
name: string;
|
|
756
|
+
id: string;
|
|
754
757
|
createdAt: Date;
|
|
758
|
+
orderId: string;
|
|
755
759
|
price: string;
|
|
756
760
|
productId: string;
|
|
757
|
-
attributes: Record<string, string> | null;
|
|
758
761
|
variantId: string | null;
|
|
759
762
|
quantity: number;
|
|
763
|
+
attributes: Record<string, string> | null;
|
|
760
764
|
}[]>;
|
|
761
765
|
/**
|
|
762
766
|
* Update order status
|
|
@@ -770,6 +774,7 @@ export declare function updateOrderStatus(orderId: string, status: 'pending' | '
|
|
|
770
774
|
tax: string;
|
|
771
775
|
shipping: string;
|
|
772
776
|
total: string;
|
|
777
|
+
currency: string | null;
|
|
773
778
|
refundAmount: string | null;
|
|
774
779
|
returnReason: string | null;
|
|
775
780
|
discountCode: string | null;
|
|
@@ -832,6 +837,7 @@ export declare function updateOrderShipping(orderId: string, shippingData: {
|
|
|
832
837
|
tax: string;
|
|
833
838
|
shipping: string;
|
|
834
839
|
total: string;
|
|
840
|
+
currency: string | null;
|
|
835
841
|
refundAmount: string | null;
|
|
836
842
|
returnReason: string | null;
|
|
837
843
|
discountCode: string | null;
|
|
@@ -887,6 +893,7 @@ export declare function findOrderByPaymentIntent(paymentIntentId: string): Promi
|
|
|
887
893
|
tax: string;
|
|
888
894
|
shipping: string;
|
|
889
895
|
total: string;
|
|
896
|
+
currency: string | null;
|
|
890
897
|
refundAmount: string | null;
|
|
891
898
|
returnReason: string | null;
|
|
892
899
|
discountCode: string | null;
|
|
@@ -1030,6 +1037,7 @@ export declare function findCustomerOrders(customerId: string): Promise<{
|
|
|
1030
1037
|
tax: string;
|
|
1031
1038
|
shipping: string;
|
|
1032
1039
|
total: string;
|
|
1040
|
+
currency: string | null;
|
|
1033
1041
|
refundAmount: string | null;
|
|
1034
1042
|
returnReason: string | null;
|
|
1035
1043
|
discountCode: string | null;
|
|
@@ -1245,13 +1253,13 @@ export interface CustomerGroupInput {
|
|
|
1245
1253
|
sortOrder?: number;
|
|
1246
1254
|
}
|
|
1247
1255
|
export declare function createCustomerGroup(data: CustomerGroupInput): Promise<{
|
|
1248
|
-
id: string;
|
|
1249
1256
|
name: string;
|
|
1250
|
-
|
|
1251
|
-
createdAt: Date;
|
|
1252
|
-
updatedAt: Date;
|
|
1257
|
+
id: string;
|
|
1253
1258
|
description: string | null;
|
|
1259
|
+
createdAt: Date;
|
|
1254
1260
|
isActive: boolean;
|
|
1261
|
+
sortOrder: number;
|
|
1262
|
+
updatedAt: Date;
|
|
1255
1263
|
}>;
|
|
1256
1264
|
export declare function updateCustomerGroup(id: string, data: Partial<CustomerGroupInput>): Promise<{
|
|
1257
1265
|
id: string;
|
|
@@ -1332,15 +1340,15 @@ export interface PaymentMethodInput {
|
|
|
1332
1340
|
config?: Record<string, unknown>;
|
|
1333
1341
|
}
|
|
1334
1342
|
export declare function createPaymentMethod(data: PaymentMethodInput): Promise<{
|
|
1335
|
-
id: string;
|
|
1336
1343
|
name: string;
|
|
1344
|
+
id: string;
|
|
1345
|
+
createdAt: Date;
|
|
1346
|
+
sortOrder: number;
|
|
1347
|
+
updatedAt: Date;
|
|
1348
|
+
enabled: boolean;
|
|
1337
1349
|
kind: string;
|
|
1338
1350
|
instructions: string | null;
|
|
1339
|
-
enabled: boolean;
|
|
1340
|
-
sortOrder: number;
|
|
1341
1351
|
config: Record<string, unknown>;
|
|
1342
|
-
createdAt: Date;
|
|
1343
|
-
updatedAt: Date;
|
|
1344
1352
|
}>;
|
|
1345
1353
|
export declare function updatePaymentMethod(id: string, data: Partial<PaymentMethodInput>): Promise<{
|
|
1346
1354
|
id: string;
|
|
@@ -1358,6 +1366,241 @@ export declare function updatePaymentMethod(id: string, data: Partial<PaymentMet
|
|
|
1358
1366
|
* so history stays readable after the method row is gone.
|
|
1359
1367
|
*/
|
|
1360
1368
|
export declare function deletePaymentMethod(id: string): Promise<boolean>;
|
|
1369
|
+
/**
|
|
1370
|
+
* Self-heal the discounts schema on stores provisioned before the native
|
|
1371
|
+
* discounts engine (SDK 0.7.0). Idempotent + module-cached; called at every
|
|
1372
|
+
* discount read/write chokepoint.
|
|
1373
|
+
*/
|
|
1374
|
+
export declare function ensureDiscountsSchema(): Promise<void>;
|
|
1375
|
+
/** Best-effort variant — never throws (checkout must not 500 on a migration hiccup). */
|
|
1376
|
+
export declare function ensureDiscountsSchemaSafe(): Promise<void>;
|
|
1377
|
+
/** All discounts, admin view (sorted). */
|
|
1378
|
+
export declare function findDiscounts(): Promise<{
|
|
1379
|
+
id: string;
|
|
1380
|
+
method: string;
|
|
1381
|
+
code: string | null;
|
|
1382
|
+
title: string;
|
|
1383
|
+
type: string;
|
|
1384
|
+
value: string;
|
|
1385
|
+
appliesTo: string;
|
|
1386
|
+
targetIds: string[];
|
|
1387
|
+
minSubtotal: string | null;
|
|
1388
|
+
minQuantity: number | null;
|
|
1389
|
+
eligibility: string;
|
|
1390
|
+
groupIds: string[];
|
|
1391
|
+
usageLimit: number | null;
|
|
1392
|
+
oncePerCustomer: boolean;
|
|
1393
|
+
usedCount: number;
|
|
1394
|
+
combinesWith: {
|
|
1395
|
+
product?: boolean;
|
|
1396
|
+
order?: boolean;
|
|
1397
|
+
shipping?: boolean;
|
|
1398
|
+
};
|
|
1399
|
+
bxgy: schema.BxgyConfig | null;
|
|
1400
|
+
startsAt: Date | null;
|
|
1401
|
+
endsAt: Date | null;
|
|
1402
|
+
enabled: boolean;
|
|
1403
|
+
sortOrder: number;
|
|
1404
|
+
createdAt: Date;
|
|
1405
|
+
updatedAt: Date;
|
|
1406
|
+
}[]>;
|
|
1407
|
+
export declare function findDiscountById(id: string): Promise<{
|
|
1408
|
+
id: string;
|
|
1409
|
+
method: string;
|
|
1410
|
+
code: string | null;
|
|
1411
|
+
title: string;
|
|
1412
|
+
type: string;
|
|
1413
|
+
value: string;
|
|
1414
|
+
appliesTo: string;
|
|
1415
|
+
targetIds: string[];
|
|
1416
|
+
minSubtotal: string | null;
|
|
1417
|
+
minQuantity: number | null;
|
|
1418
|
+
eligibility: string;
|
|
1419
|
+
groupIds: string[];
|
|
1420
|
+
usageLimit: number | null;
|
|
1421
|
+
oncePerCustomer: boolean;
|
|
1422
|
+
usedCount: number;
|
|
1423
|
+
combinesWith: {
|
|
1424
|
+
product?: boolean;
|
|
1425
|
+
order?: boolean;
|
|
1426
|
+
shipping?: boolean;
|
|
1427
|
+
};
|
|
1428
|
+
bxgy: schema.BxgyConfig | null;
|
|
1429
|
+
startsAt: Date | null;
|
|
1430
|
+
endsAt: Date | null;
|
|
1431
|
+
enabled: boolean;
|
|
1432
|
+
sortOrder: number;
|
|
1433
|
+
createdAt: Date;
|
|
1434
|
+
updatedAt: Date;
|
|
1435
|
+
}>;
|
|
1436
|
+
/** Enabled code discount by (case-insensitive) code — checkout entry point. */
|
|
1437
|
+
export declare function findDiscountByCode(code: string): Promise<{
|
|
1438
|
+
id: string;
|
|
1439
|
+
method: string;
|
|
1440
|
+
code: string | null;
|
|
1441
|
+
title: string;
|
|
1442
|
+
type: string;
|
|
1443
|
+
value: string;
|
|
1444
|
+
appliesTo: string;
|
|
1445
|
+
targetIds: string[];
|
|
1446
|
+
minSubtotal: string | null;
|
|
1447
|
+
minQuantity: number | null;
|
|
1448
|
+
eligibility: string;
|
|
1449
|
+
groupIds: string[];
|
|
1450
|
+
usageLimit: number | null;
|
|
1451
|
+
oncePerCustomer: boolean;
|
|
1452
|
+
usedCount: number;
|
|
1453
|
+
combinesWith: {
|
|
1454
|
+
product?: boolean;
|
|
1455
|
+
order?: boolean;
|
|
1456
|
+
shipping?: boolean;
|
|
1457
|
+
};
|
|
1458
|
+
bxgy: schema.BxgyConfig | null;
|
|
1459
|
+
startsAt: Date | null;
|
|
1460
|
+
endsAt: Date | null;
|
|
1461
|
+
enabled: boolean;
|
|
1462
|
+
sortOrder: number;
|
|
1463
|
+
createdAt: Date;
|
|
1464
|
+
updatedAt: Date;
|
|
1465
|
+
} | null>;
|
|
1466
|
+
/** Enabled automatic discounts — always evaluated at checkout. */
|
|
1467
|
+
export declare function findActiveAutomaticDiscounts(): Promise<{
|
|
1468
|
+
id: string;
|
|
1469
|
+
method: string;
|
|
1470
|
+
code: string | null;
|
|
1471
|
+
title: string;
|
|
1472
|
+
type: string;
|
|
1473
|
+
value: string;
|
|
1474
|
+
appliesTo: string;
|
|
1475
|
+
targetIds: string[];
|
|
1476
|
+
minSubtotal: string | null;
|
|
1477
|
+
minQuantity: number | null;
|
|
1478
|
+
eligibility: string;
|
|
1479
|
+
groupIds: string[];
|
|
1480
|
+
usageLimit: number | null;
|
|
1481
|
+
oncePerCustomer: boolean;
|
|
1482
|
+
usedCount: number;
|
|
1483
|
+
combinesWith: {
|
|
1484
|
+
product?: boolean;
|
|
1485
|
+
order?: boolean;
|
|
1486
|
+
shipping?: boolean;
|
|
1487
|
+
};
|
|
1488
|
+
bxgy: schema.BxgyConfig | null;
|
|
1489
|
+
startsAt: Date | null;
|
|
1490
|
+
endsAt: Date | null;
|
|
1491
|
+
enabled: boolean;
|
|
1492
|
+
sortOrder: number;
|
|
1493
|
+
createdAt: Date;
|
|
1494
|
+
updatedAt: Date;
|
|
1495
|
+
}[]>;
|
|
1496
|
+
export interface DiscountInput {
|
|
1497
|
+
method?: 'code' | 'automatic';
|
|
1498
|
+
code?: string | null;
|
|
1499
|
+
title: string;
|
|
1500
|
+
type: 'percentage' | 'fixed_amount' | 'free_shipping' | 'buy_x_get_y';
|
|
1501
|
+
value?: number;
|
|
1502
|
+
appliesTo?: 'order' | 'products' | 'categories';
|
|
1503
|
+
targetIds?: string[];
|
|
1504
|
+
minSubtotal?: number | null;
|
|
1505
|
+
minQuantity?: number | null;
|
|
1506
|
+
eligibility?: 'all' | 'logged_in' | 'groups';
|
|
1507
|
+
groupIds?: string[];
|
|
1508
|
+
usageLimit?: number | null;
|
|
1509
|
+
oncePerCustomer?: boolean;
|
|
1510
|
+
combinesWith?: {
|
|
1511
|
+
product?: boolean;
|
|
1512
|
+
order?: boolean;
|
|
1513
|
+
shipping?: boolean;
|
|
1514
|
+
};
|
|
1515
|
+
bxgy?: schema.BxgyConfig | null;
|
|
1516
|
+
startsAt?: Date | null;
|
|
1517
|
+
endsAt?: Date | null;
|
|
1518
|
+
enabled?: boolean;
|
|
1519
|
+
sortOrder?: number;
|
|
1520
|
+
}
|
|
1521
|
+
export declare function createDiscount(data: DiscountInput): Promise<{
|
|
1522
|
+
code: string | null;
|
|
1523
|
+
id: string;
|
|
1524
|
+
createdAt: Date;
|
|
1525
|
+
sortOrder: number;
|
|
1526
|
+
updatedAt: Date;
|
|
1527
|
+
type: string;
|
|
1528
|
+
method: string;
|
|
1529
|
+
title: string;
|
|
1530
|
+
value: string;
|
|
1531
|
+
appliesTo: string;
|
|
1532
|
+
targetIds: string[];
|
|
1533
|
+
minSubtotal: string | null;
|
|
1534
|
+
minQuantity: number | null;
|
|
1535
|
+
eligibility: string;
|
|
1536
|
+
groupIds: string[];
|
|
1537
|
+
usageLimit: number | null;
|
|
1538
|
+
oncePerCustomer: boolean;
|
|
1539
|
+
combinesWith: {
|
|
1540
|
+
product?: boolean;
|
|
1541
|
+
order?: boolean;
|
|
1542
|
+
shipping?: boolean;
|
|
1543
|
+
};
|
|
1544
|
+
bxgy: schema.BxgyConfig | null;
|
|
1545
|
+
startsAt: Date | null;
|
|
1546
|
+
endsAt: Date | null;
|
|
1547
|
+
enabled: boolean;
|
|
1548
|
+
usedCount: number;
|
|
1549
|
+
}>;
|
|
1550
|
+
export declare function updateDiscount(id: string, data: Partial<DiscountInput>): Promise<{
|
|
1551
|
+
id: string;
|
|
1552
|
+
method: string;
|
|
1553
|
+
code: string | null;
|
|
1554
|
+
title: string;
|
|
1555
|
+
type: string;
|
|
1556
|
+
value: string;
|
|
1557
|
+
appliesTo: string;
|
|
1558
|
+
targetIds: string[];
|
|
1559
|
+
minSubtotal: string | null;
|
|
1560
|
+
minQuantity: number | null;
|
|
1561
|
+
eligibility: string;
|
|
1562
|
+
groupIds: string[];
|
|
1563
|
+
usageLimit: number | null;
|
|
1564
|
+
oncePerCustomer: boolean;
|
|
1565
|
+
usedCount: number;
|
|
1566
|
+
combinesWith: {
|
|
1567
|
+
product?: boolean;
|
|
1568
|
+
order?: boolean;
|
|
1569
|
+
shipping?: boolean;
|
|
1570
|
+
};
|
|
1571
|
+
bxgy: schema.BxgyConfig | null;
|
|
1572
|
+
startsAt: Date | null;
|
|
1573
|
+
endsAt: Date | null;
|
|
1574
|
+
enabled: boolean;
|
|
1575
|
+
sortOrder: number;
|
|
1576
|
+
createdAt: Date;
|
|
1577
|
+
updatedAt: Date;
|
|
1578
|
+
}>;
|
|
1579
|
+
/**
|
|
1580
|
+
* Hard delete. Redemption history survives (soft refs) so past orders keep
|
|
1581
|
+
* their recorded discount code + amount snapshots.
|
|
1582
|
+
*/
|
|
1583
|
+
export declare function deleteDiscount(id: string): Promise<boolean>;
|
|
1584
|
+
/**
|
|
1585
|
+
* Prior redemptions by this customer (id OR email) — powers oncePerCustomer.
|
|
1586
|
+
*/
|
|
1587
|
+
export declare function countDiscountRedemptionsForCustomer(discountId: string, customer: {
|
|
1588
|
+
customerId?: string | null;
|
|
1589
|
+
email?: string | null;
|
|
1590
|
+
}): Promise<number>;
|
|
1591
|
+
/**
|
|
1592
|
+
* Atomically claim one use of a discount (usage-limit guard) and record the
|
|
1593
|
+
* redemption. Returns false when the limit was exhausted between evaluation
|
|
1594
|
+
* and order creation — the order still stands (the race window is seconds);
|
|
1595
|
+
* the claim failure is logged for reconciliation.
|
|
1596
|
+
*/
|
|
1597
|
+
export declare function recordDiscountRedemption(params: {
|
|
1598
|
+
discountId: string;
|
|
1599
|
+
orderId: string;
|
|
1600
|
+
customerId?: string | null;
|
|
1601
|
+
email?: string | null;
|
|
1602
|
+
amountCents: number;
|
|
1603
|
+
}): Promise<boolean>;
|
|
1361
1604
|
/**
|
|
1362
1605
|
* Count orders with optional status filter
|
|
1363
1606
|
*/
|
|
@@ -1399,6 +1642,8 @@ export interface StoreSettingsData {
|
|
|
1399
1642
|
logoUrl: string | null;
|
|
1400
1643
|
storeCurrency: string | null;
|
|
1401
1644
|
storeTimezone: string | null;
|
|
1645
|
+
/** ISO 3166-1 alpha-2 home country (e.g. 'FR'). Drives every country default. */
|
|
1646
|
+
storeCountry: string | null;
|
|
1402
1647
|
taxIncludedInPrices: boolean | null;
|
|
1403
1648
|
shippingEnabled: boolean | null;
|
|
1404
1649
|
freeShippingThreshold: number | null;
|
|
@@ -1430,6 +1675,9 @@ export interface StoreSettingsData {
|
|
|
1430
1675
|
cookieBannerEnabled: boolean | null;
|
|
1431
1676
|
publicMetafieldKeys: string[];
|
|
1432
1677
|
}
|
|
1678
|
+
export declare function ensureStoreSettingsSchema(): Promise<void>;
|
|
1679
|
+
/** Best-effort variant — never throws (the subsequent read surfaces real errors). */
|
|
1680
|
+
export declare function ensureStoreSettingsSchemaSafe(): Promise<void>;
|
|
1433
1681
|
/**
|
|
1434
1682
|
* Find store settings.
|
|
1435
1683
|
* Returns null if no settings exist (first time access).
|