feat(medusa): Add endpoints specific to DiscountConditions (#1355)

This commit is contained in:
Oliver Windall Juhl
2022-05-13 12:42:23 +02:00
committed by GitHub
parent a69b52e031
commit 9ca45ea492
20 changed files with 1433 additions and 159 deletions
@@ -1,9 +1,11 @@
import {
AdminDiscountsDeleteRes,
AdminDiscountsRes,
AdminPostDiscountsDiscountConditions,
AdminPostDiscountsDiscountConditionsCondition,
AdminPostDiscountsDiscountDynamicCodesReq,
AdminPostDiscountsDiscountReq,
AdminPostDiscountsReq,
AdminPostDiscountsReq
} from "@medusajs/medusa"
import { Response } from "@medusajs/medusa-js"
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
@@ -115,3 +117,51 @@ export const useAdminDeleteDynamicDiscountCode = (
)
)
}
export const useAdminDiscountCreateCondition = (
discountId: string,
options?: UseMutationOptions<
Response<AdminDiscountsRes>,
Error,
AdminPostDiscountsDiscountConditions
>
) => {
const { client } = useMedusa()
const queryClient = useQueryClient()
return useMutation(
(payload: AdminPostDiscountsDiscountConditions) =>
client.admin.discounts.createCondition(discountId, payload),
buildOptions(queryClient, adminDiscountKeys.detail(discountId), options)
)
}
export const useAdminDiscountUpdateCondition = (
discountId: string,
conditionId: string,
options?: UseMutationOptions<
Response<AdminDiscountsRes>,
Error,
AdminPostDiscountsDiscountConditionsCondition
>
) => {
const { client } = useMedusa()
const queryClient = useQueryClient()
return useMutation(
(payload: AdminPostDiscountsDiscountConditionsCondition) =>
client.admin.discounts.updateCondition(discountId, conditionId, payload),
buildOptions(queryClient, adminDiscountKeys.detail(discountId), options)
)
}
export const useAdminDiscountRemoveCondition = (
discountId: string,
options?: UseMutationOptions<Response<AdminDiscountsDeleteRes>, Error, string>
) => {
const { client } = useMedusa()
const queryClient = useQueryClient()
return useMutation(
(conditionId: string) =>
client.admin.discounts.deleteCondition(discountId, conditionId),
buildOptions(queryClient, adminDiscountKeys.detail(discountId), options)
)
}