add: cart shipmet methods
This commit is contained in:
@@ -53,6 +53,16 @@ class ShipmentController extends BaseController {
|
|||||||
const data = await this.shipmentService.selectShipmentProvider(saveShippingInfo, user._id.toString());
|
const data = await this.shipmentService.selectShipmentProvider(saveShippingInfo, user._id.toString());
|
||||||
return this.response(data);
|
return this.response(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("get shipment methods for checkout")
|
||||||
|
@ApiResponse("Successful", HttpStatus.Ok)
|
||||||
|
@ApiAuth()
|
||||||
|
@httpGet("/cart", Guard.authUser())
|
||||||
|
public async getCartShipmentMethods(@request() req: Request) {
|
||||||
|
const user = req.user as IUser;
|
||||||
|
const data = await this.shipmentService.getCartShipmentMethods(user._id.toString());
|
||||||
|
return this.response(data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export { ShipmentController };
|
export { ShipmentController };
|
||||||
|
|||||||
@@ -270,6 +270,18 @@ class ShipmentService {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async getCartShipmentMethods(userId: string) {
|
||||||
|
const cart = (await this.cartRepo.getCartWithAggregate(userId))[0] as ICart;
|
||||||
|
|
||||||
|
if (!cart) throw new BadRequestError(CartMessage.CartNotFound);
|
||||||
|
|
||||||
|
const { shipping: ShipmentMethods } = await this.calculateAllShipmentOptions(userId);
|
||||||
|
|
||||||
|
if (!ShipmentMethods.length) throw new BadRequestError(SetShipmentMessage.ShipmentOptionsUnavailable);
|
||||||
|
|
||||||
|
return { ShipmentMethods };
|
||||||
|
}
|
||||||
|
|
||||||
//===============================> helper method
|
//===============================> helper method
|
||||||
// Helper function to calculate shipping days range
|
// Helper function to calculate shipping days range
|
||||||
private calculateShippingDays(deliveryType: DeliveryType, deliveryTime: number): string[] {
|
private calculateShippingDays(deliveryType: DeliveryType, deliveryTime: number): string[] {
|
||||||
|
|||||||
Reference in New Issue
Block a user