MIF_E31221222/sigap-website/app/(pages)/(auth)/queries.ts

39 lines
1.3 KiB
TypeScript

import { useMutation } from '@tanstack/react-query';
import { sendMagicLink, sendPasswordRecovery, signIn, signOut, verifyOtp } from './action';
export function useAuthActions() {
// Sign In Mutation
const signInMutation = useMutation({
mutationKey: ["signIn"],
mutationFn: async (formData: FormData) => await signIn(formData)
});
// Verify OTP Mutation
const verifyOtpMutation = useMutation({
mutationKey: ["verifyOtp"],
mutationFn: async (formData: FormData) => await verifyOtp(formData)
});
const signOutMutation = useMutation({
mutationKey: ["signOut"],
mutationFn: async () => await signOut()
});
const sendMagicLinkMutation = useMutation({
mutationKey: ["sendMagicLink"],
mutationFn: async (formData: FormData) => await sendMagicLink(formData)
});
const sendPasswordRecoveryMutation = useMutation({
mutationKey: ["sendPasswordRecovery"],
mutationFn: async (formData: FormData) => await sendPasswordRecovery(formData)
});
return {
signIn: signInMutation,
verifyOtp: verifyOtpMutation,
signOut: signOutMutation,
sendMagicLink: sendMagicLinkMutation,
sendPasswordRecovery: sendPasswordRecoveryMutation
};
}