chore: fixes to http and request types for customers (#13825)

This commit is contained in:
Shahed Nasser
2025-10-28 11:07:35 +02:00
committed by GitHub
parent db777dc3d5
commit faea42316a
14 changed files with 60 additions and 29 deletions

View File

@@ -23,6 +23,10 @@ export interface FindParams extends SelectParams {
* -created_at
*/
order?: string
/**
* Whether to include soft-deleted items in the results.
*/
with_deleted?: boolean
}
export interface AdminBatchLink {

View File

@@ -1,3 +1,4 @@
import { FindParams } from "../../common"
import {
BaseCustomerAddressFilters,
BaseCustomerFilters,
@@ -15,4 +16,4 @@ export interface AdminCustomerFilters extends BaseCustomerFilters {
has_account?: boolean
}
export interface AdminCustomerAddressFilters
extends BaseCustomerAddressFilters {}
extends BaseCustomerAddressFilters, FindParams {}

View File

@@ -4,11 +4,14 @@ import {
MedusaResponse,
} from "@medusajs/framework/http"
import { HttpTypes, LinkMethodRequest } from "@medusajs/framework/types"
import { HttpTypes } from "@medusajs/framework/types"
import { refetchCustomerGroup } from "../../helpers"
export const POST = async (
req: AuthenticatedMedusaRequest<LinkMethodRequest>,
req: AuthenticatedMedusaRequest<
HttpTypes.AdminBatchLink,
HttpTypes.SelectParams
>,
res: MedusaResponse<HttpTypes.AdminCustomerGroupResponse>
) => {
const { id } = req.params

View File

@@ -9,11 +9,10 @@ import {
import { MedusaError } from "@medusajs/framework/utils"
import { refetchCustomerGroup } from "../helpers"
import { AdminUpdateCustomerGroupType } from "../validators"
import { HttpTypes } from "@medusajs/framework/types"
export const GET = async (
req: AuthenticatedMedusaRequest,
req: AuthenticatedMedusaRequest<HttpTypes.SelectParams>,
res: MedusaResponse<HttpTypes.AdminCustomerGroupResponse>
) => {
const customerGroup = await refetchCustomerGroup(
@@ -33,7 +32,10 @@ export const GET = async (
}
export const POST = async (
req: AuthenticatedMedusaRequest<AdminUpdateCustomerGroupType>,
req: AuthenticatedMedusaRequest<
HttpTypes.AdminUpdateCustomerGroup,
HttpTypes.SelectParams
>,
res: MedusaResponse<HttpTypes.AdminCustomerGroupResponse>
) => {
const existingCustomerGroup = await refetchCustomerGroup(

View File

@@ -7,7 +7,6 @@ import {
ContainerRegistrationKeys,
remoteQueryObjectFromString,
} from "@medusajs/framework/utils"
import { AdminCreateCustomerGroupType } from "./validators"
import { refetchCustomerGroup } from "./helpers"
import { HttpTypes } from "@medusajs/framework/types"
@@ -37,7 +36,10 @@ export const GET = async (
}
export const POST = async (
req: AuthenticatedMedusaRequest<AdminCreateCustomerGroupType>,
req: AuthenticatedMedusaRequest<
HttpTypes.AdminCreateCustomerGroup,
HttpTypes.SelectParams
>,
res: MedusaResponse<HttpTypes.AdminCustomerGroupResponse>
) => {
const createGroups = createCustomerGroupsWorkflow(req.scope)

View File

@@ -16,7 +16,7 @@ import { refetchCustomer } from "../../../helpers"
import { AdditionalData, HttpTypes } from "@medusajs/framework/types"
export const GET = async (
req: AuthenticatedMedusaRequest,
req: AuthenticatedMedusaRequest<HttpTypes.SelectParams>,
res: MedusaResponse<HttpTypes.AdminCustomerAddressResponse>
) => {
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
@@ -35,7 +35,8 @@ export const GET = async (
export const POST = async (
req: AuthenticatedMedusaRequest<
AdminCreateCustomerAddressType & AdditionalData
AdminCreateCustomerAddressType & AdditionalData,
HttpTypes.SelectParams
>,
res: MedusaResponse<HttpTypes.AdminCustomerResponse>
) => {
@@ -60,7 +61,7 @@ export const POST = async (
}
export const DELETE = async (
req: AuthenticatedMedusaRequest,
req: AuthenticatedMedusaRequest<{}, HttpTypes.SelectParams>,
res: MedusaResponse<HttpTypes.AdminCustomerAddressDeleteResponse>
) => {
const id = req.params.address_id

View File

@@ -39,7 +39,8 @@ export const GET = async (
export const POST = async (
req: AuthenticatedMedusaRequest<
AdminCreateCustomerAddressType & AdditionalData
AdminCreateCustomerAddressType & AdditionalData,
HttpTypes.SelectParams
>,
res: MedusaResponse<HttpTypes.AdminCustomerResponse>
) => {

View File

@@ -4,12 +4,15 @@ import {
MedusaResponse,
} from "@medusajs/framework/http"
import { HttpTypes, LinkMethodRequest } from "@medusajs/framework/types"
import { HttpTypes } from "@medusajs/framework/types"
import { refetchCustomer } from "../../helpers"
export const POST = async (
req: AuthenticatedMedusaRequest<LinkMethodRequest>,
req: AuthenticatedMedusaRequest<
HttpTypes.AdminBatchLink,
HttpTypes.SelectParams
>,
res: MedusaResponse<HttpTypes.AdminCustomerResponse>
) => {
const { id } = req.params

View File

@@ -12,7 +12,7 @@ import { refetchCustomer } from "../helpers"
import { AdminUpdateCustomerType } from "../validators"
export const GET = async (
req: AuthenticatedMedusaRequest,
req: AuthenticatedMedusaRequest<{}, HttpTypes.SelectParams>,
res: MedusaResponse<HttpTypes.AdminCustomerResponse>
) => {
const customer = await refetchCustomer(
@@ -32,7 +32,10 @@ export const GET = async (
}
export const POST = async (
req: AuthenticatedMedusaRequest<AdminUpdateCustomerType & AdditionalData>,
req: AuthenticatedMedusaRequest<
AdminUpdateCustomerType & AdditionalData,
HttpTypes.SelectParams
>,
res: MedusaResponse<HttpTypes.AdminCustomerResponse>
) => {
const existingCustomer = await refetchCustomer(req.params.id, req.scope, [

View File

@@ -38,7 +38,10 @@ export const GET = async (
}
export const POST = async (
req: AuthenticatedMedusaRequest<AdminCreateCustomerType & AdditionalData>,
req: AuthenticatedMedusaRequest<
AdminCreateCustomerType & AdditionalData,
HttpTypes.SelectParams
>,
res: MedusaResponse<HttpTypes.AdminCustomerResponse>
) => {
const { additional_data, ...rest } = req.validatedBody

View File

@@ -15,7 +15,6 @@ import {
import { refetchCustomer } from "../../../helpers"
import {
StoreGetCustomerAddressParamsType,
StoreUpdateCustomerAddressType,
} from "../../../validators"
export const GET = async (
@@ -45,7 +44,10 @@ export const GET = async (
}
export const POST = async (
req: AuthenticatedMedusaRequest<StoreUpdateCustomerAddressType>,
req: AuthenticatedMedusaRequest<
HttpTypes.StoreUpdateCustomerAddress,
HttpTypes.SelectParams
>,
res: MedusaResponse<HttpTypes.StoreCustomerResponse>
) => {
const id = req.auth_context.actor_id!
@@ -65,7 +67,7 @@ export const POST = async (
}
export const DELETE = async (
req: AuthenticatedMedusaRequest,
req: AuthenticatedMedusaRequest<{}, HttpTypes.SelectParams>,
res: MedusaResponse<HttpTypes.StoreCustomerAddressDeleteResponse>
) => {
const id = req.auth_context.actor_id

View File

@@ -4,10 +4,6 @@ import {
} from "@medusajs/framework/http"
import { createCustomerAddressesWorkflow } from "@medusajs/core-flows"
import {
StoreCreateCustomerAddressType,
StoreGetCustomerAddressesParamsType,
} from "../../validators"
import {
ContainerRegistrationKeys,
remoteQueryObjectFromString,
@@ -16,7 +12,9 @@ import { refetchCustomer } from "../../helpers"
import { HttpTypes } from "@medusajs/framework/types"
export const GET = async (
req: AuthenticatedMedusaRequest<StoreGetCustomerAddressesParamsType>,
req: AuthenticatedMedusaRequest<
HttpTypes.StoreCustomerAddressFilters
>,
res: MedusaResponse<HttpTypes.StoreCustomerAddressListResponse>
) => {
const customerId = req.auth_context.actor_id
@@ -42,7 +40,10 @@ export const GET = async (
}
export const POST = async (
req: AuthenticatedMedusaRequest<StoreCreateCustomerAddressType>,
req: AuthenticatedMedusaRequest<
HttpTypes.StoreCreateCustomerAddress,
HttpTypes.SelectParams
>,
res: MedusaResponse<HttpTypes.StoreCustomerResponse>
) => {
const customerId = req.auth_context.actor_id

View File

@@ -5,7 +5,6 @@ import {
import {
StoreGetCustomerParamsType,
StoreUpdateCustomerType,
} from "../validators"
import { refetchCustomer } from "../helpers"
import { MedusaError } from "@medusajs/framework/utils"
@@ -30,7 +29,10 @@ export const GET = async (
}
export const POST = async (
req: AuthenticatedMedusaRequest<StoreUpdateCustomerType>,
req: AuthenticatedMedusaRequest<
HttpTypes.StoreUpdateCustomer,
HttpTypes.SelectParams
>,
res: MedusaResponse<HttpTypes.StoreCustomerResponse>
) => {
const customerId = req.auth_context.actor_id

View File

@@ -9,7 +9,10 @@ import { HttpTypes } from "@medusajs/framework/types"
import { refetchCustomer } from "./helpers"
export const POST = async (
req: AuthenticatedMedusaRequest<HttpTypes.StoreCreateCustomer>,
req: AuthenticatedMedusaRequest<
HttpTypes.StoreCreateCustomer,
HttpTypes.SelectParams
>,
res: MedusaResponse<HttpTypes.StoreCustomerResponse>
) => {
// If `actor_id` is present, the request carries authentication for an existing customer