summaryrefslogtreecommitdiff
path: root/driver/src/utils/fetchRideRequests.ts
blob: 53e60067b6b79c7cdd8419f17ec8be2373d0016a (plain)
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 {
          passengerName: 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);
  }
};