Chore/order claims 2 (#8312)

This commit is contained in:
Carlos R. L. Rodrigues
2024-07-29 10:15:35 -03:00
committed by GitHub
parent ebaf0eb53a
commit 42c80e4264
47 changed files with 1293 additions and 139 deletions
@@ -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,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: {
@@ -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(),
})
+5 -2
View File
@@ -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,
])