fix promotions loader (#6928)

This commit is contained in:
Kasper Fabricius Kristensen
2024-04-04 07:34:43 +02:00
committed by GitHub
parent 49f16ab08d
commit 3044ecaf61
2 changed files with 35 additions and 11 deletions

View File

@@ -2,22 +2,34 @@ import {
AdminGetPromotionsParams,
AdminPromotionsListRes,
} from "@medusajs/medusa"
import { queryKeysFactory, useAdminCustomQuery } from "medusa-react"
import { Response } from "@medusajs/medusa-js"
import {
UseQueryOptionsWrapper,
queryKeysFactory,
useAdminCustomQuery,
} from "medusa-react"
const ADMIN_PROMOTIONS_QUERY_KEY = "admin_promotions"
const QUERY_KEY = "admin_promotions"
export const adminPromotionKeys = queryKeysFactory<
typeof QUERY_KEY,
typeof ADMIN_PROMOTIONS_QUERY_KEY,
AdminGetPromotionsParams
>(QUERY_KEY)
>(ADMIN_PROMOTIONS_QUERY_KEY)
type PromotionQueryKey = typeof adminPromotionKeys
export const useV2Promotions = (
query?: AdminGetPromotionsParams,
options?: object
options?: UseQueryOptionsWrapper<
Response<AdminPromotionsListRes>,
Error,
ReturnType<PromotionQueryKey["list"]>
>
) => {
const { data, ...rest } = useAdminCustomQuery<
AdminGetPromotionsParams,
AdminPromotionsListRes
>("/admin/promotions", adminPromotionKeys.list(query), query, options)
>("/promotions", adminPromotionKeys.list(query), query, options as any)
return { ...data, ...rest }
}

View File

@@ -1,12 +1,24 @@
import { AdminPromotionsListRes } from "@medusajs/medusa"
import {
AdminGetPromotionsParams,
AdminPromotionsListRes,
} from "@medusajs/medusa"
import { Response } from "@medusajs/medusa-js"
import { QueryClient } from "@tanstack/react-query"
import { adminPromotionKeys, useV2Promotions } from "../../../lib/api-v2"
import { queryClient } from "../../../lib/medusa"
import { adminPromotionKeys } from "../../../lib/api-v2"
import { medusa, queryClient } from "../../../lib/medusa"
const params = {
limit: 20,
offset: 0,
}
const promotionsListQuery = () => ({
queryKey: adminPromotionKeys.list(),
queryFn: async () => useV2Promotions({ limit: 20, offset: 0 }),
queryKey: adminPromotionKeys.list(params),
queryFn: async () =>
medusa.admin.custom.get<AdminGetPromotionsParams, AdminPromotionsListRes>(
"/promotions",
params
),
})
export const promotionsLoader = (client: QueryClient) => {