feature: add workflows hooks to the order module (#8496)
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { AdditionalData } from "@medusajs/types"
|
||||
import { completeOrderWorkflow } from "@medusajs/core-flows"
|
||||
import {
|
||||
ContainerRegistrationKeys,
|
||||
@@ -10,14 +11,17 @@ import {
|
||||
import { AdminCompleteOrderType } from "../../validators"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminCompleteOrderType>,
|
||||
req: AuthenticatedMedusaRequest<AdminCompleteOrderType & AdditionalData>,
|
||||
res: MedusaResponse
|
||||
) => {
|
||||
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
const { id } = req.params
|
||||
|
||||
await completeOrderWorkflow(req.scope).run({
|
||||
input: { orderIds: [req.validatedBody.order_id] },
|
||||
input: {
|
||||
orderIds: [req.validatedBody.order_id],
|
||||
additional_data: req.validatedBody.additional_data,
|
||||
},
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
|
||||
@@ -8,9 +8,12 @@ import {
|
||||
MedusaResponse,
|
||||
} from "../../../../../../../types/routing"
|
||||
import { AdminOrderCancelFulfillmentType } from "../../../../validators"
|
||||
import { AdditionalData } from "@medusajs/types"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminOrderCancelFulfillmentType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
AdminOrderCancelFulfillmentType & AdditionalData
|
||||
>,
|
||||
res: MedusaResponse
|
||||
) => {
|
||||
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
|
||||
@@ -8,9 +8,12 @@ import {
|
||||
MedusaResponse,
|
||||
} from "../../../../../../../types/routing"
|
||||
import { AdminOrderCreateShipmentType } from "../../../../validators"
|
||||
import { AdditionalData } from "@medusajs/types"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminOrderCreateShipmentType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
AdminOrderCreateShipmentType & AdditionalData
|
||||
>,
|
||||
res: MedusaResponse
|
||||
) => {
|
||||
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
|
||||
@@ -8,9 +8,12 @@ import {
|
||||
MedusaResponse,
|
||||
} from "../../../../../types/routing"
|
||||
import { AdminOrderCreateFulfillmentType } from "../../validators"
|
||||
import { AdditionalData } from "@medusajs/types"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminOrderCreateFulfillmentType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
AdminOrderCreateFulfillmentType & AdditionalData
|
||||
>,
|
||||
res: MedusaResponse
|
||||
) => {
|
||||
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
|
||||
@@ -3,6 +3,7 @@ import {
|
||||
createFindParams,
|
||||
createOperatorMap,
|
||||
createSelectParams,
|
||||
WithAdditionalData,
|
||||
} from "../../utils/validators"
|
||||
|
||||
export const AdminGetOrdersOrderParams = createSelectParams().merge(
|
||||
@@ -42,26 +43,29 @@ export const AdminArchiveOrder = z.object({
|
||||
})
|
||||
export type AdminArchiveOrderType = z.infer<typeof AdminArchiveOrder>
|
||||
|
||||
export const AdminCompleteOrder = z.object({
|
||||
export type AdminCompleteOrderType = z.infer<typeof CompleteOrder>
|
||||
export const CompleteOrder = z.object({
|
||||
order_id: z.string(),
|
||||
})
|
||||
export type AdminCompleteOrderType = z.infer<typeof AdminArchiveOrder>
|
||||
export const AdminCompleteOrder = WithAdditionalData(CompleteOrder)
|
||||
|
||||
const Item = z.object({
|
||||
id: z.string(),
|
||||
quantity: z.number(),
|
||||
})
|
||||
|
||||
export const AdminOrderCreateFulfillment = z.object({
|
||||
export type AdminOrderCreateFulfillmentType = z.infer<
|
||||
typeof OrderCreateFulfillment
|
||||
>
|
||||
export const OrderCreateFulfillment = z.object({
|
||||
items: z.array(Item),
|
||||
location_id: z.string().nullish(),
|
||||
no_notification: z.boolean().optional(),
|
||||
metadata: z.record(z.unknown()).nullish(),
|
||||
})
|
||||
|
||||
export type AdminOrderCreateFulfillmentType = z.infer<
|
||||
typeof AdminOrderCreateFulfillment
|
||||
>
|
||||
export const AdminOrderCreateFulfillment = WithAdditionalData(
|
||||
OrderCreateFulfillment
|
||||
)
|
||||
|
||||
const Label = z.object({
|
||||
tracking_number: z.string(),
|
||||
@@ -69,21 +73,21 @@ const Label = z.object({
|
||||
label_url: z.string(),
|
||||
})
|
||||
|
||||
export const AdminOrderCreateShipment = z.object({
|
||||
export type AdminOrderCreateShipmentType = z.infer<typeof OrderCreateShipment>
|
||||
export const OrderCreateShipment = z.object({
|
||||
items: z.array(Item),
|
||||
labels: z.array(Label).optional(),
|
||||
no_notification: z.boolean().optional(),
|
||||
metadata: z.record(z.unknown()).nullish(),
|
||||
})
|
||||
|
||||
export type AdminOrderCreateShipmentType = z.infer<
|
||||
typeof AdminOrderCreateShipment
|
||||
>
|
||||
|
||||
export const AdminOrderCancelFulfillment = z.object({
|
||||
no_notification: z.boolean().optional(),
|
||||
})
|
||||
export const AdminOrderCreateShipment = WithAdditionalData(OrderCreateShipment)
|
||||
|
||||
export type AdminOrderCancelFulfillmentType = z.infer<
|
||||
typeof AdminOrderCancelFulfillment
|
||||
typeof OrderCancelFulfillment
|
||||
>
|
||||
export const OrderCancelFulfillment = z.object({
|
||||
no_notification: z.boolean().optional(),
|
||||
})
|
||||
export const AdminOrderCancelFulfillment = WithAdditionalData(
|
||||
OrderCancelFulfillment
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user