Skip to content

Commit

Permalink
Merge branch 'develop' into feat/event-emitting-1/n
Browse files Browse the repository at this point in the history
  • Loading branch information
adrien2p committed May 24, 2024
2 parents 8308f9e + 2b55208 commit 5bc383e
Show file tree
Hide file tree
Showing 186 changed files with 986 additions and 1,264 deletions.
1 change: 1 addition & 0 deletions .github/teams.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@
- "@pKorsholm"
- "@sradevski"
- "@edast"
- "@thetutlage"
21 changes: 9 additions & 12 deletions packages/admin-next/dashboard/src/hooks/api/customer-groups.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
import {
AdminCustomerGroupListResponse,
AdminCustomerGroupResponse,
} from "@medusajs/types"
import {
QueryKey,
UseMutationOptions,
Expand All @@ -16,6 +12,7 @@ import { queryKeysFactory } from "../../lib/query-key-factory"
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 { customersQueryKeys } from "./customers"
import { HttpTypes, PaginatedResponse } from "@medusajs/types"

const CUSTOMER_GROUPS_QUERY_KEY = "customer_groups" as const
export const customerGroupsQueryKeys = queryKeysFactory(
Expand All @@ -27,9 +24,9 @@ export const useCustomerGroup = (
query?: Record<string, any>,
options?: Omit<
UseQueryOptions<
AdminCustomerGroupResponse,
{ customer_group: HttpTypes.AdminCustomerGroup },
Error,
AdminCustomerGroupResponse,
{ customer_group: HttpTypes.AdminCustomerGroup },
QueryKey
>,
"queryFn" | "queryKey"
Expand All @@ -48,9 +45,9 @@ export const useCustomerGroups = (
query?: Record<string, any>,
options?: Omit<
UseQueryOptions<
AdminCustomerGroupListResponse,
PaginatedResponse<HttpTypes.AdminCustomerGroup[]>,
Error,
AdminCustomerGroupListResponse,
PaginatedResponse<HttpTypes.AdminCustomerGroup[]>,
QueryKey
>,
"queryFn" | "queryKey"
Expand All @@ -67,7 +64,7 @@ export const useCustomerGroups = (

export const useCreateCustomerGroup = (
options?: UseMutationOptions<
AdminCustomerGroupResponse,
{ customer_group: HttpTypes.AdminCustomerGroup },
Error,
z.infer<typeof CreateCustomerGroupSchema>
>
Expand All @@ -87,7 +84,7 @@ export const useCreateCustomerGroup = (
export const useUpdateCustomerGroup = (
id: string,
options?: UseMutationOptions<
AdminCustomerGroupResponse,
{ customer_group: HttpTypes.AdminCustomerGroup },
Error,
z.infer<typeof EditCustomerGroupSchema>
>
Expand Down Expand Up @@ -135,7 +132,7 @@ export const useDeleteCustomerGroup = (
export const useAddCustomersToGroup = (
id: string,
options?: UseMutationOptions<
AdminCustomerGroupResponse,
{ customer_group: HttpTypes.AdminCustomerGroup },
Error,
{ customer_ids: string[] }
>
Expand All @@ -162,7 +159,7 @@ export const useAddCustomersToGroup = (
export const useRemoveCustomersFromGroup = (
id: string,
options?: UseMutationOptions<
AdminCustomerGroupResponse,
{ customer_group: HttpTypes.AdminCustomerGroup },
Error,
{ customer_ids: string[] }
>
Expand Down
41 changes: 22 additions & 19 deletions packages/admin-next/dashboard/src/hooks/api/customers.tsx
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
import {
AdminCustomerListResponse,
AdminCustomerResponse,
DeleteResponse,
} from "@medusajs/types"
import { DeleteResponse, HttpTypes, PaginatedResponse } from "@medusajs/types"
import {
QueryKey,
UseMutationOptions,
UseQueryOptions,
useMutation,
useQuery,
} from "@tanstack/react-query"
import { client } from "../../lib/client"
import { sdk } from "../../lib/client"
import { queryClient } from "../../lib/query-client"
import { queryKeysFactory } from "../../lib/query-key-factory"
import { CreateCustomerReq, UpdateCustomerReq } from "../../types/api-payloads"

const CUSTOMERS_QUERY_KEY = "customers" as const
export const customersQueryKeys = queryKeysFactory(CUSTOMERS_QUERY_KEY)
Expand All @@ -23,17 +18,17 @@ export const useCustomer = (
query?: Record<string, any>,
options?: Omit<
UseQueryOptions<
AdminCustomerResponse,
{ customer: HttpTypes.AdminCustomer },
Error,
AdminCustomerResponse,
{ customer: HttpTypes.AdminCustomer },
QueryKey
>,
"queryFn" | "queryKey"
>
) => {
const { data, ...rest } = useQuery({
queryKey: customersQueryKeys.detail(id),
queryFn: async () => client.customers.retrieve(id, query),
queryFn: async () => sdk.admin.customer.retrieve(id, query),
...options,
})

Expand All @@ -44,16 +39,16 @@ export const useCustomers = (
query?: Record<string, any>,
options?: Omit<
UseQueryOptions<
AdminCustomerListResponse,
PaginatedResponse<{ customers: HttpTypes.AdminCustomer[] }>,
Error,
AdminCustomerListResponse,
PaginatedResponse<{ customers: HttpTypes.AdminCustomer[] }>,
QueryKey
>,
"queryFn" | "queryKey"
>
) => {
const { data, ...rest } = useQuery({
queryFn: () => client.customers.list(query),
queryFn: () => sdk.admin.customer.list(query),
queryKey: customersQueryKeys.list(query),
...options,
})
Expand All @@ -62,10 +57,14 @@ export const useCustomers = (
}

export const useCreateCustomer = (
options?: UseMutationOptions<AdminCustomerResponse, Error, CreateCustomerReq>
options?: UseMutationOptions<
{ customer: HttpTypes.AdminCustomer; token: string },
Error,
HttpTypes.AdminCreateCustomer
>
) => {
return useMutation({
mutationFn: (payload) => client.customers.create(payload),
mutationFn: (payload) => sdk.admin.customer.create(payload),
onSuccess: (data, variables, context) => {
queryClient.invalidateQueries({ queryKey: customersQueryKeys.lists() })
options?.onSuccess?.(data, variables, context)
Expand All @@ -76,10 +75,14 @@ export const useCreateCustomer = (

export const useUpdateCustomer = (
id: string,
options?: UseMutationOptions<AdminCustomerResponse, Error, UpdateCustomerReq>
options?: UseMutationOptions<
{ customer: HttpTypes.AdminCustomer },
Error,
HttpTypes.AdminUpdateCustomer
>
) => {
return useMutation({
mutationFn: (payload) => client.customers.update(id, payload),
mutationFn: (payload) => sdk.admin.customer.update(id, payload),
onSuccess: (data, variables, context) => {
queryClient.invalidateQueries({ queryKey: customersQueryKeys.lists() })
queryClient.invalidateQueries({ queryKey: customersQueryKeys.detail(id) })
Expand All @@ -92,10 +95,10 @@ export const useUpdateCustomer = (

export const useDeleteCustomer = (
id: string,
options?: UseMutationOptions<DeleteResponse, Error, void>
options?: UseMutationOptions<DeleteResponse<"customer">, Error, void>
) => {
return useMutation({
mutationFn: () => client.customers.delete(id),
mutationFn: () => sdk.admin.customer.delete(id),
onSuccess: (data, variables, context) => {
queryClient.invalidateQueries({ queryKey: customersQueryKeys.lists() })
queryClient.invalidateQueries({
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
import { createColumnHelper } from "@tanstack/react-table"
import { useMemo } from "react"

import { AdminCustomerGroupResponse } from "@medusajs/types"
import { useTranslation } from "react-i18next"
import {
TextCell,
TextHeader,
} from "../../../components/table/table-cells/common/text-cell"
import { HttpTypes } from "@medusajs/types"

const columnHelper =
createColumnHelper<AdminCustomerGroupResponse["customer_group"]>()
const columnHelper = createColumnHelper<HttpTypes.AdminCustomerGroup>()

export const useCustomerGroupTableColumns = () => {
const { t } = useTranslation()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { createColumnHelper } from "@tanstack/react-table"
import { useMemo } from "react"

import { AdminCustomerResponse } from "@medusajs/types"
import {
EmailCell,
EmailHeader,
Expand All @@ -18,8 +17,9 @@ import {
FirstSeenCell,
FirstSeenHeader,
} from "../../../components/table/table-cells/customer/first-seen-cell"
import { HttpTypes } from "@medusajs/types"

const columnHelper = createColumnHelper<AdminCustomerResponse["customer"]>()
const columnHelper = createColumnHelper<HttpTypes.AdminCustomer>()

export const useCustomerTableColumns = () => {
return useMemo(
Expand Down
2 changes: 0 additions & 2 deletions packages/admin-next/dashboard/src/lib/client/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -33,7 +32,6 @@ export const client = {
apiKeys: apiKeys,
campaigns: campaigns,
categories: categories,
customers: customers,
customerGroups: customerGroups,
currencies: currencies,
collections: collections,
Expand Down
22 changes: 9 additions & 13 deletions packages/admin-next/dashboard/src/lib/client/customer-groups.ts
Original file line number Diff line number Diff line change
@@ -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
)
Expand All @@ -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
)
Expand All @@ -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,
Expand All @@ -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,
Expand Down
35 changes: 0 additions & 35 deletions packages/admin-next/dashboard/src/lib/client/customers.ts

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { AdminCollectionsRes, AdminProductsRes } from "@medusajs/medusa"
import {
AdminApiKeyResponse,
AdminCustomerGroupResponse,
AdminProductCategoryResponse,
AdminTaxRateResponse,
AdminTaxRegionResponse,
Expand Down Expand Up @@ -65,7 +63,8 @@ export const RouteMap: RouteObject[] = [
path: ":id",
lazy: () => import("../../routes/products/product-detail"),
handle: {
crumb: (data: AdminProductsRes) => data.product.title,
crumb: (data: { product: HttpTypes.AdminProduct }) =>
data.product.title,
},
children: [
{
Expand Down Expand Up @@ -261,7 +260,8 @@ export const RouteMap: RouteObject[] = [
lazy: () =>
import("../../routes/collections/collection-detail"),
handle: {
crumb: (data: AdminCollectionsRes) => data.collection.title,
crumb: (data: { collection: HttpTypes.AdminCollection }) =>
data.collection.title,
},
children: [
{
Expand Down Expand Up @@ -390,8 +390,9 @@ export const RouteMap: RouteObject[] = [
lazy: () =>
import("../../routes/customer-groups/customer-group-detail"),
handle: {
crumb: (data: AdminCustomerGroupResponse) =>
data.customer_group.name,
crumb: (data: {
customer_group: HttpTypes.AdminCustomerGroup
}) => data.customer_group.name,
},
children: [
{
Expand Down

0 comments on commit 5bc383e

Please sign in to comment.