summaryrefslogtreecommitdiff
path: root/driver/src/utils/fetchRideRequests.ts
diff options
context:
space:
mode:
authoromagdy7 <omar.professional8777@gmail.com>2023-12-22 20:32:40 +0200
committeromagdy7 <omar.professional8777@gmail.com>2023-12-22 20:32:40 +0200
commit2548273d89e55efc24a2df101b621b06a6a83313 (patch)
treef53432affb67df53357fb0633e5073ebe642aef3 /driver/src/utils/fetchRideRequests.ts
parente97dbb11b30d0fe51b2ca1660e9f0d27a99a73e3 (diff)
downloadcarpool-2548273d89e55efc24a2df101b621b06a6a83313.tar.xz
carpool-2548273d89e55efc24a2df101b621b06a6a83313.zip
Added rendering passenger requests
Diffstat (limited to 'driver/src/utils/fetchRideRequests.ts')
-rw-r--r--driver/src/utils/fetchRideRequests.ts38
1 files changed, 38 insertions, 0 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);
+ }
+};