39 lines
1.3 KiB
TypeScript
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
|
|
};
|
|
} |