From 2548273d89e55efc24a2df101b621b06a6a83313 Mon Sep 17 00:00:00 2001 From: omagdy7 Date: Fri, 22 Dec 2023 20:32:40 +0200 Subject: Added rendering passenger requests --- driver/src/utils/fetchRideRequests.ts | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 driver/src/utils/fetchRideRequests.ts (limited to 'driver/src/utils/fetchRideRequests.ts') 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); + } +}; -- cgit v1.2.3