@rovela-ai/sdk 0.1.51 → 0.1.53
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/index.d.ts +13 -0
- package/dist/admin/api/index.d.ts.map +1 -1
- package/dist/admin/api/index.js +14 -0
- package/dist/admin/api/index.js.map +1 -1
- package/dist/admin/api/settings.d.ts +2 -1
- package/dist/admin/api/settings.d.ts.map +1 -1
- package/dist/admin/api/settings.js +9 -1
- package/dist/admin/api/settings.js.map +1 -1
- package/dist/admin/api/shipping.d.ts +148 -0
- package/dist/admin/api/shipping.d.ts.map +1 -0
- package/dist/admin/api/shipping.js +373 -0
- package/dist/admin/api/shipping.js.map +1 -0
- package/dist/admin/components/AdminNav.d.ts.map +1 -1
- package/dist/admin/components/AdminNav.js +5 -1
- package/dist/admin/components/AdminNav.js.map +1 -1
- package/dist/admin/components/ShippingSettings.d.ts +3 -0
- package/dist/admin/components/ShippingSettings.d.ts.map +1 -0
- package/dist/admin/components/ShippingSettings.js +322 -0
- package/dist/admin/components/ShippingSettings.js.map +1 -0
- package/dist/admin/components/StoreSettings.d.ts.map +1 -1
- package/dist/admin/components/StoreSettings.js +1 -8
- package/dist/admin/components/StoreSettings.js.map +1 -1
- package/dist/admin/components/index.d.ts +1 -0
- package/dist/admin/components/index.d.ts.map +1 -1
- package/dist/admin/components/index.js +4 -0
- package/dist/admin/components/index.js.map +1 -1
- package/dist/admin/index.d.ts +3 -3
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +7 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/types.d.ts +79 -2
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/cart/index.d.ts +1 -1
- package/dist/cart/index.d.ts.map +1 -1
- package/dist/cart/index.js +1 -1
- package/dist/cart/index.js.map +1 -1
- package/dist/cart/store.d.ts +22 -0
- package/dist/cart/store.d.ts.map +1 -1
- package/dist/cart/store.js +56 -0
- package/dist/cart/store.js.map +1 -1
- package/dist/checkout/hooks/useCheckout.d.ts.map +1 -1
- package/dist/checkout/hooks/useCheckout.js +5 -19
- package/dist/checkout/hooks/useCheckout.js.map +1 -1
- package/dist/checkout/server/create-checkout-session.d.ts +7 -0
- package/dist/checkout/server/create-checkout-session.d.ts.map +1 -1
- package/dist/checkout/server/create-checkout-session.js +134 -4
- package/dist/checkout/server/create-checkout-session.js.map +1 -1
- package/dist/checkout/stripe/client.d.ts +4 -2
- package/dist/checkout/stripe/client.d.ts.map +1 -1
- package/dist/checkout/stripe/client.js +4 -2
- package/dist/checkout/stripe/client.js.map +1 -1
- package/dist/core/db/queries.d.ts +107 -2
- package/dist/core/db/queries.d.ts.map +1 -1
- package/dist/core/db/queries.js +199 -0
- package/dist/core/db/queries.js.map +1 -1
- package/dist/core/db/schema.d.ts +407 -0
- package/dist/core/db/schema.d.ts.map +1 -1
- package/dist/core/db/schema.js +45 -0
- package/dist/core/db/schema.js.map +1 -1
- package/dist/core/types.d.ts +31 -0
- package/dist/core/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -5,6 +5,89 @@
|
|
|
5
5
|
* The payment is processed ON the connected account, not the platform.
|
|
6
6
|
*/
|
|
7
7
|
import { getStripe, getConnectedAccountId, calculateApplicationFee, getStoreCurrency, getAllowedShippingCountries, } from '../stripe/client';
|
|
8
|
+
import { findSettings, findActiveShippingZones, } from '../../core/db/queries';
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// Shipping Helpers
|
|
11
|
+
// =============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Get shipping countries from database settings.
|
|
14
|
+
* Falls back to environment variable if DB unavailable.
|
|
15
|
+
*/
|
|
16
|
+
async function getShippingCountriesFromSettings() {
|
|
17
|
+
try {
|
|
18
|
+
const settings = await findSettings();
|
|
19
|
+
if (settings?.shippingCountries && settings.shippingCountries.length > 0) {
|
|
20
|
+
return settings.shippingCountries;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.warn('[Checkout] Failed to fetch shipping countries from DB, using env fallback:', error);
|
|
25
|
+
}
|
|
26
|
+
// Fallback to environment variable
|
|
27
|
+
return getAllowedShippingCountries();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Build Stripe shipping options from shipping zones and rates.
|
|
31
|
+
*
|
|
32
|
+
* @param zones - Active shipping zones with their rates
|
|
33
|
+
* @param orderAmountCents - Cart subtotal in cents for min/max filtering
|
|
34
|
+
* @param currency - Currency code for shipping rates
|
|
35
|
+
* @returns Stripe shipping rate data array
|
|
36
|
+
*/
|
|
37
|
+
function buildStripeShippingOptions(zones, orderAmountCents, currency) {
|
|
38
|
+
const options = [];
|
|
39
|
+
const orderAmountDollars = orderAmountCents / 100;
|
|
40
|
+
for (const zone of zones) {
|
|
41
|
+
for (const rate of zone.rates) {
|
|
42
|
+
// Filter by order amount constraints
|
|
43
|
+
if (rate.minOrderAmount !== null && orderAmountDollars < rate.minOrderAmount) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (rate.maxOrderAmount !== null && orderAmountDollars > rate.maxOrderAmount) {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
// Build delivery estimate from estimatedDays string (e.g., "3-5" or "3-5 business days")
|
|
50
|
+
let deliveryEstimate;
|
|
51
|
+
if (rate.estimatedDays) {
|
|
52
|
+
// Extract numbers from the string (handles "3-5", "3-5 business days", "3", etc.)
|
|
53
|
+
const dayMatches = rate.estimatedDays.match(/\d+/g);
|
|
54
|
+
if (dayMatches && dayMatches.length > 0) {
|
|
55
|
+
const minDays = parseInt(dayMatches[0], 10);
|
|
56
|
+
const maxDays = dayMatches.length > 1 ? parseInt(dayMatches[1], 10) : minDays;
|
|
57
|
+
deliveryEstimate = {
|
|
58
|
+
minimum: {
|
|
59
|
+
unit: 'business_day',
|
|
60
|
+
value: minDays,
|
|
61
|
+
},
|
|
62
|
+
maximum: {
|
|
63
|
+
unit: 'business_day',
|
|
64
|
+
value: maxDays,
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Convert price from dollars to cents
|
|
70
|
+
const priceInCents = Math.round(rate.price * 100);
|
|
71
|
+
options.push({
|
|
72
|
+
shipping_rate_data: {
|
|
73
|
+
type: 'fixed_amount',
|
|
74
|
+
fixed_amount: {
|
|
75
|
+
amount: priceInCents,
|
|
76
|
+
currency: currency.toLowerCase(),
|
|
77
|
+
},
|
|
78
|
+
display_name: rate.name,
|
|
79
|
+
delivery_estimate: deliveryEstimate,
|
|
80
|
+
metadata: {
|
|
81
|
+
zoneId: zone.id,
|
|
82
|
+
zoneName: zone.name,
|
|
83
|
+
rateId: rate.id,
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return options;
|
|
90
|
+
}
|
|
8
91
|
// =============================================================================
|
|
9
92
|
// Main Function
|
|
10
93
|
// =============================================================================
|
|
@@ -34,7 +117,14 @@ export async function createCheckoutSession(request, options = {}) {
|
|
|
34
117
|
const stripe = getStripe();
|
|
35
118
|
const connectedAccountId = getConnectedAccountId();
|
|
36
119
|
const currency = getStoreCurrency();
|
|
37
|
-
|
|
120
|
+
// Fetch store settings once for shipping configuration
|
|
121
|
+
const storeSettings = await findSettings();
|
|
122
|
+
const freeShippingThreshold = storeSettings?.freeShippingThreshold ?? 0;
|
|
123
|
+
const { collectShippingAddress = true, shippingEnabled: shippingEnabledOverride, collectPhoneNumber = false, allowPromotionCodes = false, automaticTax = false, applicationFeeAmount, } = options;
|
|
124
|
+
// Use override if provided, otherwise use database setting (default: true)
|
|
125
|
+
const isShippingEnabled = shippingEnabledOverride ?? storeSettings?.shippingEnabled ?? true;
|
|
126
|
+
// Only collect shipping if enabled in store settings AND option allows it
|
|
127
|
+
const shouldCollectShipping = isShippingEnabled && collectShippingAddress;
|
|
38
128
|
// Validate request
|
|
39
129
|
if (!request.items || request.items.length === 0) {
|
|
40
130
|
throw new Error('No items provided for checkout');
|
|
@@ -90,11 +180,51 @@ export async function createCheckoutSession(request, options = {}) {
|
|
|
90
180
|
if (request.customerEmail) {
|
|
91
181
|
sessionParams.customer_email = request.customerEmail;
|
|
92
182
|
}
|
|
93
|
-
// Collect shipping address if enabled
|
|
94
|
-
if (
|
|
183
|
+
// Collect shipping address if enabled in store settings AND option allows it
|
|
184
|
+
if (shouldCollectShipping) {
|
|
185
|
+
// Get shipping countries from database settings (with env fallback)
|
|
186
|
+
const shippingCountries = await getShippingCountriesFromSettings();
|
|
95
187
|
sessionParams.shipping_address_collection = {
|
|
96
|
-
allowed_countries:
|
|
188
|
+
allowed_countries: shippingCountries,
|
|
97
189
|
};
|
|
190
|
+
// Fetch shipping zones and build shipping options
|
|
191
|
+
try {
|
|
192
|
+
const zones = await findActiveShippingZones();
|
|
193
|
+
let shippingOptions = buildStripeShippingOptions(zones, subtotal, currency);
|
|
194
|
+
// Add free shipping option if order meets threshold
|
|
195
|
+
const orderAmountDollars = subtotal / 100;
|
|
196
|
+
if (freeShippingThreshold > 0 && orderAmountDollars >= freeShippingThreshold) {
|
|
197
|
+
// Prepend free shipping as the first (best) option
|
|
198
|
+
shippingOptions = [
|
|
199
|
+
{
|
|
200
|
+
shipping_rate_data: {
|
|
201
|
+
type: 'fixed_amount',
|
|
202
|
+
fixed_amount: {
|
|
203
|
+
amount: 0,
|
|
204
|
+
currency: currency.toLowerCase(),
|
|
205
|
+
},
|
|
206
|
+
display_name: 'Free Shipping',
|
|
207
|
+
delivery_estimate: {
|
|
208
|
+
minimum: { unit: 'business_day', value: 3 },
|
|
209
|
+
maximum: { unit: 'business_day', value: 7 },
|
|
210
|
+
},
|
|
211
|
+
metadata: {
|
|
212
|
+
freeShipping: 'true',
|
|
213
|
+
thresholdMet: String(freeShippingThreshold),
|
|
214
|
+
},
|
|
215
|
+
},
|
|
216
|
+
},
|
|
217
|
+
...shippingOptions,
|
|
218
|
+
];
|
|
219
|
+
}
|
|
220
|
+
if (shippingOptions.length > 0) {
|
|
221
|
+
sessionParams.shipping_options = shippingOptions;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
// Log but don't fail checkout - shipping will just not show options
|
|
226
|
+
console.warn('[Checkout] Failed to fetch shipping options:', error);
|
|
227
|
+
}
|
|
98
228
|
}
|
|
99
229
|
// Collect phone number if enabled
|
|
100
230
|
if (collectPhoneNumber) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-checkout-session.js","sourceRoot":"","sources":["../../../src/checkout/server/create-checkout-session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"create-checkout-session.js","sourceRoot":"","sources":["../../../src/checkout/server/create-checkout-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,8 +60,10 @@ export declare function getAllWebhookSecrets(): string[];
|
|
|
60
60
|
*/
|
|
61
61
|
export declare function getStoreCurrency(): string;
|
|
62
62
|
/**
|
|
63
|
-
* Get allowed countries for shipping.
|
|
64
|
-
*
|
|
63
|
+
* Get allowed countries for shipping from environment variable.
|
|
64
|
+
* This is a synchronous fallback when database is not available.
|
|
65
|
+
* Prefer using getShippingCountriesFromSettings() when possible.
|
|
66
|
+
* @deprecated Use getShippingCountriesFromSettings() for dynamic configuration
|
|
65
67
|
*/
|
|
66
68
|
export declare function getAllowedShippingCountries(): string[];
|
|
67
69
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/checkout/stripe/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAA;AAQ3B;;;;;GAKG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAsBlC;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAY9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAgB9C;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGrE;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAYzC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAEvD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAqB/C;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/checkout/stripe/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAA;AAQ3B;;;;;GAKG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAsBlC;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAY9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAgB9C;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGrE;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAYzC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAEvD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAqB/C;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CAQtD;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAY1C"}
|
|
@@ -144,8 +144,10 @@ export function getStoreCurrency() {
|
|
|
144
144
|
return process.env.STORE_CURRENCY || 'usd';
|
|
145
145
|
}
|
|
146
146
|
/**
|
|
147
|
-
* Get allowed countries for shipping.
|
|
148
|
-
*
|
|
147
|
+
* Get allowed countries for shipping from environment variable.
|
|
148
|
+
* This is a synchronous fallback when database is not available.
|
|
149
|
+
* Prefer using getShippingCountriesFromSettings() when possible.
|
|
150
|
+
* @deprecated Use getShippingCountriesFromSettings() for dynamic configuration
|
|
149
151
|
*/
|
|
150
152
|
export function getAllowedShippingCountries() {
|
|
151
153
|
const countries = process.env.SHIPPING_COUNTRIES;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/checkout/stripe/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/checkout/stripe/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -390,8 +390,8 @@ export declare function getRecentOrders(limit?: number): Promise<{
|
|
|
390
390
|
* Create a new order
|
|
391
391
|
*/
|
|
392
392
|
export declare function createOrder(data: schema.NewOrder): Promise<{
|
|
393
|
-
id: string;
|
|
394
393
|
status: "pending" | "paid" | "shipped" | "delivered" | "cancelled" | "refunded";
|
|
394
|
+
id: string;
|
|
395
395
|
createdAt: Date;
|
|
396
396
|
updatedAt: Date;
|
|
397
397
|
customerId: string | null;
|
|
@@ -429,8 +429,8 @@ export declare function createOrder(data: schema.NewOrder): Promise<{
|
|
|
429
429
|
* Create order items for an order
|
|
430
430
|
*/
|
|
431
431
|
export declare function createOrderItems(items: schema.NewOrderItem[]): Promise<{
|
|
432
|
-
id: string;
|
|
433
432
|
name: string;
|
|
433
|
+
id: string;
|
|
434
434
|
price: string;
|
|
435
435
|
createdAt: Date;
|
|
436
436
|
productId: string;
|
|
@@ -676,6 +676,7 @@ export interface StoreSettingsData {
|
|
|
676
676
|
taxRate: number | null;
|
|
677
677
|
shippingEnabled: boolean | null;
|
|
678
678
|
freeShippingThreshold: number | null;
|
|
679
|
+
shippingCountries: string[] | null;
|
|
679
680
|
}
|
|
680
681
|
/**
|
|
681
682
|
* Find store settings.
|
|
@@ -688,4 +689,108 @@ export declare function findSettings(): Promise<StoreSettingsData | null>;
|
|
|
688
689
|
* Each store has only one settings row.
|
|
689
690
|
*/
|
|
690
691
|
export declare function upsertSettings(data: Partial<StoreSettingsData>): Promise<StoreSettingsData>;
|
|
692
|
+
/**
|
|
693
|
+
* Shipping zone with nested rates for API responses
|
|
694
|
+
*/
|
|
695
|
+
export interface ShippingZoneWithRates {
|
|
696
|
+
id: string;
|
|
697
|
+
name: string;
|
|
698
|
+
countries: string[];
|
|
699
|
+
isActive: boolean;
|
|
700
|
+
sortOrder: number;
|
|
701
|
+
createdAt: Date;
|
|
702
|
+
updatedAt: Date;
|
|
703
|
+
rates: Array<{
|
|
704
|
+
id: string;
|
|
705
|
+
name: string;
|
|
706
|
+
description: string | null;
|
|
707
|
+
price: number;
|
|
708
|
+
minOrderAmount: number | null;
|
|
709
|
+
maxOrderAmount: number | null;
|
|
710
|
+
estimatedDays: string | null;
|
|
711
|
+
isActive: boolean;
|
|
712
|
+
sortOrder: number;
|
|
713
|
+
}>;
|
|
714
|
+
}
|
|
715
|
+
/**
|
|
716
|
+
* Find all shipping zones with their rates
|
|
717
|
+
*/
|
|
718
|
+
export declare function findShippingZones(): Promise<ShippingZoneWithRates[]>;
|
|
719
|
+
/**
|
|
720
|
+
* Find active shipping zones only
|
|
721
|
+
*/
|
|
722
|
+
export declare function findActiveShippingZones(): Promise<ShippingZoneWithRates[]>;
|
|
723
|
+
/**
|
|
724
|
+
* Find a shipping zone by ID
|
|
725
|
+
*/
|
|
726
|
+
export declare function findShippingZoneById(id: string): Promise<ShippingZoneWithRates | null>;
|
|
727
|
+
/**
|
|
728
|
+
* Create a new shipping zone
|
|
729
|
+
*/
|
|
730
|
+
export declare function createShippingZone(data: {
|
|
731
|
+
name: string;
|
|
732
|
+
countries: string[];
|
|
733
|
+
isActive?: boolean;
|
|
734
|
+
sortOrder?: number;
|
|
735
|
+
}): Promise<schema.ShippingZone>;
|
|
736
|
+
/**
|
|
737
|
+
* Update a shipping zone
|
|
738
|
+
*/
|
|
739
|
+
export declare function updateShippingZone(id: string, data: Partial<{
|
|
740
|
+
name: string;
|
|
741
|
+
countries: string[];
|
|
742
|
+
isActive: boolean;
|
|
743
|
+
sortOrder: number;
|
|
744
|
+
}>): Promise<schema.ShippingZone | null>;
|
|
745
|
+
/**
|
|
746
|
+
* Delete a shipping zone (cascades to rates)
|
|
747
|
+
*/
|
|
748
|
+
export declare function deleteShippingZone(id: string): Promise<boolean>;
|
|
749
|
+
/**
|
|
750
|
+
* Create a shipping rate for a zone
|
|
751
|
+
*/
|
|
752
|
+
export declare function createShippingRate(data: {
|
|
753
|
+
zoneId: string;
|
|
754
|
+
name: string;
|
|
755
|
+
description?: string;
|
|
756
|
+
price: number;
|
|
757
|
+
minOrderAmount?: number;
|
|
758
|
+
maxOrderAmount?: number;
|
|
759
|
+
estimatedDays?: string;
|
|
760
|
+
isActive?: boolean;
|
|
761
|
+
sortOrder?: number;
|
|
762
|
+
}): Promise<schema.ShippingRate>;
|
|
763
|
+
/**
|
|
764
|
+
* Update a shipping rate
|
|
765
|
+
*/
|
|
766
|
+
export declare function updateShippingRate(id: string, data: Partial<{
|
|
767
|
+
name: string;
|
|
768
|
+
description: string | null;
|
|
769
|
+
price: number;
|
|
770
|
+
minOrderAmount: number | null;
|
|
771
|
+
maxOrderAmount: number | null;
|
|
772
|
+
estimatedDays: string | null;
|
|
773
|
+
isActive: boolean;
|
|
774
|
+
sortOrder: number;
|
|
775
|
+
}>): Promise<schema.ShippingRate | null>;
|
|
776
|
+
/**
|
|
777
|
+
* Delete a shipping rate
|
|
778
|
+
*/
|
|
779
|
+
export declare function deleteShippingRate(id: string): Promise<boolean>;
|
|
780
|
+
/**
|
|
781
|
+
* Find shipping rates applicable to a specific country and order amount.
|
|
782
|
+
* Used during checkout to determine which shipping options to show.
|
|
783
|
+
*
|
|
784
|
+
* @param country - ISO country code (e.g., 'US', 'CA')
|
|
785
|
+
* @param orderAmount - Order subtotal in dollars
|
|
786
|
+
* @returns Array of applicable shipping rates
|
|
787
|
+
*/
|
|
788
|
+
export declare function findShippingRatesForCountry(country: string, orderAmount: number): Promise<Array<{
|
|
789
|
+
id: string;
|
|
790
|
+
zoneName: string;
|
|
791
|
+
name: string;
|
|
792
|
+
description: string | null;
|
|
793
|
+
price: number;
|
|
794
|
+
estimatedDays: string | null;
|
|
795
|
+
}>>;
|
|
691
796
|
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/core/db/queries.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/core/db/queries.ts"],"names":[],"mappings":"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"}
|
package/dist/core/db/queries.js
CHANGED
|
@@ -686,6 +686,7 @@ export async function findSettings() {
|
|
|
686
686
|
freeShippingThreshold: settings.freeShippingThreshold
|
|
687
687
|
? Number(settings.freeShippingThreshold)
|
|
688
688
|
: null,
|
|
689
|
+
shippingCountries: settings.shippingCountries,
|
|
689
690
|
};
|
|
690
691
|
}
|
|
691
692
|
/**
|
|
@@ -712,6 +713,7 @@ export async function upsertSettings(data) {
|
|
|
712
713
|
freeShippingThreshold: data.freeShippingThreshold !== null && data.freeShippingThreshold !== undefined
|
|
713
714
|
? String(data.freeShippingThreshold)
|
|
714
715
|
: undefined,
|
|
716
|
+
shippingCountries: data.shippingCountries ?? undefined,
|
|
715
717
|
updatedAt: new Date(),
|
|
716
718
|
};
|
|
717
719
|
let result;
|
|
@@ -741,6 +743,203 @@ export async function upsertSettings(data) {
|
|
|
741
743
|
freeShippingThreshold: result.freeShippingThreshold
|
|
742
744
|
? Number(result.freeShippingThreshold)
|
|
743
745
|
: null,
|
|
746
|
+
shippingCountries: result.shippingCountries,
|
|
744
747
|
};
|
|
745
748
|
}
|
|
749
|
+
/**
|
|
750
|
+
* Find all shipping zones with their rates
|
|
751
|
+
*/
|
|
752
|
+
export async function findShippingZones() {
|
|
753
|
+
const db = getDb();
|
|
754
|
+
// Get all zones
|
|
755
|
+
const zones = await db
|
|
756
|
+
.select()
|
|
757
|
+
.from(schema.shippingZones)
|
|
758
|
+
.orderBy(asc(schema.shippingZones.sortOrder), asc(schema.shippingZones.name));
|
|
759
|
+
// Get all rates
|
|
760
|
+
const rates = await db
|
|
761
|
+
.select()
|
|
762
|
+
.from(schema.shippingRates)
|
|
763
|
+
.orderBy(asc(schema.shippingRates.sortOrder), asc(schema.shippingRates.name));
|
|
764
|
+
// Group rates by zone
|
|
765
|
+
const ratesByZone = new Map();
|
|
766
|
+
for (const rate of rates) {
|
|
767
|
+
const existing = ratesByZone.get(rate.zoneId) || [];
|
|
768
|
+
existing.push(rate);
|
|
769
|
+
ratesByZone.set(rate.zoneId, existing);
|
|
770
|
+
}
|
|
771
|
+
// Combine zones with their rates
|
|
772
|
+
return zones.map((zone) => ({
|
|
773
|
+
id: zone.id,
|
|
774
|
+
name: zone.name,
|
|
775
|
+
countries: zone.countries || [],
|
|
776
|
+
isActive: zone.isActive,
|
|
777
|
+
sortOrder: zone.sortOrder,
|
|
778
|
+
createdAt: zone.createdAt,
|
|
779
|
+
updatedAt: zone.updatedAt,
|
|
780
|
+
rates: (ratesByZone.get(zone.id) || []).map((rate) => ({
|
|
781
|
+
id: rate.id,
|
|
782
|
+
name: rate.name,
|
|
783
|
+
description: rate.description,
|
|
784
|
+
price: Number(rate.price),
|
|
785
|
+
minOrderAmount: rate.minOrderAmount ? Number(rate.minOrderAmount) : null,
|
|
786
|
+
maxOrderAmount: rate.maxOrderAmount ? Number(rate.maxOrderAmount) : null,
|
|
787
|
+
estimatedDays: rate.estimatedDays,
|
|
788
|
+
isActive: rate.isActive,
|
|
789
|
+
sortOrder: rate.sortOrder,
|
|
790
|
+
})),
|
|
791
|
+
}));
|
|
792
|
+
}
|
|
793
|
+
/**
|
|
794
|
+
* Find active shipping zones only
|
|
795
|
+
*/
|
|
796
|
+
export async function findActiveShippingZones() {
|
|
797
|
+
const allZones = await findShippingZones();
|
|
798
|
+
return allZones.filter((zone) => zone.isActive);
|
|
799
|
+
}
|
|
800
|
+
/**
|
|
801
|
+
* Find a shipping zone by ID
|
|
802
|
+
*/
|
|
803
|
+
export async function findShippingZoneById(id) {
|
|
804
|
+
const zones = await findShippingZones();
|
|
805
|
+
return zones.find((z) => z.id === id) || null;
|
|
806
|
+
}
|
|
807
|
+
/**
|
|
808
|
+
* Create a new shipping zone
|
|
809
|
+
*/
|
|
810
|
+
export async function createShippingZone(data) {
|
|
811
|
+
const db = getDb();
|
|
812
|
+
const [zone] = await db
|
|
813
|
+
.insert(schema.shippingZones)
|
|
814
|
+
.values({
|
|
815
|
+
name: data.name,
|
|
816
|
+
countries: data.countries,
|
|
817
|
+
isActive: data.isActive ?? true,
|
|
818
|
+
sortOrder: data.sortOrder ?? 0,
|
|
819
|
+
})
|
|
820
|
+
.returning();
|
|
821
|
+
return zone;
|
|
822
|
+
}
|
|
823
|
+
/**
|
|
824
|
+
* Update a shipping zone
|
|
825
|
+
*/
|
|
826
|
+
export async function updateShippingZone(id, data) {
|
|
827
|
+
const db = getDb();
|
|
828
|
+
const [zone] = await db
|
|
829
|
+
.update(schema.shippingZones)
|
|
830
|
+
.set({ ...data, updatedAt: new Date() })
|
|
831
|
+
.where(eq(schema.shippingZones.id, id))
|
|
832
|
+
.returning();
|
|
833
|
+
return zone || null;
|
|
834
|
+
}
|
|
835
|
+
/**
|
|
836
|
+
* Delete a shipping zone (cascades to rates)
|
|
837
|
+
*/
|
|
838
|
+
export async function deleteShippingZone(id) {
|
|
839
|
+
const db = getDb();
|
|
840
|
+
const result = await db
|
|
841
|
+
.delete(schema.shippingZones)
|
|
842
|
+
.where(eq(schema.shippingZones.id, id))
|
|
843
|
+
.returning({ id: schema.shippingZones.id });
|
|
844
|
+
return result.length > 0;
|
|
845
|
+
}
|
|
846
|
+
/**
|
|
847
|
+
* Create a shipping rate for a zone
|
|
848
|
+
*/
|
|
849
|
+
export async function createShippingRate(data) {
|
|
850
|
+
const db = getDb();
|
|
851
|
+
const [rate] = await db
|
|
852
|
+
.insert(schema.shippingRates)
|
|
853
|
+
.values({
|
|
854
|
+
zoneId: data.zoneId,
|
|
855
|
+
name: data.name,
|
|
856
|
+
description: data.description || null,
|
|
857
|
+
price: String(data.price),
|
|
858
|
+
minOrderAmount: data.minOrderAmount !== undefined ? String(data.minOrderAmount) : null,
|
|
859
|
+
maxOrderAmount: data.maxOrderAmount !== undefined ? String(data.maxOrderAmount) : null,
|
|
860
|
+
estimatedDays: data.estimatedDays || null,
|
|
861
|
+
isActive: data.isActive ?? true,
|
|
862
|
+
sortOrder: data.sortOrder ?? 0,
|
|
863
|
+
})
|
|
864
|
+
.returning();
|
|
865
|
+
return rate;
|
|
866
|
+
}
|
|
867
|
+
/**
|
|
868
|
+
* Update a shipping rate
|
|
869
|
+
*/
|
|
870
|
+
export async function updateShippingRate(id, data) {
|
|
871
|
+
const db = getDb();
|
|
872
|
+
const updateData = {};
|
|
873
|
+
if (data.name !== undefined)
|
|
874
|
+
updateData.name = data.name;
|
|
875
|
+
if (data.description !== undefined)
|
|
876
|
+
updateData.description = data.description;
|
|
877
|
+
if (data.price !== undefined)
|
|
878
|
+
updateData.price = String(data.price);
|
|
879
|
+
if (data.minOrderAmount !== undefined)
|
|
880
|
+
updateData.minOrderAmount = data.minOrderAmount !== null ? String(data.minOrderAmount) : null;
|
|
881
|
+
if (data.maxOrderAmount !== undefined)
|
|
882
|
+
updateData.maxOrderAmount = data.maxOrderAmount !== null ? String(data.maxOrderAmount) : null;
|
|
883
|
+
if (data.estimatedDays !== undefined)
|
|
884
|
+
updateData.estimatedDays = data.estimatedDays;
|
|
885
|
+
if (data.isActive !== undefined)
|
|
886
|
+
updateData.isActive = data.isActive;
|
|
887
|
+
if (data.sortOrder !== undefined)
|
|
888
|
+
updateData.sortOrder = data.sortOrder;
|
|
889
|
+
const [rate] = await db
|
|
890
|
+
.update(schema.shippingRates)
|
|
891
|
+
.set(updateData)
|
|
892
|
+
.where(eq(schema.shippingRates.id, id))
|
|
893
|
+
.returning();
|
|
894
|
+
return rate || null;
|
|
895
|
+
}
|
|
896
|
+
/**
|
|
897
|
+
* Delete a shipping rate
|
|
898
|
+
*/
|
|
899
|
+
export async function deleteShippingRate(id) {
|
|
900
|
+
const db = getDb();
|
|
901
|
+
const result = await db
|
|
902
|
+
.delete(schema.shippingRates)
|
|
903
|
+
.where(eq(schema.shippingRates.id, id))
|
|
904
|
+
.returning({ id: schema.shippingRates.id });
|
|
905
|
+
return result.length > 0;
|
|
906
|
+
}
|
|
907
|
+
/**
|
|
908
|
+
* Find shipping rates applicable to a specific country and order amount.
|
|
909
|
+
* Used during checkout to determine which shipping options to show.
|
|
910
|
+
*
|
|
911
|
+
* @param country - ISO country code (e.g., 'US', 'CA')
|
|
912
|
+
* @param orderAmount - Order subtotal in dollars
|
|
913
|
+
* @returns Array of applicable shipping rates
|
|
914
|
+
*/
|
|
915
|
+
export async function findShippingRatesForCountry(country, orderAmount) {
|
|
916
|
+
const zones = await findActiveShippingZones();
|
|
917
|
+
const applicableRates = [];
|
|
918
|
+
for (const zone of zones) {
|
|
919
|
+
// Check if zone covers this country
|
|
920
|
+
// '*' means all countries (international catch-all)
|
|
921
|
+
const coversCountry = zone.countries.includes('*') || zone.countries.includes(country.toUpperCase());
|
|
922
|
+
if (!coversCountry)
|
|
923
|
+
continue;
|
|
924
|
+
// Get active rates that match the order amount
|
|
925
|
+
for (const rate of zone.rates) {
|
|
926
|
+
if (!rate.isActive)
|
|
927
|
+
continue;
|
|
928
|
+
// Check min/max order amount constraints
|
|
929
|
+
if (rate.minOrderAmount !== null && orderAmount < rate.minOrderAmount)
|
|
930
|
+
continue;
|
|
931
|
+
if (rate.maxOrderAmount !== null && orderAmount > rate.maxOrderAmount)
|
|
932
|
+
continue;
|
|
933
|
+
applicableRates.push({
|
|
934
|
+
id: rate.id,
|
|
935
|
+
zoneName: zone.name,
|
|
936
|
+
name: rate.name,
|
|
937
|
+
description: rate.description,
|
|
938
|
+
price: rate.price,
|
|
939
|
+
estimatedDays: rate.estimatedDays,
|
|
940
|
+
});
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
return applicableRates;
|
|
944
|
+
}
|
|
746
945
|
//# sourceMappingURL=queries.js.map
|