chore: fixes to http and request types for orders (3) (#13824)
* chore: fixes to http and request types for orders (3) * add order store routes
This commit is contained in:
@@ -69,6 +69,10 @@ export interface AdminUpdateReturnItems {
|
||||
* The ID of the return reason to associate with the item.
|
||||
*/
|
||||
reason_id?: string | null
|
||||
/**
|
||||
* Custom key-value pairs that can be added to the return item.
|
||||
*/
|
||||
metadata?: Record<string, unknown> | null
|
||||
}
|
||||
|
||||
export interface AdminAddReturnShipping {
|
||||
@@ -179,7 +183,11 @@ export interface AdminReceiveItems {
|
||||
* A note that is viewed by admins only to
|
||||
* describe the received item.
|
||||
*/
|
||||
internal_note?: string
|
||||
internal_note?: string
|
||||
/**
|
||||
* The description of the received item.
|
||||
*/
|
||||
description?: string
|
||||
}[]
|
||||
}
|
||||
|
||||
@@ -204,6 +212,12 @@ export interface AdminDismissItems {
|
||||
}[]
|
||||
}
|
||||
|
||||
/**
|
||||
* @privateRemarks
|
||||
* This type doesn't match the validator of the API route,
|
||||
* however, it's used by the admin dashboard. We should
|
||||
* consider creating separate types for the admin.
|
||||
*/
|
||||
export interface AdminUpdateReceiveItems {
|
||||
/**
|
||||
* The received quantity of the item.
|
||||
@@ -224,6 +238,12 @@ export interface AdminUpdateReceiveItems {
|
||||
metadata?: Record<string, unknown>
|
||||
}
|
||||
|
||||
/**
|
||||
* @privateRemarks
|
||||
* This type doesn't match the validator of the API route,
|
||||
* however, it's used by the admin dashboard. We should
|
||||
* consider creating separate types for the admin.
|
||||
*/
|
||||
export interface AdminUpdateDismissItems {
|
||||
/**
|
||||
* The quantity of the item that is damaged.
|
||||
|
||||
@@ -15,7 +15,7 @@ import {
|
||||
} from "@medusajs/framework/http"
|
||||
|
||||
export const GET = async (
|
||||
req: AuthenticatedMedusaRequest,
|
||||
req: AuthenticatedMedusaRequest<HttpTypes.AdminReturnReasonParams>,
|
||||
res: MedusaResponse<AdminReturnReasonResponse>
|
||||
) => {
|
||||
const return_reason = await refetchEntity({
|
||||
@@ -36,7 +36,10 @@ export const GET = async (
|
||||
}
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<HttpTypes.AdminUpdateReturnReason>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.AdminUpdateReturnReason,
|
||||
HttpTypes.AdminReturnReasonParams
|
||||
>,
|
||||
res: MedusaResponse<AdminReturnReasonResponse>
|
||||
) => {
|
||||
const workflow = updateReturnReasonsWorkflow(req.scope)
|
||||
|
||||
@@ -36,7 +36,10 @@ export const GET = async (
|
||||
}
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<HttpTypes.AdminCreateReturnReason>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.AdminCreateReturnReason,
|
||||
HttpTypes.AdminReturnReasonParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnReasonResponse>
|
||||
) => {
|
||||
const workflow = createReturnReasonsWorkflow(req.scope)
|
||||
|
||||
@@ -7,20 +7,7 @@ import {
|
||||
import { applyAndAndOrOperators } from "../../utils/common-validators"
|
||||
|
||||
export const AdminGetReturnReasonsReturnReasonParams =
|
||||
createSelectParams().merge(
|
||||
z.object({
|
||||
id: z.union([z.string(), z.array(z.string())]).optional(),
|
||||
value: z.union([z.string(), z.array(z.string())]).optional(),
|
||||
label: z.union([z.string(), z.array(z.string())]).optional(),
|
||||
description: z.union([z.string(), z.array(z.string())]).optional(),
|
||||
parent_return_reason_id: z
|
||||
.union([z.string(), z.array(z.string())])
|
||||
.optional(),
|
||||
created_at: createOperatorMap().optional(),
|
||||
updated_at: createOperatorMap().optional(),
|
||||
deleted_at: createOperatorMap().optional(),
|
||||
})
|
||||
)
|
||||
createSelectParams()
|
||||
|
||||
export type AdminGetReturnReasonsReturnReasonParamsType = z.infer<
|
||||
typeof AdminGetReturnReasonsReturnReasonParams
|
||||
|
||||
@@ -14,7 +14,10 @@ import { AdminPostReturnsDismissItemsActionReqSchemaType } from "../../../valida
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReturnsDismissItemsActionReqSchemaType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
AdminPostReturnsDismissItemsActionReqSchemaType,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const { id, action_id } = req.params
|
||||
@@ -51,7 +54,7 @@ export const POST = async (
|
||||
}
|
||||
|
||||
export const DELETE = async (
|
||||
req: AuthenticatedMedusaRequest,
|
||||
req: AuthenticatedMedusaRequest<{}, HttpTypes.AdminReturnFilters>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
|
||||
@@ -7,11 +7,13 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "@medusajs/framework/http"
|
||||
import { AdminPostReturnsReceiveItemsReqSchemaType } from "../../validators"
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReturnsReceiveItemsReqSchemaType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.AdminDismissItems,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const { id } = req.params
|
||||
|
||||
@@ -14,7 +14,10 @@ import { AdminPostReturnsReceiveItemsActionReqSchemaType } from "../../../valida
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReturnsReceiveItemsActionReqSchemaType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
AdminPostReturnsReceiveItemsActionReqSchemaType,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const { id, action_id } = req.params
|
||||
@@ -51,7 +54,7 @@ export const POST = async (
|
||||
}
|
||||
|
||||
export const DELETE = async (
|
||||
req: AuthenticatedMedusaRequest,
|
||||
req: AuthenticatedMedusaRequest<{}, HttpTypes.AdminReturnFilters>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
|
||||
@@ -7,11 +7,13 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "@medusajs/framework/http"
|
||||
import { AdminPostReturnsReceiveItemsReqSchemaType } from "../../validators"
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReturnsReceiveItemsReqSchemaType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.AdminReceiveItems,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const { id } = req.params
|
||||
|
||||
@@ -8,10 +8,12 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "@medusajs/framework/http"
|
||||
import { AdminPostReturnsConfirmRequestReqSchemaType } from "../../../validators"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReturnsConfirmRequestReqSchemaType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.AdminConfirmReceiveReturn,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const { id } = req.params
|
||||
|
||||
@@ -13,10 +13,12 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "@medusajs/framework/http"
|
||||
import { AdminPostReceiveReturnsReqSchemaType } from "../../validators"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReceiveReturnsReqSchemaType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.AdminInitiateReceiveReturn,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminOrderReturnResponse>
|
||||
) => {
|
||||
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
|
||||
@@ -10,11 +10,13 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "@medusajs/framework/http"
|
||||
import { AdminPostReturnsRequestItemsActionReqSchemaType } from "../../../validators"
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReturnsRequestItemsActionReqSchemaType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.AdminUpdateReturnItems,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const { id, action_id } = req.params
|
||||
@@ -49,7 +51,7 @@ export const POST = async (
|
||||
}
|
||||
|
||||
export const DELETE = async (
|
||||
req: AuthenticatedMedusaRequest,
|
||||
req: AuthenticatedMedusaRequest<{}, HttpTypes.AdminReturnFilters>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
|
||||
@@ -7,11 +7,13 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "@medusajs/framework/http"
|
||||
import { AdminPostReturnsRequestItemsReqSchemaType } from "../../validators"
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReturnsRequestItemsReqSchemaType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.AdminAddReturnItems,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const { id } = req.params
|
||||
|
||||
@@ -11,10 +11,12 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "@medusajs/framework/http"
|
||||
import { AdminPostReturnsConfirmRequestReqSchemaType } from "../../validators"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReturnsConfirmRequestReqSchemaType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.AdminConfirmReturnRequest,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const { id } = req.params
|
||||
|
||||
@@ -7,11 +7,10 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "@medusajs/framework/http"
|
||||
import { AdminPostReturnsReturnReqSchemaType } from "../validators"
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
|
||||
export const GET = async (
|
||||
req: AuthenticatedMedusaRequest,
|
||||
req: AuthenticatedMedusaRequest<HttpTypes.SelectParams>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnResponse>
|
||||
) => {
|
||||
const { id } = req.params
|
||||
@@ -39,7 +38,10 @@ export const GET = async (
|
||||
}
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReturnsReturnReqSchemaType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.AdminUpdateReturnRequest,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const { id } = req.params
|
||||
|
||||
@@ -10,11 +10,13 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "@medusajs/framework/http"
|
||||
import { AdminPostReturnsShippingActionReqSchemaType } from "../../../validators"
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReturnsShippingActionReqSchemaType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.AdminUpdateReturnShipping,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const { id, action_id } = req.params
|
||||
@@ -49,7 +51,7 @@ export const POST = async (
|
||||
}
|
||||
|
||||
export const DELETE = async (
|
||||
req: AuthenticatedMedusaRequest,
|
||||
req: AuthenticatedMedusaRequest<{}, HttpTypes.AdminReturnFilters>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
|
||||
@@ -7,11 +7,13 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "@medusajs/framework/http"
|
||||
import { AdminPostReturnsShippingReqSchemaType } from "../../validators"
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReturnsShippingReqSchemaType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.AdminAddReturnShipping,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminReturnPreviewResponse>
|
||||
) => {
|
||||
const { id } = req.params
|
||||
|
||||
@@ -7,6 +7,7 @@ import * as QueryConfig from "./query-config"
|
||||
import {
|
||||
AdminGetOrdersOrderParams,
|
||||
AdminGetOrdersParams,
|
||||
AdminGetReturnParams,
|
||||
AdminPostCancelReturnReqSchema,
|
||||
AdminPostReceiveReturnItemsReqSchema,
|
||||
AdminPostReceiveReturnsReqSchema,
|
||||
@@ -35,7 +36,7 @@ export const adminReturnRoutesMiddlewares: MiddlewareRoute[] = [
|
||||
matcher: "/admin/returns/:id",
|
||||
middlewares: [
|
||||
validateAndTransformQuery(
|
||||
AdminGetOrdersOrderParams,
|
||||
AdminGetReturnParams,
|
||||
QueryConfig.retrieveTransformQueryConfig
|
||||
),
|
||||
],
|
||||
|
||||
@@ -10,7 +10,6 @@ import {
|
||||
AuthenticatedMedusaRequest,
|
||||
MedusaResponse,
|
||||
} from "@medusajs/framework/http"
|
||||
import { AdminPostReturnsReqSchemaType } from "./validators"
|
||||
|
||||
export const GET = async (
|
||||
req: AuthenticatedMedusaRequest<HttpTypes.AdminOrderFilters>,
|
||||
@@ -40,7 +39,10 @@ export const GET = async (
|
||||
}
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<AdminPostReturnsReqSchemaType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.AdminInitiateReturnRequest,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.AdminOrderReturnResponse>
|
||||
) => {
|
||||
const input = {
|
||||
|
||||
@@ -19,6 +19,10 @@ export type AdminGetOrdersOrderParamsType = z.infer<
|
||||
typeof AdminGetOrdersOrderParams
|
||||
>
|
||||
|
||||
export const AdminGetReturnParams = createSelectParams()
|
||||
|
||||
export type AdminGetReturnParamsType = z.infer<typeof AdminGetReturnParams>
|
||||
|
||||
/**
|
||||
* Parameters used to filter and configure the pagination of the retrieved order.
|
||||
*/
|
||||
|
||||
@@ -4,7 +4,7 @@ import { HttpTypes } from "@medusajs/framework/types"
|
||||
|
||||
// TODO: Do we want to apply some sort of authentication here? My suggestion is that we do
|
||||
export const GET = async (
|
||||
req: MedusaRequest,
|
||||
req: MedusaRequest<HttpTypes.SelectParams>,
|
||||
res: MedusaResponse<HttpTypes.StoreOrderResponse>
|
||||
) => {
|
||||
const workflow = getOrderDetailWorkflow(req.scope)
|
||||
|
||||
@@ -5,10 +5,11 @@ import {
|
||||
getOrderDetailWorkflow,
|
||||
} from "@medusajs/core-flows"
|
||||
|
||||
import { StoreAcceptOrderTransferType } from "../../../validators"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<StoreAcceptOrderTransferType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.StoreAcceptOrderTransfer,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.StoreOrderResponse>
|
||||
) => {
|
||||
await acceptOrderTransferWorkflow(req.scope).run({
|
||||
|
||||
@@ -9,7 +9,7 @@ import {
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest,
|
||||
req: AuthenticatedMedusaRequest<{}, HttpTypes.SelectParams>,
|
||||
res: MedusaResponse<HttpTypes.StoreOrderResponse>
|
||||
) => {
|
||||
const orderId = req.params.id
|
||||
|
||||
@@ -5,10 +5,11 @@ import {
|
||||
getOrderDetailWorkflow,
|
||||
} from "@medusajs/core-flows"
|
||||
|
||||
import { StoreDeclineOrderTransferRequestType } from "../../../validators"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<StoreDeclineOrderTransferRequestType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.StoreDeclineOrderTransfer,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.StoreOrderResponse>
|
||||
) => {
|
||||
await declineOrderTransferRequestWorkflow(req.scope).run({
|
||||
|
||||
@@ -7,10 +7,12 @@ import {
|
||||
MedusaResponse,
|
||||
} from "@medusajs/framework/http"
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
import { StoreRequestOrderTransferType } from "../../../validators"
|
||||
|
||||
export const POST = async (
|
||||
req: AuthenticatedMedusaRequest<StoreRequestOrderTransferType>,
|
||||
req: AuthenticatedMedusaRequest<
|
||||
HttpTypes.StoreRequestOrderTransfer,
|
||||
HttpTypes.SelectParams
|
||||
>,
|
||||
res: MedusaResponse<HttpTypes.StoreOrderResponse>
|
||||
) => {
|
||||
const orderId = req.params.id
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { MiddlewareRoute } from "@medusajs/framework/http"
|
||||
import { validateAndTransformQuery } from "@medusajs/framework"
|
||||
import * as QueryConfig from "./query-config"
|
||||
import { StoreReturnReasonParams } from "./validators"
|
||||
import { StoreReturnReasonParams, StoreReturnReasonsParams } from "./validators"
|
||||
|
||||
export const storeReturnReasonRoutesMiddlewares: MiddlewareRoute[] = [
|
||||
{
|
||||
@@ -9,7 +9,7 @@ export const storeReturnReasonRoutesMiddlewares: MiddlewareRoute[] = [
|
||||
matcher: "/store/return-reasons",
|
||||
middlewares: [
|
||||
validateAndTransformQuery(
|
||||
StoreReturnReasonParams,
|
||||
StoreReturnReasonsParams,
|
||||
QueryConfig.listTransformQueryConfig
|
||||
),
|
||||
],
|
||||
|
||||
@@ -6,7 +6,7 @@ import { MedusaRequest, MedusaResponse } from "@medusajs/framework/http"
|
||||
import { HttpTypes } from "@medusajs/framework/types"
|
||||
|
||||
export const GET = async (
|
||||
req: MedusaRequest,
|
||||
req: MedusaRequest<HttpTypes.FindParams>,
|
||||
res: MedusaResponse<HttpTypes.StoreReturnReasonListResponse>
|
||||
) => {
|
||||
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
|
||||
Reference in New Issue
Block a user