Files
cally/hooks/firebase/useLoginWithQrCode.ts
2024-09-29 23:03:21 +02:00

21 lines
813 B
TypeScript

import {useMutation} from "react-query";
import functions, {FirebaseFunctionsTypes} from '@react-native-firebase/functions';
import auth from "@react-native-firebase/auth";
export const useLoginWithQrCode = () => {
return useMutation({
mutationKey: ["loginWithQrCode"],
mutationFn: async ({userId}: { userId: string }) => {
try {
const res = await functions().httpsCallable("generateCustomToken")({userId}) as FirebaseFunctionsTypes.HttpsCallableResult<{
token: string
}>
console.log(res)
await auth().signInWithCustomToken(res?.data?.token)
} catch (e) {
console.error(e)
throw Error("Failed to login with QR code.")
}
},
});
}