From 9c86cafe47828ad114e299f018443bce9644ecf8 Mon Sep 17 00:00:00 2001 From: vhande <78013271+vhande@users.noreply.github.com> Date: Wed, 23 Oct 2024 17:40:16 +0200 Subject: [PATCH] Add approve/reject ownership mutation --- src/hooks/api/ownerships.ts | 39 ++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/src/hooks/api/ownerships.ts b/src/hooks/api/ownerships.ts index d3a257579..7b8f92dd3 100644 --- a/src/hooks/api/ownerships.ts +++ b/src/hooks/api/ownerships.ts @@ -5,6 +5,7 @@ import { fetchFromApi, isErrorObject } from '@/utils/fetchFromApi'; import { ServerSideQueryOptions, + useAuthenticatedMutation, useAuthenticatedQuery, } from './authenticated-query'; @@ -59,4 +60,40 @@ const useGetOwnershipRequestsQuery = ( ...configuration, }); -export { useGetOwnershipRequestsQuery }; +const approveOwnershipRequest = async ({ headers, ownershipId }) => + fetchFromApi({ + path: `/ownerships/${ownershipId}/approve`, + options: { + method: 'POST', + headers, + }, + }); + +const useApproveOwnershipRequestMutation = (configuration = {}) => + useAuthenticatedMutation({ + mutationFn: approveOwnershipRequest, + mutationKey: 'approve-ownership-request', + ...configuration, + }); + +const rejectOwnershipRequest = async ({ headers, ownershipId }) => + fetchFromApi({ + path: `/ownerships/${ownershipId}/reject`, + options: { + method: 'POST', + headers, + }, + }); + +const useRejectOwnershipRequestMutation = (configuration = {}) => + useAuthenticatedMutation({ + mutationFn: rejectOwnershipRequest, + mutationKey: 'reject-ownership-request', + ...configuration, + }); + +export { + useApproveOwnershipRequestMutation, + useGetOwnershipRequestsQuery, + useRejectOwnershipRequestMutation, +};