Files
cally/hooks/firebase/useCreateSubUser.ts
2024-09-28 19:08:09 +02:00

26 lines
1.0 KiB
TypeScript

import {useMutation, useQueryClient} from "react-query";
import {UserProfile} from "@/hooks/firebase/types/profileTypes";
import functions from '@react-native-firebase/functions';
import {ProfileType, useAuthContext} from "@/contexts/AuthContext";
export const useCreateSubUser = () => {
const queryClient = useQueryClient()
const {profileType, profileData} = useAuthContext()
return useMutation({
mutationKey: ["createSubUser"],
mutationFn: async ({email, ...userProfile}: { email: string } & UserProfile) => {
if (profileType === ProfileType.PARENT) {
return await functions().httpsCallable("createSubUser")({
email,
userProfile: {...userProfile, familyId: profileData?.familyId}
})
} else {
throw Error("Can't create sub-users as a non-parent.")
}
},
onSuccess: () => {
queryClient.invalidateQueries({queryKey: ["getChildrenByParentId"]})
}
});
}