Skip to content
This repository has been archived by the owner on Nov 8, 2023. It is now read-only.

Commit

Permalink
#44 feat: Portfolio holding delete api 및 mutation 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
Kakamotobi committed Oct 27, 2023
1 parent bb4ebb1 commit 857cad9
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 6 deletions.
13 changes: 13 additions & 0 deletions fe/src/api/portfolio/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,19 @@ export const postPortfolioHolding = async ({
return res.data;
};

export const deletePortfolioHolding = async ({
portfolioId,
portfolioHoldingId,
}: {
portfolioId: number;
portfolioHoldingId: number;
}) => {
const res = await fetcher.delete<Response<null>>(
`/portfolio/${portfolioId}/holdings/${portfolioHoldingId}`
);
return res.data;
};

export const postPortfolioHoldingPurchase = async ({
portfolioId,
portfolioHoldingId,
Expand Down
3 changes: 3 additions & 0 deletions fe/src/api/portfolio/queries/queryKeys.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ export const portfolioKeys = createQueryKeys("portfolio", {
addHolding: (portfolioId: number) => ({
queryKey: [portfolioId],
}),
deleteHolding: (portfolioId: number) => ({
queryKey: [portfolioId],
}),
addHoldingPurchase: () => ({
queryKey: ["addHoldingPurchase"],
}),
Expand Down
10 changes: 4 additions & 6 deletions fe/src/api/portfolio/queries/usePortfolioHoldingAddMutation.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { postPortfolioHoldingPurchase } from "..";
import { postPortfolioHolding } from "..";
import { portfolioKeys } from "./queryKeys";

export default function usePortfolioHoldingAddMutation(
portfolioId: number
) {
export default function usePortfolioHoldingAddMutation(portfolioId: number) {
const queryClient = useQueryClient();

return useMutation({
mutationKey: portfolioKeys.addHoldingPurchase().queryKey,
mutationFn: postPortfolioHoldingPurchase,
mutationKey: portfolioKeys.addHolding(portfolioId).queryKey,
mutationFn: postPortfolioHolding,
onSuccess: () => {
// TODO: toast
queryClient.invalidateQueries(
Expand Down
18 changes: 18 additions & 0 deletions fe/src/api/portfolio/queries/usePortfolioHoldingDeleteMutation.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { deletePortfolioHolding } from "..";
import { portfolioKeys } from "./queryKeys";

export default function usePortfolioHoldingAddMutation(portfolioId: number) {
const queryClient = useQueryClient();

return useMutation({
mutationKey: portfolioKeys.deleteHolding(portfolioId).queryKey,
mutationFn: deletePortfolioHolding,
onSuccess: () => {
// TODO: toast
queryClient.invalidateQueries(
portfolioKeys.details(portfolioId).queryKey
);
},
});
}

0 comments on commit 857cad9

Please sign in to comment.