Chore/order claims 2 (#8312)
This commit is contained in:
@@ -29,7 +29,7 @@ export const POST = async (
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
@@ -65,7 +65,7 @@ export const DELETE = async (
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
|
||||
@@ -22,7 +22,7 @@ export const POST = async (
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
|
||||
@@ -10,6 +10,7 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "../../../../../../../types/routing"
|
||||
import { defaultAdminDetailsReturnFields } from "../../../../../returns/query-config"
|
||||
import { AdminPostReturnsRequestItemsActionReqSchemaType } from "../../../../../returns/validators"
|
||||
|
||||
export const POST = async (
|
||||
@@ -22,7 +23,7 @@ export const POST = async (
|
||||
|
||||
const [claim] = await remoteQuery(
|
||||
remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
},
|
||||
@@ -38,6 +39,7 @@ export const POST = async (
|
||||
input: {
|
||||
data: { ...req.validatedBody },
|
||||
return_id: claim.return_id,
|
||||
claim_id: claim.id,
|
||||
action_id,
|
||||
},
|
||||
})
|
||||
@@ -45,12 +47,9 @@ export const POST = async (
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "return",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
...req.filterableFields,
|
||||
},
|
||||
id: claim.return_id,
|
||||
},
|
||||
fields: req.remoteQueryConfig.fields,
|
||||
fields: defaultAdminDetailsReturnFields,
|
||||
})
|
||||
|
||||
const [orderReturn] = await remoteQuery(queryObject)
|
||||
|
||||
@@ -8,6 +8,7 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "../../../../../../types/routing"
|
||||
import { defaultAdminDetailsReturnFields } from "../../../../returns/query-config"
|
||||
import { AdminPostReturnsRequestItemsReqSchemaType } from "../../../../returns/validators"
|
||||
|
||||
export const POST = async (
|
||||
@@ -20,7 +21,7 @@ export const POST = async (
|
||||
|
||||
const [claim] = await remoteQuery(
|
||||
remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
},
|
||||
@@ -33,18 +34,19 @@ export const POST = async (
|
||||
)
|
||||
|
||||
const { result } = await orderClaimRequestItemReturnWorkflow(req.scope).run({
|
||||
input: { ...req.validatedBody, return_id: claim.return_id, claim_id: id },
|
||||
input: {
|
||||
...req.validatedBody,
|
||||
return_id: claim.return_id,
|
||||
claim_id: id,
|
||||
},
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "return",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
...req.filterableFields,
|
||||
},
|
||||
id: claim.return_id,
|
||||
},
|
||||
fields: req.remoteQueryConfig.fields,
|
||||
fields: defaultAdminDetailsReturnFields,
|
||||
})
|
||||
|
||||
const [orderReturn] = await remoteQuery(queryObject)
|
||||
|
||||
+10
-11
@@ -10,6 +10,7 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "../../../../../../../types/routing"
|
||||
import { defaultAdminDetailsReturnFields } from "../../../../../returns/query-config"
|
||||
import { AdminPostClaimsShippingActionReqSchemaType } from "../../../../validators"
|
||||
|
||||
export const POST = async (
|
||||
@@ -22,7 +23,7 @@ export const POST = async (
|
||||
|
||||
const [claim] = await remoteQuery(
|
||||
remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
},
|
||||
@@ -43,7 +44,7 @@ export const POST = async (
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
@@ -71,7 +72,7 @@ export const DELETE = async (
|
||||
|
||||
const [claim] = await remoteQuery(
|
||||
remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
},
|
||||
@@ -93,19 +94,17 @@ export const DELETE = async (
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "return",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
...req.filterableFields,
|
||||
},
|
||||
id: claim.return_id,
|
||||
},
|
||||
fields: req.remoteQueryConfig.fields,
|
||||
fields: defaultAdminDetailsReturnFields,
|
||||
})
|
||||
const [orderClaim] = await remoteQuery(queryObject)
|
||||
|
||||
const [orderReturn] = await remoteQuery(queryObject)
|
||||
|
||||
res.json({
|
||||
order_preview: orderPreview,
|
||||
claim: orderClaim,
|
||||
return: orderReturn,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "../../../../../../types/routing"
|
||||
import { defaultAdminDetailsReturnFields } from "../../../../returns/query-config"
|
||||
import { AdminPostReturnsShippingReqSchemaType } from "../../../../returns/validators"
|
||||
|
||||
export const POST = async (
|
||||
@@ -20,7 +21,7 @@ export const POST = async (
|
||||
|
||||
const [claim] = await remoteQuery(
|
||||
remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
},
|
||||
@@ -33,24 +34,25 @@ export const POST = async (
|
||||
)
|
||||
|
||||
const { result } = await createClaimShippingMethodWorkflow(req.scope).run({
|
||||
input: { ...req.validatedBody, return_id: claim.return_id, claim_id: id },
|
||||
input: {
|
||||
...req.validatedBody,
|
||||
return_id: claim.return_id,
|
||||
claim_id: id,
|
||||
},
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "return",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
...req.filterableFields,
|
||||
},
|
||||
id: claim.return_id,
|
||||
},
|
||||
fields: req.remoteQueryConfig.fields,
|
||||
fields: defaultAdminDetailsReturnFields,
|
||||
})
|
||||
|
||||
const [orderClaim] = await remoteQuery(queryObject)
|
||||
const [orderReturn] = await remoteQuery(queryObject)
|
||||
|
||||
res.json({
|
||||
order_preview: result,
|
||||
return: orderClaim,
|
||||
return: orderReturn,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ export const POST = async (
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
@@ -65,7 +65,7 @@ export const DELETE = async (
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
|
||||
@@ -23,7 +23,7 @@ export const POST = async (
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
|
||||
+2
-2
@@ -29,7 +29,7 @@ export const POST = async (
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
@@ -65,7 +65,7 @@ export const DELETE = async (
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
|
||||
@@ -22,7 +22,7 @@ export const POST = async (
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
import { confirmClaimRequestWorkflow } from "@medusajs/core-flows"
|
||||
import {
|
||||
ContainerRegistrationKeys,
|
||||
remoteQueryObjectFromString,
|
||||
} from "@medusajs/utils"
|
||||
import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "../../../../../types/routing"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest,
|
||||
res: MedusaResponse
|
||||
) => {
|
||||
const { id } = req.params
|
||||
|
||||
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
|
||||
const { result } = await confirmClaimRequestWorkflow(req.scope).run({
|
||||
input: { claim_id: id },
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id,
|
||||
filters: {
|
||||
...req.filterableFields,
|
||||
},
|
||||
},
|
||||
fields: req.remoteQueryConfig.fields,
|
||||
})
|
||||
|
||||
const [orderClaim] = await remoteQuery(queryObject)
|
||||
|
||||
res.json({
|
||||
order_preview: result,
|
||||
claim: orderClaim,
|
||||
})
|
||||
}
|
||||
@@ -5,8 +5,8 @@ import * as QueryConfig from "./query-config"
|
||||
import {
|
||||
AdminGetOrdersOrderParams,
|
||||
AdminGetOrdersParams,
|
||||
AdminPostClaimItemsReqSchema,
|
||||
AdminPostClaimsAddItemsReqSchema,
|
||||
AdminPostClaimsConfirmRequestReqSchema,
|
||||
AdminPostClaimsRequestItemsActionReqSchema,
|
||||
AdminPostClaimsRequestReturnItemsReqSchema,
|
||||
AdminPostClaimsShippingActionReqSchema,
|
||||
@@ -51,7 +51,7 @@ export const adminClaimRoutesMiddlewares: MiddlewareRoute[] = [
|
||||
method: ["POST"],
|
||||
matcher: "/admin/claims/:id/claim-items",
|
||||
middlewares: [
|
||||
validateAndTransformBody(AdminPostClaimsRequestReturnItemsReqSchema),
|
||||
validateAndTransformBody(AdminPostClaimItemsReqSchema),
|
||||
validateAndTransformQuery(
|
||||
AdminGetOrdersOrderParams,
|
||||
QueryConfig.retrieveTransformQueryConfig
|
||||
@@ -214,7 +214,6 @@ export const adminClaimRoutesMiddlewares: MiddlewareRoute[] = [
|
||||
method: ["POST"],
|
||||
matcher: "/admin/claims/:id/request",
|
||||
middlewares: [
|
||||
validateAndTransformBody(AdminPostClaimsConfirmRequestReqSchema),
|
||||
validateAndTransformQuery(
|
||||
AdminGetOrdersOrderParams,
|
||||
QueryConfig.retrieveTransformQueryConfig
|
||||
@@ -223,7 +222,17 @@ export const adminClaimRoutesMiddlewares: MiddlewareRoute[] = [
|
||||
},
|
||||
{
|
||||
method: ["DELETE"],
|
||||
matcher: "/admin/claims/:id/request",
|
||||
matcher: "/admin/claims/:id",
|
||||
middlewares: [],
|
||||
},
|
||||
{
|
||||
method: ["POST"],
|
||||
matcher: "/admin/claims/:id/cancel",
|
||||
middlewares: [
|
||||
validateAndTransformQuery(
|
||||
AdminGetOrdersOrderParams,
|
||||
QueryConfig.retrieveTransformQueryConfig
|
||||
),
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -2,12 +2,10 @@ export const defaultAdminClaimFields = [
|
||||
"id",
|
||||
"type",
|
||||
"order_id",
|
||||
"exchange_id",
|
||||
"claim_id",
|
||||
"return_id",
|
||||
"display_id",
|
||||
"location_id",
|
||||
"order_version",
|
||||
"status",
|
||||
"refund_amount",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
@@ -15,8 +13,9 @@ export const defaultAdminClaimFields = [
|
||||
|
||||
export const defaultAdminDetailsClaimFields = [
|
||||
...defaultAdminClaimFields,
|
||||
"items.*",
|
||||
"items.reason.*",
|
||||
"additional_items.*",
|
||||
"claim_items.*",
|
||||
"claim_items.reason.*",
|
||||
]
|
||||
|
||||
export const retrieveTransformQueryConfig = {
|
||||
|
||||
@@ -18,7 +18,7 @@ export const GET = async (
|
||||
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "claims",
|
||||
entryPoint: "order_claims",
|
||||
variables: {
|
||||
filters: {
|
||||
...req.filterableFields,
|
||||
@@ -52,7 +52,7 @@ export const POST = async (
|
||||
})
|
||||
|
||||
const queryObject = remoteQueryObjectFromString({
|
||||
entryPoint: "claim",
|
||||
entryPoint: "order_claim",
|
||||
variables: {
|
||||
id: result.claim_id,
|
||||
filters: {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ClaimType } from "@medusajs/utils"
|
||||
import { ClaimReason, ClaimType } from "@medusajs/utils"
|
||||
import { z } from "zod"
|
||||
import {
|
||||
createFindParams,
|
||||
@@ -150,9 +150,9 @@ export const AdminPostClaimItemsReqSchema = z.object({
|
||||
z.object({
|
||||
id: z.string(),
|
||||
quantity: z.number(),
|
||||
reason: z.nativeEnum(ClaimReason).optional(),
|
||||
description: z.string().optional(),
|
||||
internal_note: z.string().optional(),
|
||||
metadata: z.record(z.unknown()).optional(),
|
||||
})
|
||||
),
|
||||
})
|
||||
@@ -174,6 +174,7 @@ export type AdminPostClaimsRequestItemsActionReqSchemaType = z.infer<
|
||||
|
||||
export const AdminPostClaimsItemsActionReqSchema = z.object({
|
||||
quantity: z.number().optional(),
|
||||
reason: z.nativeEnum(ClaimReason).nullish().optional(),
|
||||
internal_note: z.string().nullish().optional(),
|
||||
})
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { defineMiddlewares } from "../utils/define-middlewares"
|
||||
import { adminApiKeyRoutesMiddlewares } from "./admin/api-keys/middlewares"
|
||||
import { adminCampaignRoutesMiddlewares } from "./admin/campaigns/middlewares"
|
||||
import { adminClaimRoutesMiddlewares } from "./admin/claims/middlewares"
|
||||
import { adminCollectionRoutesMiddlewares } from "./admin/collections/middlewares"
|
||||
import { adminCurrencyRoutesMiddlewares } from "./admin/currencies/middlewares"
|
||||
import { adminCustomerGroupRoutesMiddlewares } from "./admin/customer-groups/middlewares"
|
||||
@@ -17,13 +18,14 @@ import { adminPaymentRoutesMiddlewares } from "./admin/payments/middlewares"
|
||||
import { adminPriceListsRoutesMiddlewares } from "./admin/price-lists/middlewares"
|
||||
import { adminPricePreferencesRoutesMiddlewares } from "./admin/price-preferences/middlewares"
|
||||
import { adminProductCategoryRoutesMiddlewares } from "./admin/product-categories/middlewares"
|
||||
import { adminProductTypeRoutesMiddlewares } from "./admin/product-types/middlewares"
|
||||
import { adminProductTagRoutesMiddlewares } from "./admin/product-tags/middlewares"
|
||||
import { adminProductTypeRoutesMiddlewares } from "./admin/product-types/middlewares"
|
||||
import { adminProductRoutesMiddlewares } from "./admin/products/middlewares"
|
||||
import { adminPromotionRoutesMiddlewares } from "./admin/promotions/middlewares"
|
||||
import { adminRegionRoutesMiddlewares } from "./admin/regions/middlewares"
|
||||
import { adminReservationRoutesMiddlewares } from "./admin/reservations/middlewares"
|
||||
import { adminReturnReasonRoutesMiddlewares } from "./admin/return-reasons/middlewares"
|
||||
import { adminReturnRoutesMiddlewares } from "./admin/returns/middlewares"
|
||||
import { adminSalesChannelRoutesMiddlewares } from "./admin/sales-channels/middlewares"
|
||||
import { adminShippingOptionRoutesMiddlewares } from "./admin/shipping-options/middlewares"
|
||||
import { adminShippingProfilesMiddlewares } from "./admin/shipping-profiles/middlewares"
|
||||
@@ -35,6 +37,7 @@ import { adminUploadRoutesMiddlewares } from "./admin/uploads/middlewares"
|
||||
import { adminUserRoutesMiddlewares } from "./admin/users/middlewares"
|
||||
import { adminWorkflowsExecutionsMiddlewares } from "./admin/workflows-executions/middlewares"
|
||||
import { authRoutesMiddlewares } from "./auth/middlewares"
|
||||
|
||||
import { hooksRoutesMiddlewares } from "./hooks/middlewares"
|
||||
import { storeCartRoutesMiddlewares } from "./store/carts/middlewares"
|
||||
import { storeCollectionRoutesMiddlewares } from "./store/collections/middlewares"
|
||||
@@ -48,7 +51,6 @@ import { storeProductRoutesMiddlewares } from "./store/products/middlewares"
|
||||
import { storeRegionRoutesMiddlewares } from "./store/regions/middlewares"
|
||||
import { storeReturnReasonRoutesMiddlewares } from "./store/return-reasons/middlewares"
|
||||
import { storeShippingOptionRoutesMiddlewares } from "./store/shipping-options/middlewares"
|
||||
import { adminReturnRoutesMiddlewares } from "./admin/returns/middlewares"
|
||||
|
||||
export default defineMiddlewares([
|
||||
...adminCustomerGroupRoutesMiddlewares,
|
||||
@@ -103,4 +105,5 @@ export default defineMiddlewares([
|
||||
...storeProductRoutesMiddlewares,
|
||||
...storeReturnReasonRoutesMiddlewares,
|
||||
...adminReturnReasonRoutesMiddlewares,
|
||||
...adminClaimRoutesMiddlewares,
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user