feat: update return request (#8302)
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { updateReturnWorkflow } from "@medusajs/core-flows"
|
||||
import {
|
||||
ContainerRegistrationKeys,
|
||||
remoteQueryObjectFromString,
|
||||
@@ -6,6 +7,7 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "../../../../types/routing"
|
||||
import { AdminPostReturnsReturnReqSchemaType } from "../validators"
|
||||
|
||||
export const GET = async (
|
||||
req: AuthenticatedMedusaRequest,
|
||||
@@ -32,3 +34,34 @@ export const GET = async (
|
||||
return: orderReturn,
|
||||
})
|
||||
}
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReturnsReturnReqSchemaType>,
|
||||
res: MedusaResponse
|
||||
) => {
|
||||
const { id } = req.params
|
||||
|
||||
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
|
||||
const { result } = await updateReturnWorkflow(req.scope).run({
|
||||
input: { return_id: id, ...req.validatedBody },
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "return",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
...req.filterableFields,
|
||||
},
|
||||
},
|
||||
fields: req.remoteQueryConfig.fields,
|
||||
})
|
||||
|
||||
const [orderReturn] = await remoteQuery(queryObject)
|
||||
|
||||
res.json({
|
||||
order_preview: result,
|
||||
return: orderReturn,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -5,13 +5,14 @@ import * as QueryConfig from "./query-config"
|
||||
import {
|
||||
AdminGetOrdersOrderParams,
|
||||
AdminGetOrdersParams,
|
||||
AdminPostCancelReturnReqSchema,
|
||||
AdminPostReceiveReturnItemsReqSchema,
|
||||
AdminPostReceiveReturnsReqSchema,
|
||||
AdminPostCancelReturnReqSchema,
|
||||
AdminPostReturnsConfirmRequestReqSchema,
|
||||
AdminPostReturnsReqSchema,
|
||||
AdminPostReturnsRequestItemsActionReqSchema,
|
||||
AdminPostReturnsRequestItemsReqSchema,
|
||||
AdminPostReturnsReturnReqSchema,
|
||||
AdminPostReturnsShippingActionReqSchema,
|
||||
AdminPostReturnsShippingReqSchema,
|
||||
} from "./validators"
|
||||
@@ -37,6 +38,17 @@ export const adminReturnRoutesMiddlewares: MiddlewareRoute[] = [
|
||||
),
|
||||
],
|
||||
},
|
||||
{
|
||||
method: ["POST"],
|
||||
matcher: "/admin/returns/:id",
|
||||
middlewares: [
|
||||
validateAndTransformBody(AdminPostReturnsReturnReqSchema),
|
||||
validateAndTransformQuery(
|
||||
AdminGetOrdersOrderParams,
|
||||
QueryConfig.retrieveTransformQueryConfig
|
||||
),
|
||||
],
|
||||
},
|
||||
{
|
||||
method: ["POST"],
|
||||
matcher: "/admin/returns",
|
||||
|
||||
@@ -7,6 +7,8 @@ export const defaultAdminReturnFields = [
|
||||
"location_id",
|
||||
"order_version",
|
||||
"status",
|
||||
"metadata",
|
||||
"no_notification",
|
||||
"refund_amount",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
|
||||
@@ -50,6 +50,15 @@ export type AdminPostReturnsReqSchemaType = z.infer<
|
||||
typeof AdminPostReturnsReqSchema
|
||||
>
|
||||
|
||||
export const AdminPostReturnsReturnReqSchema = z.object({
|
||||
location_id: z.string().optional(),
|
||||
no_notification: z.boolean().optional(),
|
||||
metadata: z.record(z.unknown()).nullish(),
|
||||
})
|
||||
export type AdminPostReturnsReturnReqSchemaType = z.infer<
|
||||
typeof AdminPostReturnsReturnReqSchema
|
||||
>
|
||||
|
||||
export const AdminPostOrderExchangesReqSchema = z.object({
|
||||
order_id: z.string(),
|
||||
description: z.string().optional(),
|
||||
|
||||
Reference in New Issue
Block a user