cartDetailTools.ts 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import { CartDetail, CartAddress } from "@/types/cart/type";
  2. import {ShipAddressFormData,BillAddressFormData} from "@/types/checkout/type";
  3. export function formatCartDetail(cart:CartDetail): CartDetail {
  4. return {
  5. id: cart.id,
  6. appliedTaxes: cart.appliedTaxes,
  7. itemsQty: cart.itemsQty,
  8. isGuest: cart.isGuest,
  9. itemsCount: cart.itemsCount,
  10. items: cart.items,
  11. earnableRewardPoints: cart.earnableRewardPoints,
  12. rewardPoints: cart.rewardPoints,
  13. rewardPointsUsed: cart.rewardPointsUsed,
  14. rewardPointsAmount: cart.rewardPointsAmount,
  15. baseRewardPointsAmount: cart.baseRewardPointsAmount,
  16. formattedRewardPointsAmount: cart.formattedRewardPointsAmount,
  17. useShippingInsurance: cart.useShippingInsurance,
  18. shippingInsuranceEnabled: cart.shippingInsuranceEnabled,
  19. shippingInsuranceName: cart.shippingInsuranceName,
  20. shippingInsuranceType: cart.shippingInsuranceType,
  21. shippingInsuranceValue: cart.shippingInsuranceValue,
  22. shippingInsuranceAmount: cart.shippingInsuranceAmount,
  23. baseShippingInsuranceAmount: cart.baseShippingInsuranceAmount,
  24. formattedShippingInsuranceAmount: cart.formattedShippingInsuranceAmount,
  25. isVip: cart.isVip,
  26. vipDiscountAmount: cart.vipDiscountAmount,
  27. formattedVipDiscountAmount: cart.formattedVipDiscountAmount,
  28. giftcardNumber: cart.giftcardNumber,
  29. giftcardAmount: cart.giftcardAmount,
  30. vipPlusAmount: cart.vipPlusAmount,
  31. vipExpireDate: cart.vipExpireDate,
  32. subtotal: cart.subtotal,
  33. subTotalInclTax: cart.subTotalInclTax,
  34. discountAmount: cart.discountAmount,
  35. taxAmount: cart.taxAmount,
  36. taxTotal: cart.taxTotal,
  37. shippingAmount: cart.shippingAmount,
  38. shippingAmountInclTax: cart.shippingAmountInclTax,
  39. grandTotal: cart.grandTotal,
  40. formattedSubtotal: cart.formattedSubtotal,
  41. formattedSubTotalInclTax: cart.formattedSubTotalInclTax,
  42. formattedGiftcardAmount: cart.formattedGiftcardAmount,
  43. formattedVipPlusAmount: cart.formattedVipPlusAmount,
  44. formattedDiscountAmount: cart.formattedDiscountAmount,
  45. formattedTaxAmount: cart.formattedTaxAmount,
  46. formattedTaxTotal: cart.formattedTaxTotal,
  47. formattedShippingAmount: cart.formattedShippingAmount,
  48. formattedShippingAmountInclTax: cart.formattedShippingAmountInclTax,
  49. formattedGrandTotal: cart.formattedGrandTotal,
  50. couponCode: cart.couponCode,
  51. selectedShippingRate: cart.selectedShippingRate,
  52. selectedShippingRateTitle: cart.selectedShippingRateTitle,
  53. paymentMethod: cart.paymentMethod,
  54. paymentMethodTitle: cart.paymentMethodTitle,
  55. haveStockableItems: cart.haveStockableItems,
  56. billingAddress: cart.billingAddress,
  57. shippingAddress: cart.shippingAddress
  58. };
  59. }
  60. export function shippingAddressToCartAddress(address:ShipAddressFormData ): CartAddress {
  61. const res: CartAddress = {
  62. id: String(address.shippingAddressId),
  63. firstName: address.shippingFirstName,
  64. lastName: address.shippingLastName,
  65. email: address.shippingEmail,
  66. address: address.shippingAddress,
  67. city: address.shippingCity,
  68. state: address.shippingState,
  69. country: address.shippingCountry,
  70. postcode: address.shippingPostcode,
  71. phone: address.shippingPhoneNumber,
  72. }
  73. return res;
  74. }
  75. export function billingAddressToCartAddress(address: BillAddressFormData):CartAddress {
  76. const res: CartAddress = {
  77. id: String(address.billingAddressId),
  78. firstName: address.billingFirstName,
  79. lastName: address.billingLastName,
  80. email: address.billingEmail,
  81. address: address.billingAddress,
  82. city: address.billingCity,
  83. state: address.billingState,
  84. country: address.billingCountry,
  85. postcode: address.billingPostcode,
  86. phone: address.billingPhoneNumber
  87. }
  88. return res;
  89. }