feat: Update customer related typings and sdk methods (#7440)

This commit is contained in:
Stevche Radevski
2024-05-24 13:25:10 +02:00
committed by GitHub
parent ff870482bb
commit 296473d994
41 changed files with 386 additions and 228 deletions

View File

@@ -5,7 +5,6 @@ import { categories } from "./categories"
import { collections } from "./collections"
import { currencies } from "./currencies"
import { customerGroups } from "./customer-groups"
import { customers } from "./customers"
import { fulfillmentProviders } from "./fulfillment-providers"
import { fulfillments } from "./fulfillments"
import { inventoryItems } from "./inventory"
@@ -33,7 +32,6 @@ export const client = {
apiKeys: apiKeys,
campaigns: campaigns,
categories: categories,
customers: customers,
customerGroups: customerGroups,
currencies: currencies,
collections: collections,

View File

@@ -1,30 +1,26 @@
import {
AdminCustomerGroupListResponse,
AdminCustomerGroupResponse,
} from "@medusajs/types"
import { z } from "zod"
import { CreateCustomerGroupSchema } from "../../routes/customer-groups/customer-group-create/components/create-customer-group-form"
import { EditCustomerGroupSchema } from "../../routes/customer-groups/customer-group-edit/components/edit-customer-group-form"
import { deleteRequest, getRequest, postRequest } from "./common"
import { HttpTypes, PaginatedResponse } from "@medusajs/types"
async function retrieveCustomerGroup(id: string, query?: Record<string, any>) {
return getRequest<AdminCustomerGroupResponse>(
return getRequest<{ customer_group: HttpTypes.AdminCustomerGroup }>(
`/admin/customer-groups/${id}`,
query
)
}
async function listCustomerGroups(query?: Record<string, any>) {
return getRequest<AdminCustomerGroupListResponse>(
`/admin/customer-groups`,
query
)
return getRequest<
PaginatedResponse<{ customer_groups: HttpTypes.AdminCustomerGroup[] }>
>(`/admin/customer-groups`, query)
}
async function createCustomerGroup(
payload: z.infer<typeof CreateCustomerGroupSchema>
) {
return postRequest<AdminCustomerGroupResponse>(
return postRequest<{ customer_group: HttpTypes.AdminCustomerGroup }>(
`/admin/customer-groups`,
payload
)
@@ -34,7 +30,7 @@ async function updateCustomerGroup(
id: string,
payload: z.infer<typeof EditCustomerGroupSchema>
) {
return postRequest<AdminCustomerGroupResponse>(
return postRequest<{ customer_group: HttpTypes.AdminCustomerGroup }>(
`/admin/customer-groups/${id}`,
payload
)
@@ -52,7 +48,7 @@ async function batchAddCustomers(
id: string,
payload: { customer_ids: string[] }
) {
return postRequest<AdminCustomerGroupResponse>(
return postRequest<{ customer_group: HttpTypes.AdminCustomerGroup }>(
`/admin/customer-groups/${id}/customers`,
{
add: payload.customer_ids,
@@ -64,7 +60,7 @@ async function batchRemoveCustomers(
id: string,
payload: { customer_ids: string[] }
) {
return postRequest<AdminCustomerGroupResponse>(
return postRequest<{ customer_group: HttpTypes.AdminCustomerGroup }>(
`/admin/customer-groups/${id}/customers`,
{
remove: payload.customer_ids,

View File

@@ -1,35 +0,0 @@
import {
AdminCustomerListResponse,
AdminCustomerResponse,
DeleteResponse,
} from "@medusajs/types"
import { CreateCustomerReq, UpdateCustomerReq } from "../../types/api-payloads"
import { deleteRequest, getRequest, postRequest } from "./common"
async function retrieveCustomer(id: string, query?: Record<string, any>) {
return getRequest<AdminCustomerResponse>(`/admin/customers/${id}`, query)
}
async function listCustomers(query?: Record<string, any>) {
return getRequest<AdminCustomerListResponse>(`/admin/customers`, query)
}
async function createCustomer(payload: CreateCustomerReq) {
return postRequest<AdminCustomerResponse>(`/admin/customers`, payload)
}
async function updateCustomer(id: string, payload: UpdateCustomerReq) {
return postRequest<AdminCustomerResponse>(`/admin/customers/${id}`, payload)
}
async function deleteCustomer(id: string) {
return deleteRequest<DeleteResponse>(`/admin/customers/${id}`)
}
export const customers = {
retrieve: retrieveCustomer,
list: listCustomers,
create: createCustomer,
update: updateCustomer,
delete: deleteCustomer,
}