diff --git a/packages/admin-next/dashboard/src/lib/api-v2/promotion.ts b/packages/admin-next/dashboard/src/lib/api-v2/promotion.ts index ff28055712..84c3426659 100644 --- a/packages/admin-next/dashboard/src/lib/api-v2/promotion.ts +++ b/packages/admin-next/dashboard/src/lib/api-v2/promotion.ts @@ -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, + Error, + ReturnType + > ) => { const { data, ...rest } = useAdminCustomQuery< AdminGetPromotionsParams, AdminPromotionsListRes - >("/admin/promotions", adminPromotionKeys.list(query), query, options) + >("/promotions", adminPromotionKeys.list(query), query, options as any) return { ...data, ...rest } } diff --git a/packages/admin-next/dashboard/src/v2-routes/promotions/promotion-list/loader.ts b/packages/admin-next/dashboard/src/v2-routes/promotions/promotion-list/loader.ts index f66e516581..c499254a25 100644 --- a/packages/admin-next/dashboard/src/v2-routes/promotions/promotion-list/loader.ts +++ b/packages/admin-next/dashboard/src/v2-routes/promotions/promotion-list/loader.ts @@ -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( + "/promotions", + params + ), }) export const promotionsLoader = (client: QueryClient) => {