diff options
| author | omagdy7 <omar.professional8777@gmail.com> | 2023-12-22 20:32:40 +0200 |
|---|---|---|
| committer | omagdy7 <omar.professional8777@gmail.com> | 2023-12-22 20:32:40 +0200 |
| commit | 2548273d89e55efc24a2df101b621b06a6a83313 (patch) | |
| tree | f53432affb67df53357fb0633e5073ebe642aef3 /driver/src/utils | |
| parent | e97dbb11b30d0fe51b2ca1660e9f0d27a99a73e3 (diff) | |
| download | carpool-2548273d89e55efc24a2df101b621b06a6a83313.tar.xz carpool-2548273d89e55efc24a2df101b621b06a6a83313.zip | |
Added rendering passenger requests
Diffstat (limited to 'driver/src/utils')
| -rw-r--r-- | driver/src/utils/fetchRideRequests.ts | 38 | ||||
| -rw-r--r-- | driver/src/utils/fetchUserDetails.ts | 8 |
2 files changed, 41 insertions, 5 deletions
diff --git a/driver/src/utils/fetchRideRequests.ts b/driver/src/utils/fetchRideRequests.ts new file mode 100644 index 0000000..ec28471 --- /dev/null +++ b/driver/src/utils/fetchRideRequests.ts @@ -0,0 +1,38 @@ +import { auth, db } from "@/firebase/firebase_config"; +import { DocumentData, collection, getDocs, query, where } from "firebase/firestore"; +import { fetchUserDetails } from "./fetchUserDetails"; + + +export const fetchRideRequests = async () => { + const user = auth.currentUser; + console.log(user) + try { + let data: any[] = [] + if (user) { + const usersRef = collection(db, "RideRequest") + const q = query(usersRef, where("status", "==", "Pending")) + const querySnapshot = await getDocs(q); + querySnapshot.forEach((doc: DocumentData) => { + data.push(doc.data()) + console.log(doc.id, " => ", doc.data()); + }); + const rideReqs = data?.map(async (rideReq) => { + const passengerData: any = await fetchUserDetails(rideReq.passengerID); + return { + name: passengerData?.name, + phoneNumber: passengerData?.phoneNumber, + status: rideReq.status, + pickUp: rideReq.pickUp, + dropOff: rideReq.dropOff + } + }) + const rides = await Promise.all(rideReqs) + return rides; + } else { + console.log("There is no user"); + return []; + } + } catch (error) { + console.error('Error fetching ride requests', error); + } +}; diff --git a/driver/src/utils/fetchUserDetails.ts b/driver/src/utils/fetchUserDetails.ts index 949a4ab..a2d5cb6 100644 --- a/driver/src/utils/fetchUserDetails.ts +++ b/driver/src/utils/fetchUserDetails.ts @@ -2,18 +2,16 @@ import { auth, db } from "@/firebase/firebase_config"; import { DocumentData, collection, getDocs, query, where } from "firebase/firestore"; -export const fetchUserDetails = async () => { - const user = auth.currentUser; - console.log(user) +export const fetchUserDetails = async (uid) => { try { + const user = auth.currentUser; let data = null if (user) { const usersRef = collection(db, "users") - const q = query(usersRef, where("uid", "==", user.uid)) + const q = query(usersRef, where("uid", "==", uid)) const querySnapshot = await getDocs(q); querySnapshot.forEach((doc: DocumentData) => { data = doc.data() - // setDriverData(doc.data()) console.log(doc.id, " => ", doc.data()); }); return data; |
