This commit is contained in:
Milan Paunovic
2024-12-15 16:46:26 +01:00
parent 70db8bdc0b
commit c411990312
25 changed files with 106 additions and 108 deletions

View File

@ -1,26 +1,30 @@
import { useMutation, useQueryClient } from "@tanstack/react-query";
import firestore from "@react-native-firebase/firestore";
import { useAuthContext } from "@/contexts/AuthContext";
import {IGrocery} from "@/hooks/firebase/types/groceryData";
import { IGrocery } from "@/hooks/firebase/types/groceryData";
export const useCreateGrocery = () => {
const { user: currentUser, profileData } = useAuthContext();
const queryClients = useQueryClient();
const queryClient = useQueryClient();
const groceriesKey = ["groceries"];
return useMutation({
mutationKey: ["createGrocery"],
mutationFn: async (groceryData: Partial<IGrocery>) => {
try {
const newDoc = firestore().collection('Groceries').doc();
await firestore()
.collection("Groceries")
.add({...groceryData, id: newDoc.id, familyId: profileData?.familyId, creatorId: currentUser?.uid})
} catch (e) {
console.error(e)
}
mutationFn: (groceryData: Partial<IGrocery>) => {
const newDoc = firestore().collection('Groceries').doc();
return firestore()
.collection("Groceries")
.add({
...groceryData,
id: newDoc.id,
familyId: profileData?.familyId,
creatorId: currentUser?.uid
});
},
onSuccess: () => {
queryClients.invalidateQueries("groceries")
return queryClient.invalidateQueries({
queryKey: groceriesKey,
exact: true
});
}
})
}
});
};