fix: add shipping taxes (#1759)
**What** Adds taxes to the shipping prices when listing in admin. Allows store operators to see correct prices when processing returns.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { Transform } from "class-transformer"
|
||||
import { IsBoolean, IsOptional, IsString } from "class-validator"
|
||||
import { defaultFields, defaultRelations } from "."
|
||||
import { PricingService } from "../../../../services"
|
||||
import { validator } from "../../../../utils/validator"
|
||||
import { optionalBooleanMapper } from "../../../../utils/validators/is-boolean"
|
||||
|
||||
@@ -50,12 +51,15 @@ export default async (req, res) => {
|
||||
)
|
||||
|
||||
const optionService = req.scope.resolve("shippingOptionService")
|
||||
const pricingService: PricingService = req.scope.resolve("pricingService")
|
||||
const [data, count] = await optionService.listAndCount(validatedParams, {
|
||||
select: defaultFields,
|
||||
relations: defaultRelations,
|
||||
})
|
||||
|
||||
res.status(200).json({ shipping_options: data, count })
|
||||
const options = await pricingService.setShippingOptionPrices(data)
|
||||
|
||||
res.status(200).json({ shipping_options: options, count })
|
||||
}
|
||||
|
||||
export class AdminGetShippingOptionsParams {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { IsBooleanString, IsOptional, IsString } from "class-validator"
|
||||
import ProductService from "../../../../services/product"
|
||||
import { PricingService, ProductService } from "../../../../services"
|
||||
import ShippingOptionService from "../../../../services/shipping-option"
|
||||
import { validator } from "../../../../utils/validator"
|
||||
|
||||
@@ -33,6 +33,7 @@ export default async (req, res) => {
|
||||
(validated.product_ids && validated.product_ids.split(",")) || []
|
||||
const regionId = validated.region_id
|
||||
const productService: ProductService = req.scope.resolve("productService")
|
||||
const pricingService: PricingService = req.scope.resolve("pricingService")
|
||||
const shippingOptionService: ShippingOptionService = req.scope.resolve(
|
||||
"shippingOptionService"
|
||||
)
|
||||
@@ -59,7 +60,9 @@ export default async (req, res) => {
|
||||
relations: ["requirements"],
|
||||
})
|
||||
|
||||
res.status(200).json({ shipping_options: options })
|
||||
const data = await pricingService.setShippingOptionPrices(options)
|
||||
|
||||
res.status(200).json({ shipping_options: data })
|
||||
}
|
||||
|
||||
export class StoreGetShippingOptionsParams {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import CartService from "../../../../services/cart"
|
||||
import { CartService, PricingService } from "../../../../services"
|
||||
import ShippingProfileService from "../../../../services/shipping-profile"
|
||||
|
||||
/**
|
||||
@@ -26,6 +26,7 @@ export default async (req, res) => {
|
||||
const { cart_id } = req.params
|
||||
|
||||
const cartService: CartService = req.scope.resolve("cartService")
|
||||
const pricingService: PricingService = req.scope.resolve("pricingService")
|
||||
const shippingProfileService: ShippingProfileService = req.scope.resolve(
|
||||
"shippingProfileService"
|
||||
)
|
||||
@@ -36,6 +37,9 @@ export default async (req, res) => {
|
||||
})
|
||||
|
||||
const options = await shippingProfileService.fetchCartOptions(cart)
|
||||
const data = await pricingService.setShippingOptionPrices(options, {
|
||||
cart_id,
|
||||
})
|
||||
|
||||
res.status(200).json({ shipping_options: options })
|
||||
res.status(200).json({ shipping_options: data })
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user