From fdee0bd55a3bd049f9485ac7fe158fb1797f30d3 Mon Sep 17 00:00:00 2001 From: Riqwan Thamir Date: Wed, 3 Jul 2024 14:13:44 +0200 Subject: [PATCH] chore: use campaign http types from types package (#7922) --- .../dashboard/src/hooks/api/campaigns.tsx | 15 ++++++++-- .../dashboard/src/lib/client/campaigns.ts | 8 ++--- .../edit-campaign-budget-form.tsx | 6 +--- .../edit-campaign-form/edit-campaign-form.tsx | 1 - .../types/src/http/campaign/admin/index.ts | 3 +- .../types/src/http/campaign/admin/payloads.ts | 29 +++++++++++++++++++ .../admin/{campaign.ts => responses.ts} | 0 7 files changed, 48 insertions(+), 14 deletions(-) create mode 100644 packages/core/types/src/http/campaign/admin/payloads.ts rename packages/core/types/src/http/campaign/admin/{campaign.ts => responses.ts} (100%) diff --git a/packages/admin-next/dashboard/src/hooks/api/campaigns.tsx b/packages/admin-next/dashboard/src/hooks/api/campaigns.tsx index a8a83d1d7a..6bfb79b645 100644 --- a/packages/admin-next/dashboard/src/hooks/api/campaigns.tsx +++ b/packages/admin-next/dashboard/src/hooks/api/campaigns.tsx @@ -1,6 +1,8 @@ import { AdminCampaignListResponse, AdminCampaignResponse, + AdminCreateCampaign, + AdminUpdateCampaign, LinkMethodRequest, } from "@medusajs/types" import { @@ -13,7 +15,6 @@ import { import { client } from "../../lib/client" import { queryClient } from "../../lib/query-client" import { queryKeysFactory } from "../../lib/query-key-factory" -import { CreateCampaignReq, UpdateCampaignReq } from "../../types/api-payloads" import { CampaignDeleteRes } from "../../types/api-responses" import { promotionsQueryKeys } from "./promotions" @@ -64,7 +65,11 @@ export const useCampaigns = ( } export const useCreateCampaign = ( - options?: UseMutationOptions + options?: UseMutationOptions< + AdminCampaignResponse, + Error, + AdminCreateCampaign + > ) => { return useMutation({ mutationFn: (payload) => client.campaigns.create(payload), @@ -78,7 +83,11 @@ export const useCreateCampaign = ( export const useUpdateCampaign = ( id: string, - options?: UseMutationOptions + options?: UseMutationOptions< + AdminCampaignResponse, + Error, + AdminUpdateCampaign + > ) => { return useMutation({ mutationFn: (payload) => client.campaigns.update(id, payload), diff --git a/packages/admin-next/dashboard/src/lib/client/campaigns.ts b/packages/admin-next/dashboard/src/lib/client/campaigns.ts index c47c835879..08860d78fa 100644 --- a/packages/admin-next/dashboard/src/lib/client/campaigns.ts +++ b/packages/admin-next/dashboard/src/lib/client/campaigns.ts @@ -1,9 +1,9 @@ import { AdminCampaignListResponse, AdminCampaignResponse, - CreateCampaignDTO, + AdminCreateCampaign, + AdminUpdateCampaign, LinkMethodRequest, - UpdateCampaignDTO, } from "@medusajs/types" import { CampaignDeleteRes } from "../../types/api-responses" import { deleteRequest, getRequest, postRequest } from "./common" @@ -16,11 +16,11 @@ async function listCampaigns(query?: Record) { return getRequest(`/admin/campaigns`, query) } -async function createCampaign(payload: CreateCampaignDTO) { +async function createCampaign(payload: AdminCreateCampaign) { return postRequest(`/admin/campaigns`, payload) } -async function updateCampaign(id: string, payload: UpdateCampaignDTO) { +async function updateCampaign(id: string, payload: AdminUpdateCampaign) { return postRequest(`/admin/campaigns/${id}`, payload) } diff --git a/packages/admin-next/dashboard/src/routes/campaigns/campaign-budget-edit/components/edit-campaign-budget-form/edit-campaign-budget-form.tsx b/packages/admin-next/dashboard/src/routes/campaigns/campaign-budget-edit/components/edit-campaign-budget-form/edit-campaign-budget-form.tsx index bb88fca79e..6a87ec6251 100644 --- a/packages/admin-next/dashboard/src/routes/campaigns/campaign-budget-edit/components/edit-campaign-budget-form/edit-campaign-budget-form.tsx +++ b/packages/admin-next/dashboard/src/routes/campaigns/campaign-budget-edit/components/edit-campaign-budget-form/edit-campaign-budget-form.tsx @@ -5,10 +5,7 @@ import { useForm } from "react-hook-form" import { useTranslation } from "react-i18next" import * as zod from "zod" import { Form } from "../../../../../components/common/form" -import { - RouteDrawer, - useRouteModal, -} from "../../../../../components/modals" +import { RouteDrawer, useRouteModal } from "../../../../../components/modals" import { useUpdateCampaign } from "../../../../../hooks/api/campaigns" import { getCurrencySymbol } from "../../../../../lib/currencies" @@ -38,7 +35,6 @@ export const EditCampaignBudgetForm = ({ const handleSubmit = form.handleSubmit(async (data) => { await mutateAsync( { - id: campaign.id, budget: { limit: data.limit ? data.limit : null, }, diff --git a/packages/admin-next/dashboard/src/routes/campaigns/campaign-edit/components/edit-campaign-form/edit-campaign-form.tsx b/packages/admin-next/dashboard/src/routes/campaigns/campaign-edit/components/edit-campaign-form/edit-campaign-form.tsx index 9eb49155b6..3682be1744 100644 --- a/packages/admin-next/dashboard/src/routes/campaigns/campaign-edit/components/edit-campaign-form/edit-campaign-form.tsx +++ b/packages/admin-next/dashboard/src/routes/campaigns/campaign-edit/components/edit-campaign-form/edit-campaign-form.tsx @@ -40,7 +40,6 @@ export const EditCampaignForm = ({ campaign }: EditCampaignFormProps) => { const handleSubmit = form.handleSubmit(async (data) => { await mutateAsync( { - id: campaign.id, name: data.name, description: data.description, campaign_identifier: data.campaign_identifier, diff --git a/packages/core/types/src/http/campaign/admin/index.ts b/packages/core/types/src/http/campaign/admin/index.ts index 8d91a02bcd..13269a5f52 100644 --- a/packages/core/types/src/http/campaign/admin/index.ts +++ b/packages/core/types/src/http/campaign/admin/index.ts @@ -1 +1,2 @@ -export * from "./campaign" +export * from "./payloads" +export * from "./responses" diff --git a/packages/core/types/src/http/campaign/admin/payloads.ts b/packages/core/types/src/http/campaign/admin/payloads.ts new file mode 100644 index 0000000000..86a18f16b8 --- /dev/null +++ b/packages/core/types/src/http/campaign/admin/payloads.ts @@ -0,0 +1,29 @@ +import { CampaignBudgetTypeValues } from "../../../promotion" + +export interface AdminCreateCampaign { + name?: string + description?: string + currency?: string | null + campaign_identifier?: string + starts_at?: Date | null + ends_at?: Date | null + budget?: { + type?: CampaignBudgetTypeValues + currency_code?: string | null + limit?: number | null + } | null +} + +export interface AdminUpdateCampaign { + name?: string + description?: string + currency?: string | null + campaign_identifier?: string + starts_at?: Date | null + ends_at?: Date | null + budget?: { + type?: CampaignBudgetTypeValues + currency_code?: string | null + limit?: number | null + } | null +} diff --git a/packages/core/types/src/http/campaign/admin/campaign.ts b/packages/core/types/src/http/campaign/admin/responses.ts similarity index 100% rename from packages/core/types/src/http/campaign/admin/campaign.ts rename to packages/core/types/src/http/campaign/admin/responses.ts