feat(medusa): Support deleting prices from a price list by product or variant (#1555)

This commit is contained in:
Adrien de Peretti
2022-05-30 09:41:57 +02:00
committed by GitHub
parent ad9cfedf04
commit fa031fd28b
16 changed files with 602 additions and 78 deletions

View File

@@ -6,12 +6,16 @@ import {
AdminDeletePriceListPricesPricesReq,
AdminPriceListDeleteRes,
AdminPriceListDeleteBatchRes,
AdminPriceListDeleteProductPricesRes,
AdminPriceListDeleteVariantPricesRes,
} 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 { adminPriceListKeys } from "./queries"
import { adminProductKeys } from "../products"
import { adminVariantKeys } from "../variants"
export const useAdminCreatePriceList = (
options?: UseMutationOptions<
@@ -118,3 +122,53 @@ export const useAdminDeletePriceListPrices = (
)
)
}
export const useAdminDeletePriceListProductPrices = (
id: string,
productId: string,
options?: UseMutationOptions<
Response<AdminPriceListDeleteProductPricesRes>,
Error
>
) => {
const { client } = useMedusa()
const queryClient = useQueryClient()
return useMutation(
() => client.admin.priceLists.deleteProductPrices(id, productId),
buildOptions(
queryClient,
[
adminPriceListKeys.detail(id),
adminPriceListKeys.lists(),
adminProductKeys.detail(productId)
],
options
)
)
}
export const useAdminDeletePriceListVariantPrices = (
id: string,
variantId: string,
options?: UseMutationOptions<
Response<AdminPriceListDeleteVariantPricesRes>,
Error
>
) => {
const { client } = useMedusa()
const queryClient = useQueryClient()
return useMutation(
() => client.admin.priceLists.deleteVariantPrices(id, variantId),
buildOptions(
queryClient,
[
adminPriceListKeys.detail(id),
adminPriceListKeys.lists(),
adminVariantKeys.detail(variantId)
],
options
)
)
}

View File

@@ -21,7 +21,7 @@ export const adminPriceListKeys = {
"products" as const,
{ ...(query || {}) },
] as const
},
}
}
type PriceListQueryKeys = typeof adminPriceListKeys