diff --git a/packages/core/types/src/http/claim/admin/payloads.ts b/packages/core/types/src/http/claim/admin/payloads.ts index e99f665cf0..45cefc0655 100644 --- a/packages/core/types/src/http/claim/admin/payloads.ts +++ b/packages/core/types/src/http/claim/admin/payloads.ts @@ -109,6 +109,10 @@ export interface AdminCreateClaim { * An internal note viewed by admin users only. */ internal_note?: string + /** + * The ID of the associated reason. + */ + reason_id?: string | null /** * Key-value pairs of custom data. */ @@ -116,13 +120,13 @@ export interface AdminCreateClaim { } export interface AdminAddClaimItems extends AdminClaimAddItems {} -export interface AdminUpdateClaimItem extends AdminClaimUpdateItem {} +export interface AdminUpdateClaimItem extends Omit {} export interface AdminAddClaimInboundItems extends AdminClaimAddItems {} export interface AdminUpdateClaimInboundItem extends AdminClaimUpdateItem {} export interface AdminAddClaimOutboundItems extends AdminClaimAddItems {} -export interface AdminUpdateClaimOutboundItem extends AdminClaimUpdateItem {} +export interface AdminUpdateClaimOutboundItem extends Omit {} export interface AdminClaimAddInboundShipping extends AdminClaimAddShippingMethod {} diff --git a/packages/core/types/src/http/claim/admin/queries.ts b/packages/core/types/src/http/claim/admin/queries.ts index 7a6abfcd56..bc656d6cfd 100644 --- a/packages/core/types/src/http/claim/admin/queries.ts +++ b/packages/core/types/src/http/claim/admin/queries.ts @@ -6,10 +6,48 @@ export interface AdminClaimListParams extends BaseClaimListParams, BaseFilterable { } -export interface AdminClaimParams extends SelectParams { +export interface AdminClaimActionsParams extends SelectParams { + /** + * Filter by claim ID(s). + */ id?: string | string[] + /** + * Filter by claim status(es). + */ status?: string | string[] + /** + * Apply filters on the claim's creation date. + */ created_at?: OperatorMap + /** + * Apply filters on the claim's update date. + */ updated_at?: OperatorMap + /** + * Apply filters on the claim's deletion date. + */ + deleted_at?: OperatorMap +} + +export interface AdminClaimParams extends SelectParams { + /** + * Filter by claim ID(s). + */ + id?: string | string[] + /** + * Filter by claim status(es). + */ + status?: string | string[] + /** + * Apply filters on the claim's creation date. + */ + created_at?: OperatorMap + /** + * Apply filters on the claim's update date. + */ + updated_at?: OperatorMap + /** + * Apply filters on the claim's deletion date. + */ deleted_at?: OperatorMap } diff --git a/packages/core/types/src/http/exchange/admin/payloads.ts b/packages/core/types/src/http/exchange/admin/payloads.ts index 7ce8db8162..cf30e76d8b 100644 --- a/packages/core/types/src/http/exchange/admin/payloads.ts +++ b/packages/core/types/src/http/exchange/admin/payloads.ts @@ -1,36 +1,32 @@ -enum ExchangeReason { - MISSING_ITEM = "missing_item", - WRONG_ITEM = "wrong_item", - PRODUCTION_FAILURE = "production_failure", - OTHER = "other", -} - -interface AdminExchangeAddItems { +export interface AdminAddExchangeOutboundItems { /** * The items to add to the exchange. */ items: { /** - * If you're adding an inbound item, this is the ID of the order item returned. - * If you're adding an outbound item, this is the ID of the variant to add. + * The ID of the variant to add. */ - id: string + variant_id: string /** * The item's quantity. */ quantity: number /** - * The reason the item is being returned / sent to the customer. + * The item's unit price. */ - reason?: ExchangeReason - /** - * The item's description. - */ - description?: string + unit_price?: number /** * An internal note viewed by admin users only. */ internal_note?: string + /** + * Whether to allow backorder for the item. + */ + allow_backorder?: boolean + /** + * Key-value pairs of custom data. + */ + metadata?: Record }[] } @@ -111,13 +107,46 @@ export interface AdminCreateExchange { metadata?: Record | null } -export interface AdminAddExchangeInboundItems extends AdminExchangeAddItems {} +export interface AdminAddExchangeInboundItems { + /** + * The ID of the location the items are returned to. + */ + location_id?: string + /** + * The items to add to the exchange. + */ + items: { + /** + * The ID of the order item returned. + */ + id: string + /** + * The item's quantity. + */ + quantity: number + /** + * The description of why the item is being returned. + */ + description?: string + /** + * An internal note viewed by admin users only. + */ + internal_note?: string + /** + * The ID of the associated return reason. + */ + reason_id?: string + /** + * Key-value pairs of custom data. + */ + metadata?: Record + }[] +} export interface AdminUpdateExchangeInboundItem extends AdminExchangeUpdateItem {} -export interface AdminAddExchangeOutboundItems extends AdminExchangeAddItems {} export interface AdminUpdateExchangeOutboundItem - extends AdminExchangeUpdateItem {} + extends Omit {} export interface AdminExchangeAddInboundShipping extends AdminExchangeAddShippingMethod {} diff --git a/packages/core/types/src/http/exchange/admin/queries.ts b/packages/core/types/src/http/exchange/admin/queries.ts index 6e403f025a..d54e71940a 100644 --- a/packages/core/types/src/http/exchange/admin/queries.ts +++ b/packages/core/types/src/http/exchange/admin/queries.ts @@ -1,11 +1,52 @@ import { OperatorMap } from "../../../dal" -import { SelectParams } from "../../common" +import { FindParams, SelectParams } from "../../common" -export interface AdminExchangeListParams extends SelectParams { +export interface AdminExchangeListParams extends FindParams { + /** + * Filter by exchange ID(s). + */ id?: string | string[] + /** + * Filter by order ID(s) to get their associated exchanges. + */ order_id?: string | string[] + /** + * Filter by exchange status(es). + */ status?: string | string[] + /** + * Apply filters on the exchange's creation date. + */ created_at?: OperatorMap + /** + * Apply filters on the exchange's update date. + */ updated_at?: OperatorMap + /** + * Apply filters on the exchange's deletion date. + */ + deleted_at?: OperatorMap +} + +export interface AdminOrderExchangeListParams extends SelectParams { + /** + * Filter by exchange ID(s). + */ + id?: string | string[] + /** + * Filter by exchange status(es). + */ + status?: string | string[] + /** + * Apply filters on the exchange's creation date. + */ + created_at?: OperatorMap + /** + * Apply filters on the exchange's update date. + */ + updated_at?: OperatorMap + /** + * Apply filters on the exchange's deletion date. + */ deleted_at?: OperatorMap } diff --git a/packages/medusa/src/api/admin/claims/[id]/claim-items/[action_id]/route.ts b/packages/medusa/src/api/admin/claims/[id]/claim-items/[action_id]/route.ts index 59d87e0d1e..6f27df3e7c 100644 --- a/packages/medusa/src/api/admin/claims/[id]/claim-items/[action_id]/route.ts +++ b/packages/medusa/src/api/admin/claims/[id]/claim-items/[action_id]/route.ts @@ -10,11 +10,13 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "@medusajs/framework/http" -import { AdminPostClaimsItemsActionReqSchemaType } from "../../../validators" import { HttpTypes } from "@medusajs/framework/types" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminUpdateClaimItem, + HttpTypes.AdminClaimActionsParams + >, res: MedusaResponse ) => { const { id, action_id } = req.params @@ -49,7 +51,7 @@ export const POST = async ( } export const DELETE = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest<{}, HttpTypes.AdminClaimActionsParams>, res: MedusaResponse ) => { const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY) diff --git a/packages/medusa/src/api/admin/claims/[id]/claim-items/route.ts b/packages/medusa/src/api/admin/claims/[id]/claim-items/route.ts index 6021f8f226..3dd497081a 100644 --- a/packages/medusa/src/api/admin/claims/[id]/claim-items/route.ts +++ b/packages/medusa/src/api/admin/claims/[id]/claim-items/route.ts @@ -7,11 +7,13 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "@medusajs/framework/http" -import { AdminPostClaimItemsReqSchemaType } from "../../validators" import { HttpTypes } from "@medusajs/framework/types" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminAddClaimItems, + HttpTypes.AdminClaimActionsParams + >, res: MedusaResponse ) => { const { id } = req.params diff --git a/packages/medusa/src/api/admin/claims/[id]/inbound/shipping-method/[action_id]/route.ts b/packages/medusa/src/api/admin/claims/[id]/inbound/shipping-method/[action_id]/route.ts index 6c9a7a477c..8b992ae293 100644 --- a/packages/medusa/src/api/admin/claims/[id]/inbound/shipping-method/[action_id]/route.ts +++ b/packages/medusa/src/api/admin/claims/[id]/inbound/shipping-method/[action_id]/route.ts @@ -12,10 +12,12 @@ import { remoteQueryObjectFromString, } from "@medusajs/framework/utils" import { defaultAdminDetailsReturnFields } from "../../../../../returns/query-config" -import { AdminPostClaimsShippingActionReqSchemaType } from "../../../../validators" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminClaimUpdateInboundShipping, + HttpTypes.AdminClaimActionsParams + >, res: MedusaResponse ) => { const { id, action_id } = req.params diff --git a/packages/medusa/src/api/admin/claims/[id]/outbound/items/[action_id]/route.ts b/packages/medusa/src/api/admin/claims/[id]/outbound/items/[action_id]/route.ts index 12a3f8b23c..bae73add68 100644 --- a/packages/medusa/src/api/admin/claims/[id]/outbound/items/[action_id]/route.ts +++ b/packages/medusa/src/api/admin/claims/[id]/outbound/items/[action_id]/route.ts @@ -11,10 +11,12 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "@medusajs/framework/http" -import { AdminPostClaimsItemsActionReqSchemaType } from "../../../../validators" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminUpdateClaimOutboundItem, + HttpTypes.AdminClaimActionsParams + >, res: MedusaResponse ) => { const { id, action_id } = req.params @@ -49,7 +51,7 @@ export const POST = async ( } export const DELETE = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest<{}, HttpTypes.AdminClaimActionsParams>, res: MedusaResponse ) => { const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY) diff --git a/packages/medusa/src/api/admin/claims/[id]/outbound/items/route.ts b/packages/medusa/src/api/admin/claims/[id]/outbound/items/route.ts index 0324d26ff2..fa9b5013c8 100644 --- a/packages/medusa/src/api/admin/claims/[id]/outbound/items/route.ts +++ b/packages/medusa/src/api/admin/claims/[id]/outbound/items/route.ts @@ -8,11 +8,13 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "@medusajs/framework/http" -import { AdminPostClaimsAddItemsReqSchemaType } from "../../../validators" import { HttpTypes } from "@medusajs/framework/types" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminAddClaimOutboundItems, + HttpTypes.AdminClaimActionsParams + >, res: MedusaResponse ) => { const { id } = req.params diff --git a/packages/medusa/src/api/admin/claims/[id]/outbound/shipping-method/[action_id]/route.ts b/packages/medusa/src/api/admin/claims/[id]/outbound/shipping-method/[action_id]/route.ts index 18dd503927..5af2c6e8a2 100644 --- a/packages/medusa/src/api/admin/claims/[id]/outbound/shipping-method/[action_id]/route.ts +++ b/packages/medusa/src/api/admin/claims/[id]/outbound/shipping-method/[action_id]/route.ts @@ -10,11 +10,13 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "@medusajs/framework/http" -import { AdminPostClaimsShippingActionReqSchemaType } from "../../../../validators" import { HttpTypes } from "@medusajs/framework/types" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminClaimUpdateOutboundShipping, + HttpTypes.AdminClaimActionsParams + >, res: MedusaResponse ) => { const { id, action_id } = req.params @@ -49,7 +51,7 @@ export const POST = async ( } export const DELETE = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest<{}, HttpTypes.AdminClaimActionsParams>, res: MedusaResponse ) => { const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY) diff --git a/packages/medusa/src/api/admin/claims/[id]/outbound/shipping-method/route.ts b/packages/medusa/src/api/admin/claims/[id]/outbound/shipping-method/route.ts index 75813ad471..3db5f3701b 100644 --- a/packages/medusa/src/api/admin/claims/[id]/outbound/shipping-method/route.ts +++ b/packages/medusa/src/api/admin/claims/[id]/outbound/shipping-method/route.ts @@ -7,11 +7,13 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "@medusajs/framework/http" -import { AdminPostClaimsShippingReqSchemaType } from "../../../validators" import { HttpTypes } from "@medusajs/framework/types" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminClaimAddOutboundShipping, + HttpTypes.AdminClaimActionsParams + >, res: MedusaResponse ) => { const { id } = req.params diff --git a/packages/medusa/src/api/admin/claims/[id]/request/route.ts b/packages/medusa/src/api/admin/claims/[id]/request/route.ts index 879eea4e04..d53d561db5 100644 --- a/packages/medusa/src/api/admin/claims/[id]/request/route.ts +++ b/packages/medusa/src/api/admin/claims/[id]/request/route.ts @@ -14,7 +14,7 @@ import { import { defaultAdminDetailsReturnFields } from "../../../returns/query-config" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest<{}, HttpTypes.AdminClaimParams>, res: MedusaResponse ) => { const { id } = req.params diff --git a/packages/medusa/src/api/admin/claims/[id]/route.ts b/packages/medusa/src/api/admin/claims/[id]/route.ts index ee18e84e57..960b9679a3 100644 --- a/packages/medusa/src/api/admin/claims/[id]/route.ts +++ b/packages/medusa/src/api/admin/claims/[id]/route.ts @@ -4,10 +4,10 @@ import { refetchEntity, } from "@medusajs/framework/http" import { MedusaError } from "@medusajs/framework/utils" -import { AdminClaimResponse } from "@medusajs/framework/types" +import { AdminClaimResponse, HttpTypes } from "@medusajs/framework/types" export const GET = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { const claim = await refetchEntity({ diff --git a/packages/medusa/src/api/admin/claims/route.ts b/packages/medusa/src/api/admin/claims/route.ts index 267f4e7010..47401a5503 100644 --- a/packages/medusa/src/api/admin/claims/route.ts +++ b/packages/medusa/src/api/admin/claims/route.ts @@ -10,7 +10,6 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "@medusajs/framework/http" -import { AdminPostOrderClaimsReqSchemaType } from "./validators" export const GET = async ( req: AuthenticatedMedusaRequest, @@ -40,7 +39,10 @@ export const GET = async ( } export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminCreateClaim, + HttpTypes.AdminClaimParams + >, res: MedusaResponse ) => { const input = { diff --git a/packages/medusa/src/api/admin/exchanges/[id]/inbound/items/route.ts b/packages/medusa/src/api/admin/exchanges/[id]/inbound/items/route.ts index 75183a2133..0e0b6e828d 100644 --- a/packages/medusa/src/api/admin/exchanges/[id]/inbound/items/route.ts +++ b/packages/medusa/src/api/admin/exchanges/[id]/inbound/items/route.ts @@ -10,10 +10,12 @@ import { } from "@medusajs/framework/http" import { HttpTypes } from "@medusajs/framework/types" import { defaultAdminDetailsReturnFields } from "../../../../returns/query-config" -import { AdminPostExchangesReturnRequestItemsReqSchemaType } from "../../../validators" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminAddExchangeInboundItems, + HttpTypes.SelectParams + >, res: MedusaResponse ) => { const { id } = req.params diff --git a/packages/medusa/src/api/admin/exchanges/[id]/inbound/shipping-method/[action_id]/route.ts b/packages/medusa/src/api/admin/exchanges/[id]/inbound/shipping-method/[action_id]/route.ts index ba8141928c..14a8363961 100644 --- a/packages/medusa/src/api/admin/exchanges/[id]/inbound/shipping-method/[action_id]/route.ts +++ b/packages/medusa/src/api/admin/exchanges/[id]/inbound/shipping-method/[action_id]/route.ts @@ -12,10 +12,12 @@ import { remoteQueryObjectFromString, } from "@medusajs/framework/utils" import { defaultAdminDetailsReturnFields } from "../../../../../returns/query-config" -import { AdminPostExchangesShippingActionReqSchemaType } from "../../../../validators" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminExchangeUpdateInboundShipping, + HttpTypes.SelectParams + >, res: MedusaResponse ) => { const { id, action_id } = req.params diff --git a/packages/medusa/src/api/admin/exchanges/[id]/outbound/items/[action_id]/route.ts b/packages/medusa/src/api/admin/exchanges/[id]/outbound/items/[action_id]/route.ts index 90e77b1920..bedaece928 100644 --- a/packages/medusa/src/api/admin/exchanges/[id]/outbound/items/[action_id]/route.ts +++ b/packages/medusa/src/api/admin/exchanges/[id]/outbound/items/[action_id]/route.ts @@ -11,10 +11,12 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "@medusajs/framework/http" -import { AdminPostExchangesItemsActionReqSchemaType } from "../../../../validators" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminUpdateExchangeOutboundItem, + HttpTypes.SelectParams + >, res: MedusaResponse ) => { const { id, action_id } = req.params @@ -49,7 +51,7 @@ export const POST = async ( } export const DELETE = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest<{}, HttpTypes.SelectParams>, res: MedusaResponse ) => { const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY) diff --git a/packages/medusa/src/api/admin/exchanges/[id]/outbound/items/route.ts b/packages/medusa/src/api/admin/exchanges/[id]/outbound/items/route.ts index d98ffced8d..785451d808 100644 --- a/packages/medusa/src/api/admin/exchanges/[id]/outbound/items/route.ts +++ b/packages/medusa/src/api/admin/exchanges/[id]/outbound/items/route.ts @@ -8,11 +8,13 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "@medusajs/framework/http" -import { AdminPostExchangesAddItemsReqSchemaType } from "../../../validators" import { HttpTypes } from "@medusajs/framework/types" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminAddExchangeOutboundItems, + HttpTypes.SelectParams + >, res: MedusaResponse ) => { const { id } = req.params diff --git a/packages/medusa/src/api/admin/exchanges/[id]/outbound/shipping-method/[action_id]/route.ts b/packages/medusa/src/api/admin/exchanges/[id]/outbound/shipping-method/[action_id]/route.ts index af82d8211d..f06e42c0e8 100644 --- a/packages/medusa/src/api/admin/exchanges/[id]/outbound/shipping-method/[action_id]/route.ts +++ b/packages/medusa/src/api/admin/exchanges/[id]/outbound/shipping-method/[action_id]/route.ts @@ -10,11 +10,13 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "@medusajs/framework/http" -import { AdminPostExchangesShippingActionReqSchemaType } from "../../../../validators" import { HttpTypes } from "@medusajs/framework/types" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminExchangeUpdateOutboundShipping, + HttpTypes.SelectParams + >, res: MedusaResponse ) => { const { id, action_id } = req.params @@ -49,7 +51,7 @@ export const POST = async ( } export const DELETE = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest<{}, HttpTypes.AdminOrderExchangeListParams>, res: MedusaResponse ) => { const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY) diff --git a/packages/medusa/src/api/admin/exchanges/[id]/outbound/shipping-method/route.ts b/packages/medusa/src/api/admin/exchanges/[id]/outbound/shipping-method/route.ts index 78bff49462..c4f0c7b30a 100644 --- a/packages/medusa/src/api/admin/exchanges/[id]/outbound/shipping-method/route.ts +++ b/packages/medusa/src/api/admin/exchanges/[id]/outbound/shipping-method/route.ts @@ -7,11 +7,13 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "@medusajs/framework/http" -import { AdminPostExchangesShippingReqSchemaType } from "../../../validators" import { HttpTypes } from "@medusajs/framework/types" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminExchangeAddOutboundShipping, + HttpTypes.SelectParams + >, res: MedusaResponse ) => { const { id } = req.params diff --git a/packages/medusa/src/api/admin/exchanges/[id]/request/route.ts b/packages/medusa/src/api/admin/exchanges/[id]/request/route.ts index e18d2a2589..8bc7e6b028 100644 --- a/packages/medusa/src/api/admin/exchanges/[id]/request/route.ts +++ b/packages/medusa/src/api/admin/exchanges/[id]/request/route.ts @@ -14,7 +14,7 @@ import { import { defaultAdminDetailsReturnFields } from "../../../returns/query-config" export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest<{}, HttpTypes.SelectParams>, res: MedusaResponse ) => { const { id } = req.params diff --git a/packages/medusa/src/api/admin/exchanges/[id]/route.ts b/packages/medusa/src/api/admin/exchanges/[id]/route.ts index 5ee3f8a3ca..eefbd0c817 100644 --- a/packages/medusa/src/api/admin/exchanges/[id]/route.ts +++ b/packages/medusa/src/api/admin/exchanges/[id]/route.ts @@ -1,4 +1,4 @@ -import { AdminExchangeResponse } from "@medusajs/framework/types" +import { HttpTypes } from "@medusajs/framework/types" import { MedusaError } from "@medusajs/framework/utils" import { AuthenticatedMedusaRequest, @@ -7,8 +7,8 @@ import { } from "@medusajs/framework/http" export const GET = async ( - req: AuthenticatedMedusaRequest, - res: MedusaResponse + req: AuthenticatedMedusaRequest, + res: MedusaResponse ) => { const exchange = await refetchEntity({ entity: "order_exchange", diff --git a/packages/medusa/src/api/admin/exchanges/middlewares.ts b/packages/medusa/src/api/admin/exchanges/middlewares.ts index 37456c76be..96b02bcebf 100644 --- a/packages/medusa/src/api/admin/exchanges/middlewares.ts +++ b/packages/medusa/src/api/admin/exchanges/middlewares.ts @@ -5,6 +5,7 @@ import { } from "@medusajs/framework" import * as QueryConfig from "./query-config" import { + AdminGetExchangeParams, AdminGetOrdersOrderParams, AdminGetOrdersParams, AdminPostCancelExchangeReqSchema, @@ -33,7 +34,7 @@ export const adminExchangeRoutesMiddlewares: MiddlewareRoute[] = [ matcher: "/admin/exchanges/:id", middlewares: [ validateAndTransformQuery( - AdminGetOrdersOrderParams, + AdminGetExchangeParams, QueryConfig.retrieveTransformQueryConfig ), ], diff --git a/packages/medusa/src/api/admin/exchanges/route.ts b/packages/medusa/src/api/admin/exchanges/route.ts index 88c52b95d2..2cd59960be 100644 --- a/packages/medusa/src/api/admin/exchanges/route.ts +++ b/packages/medusa/src/api/admin/exchanges/route.ts @@ -10,7 +10,6 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "@medusajs/framework/http" -import { AdminPostOrderExchangesReqSchemaType } from "./validators" export const GET = async ( req: AuthenticatedMedusaRequest, @@ -40,7 +39,10 @@ export const GET = async ( } export const POST = async ( - req: AuthenticatedMedusaRequest, + req: AuthenticatedMedusaRequest< + HttpTypes.AdminCreateExchange, + HttpTypes.SelectParams + >, res: MedusaResponse ) => { const input = { diff --git a/packages/medusa/src/api/admin/exchanges/validators.ts b/packages/medusa/src/api/admin/exchanges/validators.ts index c7fa6bed83..3e42baf308 100644 --- a/packages/medusa/src/api/admin/exchanges/validators.ts +++ b/packages/medusa/src/api/admin/exchanges/validators.ts @@ -5,6 +5,12 @@ import { createSelectParams, } from "../../utils/validators" +export const AdminGetExchangeParams = createSelectParams() + +export type AdminGetExchangeParamsType = z.infer< + typeof AdminGetExchangeParams +> + export const AdminGetOrdersOrderParams = createSelectParams().merge( z.object({ id: z.union([z.string(), z.array(z.string())]).optional(),