Files
cally/hooks/firebase/useRemoveSubUser.ts
Milan Paunovic 70db8bdc0b New calendar
2024-12-15 16:29:34 +01:00

27 lines
1011 B
TypeScript

import { useMutation, useQueryClient } from "@tanstack/react-query";
import functions from '@react-native-firebase/functions';
import { ProfileType, useAuthContext } from "@/contexts/AuthContext";
import { HttpsCallableResult } from "@firebase/functions";
export const useRemoveSubUser = () => {
const queryClient = useQueryClient();
const { profileType, profileData } = useAuthContext();
return useMutation({
mutationKey: ["removeSubUser"],
mutationFn: async (userId: string) => {
if (profileType === ProfileType.PARENT) {
return await functions().httpsCallable("removeSubUser")({
userId,
familyId: profileData?.familyId!,
}) as HttpsCallableResult<{ success: boolean }>;
} else {
throw Error("Can't remove sub-users as a non-parent.");
}
},
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ["getChildrenByParentId"] });
queryClient.invalidateQueries({ queryKey: ["familyMembers"] });
},
});
};