feat(core-flows): hook to set shipping opt context when listing (#13468)
* feat(core-flows): add hook to set shipping option context when listing them * changeset * add integration test * add it to other workflow * missing hook in workflow response * rework workflow * rework workflow * typing issue * comment from oli * cursor the goat * tests * save lines * move code around * missing additional params in many places * smal fix * smal fix
This commit is contained in:
1 parent
def722d8ee
commit
1071296236
19 files changed
+301
-90
No files matched your search
@@ -7,9 +7,11 @@ import {
|
||||
} from "@medusajs/framework/http"
|
||||
import { Modules } from "@medusajs/framework/utils"
|
||||
import { refetchCart } from "../../helpers"
|
||||
import { StoreUpdateCartCustomerType } from "../../validators"
|
||||
import { AdditionalData } from "@medusajs/types"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest,
|
||||
req: AuthenticatedMedusaRequest<StoreUpdateCartCustomerType & AdditionalData>,
|
||||
res: MedusaResponse<HttpTypes.StoreCartResponse>
|
||||
) => {
|
||||
const we = req.scope.resolve(Modules.WORKFLOW_ENGINE)
|
||||
@@ -18,6 +20,7 @@ export const POST = async (
|
||||
input: {
|
||||
id: req.params.id,
|
||||
customer_id: req.auth_context?.actor_id,
|
||||
additional_data: req.validatedBody.additional_data,
|
||||
},
|
||||
transactionId: "cart-transfer-customer-" + req.params.id,
|
||||
})
|
||||
|
||||
@@ -3,13 +3,13 @@ import {
|
||||
updateLineItemInCartWorkflowId,
|
||||
} from "@medusajs/core-flows"
|
||||
import { MedusaRequest, MedusaResponse } from "@medusajs/framework/http"
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
import { AdditionalData, HttpTypes } from "@medusajs/framework/types"
|
||||
import { Modules } from "@medusajs/framework/utils"
|
||||
import { refetchCart } from "../../../helpers"
|
||||
import { StoreUpdateCartLineItemType } from "../../../validators"
|
||||
|
||||
export const POST = async (
|
||||
req: MedusaRequest<StoreUpdateCartLineItemType>,
|
||||
req: MedusaRequest<StoreUpdateCartLineItemType & AdditionalData>,
|
||||
res: MedusaResponse<HttpTypes.StoreCartResponse>
|
||||
) => {
|
||||
const we = req.scope.resolve(Modules.WORKFLOW_ENGINE)
|
||||
@@ -18,6 +18,7 @@ export const POST = async (
|
||||
cart_id: req.params.id,
|
||||
item_id: req.params.line_id,
|
||||
update: req.validatedBody,
|
||||
additional_data: req.validatedBody.additional_data,
|
||||
},
|
||||
transactionId: "cart-update-item-" + req.params.id,
|
||||
})
|
||||
@@ -39,7 +40,10 @@ export const DELETE = async (
|
||||
|
||||
const we = req.scope.resolve(Modules.WORKFLOW_ENGINE)
|
||||
await we.run(deleteLineItemsWorkflowId, {
|
||||
input: { cart_id: req.params.id, ids: [id] },
|
||||
input: {
|
||||
cart_id: req.params.id,
|
||||
ids: [id],
|
||||
},
|
||||
transactionId: "cart-delete-item-" + req.params.id,
|
||||
})
|
||||
|
||||
|
||||
@@ -4,9 +4,10 @@ import { HttpTypes } from "@medusajs/framework/types"
|
||||
import { Modules } from "@medusajs/utils"
|
||||
import { refetchCart } from "../../helpers"
|
||||
import { StoreAddCartLineItemType } from "../../validators"
|
||||
import { AdditionalData } from "@medusajs/types"
|
||||
|
||||
export const POST = async (
|
||||
req: MedusaRequest<StoreAddCartLineItemType>,
|
||||
req: MedusaRequest<StoreAddCartLineItemType & AdditionalData>,
|
||||
res: MedusaResponse<HttpTypes.StoreCartResponse>
|
||||
) => {
|
||||
const we = req.scope.resolve(Modules.WORKFLOW_ENGINE)
|
||||
@@ -14,6 +15,7 @@ export const POST = async (
|
||||
input: {
|
||||
cart_id: req.params.id,
|
||||
items: [req.validatedBody],
|
||||
additional_data: req.validatedBody.additional_data,
|
||||
},
|
||||
transactionId: "cart-add-item-" + req.params.id,
|
||||
})
|
||||
|
||||
@@ -34,6 +34,7 @@ export const POST = async (
|
||||
input: {
|
||||
...req.validatedBody,
|
||||
id: req.params.id,
|
||||
additional_data: req.validatedBody.additional_data,
|
||||
},
|
||||
transactionId: "cart-update-" + req.params.id,
|
||||
})
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { addShippingMethodToCartWorkflow } from "@medusajs/core-flows"
|
||||
import { MedusaRequest, MedusaResponse } from "@medusajs/framework/http"
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
import { AdditionalData, HttpTypes } from "@medusajs/framework/types"
|
||||
import { refetchCart } from "../../helpers"
|
||||
import { StoreAddCartShippingMethodsType } from "../../validators"
|
||||
|
||||
export const POST = async (
|
||||
req: MedusaRequest<StoreAddCartShippingMethodsType>,
|
||||
req: MedusaRequest<StoreAddCartShippingMethodsType & AdditionalData>,
|
||||
res: MedusaResponse<HttpTypes.StoreCartResponse>
|
||||
) => {
|
||||
const payload = req.validatedBody
|
||||
@@ -14,6 +14,7 @@ export const POST = async (
|
||||
input: {
|
||||
options: [{ id: payload.option_id, data: payload.data }],
|
||||
cart_id: req.params.id,
|
||||
additional_data: payload.additional_data,
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
Reference in new issue
Block a user