feat(medusa): Add endpoint for retrieving a DiscountCondition (#1525)

This commit is contained in:
Oliver Windall Juhl
2022-05-17 11:17:17 +02:00
committed by GitHub
parent b02f2652be
commit a87e1cdf65
10 changed files with 450 additions and 42 deletions

View File

@@ -1,7 +1,9 @@
import {
AdminDiscountConditionsRes,
AdminDiscountsListRes,
AdminDiscountsRes,
AdminGetDiscountParams,
AdminGetDiscountsDiscountConditionsConditionParams,
AdminGetDiscountsParams,
} from "@medusajs/medusa"
import { Response } from "@medusajs/medusa-js"
@@ -12,7 +14,16 @@ import { queryKeysFactory } from "../../utils/index"
const ADMIN_DISCOUNTS_QUERY_KEY = `admin_discounts` as const
export const adminDiscountKeys = queryKeysFactory(ADMIN_DISCOUNTS_QUERY_KEY)
export const adminDiscountKeys = {
...queryKeysFactory(ADMIN_DISCOUNTS_QUERY_KEY),
detailCondition(id: string, query?: any) {
return [
...this.detail(id),
"condition" as const,
{ ...(query || {}) },
] as const
},
}
type DiscountQueryKeys = typeof adminDiscountKeys
@@ -67,3 +78,22 @@ export const useAdminGetDiscountByCode = (
)
return { ...data, ...rest } as const
}
export const useAdminGetDiscountCondition = (
id: string,
conditionId: string,
query?: AdminGetDiscountsDiscountConditionsConditionParams,
options?: UseQueryOptionsWrapper<
Response<AdminDiscountConditionsRes>,
Error,
ReturnType<DiscountQueryKeys["detailCondition"]>
>
) => {
const { client } = useMedusa()
const { data, ...rest } = useQuery(
adminDiscountKeys.detailCondition(conditionId),
() => client.admin.discounts.getCondition(id, conditionId, query),
options
)
return { ...data, ...rest } as const
}