shipping support

This commit is contained in:
2ManyProjects 2025-04-27 17:31:38 -05:00
parent 6cf92c1db7
commit 0059f03e87
4 changed files with 14 additions and 3 deletions

View file

@ -497,6 +497,7 @@ module.exports = (pool, query, authMiddleware) => {
// If no address provided, return only flat rate shipping
if (!shippingAddress) {
console.log("No Address provide flat rate");
const rates = await shippingService.getFlatRateShipping(subtotal);
return res.json({
@ -509,6 +510,7 @@ module.exports = (pool, query, authMiddleware) => {
const parsedAddress = typeof shippingAddress === 'string'
? shippingService.parseAddressString(shippingAddress)
: shippingAddress;
console.log("parsedAddress provided ", parsedAddress);
const rates = await shippingService.getShippingRates(
null, // Use default from config
@ -518,6 +520,7 @@ module.exports = (pool, query, authMiddleware) => {
order_total: subtotal
}
);
console.log("rates provided ", JSON.stringify(rates, null ,4));
res.json({
success: true,

View file

@ -241,7 +241,7 @@ module.exports = (pool, query, authMiddleware) => {
try {
// Get all settings from database
const allSettings = await SystemSettings.getAllSettings(pool, query);
config.updateFromDatabase(allSettings)
// Build environment variables string
let envContent = '';

View file

@ -15,6 +15,7 @@ const shippingService = {
async getShippingRates(addressFrom, addressTo, parcelDetails) {
// If EasyPost is not enabled, return flat rate shipping
if (!config.shipping.easypostEnabled || !config.shipping.easypostApiKey) {
console.log("EASY POST NOT CONFIGURED ", !config.shipping.easypostEnabled, !config.shipping.easypostApiKey)
return this.getFlatRateShipping(parcelDetails.order_total);
}
@ -25,7 +26,13 @@ const shippingService = {
// Format parcel for EasyPost
const parcel = this.formatParcel(parcelDetails);
console.log("EasyPost shipment request", JSON.stringify({
shipment: {
from_address: fromAddress,
to_address: toAddress,
parcel: parcel
}
}, null , 4))
// Create shipment via EasyPost API
const response = await axios.post(
'https://api.easypost.com/v2/shipments',
@ -46,6 +53,7 @@ const shippingService = {
}
}
);
// console.log("EasyPost shipment response", response)
// Process and filter rates
return this.processShippingRates(response.data.rates, parcelDetails.order_total);

View file

@ -155,7 +155,7 @@ const CheckoutPage = () => {
};
// Call API to get shipping rates
const response = await apiClient.post('/api/cart/shipping-rates', {
const response = await apiClient.post('/cart/shipping-rates', {
userId: user,
shippingAddress
});