feat(medusa,core-flows,types,js-sdk): decline / cancel order transfer (#10202)
**What** - **core-flows**: - cancel transfer - decline transfer - **API**: - admin cancel transfer - store decline transfer - store cancel transfer - **js-sdk**: - add methods for store endpoints --- CLOSES CMRC-726
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
import { cancelOrderTransferRequestWorkflow } from "@medusajs/core-flows"
|
||||
import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "@medusajs/framework/http"
|
||||
import { AdminOrder, HttpTypes } from "@medusajs/framework/types"
|
||||
import { AdminCancelOrderTransferRequestType } from "../../../validators"
|
||||
import { ContainerRegistrationKeys } from "@medusajs/framework/utils"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminCancelOrderTransferRequestType>,
|
||||
res: MedusaResponse<HttpTypes.AdminOrderResponse>
|
||||
) => {
|
||||
const query = req.scope.resolve(ContainerRegistrationKeys.QUERY)
|
||||
|
||||
const orderId = req.params.id
|
||||
const userId = req.auth_context.actor_id
|
||||
|
||||
await cancelOrderTransferRequestWorkflow(req.scope).run({
|
||||
input: {
|
||||
order_id: orderId,
|
||||
logged_in_user_id: userId,
|
||||
actor_type: req.auth_context.actor_type as "user",
|
||||
},
|
||||
})
|
||||
|
||||
const result = await query.graph({
|
||||
entity: "order",
|
||||
filters: { id: orderId },
|
||||
fields: req.remoteQueryConfig.fields,
|
||||
})
|
||||
|
||||
res.status(200).json({ order: result.data[0] as AdminOrder })
|
||||
}
|
||||
@@ -5,13 +5,14 @@ import {
|
||||
import { MiddlewareRoute } from "@medusajs/framework/http"
|
||||
import * as QueryConfig from "./query-config"
|
||||
import {
|
||||
AdminCancelOrderTransferRequest,
|
||||
AdminCompleteOrder,
|
||||
AdminGetOrdersOrderItemsParams,
|
||||
AdminGetOrdersOrderParams,
|
||||
AdminGetOrdersParams,
|
||||
AdminMarkOrderFulfillmentDelivered,
|
||||
AdminOrderCancelFulfillment,
|
||||
AdminOrderChanges,
|
||||
AdminOrderChangesParams,
|
||||
AdminOrderCreateFulfillment,
|
||||
AdminOrderCreateShipment,
|
||||
AdminTransferOrder,
|
||||
@@ -53,7 +54,7 @@ export const adminOrderRoutesMiddlewares: MiddlewareRoute[] = [
|
||||
matcher: "/admin/orders/:id/changes",
|
||||
middlewares: [
|
||||
validateAndTransformQuery(
|
||||
AdminOrderChanges,
|
||||
AdminOrderChangesParams,
|
||||
QueryConfig.retrieveOrderChangesTransformQueryConfig
|
||||
),
|
||||
],
|
||||
@@ -156,4 +157,15 @@ export const adminOrderRoutesMiddlewares: MiddlewareRoute[] = [
|
||||
),
|
||||
],
|
||||
},
|
||||
{
|
||||
method: ["POST"],
|
||||
matcher: "/admin/orders/:id/transfer/cancel",
|
||||
middlewares: [
|
||||
validateAndTransformBody(AdminCancelOrderTransferRequest),
|
||||
validateAndTransformQuery(
|
||||
AdminGetOrdersOrderParams,
|
||||
QueryConfig.retrieveTransformQueryConfig
|
||||
),
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -106,19 +106,23 @@ export const AdminOrderCancelFulfillment = WithAdditionalData(
|
||||
OrderCancelFulfillment
|
||||
)
|
||||
|
||||
export const AdminOrderChanges = z.object({
|
||||
id: z.union([z.string(), z.array(z.string())]).optional(),
|
||||
status: z.union([z.string(), z.array(z.string())]).optional(),
|
||||
change_type: z.union([z.string(), z.array(z.string())]).optional(),
|
||||
created_at: createOperatorMap().optional(),
|
||||
updated_at: createOperatorMap().optional(),
|
||||
deleted_at: createOperatorMap().optional(),
|
||||
})
|
||||
export type AdminOrderChangesType = z.infer<typeof AdminOrderChanges>
|
||||
export const AdminOrderChangesParams = createSelectParams().merge(
|
||||
z.object({
|
||||
id: z.union([z.string(), z.array(z.string())]).optional(),
|
||||
status: z.union([z.string(), z.array(z.string())]).optional(),
|
||||
change_type: z.union([z.string(), z.array(z.string())]).optional(),
|
||||
created_at: createOperatorMap().optional(),
|
||||
updated_at: createOperatorMap().optional(),
|
||||
deleted_at: createOperatorMap().optional(),
|
||||
})
|
||||
)
|
||||
|
||||
export type AdminOrderChangesType = z.infer<typeof AdminOrderChangesParams>
|
||||
|
||||
export type AdminMarkOrderFulfillmentDeliveredType = z.infer<
|
||||
typeof AdminMarkOrderFulfillmentDelivered
|
||||
>
|
||||
|
||||
export const AdminMarkOrderFulfillmentDelivered = z.object({})
|
||||
|
||||
export type AdminTransferOrderType = z.infer<typeof AdminTransferOrder>
|
||||
@@ -127,3 +131,8 @@ export const AdminTransferOrder = z.object({
|
||||
description: z.string().optional(),
|
||||
internal_note: z.string().optional(),
|
||||
})
|
||||
|
||||
export type AdminCancelOrderTransferRequestType = z.infer<
|
||||
typeof AdminCancelOrderTransferRequest
|
||||
>
|
||||
export const AdminCancelOrderTransferRequest = z.object({})
|
||||
|
||||
Reference in New Issue
Block a user