mirror of
https://github.com/urosran/cally.git
synced 2025-07-15 01:35:22 +00:00
Implementation of fetching, adding and updating todos to db
This commit is contained in:
32
hooks/firebase/useGetTodos.ts
Normal file
32
hooks/firebase/useGetTodos.ts
Normal file
@ -0,0 +1,32 @@
|
||||
import { useQuery } from "react-query";
|
||||
import firestore from "@react-native-firebase/firestore";
|
||||
import { useAuthContext } from "@/contexts/AuthContext";
|
||||
|
||||
export const useGetTodos = () => {
|
||||
const { user, profileData } = useAuthContext();
|
||||
|
||||
return useQuery({
|
||||
queryKey: ["todos", user?.uid],
|
||||
queryFn: async () => {
|
||||
const snapshot = await firestore()
|
||||
.collection("Todos")
|
||||
.where("familyId", "==", profileData?.familyId)
|
||||
.get();
|
||||
|
||||
return snapshot.docs.map((doc) => {
|
||||
const data = doc.data();
|
||||
|
||||
return {
|
||||
id: doc.id,
|
||||
title: data.title,
|
||||
done: data.done,
|
||||
date: data.date ? new Date(data.date.seconds * 1000) : null,
|
||||
points: data.points,
|
||||
rotate: data.points,
|
||||
repeatType: data.repeatType,
|
||||
creatorId: data.creatorId
|
||||
};
|
||||
});
|
||||
}
|
||||
})
|
||||
};
|
Reference in New Issue
Block a user