feat: Consolidate payment functions and handle sessions for storefront (#7231)
This commit is contained in:
@@ -5,6 +5,10 @@ import { createStep, StepResponse } from "@medusajs/workflows-sdk"
|
||||
|
||||
interface StepInput {
|
||||
cart: CartDTO
|
||||
shippingOptionsContext: {
|
||||
enabled_in_store?: "true" | "false"
|
||||
is_return?: "true" | "false"
|
||||
}
|
||||
option_ids: string[]
|
||||
}
|
||||
|
||||
@@ -13,7 +17,7 @@ export const validateCartShippingOptionsStepId =
|
||||
export const validateCartShippingOptionsStep = createStep(
|
||||
validateCartShippingOptionsStepId,
|
||||
async (data: StepInput, { container }) => {
|
||||
const { option_ids: optionIds = [], cart } = data
|
||||
const { option_ids: optionIds = [], cart, shippingOptionsContext } = data
|
||||
|
||||
if (!optionIds.length) {
|
||||
return new StepResponse(void 0)
|
||||
@@ -27,7 +31,7 @@ export const validateCartShippingOptionsStep = createStep(
|
||||
await fulfillmentModule.listShippingOptionsForContext(
|
||||
{
|
||||
id: optionIds,
|
||||
context: { ...cart },
|
||||
context: shippingOptionsContext,
|
||||
address: {
|
||||
country_code: cart.shipping_address?.country_code,
|
||||
province_code: cart.shipping_address?.province,
|
||||
|
||||
@@ -40,6 +40,7 @@ export const addShippingMethodToWorkflow = createWorkflow(
|
||||
validateCartShippingOptionsStep({
|
||||
option_ids: optionIds,
|
||||
cart,
|
||||
shippingOptionsContext: { is_return: "false", enabled_in_store: "true" },
|
||||
})
|
||||
|
||||
const shippingOptions = useRemoteQueryStep({
|
||||
|
||||
@@ -46,6 +46,10 @@ export const listShippingOptionsForCartWorkflow = createWorkflow(
|
||||
variables: {
|
||||
id: input.sales_channel_id,
|
||||
"stock_locations.fulfillment_sets.service_zones.shipping_options": {
|
||||
context: {
|
||||
is_return: "false",
|
||||
enabled_in_store: "true",
|
||||
},
|
||||
filters: {
|
||||
address: {
|
||||
city: input.shipping_address?.city,
|
||||
|
||||
Reference in New Issue
Block a user