diff --git a/frontend/composables/api/auth/useRefreshAuth.ts b/frontend/composables/api/auth/useRefreshAuth.ts new file mode 100644 index 0000000..6540427 --- /dev/null +++ b/frontend/composables/api/auth/useRefreshAuth.ts @@ -0,0 +1,36 @@ +// imports + +import { useMutation } from "@tanstack/vue-query"; +import { API_ENDPOINTS } from "~/constants"; + +// types + +export type RefreshAuthRequest = { + refresh: string, +}; + +export type RefreshAuthResponse = { + access: string, + refresh: string, +}; + + +const useRefreshAuth = () => { + + // state + + const { $axios: axios } = useNuxtApp(); + + // methods + + const handleRefreshAuth = async (variables: RefreshAuthRequest) => { + const { data } = await axios.post(`${API_ENDPOINTS.auth.refresh}/`, variables); + return data; + }; + + return useMutation({ + mutationFn: (variables: RefreshAuthRequest) => handleRefreshAuth(variables) + }); +}; + +export default useRefreshAuth;