chore: Move customer + customer group integration tests and fixes issues (#7577)

* chore: Move customer + customer group and fixes issues

* remove /customer sendpoint
This commit is contained in:
Oli Juhl
2024-06-03 10:52:32 +02:00
committed by GitHub
parent 9608bf06ef
commit 65d3222973
14 changed files with 804 additions and 1269 deletions

View File

@@ -1,12 +1,13 @@
import {
AuthenticatedMedusaRequest,
MedusaResponse,
} from "../../../../types/routing"
import {
deleteCustomerGroupsWorkflow,
updateCustomerGroupsWorkflow,
} from "@medusajs/core-flows"
import {
AuthenticatedMedusaRequest,
MedusaResponse,
} from "../../../../types/routing"
import { MedusaError } from "@medusajs/utils"
import { refetchCustomerGroup } from "../helpers"
import { AdminUpdateCustomerGroupType } from "../validators"
@@ -20,6 +21,13 @@ export const GET = async (
req.remoteQueryConfig.fields
)
if (!customerGroup) {
throw new MedusaError(
MedusaError.Types.NOT_FOUND,
`Customer group with id: ${req.params.id} not found`
)
}
res.status(200).json({ customer_group: customerGroup })
}
@@ -27,8 +35,7 @@ export const POST = async (
req: AuthenticatedMedusaRequest<AdminUpdateCustomerGroupType>,
res: MedusaResponse
) => {
const updateGroups = updateCustomerGroupsWorkflow(req.scope)
await updateGroups.run({
await updateCustomerGroupsWorkflow(req.scope).run({
input: {
selector: { id: req.params.id },
update: req.validatedBody,

View File

@@ -1,14 +1,14 @@
import * as QueryConfig from "./query-config"
import { MiddlewareRoute } from "../../../loaders/helpers/routing/types"
import { validateAndTransformBody } from "../../utils/validate-body"
import { validateAndTransformQuery } from "../../utils/validate-query"
import { createLinkBody } from "../../utils/validators"
import * as QueryConfig from "./query-config"
import {
AdminCreateCustomerGroup,
AdminGetCustomerGroupParams,
AdminGetCustomerGroupsParams,
AdminUpdateCustomerGroup,
} from "./validators"
import { validateAndTransformBody } from "../../utils/validate-body"
import { createLinkBody } from "../../utils/validators"
export const adminCustomerGroupRoutesMiddlewares: MiddlewareRoute[] = [
{

View File

@@ -5,6 +5,7 @@ export const defaultAdminCustomerGroupFields = [
"created_at",
"updated_at",
"deleted_at",
"metadata",
]
export const retrieveTransformQueryConfig = {

View File

@@ -1,9 +1,9 @@
import { z } from "zod"
import {
createFindParams,
createOperatorMap,
createSelectParams,
} from "../../utils/validators"
import { z } from "zod"
export type AdminGetCustomerGroupParamsType = z.infer<
typeof AdminGetCustomerGroupParams
@@ -58,6 +58,7 @@ export type AdminCreateCustomerGroupType = z.infer<
>
export const AdminCreateCustomerGroup = z.object({
name: z.string(),
metadata: z.record(z.any()).optional(),
})
export type AdminUpdateCustomerGroupType = z.infer<
@@ -65,4 +66,5 @@ export type AdminUpdateCustomerGroupType = z.infer<
>
export const AdminUpdateCustomerGroup = z.object({
name: z.string(),
metadata: z.record(z.any()).optional(),
})

View File

@@ -2,6 +2,7 @@ import {
deleteCustomersWorkflow,
updateCustomersWorkflow,
} from "@medusajs/core-flows"
import { AdminCustomer } from "@medusajs/types"
import { MedusaError } from "@medusajs/utils"
import {
AuthenticatedMedusaRequest,
@@ -9,7 +10,6 @@ import {
} from "../../../../types/routing"
import { refetchCustomer } from "../helpers"
import { AdminUpdateCustomerType } from "../validators"
import { AdminCustomer } from "@medusajs/types"
export const GET = async (
req: AuthenticatedMedusaRequest,

View File

@@ -13,8 +13,26 @@ export const defaultAdminCustomerFields = [
"deleted_at",
]
export const allowed = [
"id",
"company_name",
"first_name",
"last_name",
"email",
"phone",
"metadata",
"has_account",
"created_by",
"created_at",
"updated_at",
"deleted_at",
"addresses",
"groups",
]
export const retrieveTransformQueryConfig = {
defaults: defaultAdminCustomerFields,
allowed,
isList: false,
}

View File

@@ -1,5 +1,6 @@
import { createCustomersWorkflow } from "@medusajs/core-flows"
import { AdminCustomer, PaginatedResponse } from "@medusajs/types"
import {
ContainerRegistrationKeys,
remoteQueryObjectFromString,
@@ -8,9 +9,8 @@ import {
AuthenticatedMedusaRequest,
MedusaResponse,
} from "../../../types/routing"
import { AdminCreateCustomerType } from "./validators"
import { refetchCustomer } from "./helpers"
import { AdminCustomer, PaginatedResponse } from "@medusajs/types"
import { AdminCreateCustomerType } from "./validators"
export const GET = async (
req: AuthenticatedMedusaRequest,