feat: medusa-react admin hooks (#978)
* add: medusa admin hooks + tests * fix: remove unneeded props * fix: deps * fix: deps * fix: deps * fix: failing tests * fix: failing tests * fix: query key * add: yarn workspaces * fix: linting medusa-react * fix: add prepare script * fix: buildOptions * fix: useAdminShippingOptions query * fix: use qs instead for query params (#1019) * fix: formatting * debug: ci pipeline * debug: log node_modules structure * debug: use lerna bootstrap * debug: update node version * debug: print pkgs in workspace * debug: print pkgs in workspace * debug: print pkgs in workspace * debug: print pkgs in workspace * debug: add explicit build step * fix: jsdoc * debug: run build step * debug: fix build errors * debug: add build step to integration tests * fix: failing test * cleanup Co-authored-by: Sebastian Rindom <seb@medusajs.com> Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,30 @@
|
||||
import { AdminAuthRes, AdminPostAuthReq } from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { adminAuthKeys } from "."
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminLogin = (
|
||||
options?: UseMutationOptions<Response<AdminAuthRes>, Error, AdminPostAuthReq>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostAuthReq) => client.admin.auth.createSession(payload),
|
||||
buildOptions(queryClient, adminAuthKeys.details(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteSession = (
|
||||
options?: UseMutationOptions<Response<void>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.auth.deleteSession(),
|
||||
buildOptions(queryClient, adminAuthKeys.details(), options)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
import { AdminAuthRes } from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_AUTH_QUERY_KEY = `admin_auth` as const
|
||||
|
||||
export const adminAuthKeys = queryKeysFactory(ADMIN_AUTH_QUERY_KEY)
|
||||
|
||||
type AuthQueryKey = typeof adminAuthKeys
|
||||
|
||||
export const useAdminGetSession = (
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminAuthRes>,
|
||||
Error,
|
||||
ReturnType<AuthQueryKey["details"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminAuthKeys.details(),
|
||||
() => client.admin.auth.getSession(),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,134 @@
|
||||
import { adminOrderKeys } from "./../orders/queries"
|
||||
import {
|
||||
AdminOrdersRes,
|
||||
AdminPostOrdersOrderClaimsClaimFulfillmentsReq,
|
||||
AdminPostOrdersOrderClaimsClaimReq,
|
||||
AdminPostOrdersOrderClaimsClaimShipmentsReq,
|
||||
AdminPostOrdersOrderClaimsReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateClaim = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderClaimsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostOrdersOrderClaimsReq) =>
|
||||
client.admin.orders.createClaim(orderId, payload),
|
||||
buildOptions(queryClient, adminOrderKeys.detail(orderId), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateClaim = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderClaimsClaimReq & { claim_id: string }
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
({
|
||||
claim_id,
|
||||
...payload
|
||||
}: AdminPostOrdersOrderClaimsClaimReq & { claim_id: string }) =>
|
||||
client.admin.orders.updateClaim(orderId, claim_id, payload),
|
||||
buildOptions(queryClient, adminOrderKeys.detail(orderId), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCancelClaim = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<Response<AdminOrdersRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(claimId: string) => client.admin.orders.cancelClaim(orderId, claimId),
|
||||
buildOptions(queryClient, adminOrderKeys.detail(orderId), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminFulfillClaim = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderClaimsClaimFulfillmentsReq & { claim_id: string }
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
({
|
||||
claim_id,
|
||||
...payload
|
||||
}: AdminPostOrdersOrderClaimsClaimFulfillmentsReq & { claim_id: string }) =>
|
||||
client.admin.orders.fulfillClaim(orderId, claim_id, payload),
|
||||
buildOptions(queryClient, adminOrderKeys.detail(orderId), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCancelClaimFulfillment = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
{ claim_id: string; fulfillment_id: string }
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
({
|
||||
claim_id,
|
||||
fulfillment_id,
|
||||
}: {
|
||||
claim_id: string
|
||||
fulfillment_id: string
|
||||
}) =>
|
||||
client.admin.orders.cancelClaimFulfillment(
|
||||
orderId,
|
||||
claim_id,
|
||||
fulfillment_id
|
||||
),
|
||||
buildOptions(queryClient, adminOrderKeys.detail(orderId), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCreateClaimShipment = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderClaimsClaimShipmentsReq & { claim_id: string }
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
({
|
||||
claim_id,
|
||||
...payload
|
||||
}: AdminPostOrdersOrderClaimsClaimShipmentsReq & { claim_id: string }) =>
|
||||
client.admin.orders.createClaimShipment(orderId, claim_id, payload),
|
||||
buildOptions(queryClient, adminOrderKeys.detail(orderId), options)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,64 @@
|
||||
import {
|
||||
AdminCollectionsDeleteRes,
|
||||
AdminCollectionsRes,
|
||||
AdminPostCollectionsCollectionReq,
|
||||
AdminPostCollectionsReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { adminCollectionKeys } from "."
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateCollection = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminCollectionsRes>,
|
||||
Error,
|
||||
AdminPostCollectionsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostCollectionsReq) =>
|
||||
client.admin.collections.create(payload),
|
||||
buildOptions(queryClient, adminCollectionKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateCollection = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminCollectionsRes>,
|
||||
Error,
|
||||
AdminPostCollectionsCollectionReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostCollectionsCollectionReq) =>
|
||||
client.admin.collections.update(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminCollectionKeys.lists(), adminCollectionKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteCollection = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminCollectionsDeleteRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
() => client.admin.collections.delete(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminCollectionKeys.lists(), adminCollectionKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
import {
|
||||
AdminCollectionsListRes,
|
||||
AdminCollectionsRes,
|
||||
AdminGetCollectionsParams,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_COLLECTIONS_QUERY_KEY = `admin_collections` as const
|
||||
|
||||
export const adminCollectionKeys = queryKeysFactory(ADMIN_COLLECTIONS_QUERY_KEY)
|
||||
|
||||
type CollectionsQueryKey = typeof adminCollectionKeys
|
||||
|
||||
export const useAdminCollections = (
|
||||
query?: AdminGetCollectionsParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminCollectionsListRes>,
|
||||
Error,
|
||||
ReturnType<CollectionsQueryKey["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminCollectionKeys.list(query),
|
||||
() => client.admin.collections.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminCollection = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminCollectionsRes>,
|
||||
Error,
|
||||
ReturnType<CollectionsQueryKey["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminCollectionKeys.detail(id),
|
||||
() => client.admin.collections.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,43 @@
|
||||
import { adminCustomerKeys } from "./queries"
|
||||
import { AdminCustomersRes, AdminPostCustomersReq } from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateCustomer = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminCustomersRes>,
|
||||
Error,
|
||||
AdminPostCustomersReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostCustomersReq) => client.admin.customers.create(payload),
|
||||
buildOptions(queryClient, adminCustomerKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateCustomer = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminCustomersRes>,
|
||||
Error,
|
||||
AdminPostCustomersReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostCustomersReq) =>
|
||||
client.admin.customers.update(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminCustomerKeys.lists(), adminCustomerKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
import {
|
||||
AdminCustomersListRes,
|
||||
AdminCustomersRes,
|
||||
AdminGetCustomersParams,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_CUSTOMERS_QUERY_KEY = `admin_customers` as const
|
||||
|
||||
export const adminCustomerKeys = queryKeysFactory(ADMIN_CUSTOMERS_QUERY_KEY)
|
||||
|
||||
type CustomerQueryKeys = typeof adminCustomerKeys
|
||||
|
||||
export const useAdminCustomers = (
|
||||
query?: AdminGetCustomersParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminCustomersListRes>,
|
||||
Error,
|
||||
ReturnType<CustomerQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminCustomerKeys.list(query),
|
||||
() => client.admin.customers.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminCustomer = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminCustomersRes>,
|
||||
Error,
|
||||
ReturnType<CustomerQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminCustomerKeys.detail(id),
|
||||
() => client.admin.customers.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,143 @@
|
||||
import { adminDiscountKeys } from "./queries"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
import {
|
||||
AdminDiscountsDeleteRes,
|
||||
AdminDiscountsRes,
|
||||
AdminPostDiscountsDiscountDynamicCodesReq,
|
||||
AdminPostDiscountsDiscountReq,
|
||||
AdminPostDiscountsReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
|
||||
export const useAdminCreateDiscount = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminDiscountsRes>,
|
||||
Error,
|
||||
AdminPostDiscountsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostDiscountsReq) => client.admin.discounts.create(payload),
|
||||
buildOptions(queryClient, adminDiscountKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateDiscount = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminDiscountsRes>,
|
||||
Error,
|
||||
AdminPostDiscountsDiscountReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostDiscountsDiscountReq) =>
|
||||
client.admin.discounts.update(id, payload),
|
||||
buildOptions(queryClient, adminDiscountKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteDiscount = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminDiscountsDeleteRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
() => client.admin.discounts.delete(id),
|
||||
buildOptions(queryClient, adminDiscountKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDiscountAddRegion = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminDiscountsRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(regionId: string) => client.admin.discounts.addRegion(id, regionId),
|
||||
buildOptions(queryClient, adminDiscountKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDiscountRemoveRegion = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminDiscountsRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(regionId: string) => client.admin.discounts.removeRegion(id, regionId),
|
||||
buildOptions(queryClient, adminDiscountKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDiscountAddValidProduct = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminDiscountsRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(productId: string) =>
|
||||
client.admin.discounts.addValidProduct(id, productId),
|
||||
buildOptions(queryClient, adminDiscountKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDiscountRemoveValidProduct = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminDiscountsRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(productId: string) =>
|
||||
client.admin.discounts.removeValidProduct(id, productId),
|
||||
buildOptions(queryClient, adminDiscountKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCreateDynamicDiscountCode = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminDiscountsRes>,
|
||||
Error,
|
||||
AdminPostDiscountsDiscountDynamicCodesReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostDiscountsDiscountDynamicCodesReq) =>
|
||||
client.admin.discounts.createDynamicCode(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminDiscountKeys.lists(), adminDiscountKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteDynamicDiscountCode = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminDiscountsRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(code: string) => client.admin.discounts.deleteDynamicCode(id, code),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminDiscountKeys.lists(), adminDiscountKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
import {
|
||||
AdminDiscountsListRes,
|
||||
AdminDiscountsRes,
|
||||
AdminGetDiscountsParams,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_DISCOUNTS_QUERY_KEY = `admin_discounts` as const
|
||||
|
||||
export const adminDiscountKeys = queryKeysFactory(ADMIN_DISCOUNTS_QUERY_KEY)
|
||||
|
||||
type DiscountQueryKeys = typeof adminDiscountKeys
|
||||
|
||||
export const useAdminDiscounts = (
|
||||
query?: AdminGetDiscountsParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminDiscountsListRes>,
|
||||
Error,
|
||||
ReturnType<DiscountQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminDiscountKeys.list(query),
|
||||
() => client.admin.discounts.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminDiscount = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminDiscountsRes>,
|
||||
Error,
|
||||
ReturnType<DiscountQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminDiscountKeys.detail(id),
|
||||
() => client.admin.discounts.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminGetDiscountByCode = (
|
||||
code: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminDiscountsRes>,
|
||||
Error,
|
||||
ReturnType<DiscountQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminDiscountKeys.detail(code),
|
||||
() => client.admin.discounts.retrieveByCode(code),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,131 @@
|
||||
import { adminDraftOrderKeys } from "./queries"
|
||||
import {
|
||||
AdminDraftOrdersDeleteRes,
|
||||
AdminDraftOrdersRes,
|
||||
AdminPostDraftOrdersDraftOrderLineItemsItemReq,
|
||||
AdminPostDraftOrdersDraftOrderLineItemsReq,
|
||||
AdminPostDraftOrdersDraftOrderRegisterPaymentRes,
|
||||
AdminPostDraftOrdersDraftOrderReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateDraftOrder = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminDraftOrdersRes>,
|
||||
Error,
|
||||
AdminPostDraftOrdersDraftOrderReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostDraftOrdersDraftOrderReq) =>
|
||||
client.admin.draftOrders.create(payload),
|
||||
buildOptions(queryClient, adminDraftOrderKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateDraftOrder = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminDraftOrdersRes>,
|
||||
Error,
|
||||
AdminPostDraftOrdersDraftOrderReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostDraftOrdersDraftOrderReq) =>
|
||||
client.admin.draftOrders.update(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminDraftOrderKeys.detail(id), adminDraftOrderKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteDraftOrder = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminDraftOrdersDeleteRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
() => client.admin.draftOrders.delete(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminDraftOrderKeys.detail(id), adminDraftOrderKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDraftOrderRegisterPayment = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminPostDraftOrdersDraftOrderRegisterPaymentRes>,
|
||||
Error,
|
||||
void
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
() => client.admin.draftOrders.markPaid(id),
|
||||
buildOptions(queryClient, adminDraftOrderKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDraftOrderAddLineItem = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminDraftOrdersRes>,
|
||||
Error,
|
||||
AdminPostDraftOrdersDraftOrderLineItemsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostDraftOrdersDraftOrderLineItemsReq) =>
|
||||
client.admin.draftOrders.addLineItem(id, payload),
|
||||
buildOptions(queryClient, adminDraftOrderKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDraftOrderRemoveLineItem = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminDraftOrdersRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(itemId: string) => client.admin.draftOrders.removeLineItem(id, itemId),
|
||||
buildOptions(queryClient, adminDraftOrderKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDraftOrderUpdateLineItem = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminDraftOrdersRes>,
|
||||
Error,
|
||||
AdminPostDraftOrdersDraftOrderLineItemsItemReq & { item_id: string }
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
({
|
||||
item_id,
|
||||
...payload
|
||||
}: AdminPostDraftOrdersDraftOrderLineItemsItemReq & { item_id: string }) =>
|
||||
client.admin.draftOrders.updateLineItem(id, item_id, payload),
|
||||
buildOptions(queryClient, adminDraftOrderKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
import {
|
||||
AdminDraftOrdersListRes,
|
||||
AdminDraftOrdersRes,
|
||||
AdminGetDraftOrdersParams,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_DRAFT_ORDERS_QUERY_KEY = `admin_draft_orders` as const
|
||||
|
||||
export const adminDraftOrderKeys = queryKeysFactory(
|
||||
ADMIN_DRAFT_ORDERS_QUERY_KEY
|
||||
)
|
||||
|
||||
type DraftOrderQueryKeys = typeof adminDraftOrderKeys
|
||||
|
||||
export const useAdminDraftOrders = (
|
||||
query?: AdminGetDraftOrdersParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminDraftOrdersListRes>,
|
||||
Error,
|
||||
ReturnType<DraftOrderQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminDraftOrderKeys.list(query),
|
||||
() => client.admin.draftOrders.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminDraftOrder = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminDraftOrdersRes>,
|
||||
Error,
|
||||
ReturnType<DraftOrderQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminDraftOrderKeys.detail(id),
|
||||
() => client.admin.draftOrders.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,63 @@
|
||||
import {
|
||||
AdminGiftCardsDeleteRes,
|
||||
AdminGiftCardsRes,
|
||||
AdminPostGiftCardsReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { adminGiftCardKeys } from "."
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateGiftCard = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminGiftCardsRes>,
|
||||
Error,
|
||||
AdminPostGiftCardsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostGiftCardsReq) => client.admin.giftCards.create(payload),
|
||||
buildOptions(queryClient, adminGiftCardKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateGiftCard = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminGiftCardsRes>,
|
||||
Error,
|
||||
AdminPostGiftCardsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostGiftCardsReq) =>
|
||||
client.admin.giftCards.update(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminGiftCardKeys.lists(), adminGiftCardKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteGiftCard = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminGiftCardsDeleteRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
() => client.admin.giftCards.delete(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminGiftCardKeys.lists(), adminGiftCardKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
import {
|
||||
AdminGiftCardsListRes,
|
||||
AdminGiftCardsRes,
|
||||
AdminGetGiftCardsParams,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_GIFT_CARDS_QUERY_KEY = `admin_gift_cards` as const
|
||||
|
||||
export const adminGiftCardKeys = queryKeysFactory(ADMIN_GIFT_CARDS_QUERY_KEY)
|
||||
|
||||
type GiftCardQueryKeys = typeof adminGiftCardKeys
|
||||
|
||||
export const useAdminGiftCards = (
|
||||
query?: AdminGetGiftCardsParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminGiftCardsListRes>,
|
||||
Error,
|
||||
ReturnType<GiftCardQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminGiftCardKeys.list(query),
|
||||
() => client.admin.giftCards.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminGiftCard = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminGiftCardsRes>,
|
||||
Error,
|
||||
ReturnType<GiftCardQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminGiftCardKeys.detail(id),
|
||||
() => client.admin.giftCards.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
export * from "./auth"
|
||||
export * from "./collections"
|
||||
export * from "./claims"
|
||||
export * from "./customers"
|
||||
export * from "./discounts"
|
||||
export * from "./draft-orders"
|
||||
export * from "./gift-cards"
|
||||
export * from "./orders"
|
||||
export * from "./products"
|
||||
export * from "./return-reasons"
|
||||
export * from "./regions"
|
||||
export * from "./shipping-options"
|
||||
export * from "./shipping-profiles"
|
||||
export * from "./notes"
|
||||
export * from "./invites"
|
||||
export * from "./notifications"
|
||||
export * from "./returns"
|
||||
export * from "./store"
|
||||
export * from "./swaps"
|
||||
export * from "./users"
|
||||
export * from "./variants"
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,63 @@
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
import {
|
||||
AdminInviteDeleteRes,
|
||||
AdminPostInvitesInviteAcceptReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response, AdminPostInvitesPayload } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { adminInviteKeys } from "./queries"
|
||||
|
||||
export const useAdminAcceptInvite = (
|
||||
options?: UseMutationOptions<
|
||||
Response<void>,
|
||||
Error,
|
||||
AdminPostInvitesInviteAcceptReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostInvitesInviteAcceptReq) =>
|
||||
client.admin.invites.accept(payload),
|
||||
buildOptions(queryClient, adminInviteKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminResendInvite = (
|
||||
id: string,
|
||||
options?: UseMutationOptions
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
return useMutation(() => client.admin.invites.resend(id), options)
|
||||
}
|
||||
|
||||
export const useAdminCreateInvite = (
|
||||
options?: UseMutationOptions<Response<void>, Error, AdminPostInvitesPayload>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostInvitesPayload) => client.admin.invites.create(payload),
|
||||
buildOptions(queryClient, adminInviteKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteInvite = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminInviteDeleteRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.invites.delete(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminInviteKeys.lists(), adminInviteKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
import { AdminListInvitesRes } from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_INVITES_QUERY_KEY = `admin_invites` as const
|
||||
|
||||
export const adminInviteKeys = queryKeysFactory(ADMIN_INVITES_QUERY_KEY)
|
||||
|
||||
type InviteQueryKeys = typeof adminInviteKeys
|
||||
|
||||
export const useAdminInvites = (
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminListInvitesRes>,
|
||||
Error,
|
||||
ReturnType<InviteQueryKeys["lists"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminInviteKeys.lists(),
|
||||
() => client.admin.invites.list(),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,64 @@
|
||||
import {
|
||||
AdminNotesDeleteRes,
|
||||
AdminNotesRes,
|
||||
AdminPostNotesNoteReq,
|
||||
AdminPostNotesReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { adminNoteKeys } from "."
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateNote = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminNotesRes>,
|
||||
Error,
|
||||
AdminPostNotesReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostNotesReq) => client.admin.notes.create(payload),
|
||||
buildOptions(queryClient, adminNoteKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateNote = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminNotesRes>,
|
||||
Error,
|
||||
AdminPostNotesNoteReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostNotesNoteReq) => client.admin.notes.update(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminNoteKeys.detail(id), adminNoteKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteNote = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminNotesDeleteRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.notes.delete(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminNoteKeys.detail(id), adminNoteKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
import {
|
||||
AdminNotesListRes,
|
||||
AdminNotesRes,
|
||||
AdminGetNotesParams,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_NOTE_QUERY_KEY = `admin_notes` as const
|
||||
|
||||
export const adminNoteKeys = queryKeysFactory(ADMIN_NOTE_QUERY_KEY)
|
||||
|
||||
type NoteQueryKeys = typeof adminNoteKeys
|
||||
|
||||
export const useAdminNotes = (
|
||||
query?: AdminGetNotesParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminNotesListRes>,
|
||||
Error,
|
||||
ReturnType<NoteQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminNoteKeys.list(query),
|
||||
() => client.admin.notes.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminNote = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminNotesRes>,
|
||||
Error,
|
||||
ReturnType<NoteQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminNoteKeys.detail(id),
|
||||
() => client.admin.notes.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,31 @@
|
||||
import {
|
||||
AdminNotificationsRes,
|
||||
AdminPostNotificationsNotificationResendReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { adminNotificationKeys } from "./queries"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminResendNotification = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminNotificationsRes>,
|
||||
Error,
|
||||
AdminPostNotificationsNotificationResendReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostNotificationsNotificationResendReq) =>
|
||||
client.admin.notifications.resend(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminNotificationKeys.lists(), adminNotificationKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
import {
|
||||
AdminGetNotificationsParams,
|
||||
AdminNotificationsListRes,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_NOTIFICATIONS_QUERY_KEY = `admin_notifications` as const
|
||||
|
||||
export const adminNotificationKeys = queryKeysFactory(
|
||||
ADMIN_NOTIFICATIONS_QUERY_KEY
|
||||
)
|
||||
|
||||
type NotificationQueryKeys = typeof adminNotificationKeys
|
||||
|
||||
export const useAdminNotifications = (
|
||||
query?: AdminGetNotificationsParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminNotificationsListRes>,
|
||||
Error,
|
||||
ReturnType<NotificationQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminNotificationKeys.list(query),
|
||||
() => client.admin.notifications.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,249 @@
|
||||
import { adminOrderKeys } from "./queries"
|
||||
import {
|
||||
AdminOrdersRes,
|
||||
AdminPostOrdersOrderFulfillmentsReq,
|
||||
AdminPostOrdersOrderRefundsReq,
|
||||
AdminPostOrdersOrderReq,
|
||||
AdminPostOrdersOrderReturnsReq,
|
||||
AdminPostOrdersOrderShipmentReq,
|
||||
AdminPostOrdersOrderShippingMethodsReq,
|
||||
AdminPostOrdersReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateOrder = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostOrdersReq) => client.admin.orders.create(payload),
|
||||
buildOptions(queryClient, adminOrderKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateOrder = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostOrdersOrderReq) =>
|
||||
client.admin.orders.update(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.lists(), adminOrderKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCancelOrder = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminOrdersRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.orders.cancel(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.lists(), adminOrderKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCompleteOrder = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminOrdersRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.orders.complete(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.lists(), adminOrderKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCapturePayment = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminOrdersRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.orders.capturePayment(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.lists(), adminOrderKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminRefundPayment = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderRefundsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostOrdersOrderRefundsReq) =>
|
||||
client.admin.orders.refundPayment(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.lists(), adminOrderKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCreateFulfillment = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderFulfillmentsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostOrdersOrderFulfillmentsReq) =>
|
||||
client.admin.orders.createFulfillment(orderId, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.lists(), adminOrderKeys.detail(orderId)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCancelFulfillment = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<Response<AdminOrdersRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(fulfillmentId: string) =>
|
||||
client.admin.orders.cancelFulfillment(orderId, fulfillmentId),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.lists(), adminOrderKeys.detail(orderId)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCreateShipment = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderShipmentReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostOrdersOrderShipmentReq) =>
|
||||
client.admin.orders.createShipment(orderId, payload),
|
||||
buildOptions(queryClient, adminOrderKeys.detail(orderId), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminRequestReturn = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderReturnsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostOrdersOrderReturnsReq) =>
|
||||
client.admin.orders.requestReturn(orderId, payload),
|
||||
buildOptions(queryClient, adminOrderKeys.detail(orderId), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminAddShippingMethod = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderShippingMethodsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostOrdersOrderShippingMethodsReq) =>
|
||||
client.admin.orders.addShippingMethod(orderId, payload),
|
||||
buildOptions(queryClient, adminOrderKeys.detail(orderId), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminArchiveOrder = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminOrdersRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.orders.archive(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.lists(), adminOrderKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteOrderMetadata = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminOrdersRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(key: string) => client.admin.orders.deleteMetadata(id, key),
|
||||
buildOptions(queryClient, adminOrderKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
import {
|
||||
AdminOrdersListRes,
|
||||
AdminOrdersRes,
|
||||
AdminGetOrdersParams,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_ORDERS_QUERY_KEY = `admin_orders` as const
|
||||
|
||||
export const adminOrderKeys = queryKeysFactory(ADMIN_ORDERS_QUERY_KEY)
|
||||
|
||||
type OrderQueryKeys = typeof adminOrderKeys
|
||||
|
||||
export const useAdminOrders = (
|
||||
query?: AdminGetOrdersParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminOrdersListRes>,
|
||||
Error,
|
||||
ReturnType<OrderQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminOrderKeys.list(query),
|
||||
() => client.admin.orders.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminOrder = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
ReturnType<OrderQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminOrderKeys.detail(id),
|
||||
() => client.admin.orders.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,196 @@
|
||||
import { adminProductKeys } from "./queries"
|
||||
import {
|
||||
AdminProductsDeleteRes,
|
||||
AdminProductsRes,
|
||||
AdminPostProductsProductReq,
|
||||
AdminPostProductsReq,
|
||||
AdminPostProductsProductVariantsReq,
|
||||
AdminProductsDeleteVariantRes,
|
||||
AdminPostProductsProductOptionsReq,
|
||||
AdminPostProductsProductOptionsOption,
|
||||
AdminProductsDeleteOptionRes,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateProduct = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminProductsRes>,
|
||||
Error,
|
||||
AdminPostProductsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostProductsReq) => client.admin.products.create(payload),
|
||||
buildOptions(queryClient, adminProductKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateProduct = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminProductsRes>,
|
||||
Error,
|
||||
AdminPostProductsProductReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostProductsProductReq) =>
|
||||
client.admin.products.update(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminProductKeys.lists(), adminProductKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteProduct = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminProductsDeleteRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.products.delete(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminProductKeys.lists(), adminProductKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCreateVariant = (
|
||||
productId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminProductsRes>,
|
||||
Error,
|
||||
AdminPostProductsProductVariantsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostProductsProductVariantsReq) =>
|
||||
client.admin.products.createVariant(productId, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminProductKeys.lists(), adminProductKeys.detail(productId)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateVariant = (
|
||||
productId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminProductsRes>,
|
||||
Error,
|
||||
AdminPostProductsProductVariantsReq & { variant_id: string }
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
({
|
||||
variant_id,
|
||||
...payload
|
||||
}: AdminPostProductsProductVariantsReq & { variant_id: string }) =>
|
||||
client.admin.products.updateVariant(productId, variant_id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminProductKeys.lists(), adminProductKeys.detail(productId)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteVariant = (
|
||||
productId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminProductsDeleteVariantRes>,
|
||||
Error,
|
||||
string
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(variantId: string) =>
|
||||
client.admin.products.deleteVariant(productId, variantId),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminProductKeys.lists(), adminProductKeys.detail(productId)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCreateProductOption = (
|
||||
productId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminProductsRes>,
|
||||
Error,
|
||||
AdminPostProductsProductOptionsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostProductsProductOptionsReq) =>
|
||||
client.admin.products.addOption(productId, payload),
|
||||
buildOptions(queryClient, adminProductKeys.detail(productId), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateProductOption = (
|
||||
productId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminProductsRes>,
|
||||
Error,
|
||||
AdminPostProductsProductOptionsOption & { option_id: string }
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
({
|
||||
option_id,
|
||||
...payload
|
||||
}: AdminPostProductsProductOptionsOption & { option_id: string }) =>
|
||||
client.admin.products.updateOption(productId, option_id, payload),
|
||||
buildOptions(queryClient, adminProductKeys.detail(productId), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteProductOption = (
|
||||
productId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminProductsDeleteOptionRes>,
|
||||
Error,
|
||||
string
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(optionId: string) =>
|
||||
client.admin.products.deleteOption(productId, optionId),
|
||||
buildOptions(queryClient, adminProductKeys.detail(productId), options)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
import {
|
||||
AdminProductsListRes,
|
||||
AdminProductsRes,
|
||||
AdminGetProductsParams,
|
||||
AdminProductsListTypesRes,
|
||||
AdminProductsListTagsRes,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_PRODUCTS_QUERY_KEY = `admin_products` as const
|
||||
|
||||
export const adminProductKeys = queryKeysFactory(ADMIN_PRODUCTS_QUERY_KEY)
|
||||
|
||||
type ProductQueryKeys = typeof adminProductKeys
|
||||
|
||||
export const useAdminProducts = (
|
||||
query?: AdminGetProductsParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminProductsListRes>,
|
||||
Error,
|
||||
ReturnType<ProductQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminProductKeys.list(query),
|
||||
() => client.admin.products.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminProduct = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminProductsRes>,
|
||||
Error,
|
||||
ReturnType<ProductQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminProductKeys.detail(id),
|
||||
() => client.admin.products.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminProductTypes = (
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminProductsListTypesRes>,
|
||||
Error,
|
||||
ReturnType<ProductQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminProductKeys.detail("types"),
|
||||
() => client.admin.products.listTypes(),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminProductTags = (
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminProductsListTagsRes>,
|
||||
Error,
|
||||
ReturnType<ProductQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminProductKeys.detail("tags"),
|
||||
() => client.admin.products.listTags(),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,197 @@
|
||||
import { adminRegionKeys } from "./queries"
|
||||
import {
|
||||
AdminRegionsDeleteRes,
|
||||
AdminRegionsRes,
|
||||
AdminPostRegionsRegionReq,
|
||||
AdminPostRegionsReq,
|
||||
AdminPostRegionsRegionMetadata,
|
||||
AdminPostRegionsRegionCountriesReq,
|
||||
AdminPostRegionsRegionFulfillmentProvidersReq,
|
||||
AdminPostRegionsRegionPaymentProvidersReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateRegion = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminRegionsRes>,
|
||||
Error,
|
||||
AdminPostRegionsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostRegionsReq) => client.admin.regions.create(payload),
|
||||
buildOptions(queryClient, adminRegionKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateRegion = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminRegionsRes>,
|
||||
Error,
|
||||
AdminPostRegionsRegionReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostRegionsRegionReq) =>
|
||||
client.admin.regions.update(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminRegionKeys.lists(), adminRegionKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteRegion = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminRegionsDeleteRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.regions.delete(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminRegionKeys.lists(), adminRegionKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminSetRegionMetadata = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminRegionsRes>,
|
||||
Error,
|
||||
AdminPostRegionsRegionMetadata
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(metadata: AdminPostRegionsRegionMetadata) =>
|
||||
client.admin.regions.setMetadata(id, metadata),
|
||||
buildOptions(queryClient, adminRegionKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteRegionMetadata = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminRegionsRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(key: string) => client.admin.regions.deleteMetadata(id, key),
|
||||
buildOptions(queryClient, adminRegionKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminRegionAddCountry = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminRegionsRes>,
|
||||
Error,
|
||||
AdminPostRegionsRegionCountriesReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostRegionsRegionCountriesReq) =>
|
||||
client.admin.regions.addCountry(id, payload),
|
||||
buildOptions(queryClient, adminRegionKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminRegionRemoveCountry = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminRegionsRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(country_code: string) =>
|
||||
client.admin.regions.deleteCountry(id, country_code),
|
||||
buildOptions(queryClient, adminRegionKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminRegionAddFulfillmentProvider = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminRegionsRes>,
|
||||
Error,
|
||||
AdminPostRegionsRegionFulfillmentProvidersReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostRegionsRegionFulfillmentProvidersReq) =>
|
||||
client.admin.regions.addFulfillmentProvider(id, payload),
|
||||
buildOptions(queryClient, adminRegionKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminRegionDeleteFulfillmentProvider = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminRegionsRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(provider_id: string) =>
|
||||
client.admin.regions.deleteFulfillmentProvider(id, provider_id),
|
||||
buildOptions(queryClient, adminRegionKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminRegionAddPaymentProvider = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminRegionsRes>,
|
||||
Error,
|
||||
AdminPostRegionsRegionPaymentProvidersReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostRegionsRegionPaymentProvidersReq) =>
|
||||
client.admin.regions.addPaymentProvider(id, payload),
|
||||
buildOptions(queryClient, adminRegionKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminRegionDeletePaymentProvider = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminRegionsRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(provider_id: string) =>
|
||||
client.admin.regions.deletePaymentProvider(id, provider_id),
|
||||
buildOptions(queryClient, adminRegionKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
import {
|
||||
AdminRegionsListRes,
|
||||
AdminRegionsRes,
|
||||
AdminGetRegionsParams,
|
||||
AdminGetRegionsRegionFulfillmentOptionsRes,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_REGIONS_QUERY_KEY = `admin_regions` as const
|
||||
|
||||
export const adminRegionKeys = queryKeysFactory(ADMIN_REGIONS_QUERY_KEY)
|
||||
|
||||
type RegionQueryKeys = typeof adminRegionKeys
|
||||
|
||||
export const useAdminRegions = (
|
||||
query?: AdminGetRegionsParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminRegionsListRes>,
|
||||
Error,
|
||||
ReturnType<RegionQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminRegionKeys.list(query),
|
||||
() => client.admin.regions.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminRegion = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminRegionsRes>,
|
||||
Error,
|
||||
ReturnType<RegionQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminRegionKeys.detail(id),
|
||||
() => client.admin.regions.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminRegionFulfillmentOptions = (
|
||||
regionId: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminGetRegionsRegionFulfillmentOptionsRes>,
|
||||
Error,
|
||||
ReturnType<RegionQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminRegionKeys.detail(`${regionId}_fullfillment-options`),
|
||||
() => client.admin.regions.retrieveFulfillmentOptions(regionId),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,66 @@
|
||||
import {
|
||||
AdminPostReturnReasonsReasonReq,
|
||||
AdminPostReturnReasonsReq,
|
||||
AdminReturnReasonsRes,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { adminReturnReasonKeys } from "."
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateReturnReason = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminReturnReasonsRes>,
|
||||
Error,
|
||||
AdminPostReturnReasonsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostReturnReasonsReq) =>
|
||||
client.admin.returnReasons.create(payload),
|
||||
buildOptions(queryClient, adminReturnReasonKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateReturnReason = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminReturnReasonsRes>,
|
||||
Error,
|
||||
AdminPostReturnReasonsReasonReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostReturnReasonsReasonReq) =>
|
||||
client.admin.returnReasons.update(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminReturnReasonKeys.detail(id), adminReturnReasonKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteReturnReason = (
|
||||
id: string,
|
||||
options?: UseMutationOptions
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.returnReasons.delete(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminReturnReasonKeys.detail(id), adminReturnReasonKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
import {
|
||||
AdminReturnReasonsListRes,
|
||||
AdminReturnReasonsRes,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_RETURNS_REASONS_QUERY_KEY = `admin_return_reasons` as const
|
||||
|
||||
export const adminReturnReasonKeys = queryKeysFactory(
|
||||
ADMIN_RETURNS_REASONS_QUERY_KEY
|
||||
)
|
||||
|
||||
type ReturnReasonQueryKeys = typeof adminReturnReasonKeys
|
||||
|
||||
export const useAdminReturnReasons = (
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminReturnReasonsListRes>,
|
||||
Error,
|
||||
ReturnType<ReturnReasonQueryKeys["lists"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminReturnReasonKeys.lists(),
|
||||
() => client.admin.returnReasons.list(),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminReturnReason = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminReturnReasonsRes>,
|
||||
Error,
|
||||
ReturnType<ReturnReasonQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminReturnReasonKeys.detail(id),
|
||||
() => client.admin.returnReasons.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,40 @@
|
||||
import { AdminReturnsCancelRes, AdminReturnsRes } from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
import { adminReturnKeys } from "./queries"
|
||||
|
||||
export const useAdminReceiveReturn = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminReturnsRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.returns.receive(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminReturnKeys.detail(id), adminReturnKeys.list()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCancelReturn = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminReturnsCancelRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.returns.cancel(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminReturnKeys.detail(id), adminReturnKeys.list()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
import { AdminReturnsListRes } from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_RETURNS_QUERY_KEY = `admin_returns` as const
|
||||
|
||||
export const adminReturnKeys = queryKeysFactory(ADMIN_RETURNS_QUERY_KEY)
|
||||
|
||||
type ReturnQueryKeys = typeof adminReturnKeys
|
||||
|
||||
export const useAdminReturns = (
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminReturnsListRes>,
|
||||
Error,
|
||||
ReturnType<ReturnQueryKeys["lists"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminReturnKeys.lists(),
|
||||
() => client.admin.returns.list(),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,66 @@
|
||||
import { adminShippingOptionKeys } from "./queries"
|
||||
import {
|
||||
AdminPostShippingOptionsOptionReq,
|
||||
AdminPostShippingOptionsReq,
|
||||
AdminShippingOptionsRes,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateShippingOption = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminShippingOptionsRes>,
|
||||
Error,
|
||||
AdminPostShippingOptionsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostShippingOptionsReq) =>
|
||||
client.admin.shippingOptions.create(payload),
|
||||
buildOptions(queryClient, adminShippingOptionKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateShippingOption = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminShippingOptionsRes>,
|
||||
Error,
|
||||
AdminPostShippingOptionsOptionReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostShippingOptionsOptionReq) =>
|
||||
client.admin.shippingOptions.update(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminShippingOptionKeys.lists(), adminShippingOptionKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteShippingOption = (
|
||||
id: string,
|
||||
options?: UseMutationOptions
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.shippingOptions.delete(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminShippingOptionKeys.lists(), adminShippingOptionKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
import {
|
||||
AdminGetShippingOptionsParams,
|
||||
AdminShippingOptionsListRes,
|
||||
AdminShippingOptionsRes,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_SHIPPING_OPTIONS_QUERY_KEY = `admin_shipping_options` as const
|
||||
|
||||
export const adminShippingOptionKeys = queryKeysFactory(
|
||||
ADMIN_SHIPPING_OPTIONS_QUERY_KEY
|
||||
)
|
||||
|
||||
type ShippingOptionQueryKeys = typeof adminShippingOptionKeys
|
||||
|
||||
export const useAdminShippingOptions = (
|
||||
query?: AdminGetShippingOptionsParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminShippingOptionsListRes>,
|
||||
Error,
|
||||
ReturnType<ShippingOptionQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminShippingOptionKeys.list(query),
|
||||
() => client.admin.shippingOptions.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminShippingOption = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminShippingOptionsRes>,
|
||||
Error,
|
||||
ReturnType<ShippingOptionQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminShippingOptionKeys.detail(id),
|
||||
() => client.admin.shippingOptions.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,69 @@
|
||||
import { adminShippingProfileKeys } from "./queries"
|
||||
import {
|
||||
AdminDeleteShippingProfileRes,
|
||||
AdminPostShippingProfilesReq,
|
||||
AdminShippingProfilesRes,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateShippingProfile = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminShippingProfilesRes>,
|
||||
Error,
|
||||
AdminPostShippingProfilesReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostShippingProfilesReq) =>
|
||||
client.admin.shippingProfiles.create(payload),
|
||||
buildOptions(queryClient, adminShippingProfileKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateShippingProfile = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminShippingProfilesRes>,
|
||||
Error,
|
||||
AdminPostShippingProfilesReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostShippingProfilesReq) =>
|
||||
client.admin.shippingProfiles.update(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminShippingProfileKeys.lists(), adminShippingProfileKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteShippingProfile = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminDeleteShippingProfileRes>,
|
||||
Error,
|
||||
void
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.shippingProfiles.delete(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminShippingProfileKeys.lists(), adminShippingProfileKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
import {
|
||||
AdminShippingProfilesListRes,
|
||||
AdminShippingProfilesRes,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_COLLECTIONS_QUERY_KEY = `admin_shippingProfiles` as const
|
||||
|
||||
export const adminShippingProfileKeys = queryKeysFactory(
|
||||
ADMIN_COLLECTIONS_QUERY_KEY
|
||||
)
|
||||
|
||||
type ShippingProfileQueryKeys = typeof adminShippingProfileKeys
|
||||
|
||||
export const useAdminShippingProfiles = (
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminShippingProfilesListRes>,
|
||||
Error,
|
||||
ReturnType<ShippingProfileQueryKeys["lists"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminShippingProfileKeys.lists(),
|
||||
() => client.admin.shippingProfiles.list(),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminShippingProfile = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminShippingProfilesRes>,
|
||||
Error,
|
||||
ReturnType<ShippingProfileQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminShippingProfileKeys.detail(id),
|
||||
() => client.admin.shippingProfiles.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,46 @@
|
||||
import { adminStoreKeys } from "./queries"
|
||||
import { AdminPostStoreReq, AdminStoresRes } from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminUpdateStore = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminStoresRes>,
|
||||
Error,
|
||||
AdminPostStoreReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostStoreReq) => client.admin.store.update(payload),
|
||||
buildOptions(queryClient, adminStoreKeys.details(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminAddStoreCurrency = (
|
||||
options?: UseMutationOptions<Response<AdminStoresRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(currency_code: string) => client.admin.store.deleteCurrency(currency_code),
|
||||
buildOptions(queryClient, adminStoreKeys.details(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteStoreCurrency = (
|
||||
options?: UseMutationOptions<Response<AdminStoresRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(currency_code: string) => client.admin.store.deleteCurrency(currency_code),
|
||||
buildOptions(queryClient, adminStoreKeys.details(), options)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
import { AdminPaymentProvidersList, AdminStoresRes } from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_STORE_QUERY_KEY = `admin_store` as const
|
||||
|
||||
export const adminStoreKeys = queryKeysFactory(ADMIN_STORE_QUERY_KEY)
|
||||
|
||||
type StoreQueryKeys = typeof adminStoreKeys
|
||||
|
||||
export const useAdminStorePaymentProviders = (
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminPaymentProvidersList>,
|
||||
Error,
|
||||
ReturnType<StoreQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminStoreKeys.detail("payment_providers"),
|
||||
() => client.admin.store.listPaymentProviders(),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminStore = (
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminStoresRes>,
|
||||
Error,
|
||||
ReturnType<StoreQueryKeys["details"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminStoreKeys.details(),
|
||||
() => client.admin.store.retrieve(),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,171 @@
|
||||
import { adminSwapKeys } from "./queries"
|
||||
import {
|
||||
AdminOrdersRes,
|
||||
AdminPostOrdersOrderSwapsReq,
|
||||
AdminPostOrdersOrderSwapsSwapFulfillmentsReq,
|
||||
AdminPostOrdersOrderSwapsSwapReceiveReq,
|
||||
AdminPostOrdersOrderSwapsSwapShipmentsReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { adminOrderKeys } from ".."
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateSwap = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderSwapsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostOrdersOrderSwapsReq) =>
|
||||
client.admin.orders.createSwap(orderId, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.detail(orderId), adminSwapKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCancelSwap = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<Response<AdminOrdersRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(swapId: string) => client.admin.orders.cancelSwap(orderId, swapId),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.detail(orderId), adminSwapKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminReceiveSwap = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderSwapsSwapReceiveReq & { swap_id: string }
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
({
|
||||
swap_id,
|
||||
...payload
|
||||
}: AdminPostOrdersOrderSwapsSwapReceiveReq & { swap_id: string }) =>
|
||||
client.admin.orders.receiveSwap(orderId, swap_id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.detail(orderId), adminSwapKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminFulfillSwap = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderSwapsSwapFulfillmentsReq & { swap_id: string }
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
({
|
||||
swap_id,
|
||||
...payload
|
||||
}: AdminPostOrdersOrderSwapsSwapFulfillmentsReq & { swap_id: string }) =>
|
||||
client.admin.orders.fulfillSwap(orderId, swap_id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.detail(orderId), adminSwapKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCreateSwapShipment = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderSwapsSwapShipmentsReq & { swap_id: string }
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
({
|
||||
swap_id,
|
||||
...payload
|
||||
}: AdminPostOrdersOrderSwapsSwapShipmentsReq & { swap_id: string }) =>
|
||||
client.admin.orders.createSwapShipment(orderId, swap_id, payload),
|
||||
buildOptions(queryClient, adminOrderKeys.detail(orderId), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminProcessSwapPayment = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<Response<AdminOrdersRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(swapId: string) => client.admin.orders.processSwapPayment(orderId, swapId),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.detail(orderId), adminSwapKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminCancelSwapFulfillment = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
{ swap_id: string; fulfillment_id: string }
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
({
|
||||
swap_id,
|
||||
fulfillment_id,
|
||||
}: {
|
||||
swap_id: string
|
||||
fulfillment_id: string
|
||||
}) =>
|
||||
client.admin.orders.cancelSwapFulfillment(
|
||||
orderId,
|
||||
swap_id,
|
||||
fulfillment_id
|
||||
),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.detail(orderId), adminSwapKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
import {
|
||||
AdminSwapsListRes,
|
||||
AdminSwapsRes,
|
||||
AdminGetSwapsParams,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_SWAPS_QUERY_KEY = `admin_swaps` as const
|
||||
|
||||
export const adminSwapKeys = queryKeysFactory(ADMIN_SWAPS_QUERY_KEY)
|
||||
|
||||
type SwapsQueryKey = typeof adminSwapKeys
|
||||
|
||||
export const useAdminSwaps = (
|
||||
query?: AdminGetSwapsParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminSwapsListRes>,
|
||||
Error,
|
||||
ReturnType<SwapsQueryKey["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminSwapKeys.list(query),
|
||||
() => client.admin.swaps.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminSwap = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminSwapsRes>,
|
||||
Error,
|
||||
ReturnType<SwapsQueryKey["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminSwapKeys.detail(id),
|
||||
() => client.admin.swaps.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,99 @@
|
||||
import {
|
||||
AdminDeleteUserRes,
|
||||
AdminResetPasswordRequest,
|
||||
AdminResetPasswordTokenRequest,
|
||||
AdminUserRes,
|
||||
} from "@medusajs/medusa"
|
||||
import {
|
||||
AdminCreateUserPayload,
|
||||
AdminUpdateUserPayload,
|
||||
Response,
|
||||
} from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { adminCustomerKeys } from ".."
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateUser = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminUserRes>,
|
||||
Error,
|
||||
AdminCreateUserPayload
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminCreateUserPayload) => client.admin.users.create(payload),
|
||||
buildOptions(queryClient, adminCustomerKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateUser = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminUserRes>,
|
||||
Error,
|
||||
AdminUpdateUserPayload
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminUpdateUserPayload) => client.admin.users.update(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminCustomerKeys.lists(), adminCustomerKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteUser = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminDeleteUserRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.users.delete(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminCustomerKeys.detail(id), adminCustomerKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminResetPassword = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminUserRes>,
|
||||
Error,
|
||||
AdminResetPasswordRequest
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
return useMutation(
|
||||
(payload: AdminResetPasswordRequest) =>
|
||||
client.admin.users.resetPassword(payload),
|
||||
options
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminSendResetPasswordToken = (
|
||||
options?: UseMutationOptions<
|
||||
Response<void>,
|
||||
Error,
|
||||
AdminResetPasswordTokenRequest
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
return useMutation(
|
||||
(payload: AdminResetPasswordTokenRequest) =>
|
||||
client.admin.users.sendResetPasswordToken(payload),
|
||||
options
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
import { AdminUsersListRes, AdminUserRes } from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_USERS_QUERY_KEY = `admin_users` as const
|
||||
|
||||
export const adminUserKeys = queryKeysFactory(ADMIN_USERS_QUERY_KEY)
|
||||
|
||||
type UserQueryKeys = typeof adminUserKeys
|
||||
|
||||
export const useAdminUsers = (
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminUsersListRes>,
|
||||
Error,
|
||||
ReturnType<UserQueryKeys["lists"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminUserKeys.lists(),
|
||||
() => client.admin.users.list(),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminUser = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminUserRes>,
|
||||
Error,
|
||||
ReturnType<UserQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminUserKeys.detail(id),
|
||||
() => client.admin.users.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export * from "./queries"
|
||||
@@ -0,0 +1,29 @@
|
||||
import { AdminVariantsListRes, AdminGetVariantsParams } from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_VARIANT_QUERY_KEY = `admin_variants` as const
|
||||
|
||||
export const adminVariantKeys = queryKeysFactory(ADMIN_VARIANT_QUERY_KEY)
|
||||
|
||||
type VariantQueryKeys = typeof adminVariantKeys
|
||||
|
||||
export const useAdminVariants = (
|
||||
query?: AdminGetVariantsParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminVariantsListRes>,
|
||||
Error,
|
||||
ReturnType<VariantQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminVariantKeys.list(query),
|
||||
() => client.admin.variants.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
Reference in New Issue
Block a user