feat: Admin V2 Customers (#6998)

This commit is contained in:
Oli Juhl
2024-04-07 21:38:50 +02:00
committed by GitHub
parent f132929c7e
commit 4f88743591
53 changed files with 619 additions and 724 deletions
@@ -4,6 +4,7 @@ import { campaigns } from "./campaigns"
import { categories } from "./categories"
import { collections } from "./collections"
import { currencies } from "./currencies"
import { customerGroups } from "./customer-groups"
import { customers } from "./customers"
import { invites } from "./invites"
import { payments } from "./payments"
@@ -25,6 +26,7 @@ export const client = {
campaigns: campaigns,
categories: categories,
customers: customers,
customerGroups: customerGroups,
currencies: currencies,
collections: collections,
promotions: promotions,
@@ -0,0 +1,24 @@
import {
AdminCustomerGroupListResponse,
AdminCustomerGroupResponse,
} from "@medusajs/types"
import { getRequest } from "./common"
async function retrieveCustomerGroup(id: string, query?: Record<string, any>) {
return getRequest<AdminCustomerGroupResponse>(
`/admin/customer-groups/${id}`,
query
)
}
async function listCustomerGroups(query?: Record<string, any>) {
return getRequest<AdminCustomerGroupListResponse>(
`/admin/customer-groups`,
query
)
}
export const customerGroups = {
retrieve: retrieveCustomerGroup,
list: listCustomerGroups,
}
@@ -1,21 +1,24 @@
import {
AdminCustomerListResponse,
AdminCustomerResponse,
} from "@medusajs/types"
import { CreateCustomerReq, UpdateCustomerReq } from "../../types/api-payloads"
import { CustomerListRes, CustomerRes } from "../../types/api-responses"
import { getRequest, postRequest } from "./common"
async function retrieveCustomer(id: string, query?: Record<string, any>) {
return getRequest<CustomerRes>(`/admin/customers/${id}`, query)
return getRequest<AdminCustomerResponse>(`/admin/customers/${id}`, query)
}
async function listCustomers(query?: Record<string, any>) {
return getRequest<CustomerListRes>(`/admin/customers`, query)
return getRequest<AdminCustomerListResponse>(`/admin/customers`, query)
}
async function createCustomer(payload: CreateCustomerReq) {
return postRequest<CustomerRes>(`/admin/customers`, payload)
return postRequest<AdminCustomerResponse>(`/admin/customers`, payload)
}
async function updateCustomer(id: string, payload: UpdateCustomerReq) {
return postRequest<CustomerRes>(`/admin/customers/${id}`, payload)
return postRequest<AdminCustomerResponse>(`/admin/customers/${id}`, payload)
}
export const customers = {