diff --git a/frontend/composables/api/orders/useGetTransaction.ts b/frontend/composables/api/orders/useGetTransaction.ts new file mode 100644 index 0000000..9951ac6 --- /dev/null +++ b/frontend/composables/api/orders/useGetTransaction.ts @@ -0,0 +1,32 @@ +// imports + +import { useQuery } from "@tanstack/vue-query"; +import { API_ENDPOINTS, QUERY_KEYS } from "~/constants"; + +// types + +export type GetTransactionResponse = Transaction; + +export type GetTransactionRequest = string; + +const useGetTransaction = (params: ComputedRef) => { + // state + + const { $axios: axios } = useNuxtApp(); + + // methods + + const handleGetTransaction = async (tc: GetTransactionRequest) => { + const { data } = await axios.get( + `${API_ENDPOINTS.orders.checkout.transaction}/${tc}` + ); + return data; + }; + + return useQuery({ + queryKey: [QUERY_KEYS.transaction, params], + queryFn: () => handleGetTransaction(params.value), + }); +}; + +export default useGetTransaction;