feat: List shipping options for cart (#6677)
This commit is contained in:
1 parent
db26dafa85
commit
25d176b851
23 files changed
+855
-142
No files matched your search
@@ -0,0 +1,42 @@
|
||||
import { listShippingOptionsForCartWorkflow } from "@medusajs/core-flows"
|
||||
import { ModuleRegistrationName } from "@medusajs/modules-sdk"
|
||||
import { ICartModuleService } from "@medusajs/types"
|
||||
import { MedusaRequest, MedusaResponse } from "../../../../types/routing"
|
||||
|
||||
export const GET = async (req: MedusaRequest, res: MedusaResponse) => {
|
||||
const { cart_id } = req.params
|
||||
|
||||
const cartService = req.scope.resolve<ICartModuleService>(
|
||||
ModuleRegistrationName.CART
|
||||
)
|
||||
|
||||
const cart = await cartService.retrieve(cart_id, {
|
||||
select: [
|
||||
"id",
|
||||
"sales_channel_id",
|
||||
"subtotal",
|
||||
"currency_code",
|
||||
"shipping_address.city",
|
||||
"shipping_address.country_code",
|
||||
"shipping_address.province",
|
||||
],
|
||||
relations: ["shipping_address"],
|
||||
})
|
||||
|
||||
const shippingOptions = await listShippingOptionsForCartWorkflow(
|
||||
req.scope
|
||||
).run({
|
||||
input: {
|
||||
cart_id: cart.id,
|
||||
sales_channel_id: cart.sales_channel_id,
|
||||
currency_code: cart.currency_code,
|
||||
shipping_address: {
|
||||
city: cart.shipping_address?.city,
|
||||
country_code: cart.shipping_address?.country_code,
|
||||
province: cart.shipping_address?.province,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
res.json({ shipping_options: shippingOptions })
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { MiddlewareRoute } from "../../../loaders/helpers/routing/types"
|
||||
|
||||
export const storeShippingOptionRoutesMiddlewares: MiddlewareRoute[] = [
|
||||
{
|
||||
method: ["GET"],
|
||||
matcher: "/store/shipping-options/:cart_id",
|
||||
middlewares: [],
|
||||
},
|
||||
]
|
||||
@@ -0,0 +1,14 @@
|
||||
export const defaultStoreShippingOptionsFields = [
|
||||
"id",
|
||||
"name",
|
||||
"price_type",
|
||||
"service_zone_id",
|
||||
"shipping_profile_id",
|
||||
"fulfillment_provider_id",
|
||||
"shipping_option_type_id",
|
||||
]
|
||||
|
||||
export const listTransformQueryConfig = {
|
||||
defaultLimit: 20,
|
||||
isList: true,
|
||||
}
|
||||
Reference in new issue
Block a user