1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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);
}
};
|